diff --git a/packages/contracts/build-info/79a4e34293e494d5310d8cab35bd6873.json b/packages/contracts/build-info/79a4e34293e494d5310d8cab35bd6873.json new file mode 100644 index 0000000..f0229ee --- /dev/null +++ b/packages/contracts/build-info/79a4e34293e494d5310d8cab35bd6873.json @@ -0,0 +1,523077 @@ +{ + "_format": "ethers-rs-sol-build-info-1", + "solcVersion": "0.8.17", + "solcLongVersion": "0.8.17+commit.8df45f5f.Linux.gcc", + "input": { + "language": "Solidity", + "sources": { + "lib/forge-std/lib/ds-test/src/test.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\n\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n\n// You should have received a copy of the GNU General Public License\n// along with this program. If not, see .\n\npragma solidity >=0.5.0;\n\ncontract DSTest {\n event log (string);\n event logs (bytes);\n\n event log_address (address);\n event log_bytes32 (bytes32);\n event log_int (int);\n event log_uint (uint);\n event log_bytes (bytes);\n event log_string (string);\n\n event log_named_address (string key, address val);\n event log_named_bytes32 (string key, bytes32 val);\n event log_named_decimal_int (string key, int val, uint decimals);\n event log_named_decimal_uint (string key, uint val, uint decimals);\n event log_named_int (string key, int val);\n event log_named_uint (string key, uint val);\n event log_named_bytes (string key, bytes val);\n event log_named_string (string key, string val);\n\n bool public IS_TEST = true;\n bool private _failed;\n\n address constant HEVM_ADDRESS =\n address(bytes20(uint160(uint256(keccak256('hevm cheat code')))));\n\n modifier mayRevert() { _; }\n modifier testopts(string memory) { _; }\n\n function failed() public returns (bool) {\n if (_failed) {\n return _failed;\n } else {\n bool globalFailed = false;\n if (hasHEVMContext()) {\n (, bytes memory retdata) = HEVM_ADDRESS.call(\n abi.encodePacked(\n bytes4(keccak256(\"load(address,bytes32)\")),\n abi.encode(HEVM_ADDRESS, bytes32(\"failed\"))\n )\n );\n globalFailed = abi.decode(retdata, (bool));\n }\n return globalFailed;\n }\n } \n\n function fail() internal {\n if (hasHEVMContext()) {\n (bool status, ) = HEVM_ADDRESS.call(\n abi.encodePacked(\n bytes4(keccak256(\"store(address,bytes32,bytes32)\")),\n abi.encode(HEVM_ADDRESS, bytes32(\"failed\"), bytes32(uint256(0x01)))\n )\n );\n status; // Silence compiler warnings\n }\n _failed = true;\n }\n\n function hasHEVMContext() internal view returns (bool) {\n uint256 hevmCodeSize = 0;\n assembly {\n hevmCodeSize := extcodesize(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D)\n }\n return hevmCodeSize > 0;\n }\n\n modifier logs_gas() {\n uint startGas = gasleft();\n _;\n uint endGas = gasleft();\n emit log_named_uint(\"gas\", startGas - endGas);\n }\n\n function assertTrue(bool condition) internal {\n if (!condition) {\n emit log(\"Error: Assertion Failed\");\n fail();\n }\n }\n\n function assertTrue(bool condition, string memory err) internal {\n if (!condition) {\n emit log_named_string(\"Error\", err);\n assertTrue(condition);\n }\n }\n\n function assertEq(address a, address b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [address]\");\n emit log_named_address(\" Expected\", b);\n emit log_named_address(\" Actual\", a);\n fail();\n }\n }\n function assertEq(address a, address b, string memory err) internal {\n if (a != b) {\n emit log_named_string (\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(bytes32 a, bytes32 b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [bytes32]\");\n emit log_named_bytes32(\" Expected\", b);\n emit log_named_bytes32(\" Actual\", a);\n fail();\n }\n }\n function assertEq(bytes32 a, bytes32 b, string memory err) internal {\n if (a != b) {\n emit log_named_string (\"Error\", err);\n assertEq(a, b);\n }\n }\n function assertEq32(bytes32 a, bytes32 b) internal {\n assertEq(a, b);\n }\n function assertEq32(bytes32 a, bytes32 b, string memory err) internal {\n assertEq(a, b, err);\n }\n\n function assertEq(int a, int b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [int]\");\n emit log_named_int(\" Expected\", b);\n emit log_named_int(\" Actual\", a);\n fail();\n }\n }\n function assertEq(int a, int b, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n function assertEq(uint a, uint b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [uint]\");\n emit log_named_uint(\" Expected\", b);\n emit log_named_uint(\" Actual\", a);\n fail();\n }\n }\n function assertEq(uint a, uint b, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n function assertEqDecimal(int a, int b, uint decimals) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Expected\", b, decimals);\n emit log_named_decimal_int(\" Actual\", a, decimals);\n fail();\n }\n }\n function assertEqDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEqDecimal(a, b, decimals);\n }\n }\n function assertEqDecimal(uint a, uint b, uint decimals) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Expected\", b, decimals);\n emit log_named_decimal_uint(\" Actual\", a, decimals);\n fail();\n }\n }\n function assertEqDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEqDecimal(a, b, decimals);\n }\n }\n\n function assertGt(uint a, uint b) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertGt(uint a, uint b, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGt(a, b);\n }\n }\n function assertGt(int a, int b) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertGt(int a, int b, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGt(a, b);\n }\n }\n function assertGtDecimal(int a, int b, uint decimals) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGtDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGtDecimal(a, b, decimals);\n }\n }\n function assertGtDecimal(uint a, uint b, uint decimals) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGtDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGtDecimal(a, b, decimals);\n }\n }\n\n function assertGe(uint a, uint b) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertGe(uint a, uint b, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGe(a, b);\n }\n }\n function assertGe(int a, int b) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertGe(int a, int b, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGe(a, b);\n }\n }\n function assertGeDecimal(int a, int b, uint decimals) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGeDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGeDecimal(a, b, decimals);\n }\n }\n function assertGeDecimal(uint a, uint b, uint decimals) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGeDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGeDecimal(a, b, decimals);\n }\n }\n\n function assertLt(uint a, uint b) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertLt(uint a, uint b, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLt(a, b);\n }\n }\n function assertLt(int a, int b) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertLt(int a, int b, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLt(a, b);\n }\n }\n function assertLtDecimal(int a, int b, uint decimals) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLtDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLtDecimal(a, b, decimals);\n }\n }\n function assertLtDecimal(uint a, uint b, uint decimals) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLtDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLtDecimal(a, b, decimals);\n }\n }\n\n function assertLe(uint a, uint b) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertLe(uint a, uint b, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLe(a, b);\n }\n }\n function assertLe(int a, int b) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertLe(int a, int b, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLe(a, b);\n }\n }\n function assertLeDecimal(int a, int b, uint decimals) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLeDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLeDecimal(a, b, decimals);\n }\n }\n function assertLeDecimal(uint a, uint b, uint decimals) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLeDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertGeDecimal(a, b, decimals);\n }\n }\n\n function assertEq(string memory a, string memory b) internal {\n if (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))) {\n emit log(\"Error: a == b not satisfied [string]\");\n emit log_named_string(\" Expected\", b);\n emit log_named_string(\" Actual\", a);\n fail();\n }\n }\n function assertEq(string memory a, string memory b, string memory err) internal {\n if (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function checkEq0(bytes memory a, bytes memory b) internal pure returns (bool ok) {\n ok = true;\n if (a.length == b.length) {\n for (uint i = 0; i < a.length; i++) {\n if (a[i] != b[i]) {\n ok = false;\n }\n }\n } else {\n ok = false;\n }\n }\n function assertEq0(bytes memory a, bytes memory b) internal {\n if (!checkEq0(a, b)) {\n emit log(\"Error: a == b not satisfied [bytes]\");\n emit log_named_bytes(\" Expected\", b);\n emit log_named_bytes(\" Actual\", a);\n fail();\n }\n }\n function assertEq0(bytes memory a, bytes memory b, string memory err) internal {\n if (!checkEq0(a, b)) {\n emit log_named_string(\"Error\", err);\n assertEq0(a, b);\n }\n }\n}\n" + }, + "lib/forge-std/src/Base.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {StdStorage} from \"./StdStorage.sol\";\nimport {Vm, VmSafe} from \"./Vm.sol\";\n\nabstract contract CommonBase {\n // Cheat code address, 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D.\n address internal constant VM_ADDRESS = address(uint160(uint256(keccak256(\"hevm cheat code\"))));\n // console.sol and console2.sol work by executing a staticcall to this address.\n address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;\n // Default address for tx.origin and msg.sender, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38.\n address internal constant DEFAULT_SENDER = address(uint160(uint256(keccak256(\"foundry default caller\"))));\n // Address of the test contract, deployed by the DEFAULT_SENDER.\n address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;\n // Deterministic deployment address of the Multicall3 contract.\n address internal constant MULTICALL3_ADDRESS = 0xcA11bde05977b3631167028862bE2a173976CA11;\n\n uint256 internal constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n Vm internal constant vm = Vm(VM_ADDRESS);\n StdStorage internal stdstore;\n}\n\nabstract contract TestBase is CommonBase {}\n\nabstract contract ScriptBase is CommonBase {\n // Used when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.\n address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n VmSafe internal constant vmSafe = VmSafe(VM_ADDRESS);\n}\n" + }, + "lib/forge-std/src/Script.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\n// 💬 ABOUT\n// Standard Library's default Script.\n\n// 🧩 MODULES\nimport {ScriptBase} from \"./Base.sol\";\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheatsSafe} from \"./StdCheats.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorageSafe} from \"./StdStorage.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {VmSafe} from \"./Vm.sol\";\n\n// 📦 BOILERPLATE\nimport {ScriptBase} from \"./Base.sol\";\n\n// ⭐️ SCRIPT\nabstract contract Script is StdChains, StdCheatsSafe, StdUtils, ScriptBase {\n // Note: IS_SCRIPT() must return true.\n bool public IS_SCRIPT = true;\n}\n" + }, + "lib/forge-std/src/StdAssertions.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {DSTest} from \"ds-test/test.sol\";\nimport {stdMath} from \"./StdMath.sol\";\n\nabstract contract StdAssertions is DSTest {\n event log_array(uint256[] val);\n event log_array(int256[] val);\n event log_array(address[] val);\n event log_named_array(string key, uint256[] val);\n event log_named_array(string key, int256[] val);\n event log_named_array(string key, address[] val);\n\n function fail(string memory err) internal virtual {\n emit log_named_string(\"Error\", err);\n fail();\n }\n\n function assertFalse(bool data) internal virtual {\n assertTrue(!data);\n }\n\n function assertFalse(bool data, string memory err) internal virtual {\n assertTrue(!data, err);\n }\n\n function assertEq(bool a, bool b) internal virtual {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [bool]\");\n emit log_named_string(\" Expected\", b ? \"true\" : \"false\");\n emit log_named_string(\" Actual\", a ? \"true\" : \"false\");\n fail();\n }\n }\n\n function assertEq(bool a, bool b, string memory err) internal virtual {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(bytes memory a, bytes memory b) internal virtual {\n assertEq0(a, b);\n }\n\n function assertEq(bytes memory a, bytes memory b, string memory err) internal virtual {\n assertEq0(a, b, err);\n }\n\n function assertEq(uint256[] memory a, uint256[] memory b) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log(\"Error: a == b not satisfied [uint[]]\");\n emit log_named_array(\" Expected\", b);\n emit log_named_array(\" Actual\", a);\n fail();\n }\n }\n\n function assertEq(int256[] memory a, int256[] memory b) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log(\"Error: a == b not satisfied [int[]]\");\n emit log_named_array(\" Expected\", b);\n emit log_named_array(\" Actual\", a);\n fail();\n }\n }\n\n function assertEq(address[] memory a, address[] memory b) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log(\"Error: a == b not satisfied [address[]]\");\n emit log_named_array(\" Expected\", b);\n emit log_named_array(\" Actual\", a);\n fail();\n }\n }\n\n function assertEq(uint256[] memory a, uint256[] memory b, string memory err) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(int256[] memory a, int256[] memory b, string memory err) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(address[] memory a, address[] memory b, string memory err) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n // Legacy helper\n function assertEqUint(uint256 a, uint256 b) internal virtual {\n assertEq(uint256(a), uint256(b));\n }\n\n function assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_uint(\" Expected\", b);\n emit log_named_uint(\" Actual\", a);\n emit log_named_uint(\" Max Delta\", maxDelta);\n emit log_named_uint(\" Delta\", delta);\n fail();\n }\n }\n\n function assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta, string memory err) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbs(a, b, maxDelta);\n }\n }\n\n function assertApproxEqAbsDecimal(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_decimal_uint(\" Expected\", b, decimals);\n emit log_named_decimal_uint(\" Actual\", a, decimals);\n emit log_named_decimal_uint(\" Max Delta\", maxDelta, decimals);\n emit log_named_decimal_uint(\" Delta\", delta, decimals);\n fail();\n }\n }\n\n function assertApproxEqAbsDecimal(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals, string memory err)\n internal\n virtual\n {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbsDecimal(a, b, maxDelta, decimals);\n }\n }\n\n function assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_int(\" Expected\", b);\n emit log_named_int(\" Actual\", a);\n emit log_named_uint(\" Max Delta\", maxDelta);\n emit log_named_uint(\" Delta\", delta);\n fail();\n }\n }\n\n function assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta, string memory err) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbs(a, b, maxDelta);\n }\n }\n\n function assertApproxEqAbsDecimal(int256 a, int256 b, uint256 maxDelta, uint256 decimals) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_decimal_int(\" Expected\", b, decimals);\n emit log_named_decimal_int(\" Actual\", a, decimals);\n emit log_named_decimal_uint(\" Max Delta\", maxDelta, decimals);\n emit log_named_decimal_uint(\" Delta\", delta, decimals);\n fail();\n }\n }\n\n function assertApproxEqAbsDecimal(int256 a, int256 b, uint256 maxDelta, uint256 decimals, string memory err)\n internal\n virtual\n {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbsDecimal(a, b, maxDelta, decimals);\n }\n }\n\n function assertApproxEqRel(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta // An 18 decimal fixed point number, where 1e18 == 100%\n ) internal virtual {\n if (b == 0) return assertEq(a, b); // If the expected is 0, actual must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_uint(\" Expected\", b);\n emit log_named_uint(\" Actual\", a);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRel(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n string memory err\n ) internal virtual {\n if (b == 0) return assertEq(a, b, err); // If the expected is 0, actual must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRel(a, b, maxPercentDelta);\n }\n }\n\n function assertApproxEqRelDecimal(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals\n ) internal virtual {\n if (b == 0) return assertEq(a, b); // If the expected is 0, actual must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_decimal_uint(\" Expected\", b, decimals);\n emit log_named_decimal_uint(\" Actual\", a, decimals);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRelDecimal(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals,\n string memory err\n ) internal virtual {\n if (b == 0) return assertEq(a, b, err); // If the expected is 0, actual must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);\n }\n }\n\n function assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta) internal virtual {\n if (b == 0) return assertEq(a, b); // If the expected is 0, actual must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_int(\" Expected\", b);\n emit log_named_int(\" Actual\", a);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta, string memory err) internal virtual {\n if (b == 0) return assertEq(a, b, err); // If the expected is 0, actual must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRel(a, b, maxPercentDelta);\n }\n }\n\n function assertApproxEqRelDecimal(int256 a, int256 b, uint256 maxPercentDelta, uint256 decimals) internal virtual {\n if (b == 0) return assertEq(a, b); // If the expected is 0, actual must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_decimal_int(\" Expected\", b, decimals);\n emit log_named_decimal_int(\" Actual\", a, decimals);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRelDecimal(int256 a, int256 b, uint256 maxPercentDelta, uint256 decimals, string memory err)\n internal\n virtual\n {\n if (b == 0) return assertEq(a, b, err); // If the expected is 0, actual must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);\n }\n }\n}\n" + }, + "lib/forge-std/src/StdChains.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n/**\n * StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n * For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n * identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n * the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n * alias used in this contract, which can be found as the first argument to the\n * `setChainWithDefaultRpcUrl` call in the `initialize` function.\n *\n * There are two main ways to use this contract:\n * 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n * `setChain(string memory chainAlias, Chain memory chain)`\n * 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n *\n * The first time either of those are used, chains are initialized with the default set of RPC URLs.\n * This is done in `initialize`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n * `defaultRpcUrls`.\n *\n * The `setChain` function is straightforward, and it simply saves off the given chain data.\n *\n * The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n * we want to retrieve `mainnet`'s RPC URL:\n * - If you haven't set any mainnet chain info with `setChain`, you haven't specified that\n * chain in `foundry.toml` and no env var is set, the default data and RPC URL will be returned.\n * - If you have set a mainnet RPC URL in `foundry.toml` it will return that, if valid (e.g. if\n * a URL is given or if an environment variable is given and that environment variable exists).\n * Otherwise, the default data is returned.\n * - If you specified data with `setChain` it will return that.\n *\n * Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\n */\nabstract contract StdChains {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n bool private initialized;\n\n struct ChainData {\n string name;\n uint256 chainId;\n string rpcUrl;\n }\n\n struct Chain {\n // The chain name.\n string name;\n // The chain's Chain ID.\n uint256 chainId;\n // The chain's alias. (i.e. what gets specified in `foundry.toml`).\n string chainAlias;\n // A default RPC endpoint for this chain.\n // NOTE: This default RPC URL is included for convenience to facilitate quick tests and\n // experimentation. Do not use this RPC URL for production test suites, CI, or other heavy\n // usage as you will be throttled and this is a disservice to others who need this endpoint.\n string rpcUrl;\n }\n\n // Maps from the chain's alias (matching the alias in the `foundry.toml` file) to chain data.\n mapping(string => Chain) private chains;\n // Maps from the chain's alias to it's default RPC URL.\n mapping(string => string) private defaultRpcUrls;\n // Maps from a chain ID to it's alias.\n mapping(uint256 => string) private idToAlias;\n\n // The RPC URL will be fetched from config or defaultRpcUrls if possible.\n function getChain(string memory chainAlias) internal virtual returns (Chain memory chain) {\n require(bytes(chainAlias).length != 0, \"StdChains getChain(string): Chain alias cannot be the empty string.\");\n\n initialize();\n chain = chains[chainAlias];\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(string): Chain with alias \\\"\", chainAlias, \"\\\" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n function getChain(uint256 chainId) internal virtual returns (Chain memory chain) {\n require(chainId != 0, \"StdChains getChain(uint256): Chain ID cannot be 0.\");\n initialize();\n string memory chainAlias = idToAlias[chainId];\n\n chain = chains[chainAlias];\n\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(uint256): Chain with ID \", vm.toString(chainId), \" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, ChainData memory chain) internal virtual {\n require(\n bytes(chainAlias).length != 0,\n \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\"\n );\n\n require(chain.chainId != 0, \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\");\n\n initialize();\n string memory foundAlias = idToAlias[chain.chainId];\n\n require(\n bytes(foundAlias).length == 0 || keccak256(bytes(foundAlias)) == keccak256(bytes(chainAlias)),\n string(\n abi.encodePacked(\n \"StdChains setChain(string,ChainData): Chain ID \",\n vm.toString(chain.chainId),\n \" already used by \\\"\",\n foundAlias,\n \"\\\".\"\n )\n )\n );\n\n uint256 oldChainId = chains[chainAlias].chainId;\n delete idToAlias[oldChainId];\n\n chains[chainAlias] =\n Chain({name: chain.name, chainId: chain.chainId, chainAlias: chainAlias, rpcUrl: chain.rpcUrl});\n idToAlias[chain.chainId] = chainAlias;\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, Chain memory chain) internal virtual {\n setChain(chainAlias, ChainData({name: chain.name, chainId: chain.chainId, rpcUrl: chain.rpcUrl}));\n }\n\n function _toUpper(string memory str) private pure returns (string memory) {\n bytes memory strb = bytes(str);\n bytes memory copy = new bytes(strb.length);\n for (uint256 i = 0; i < strb.length; i++) {\n bytes1 b = strb[i];\n if (b >= 0x61 && b <= 0x7A) {\n copy[i] = bytes1(uint8(b) - 32);\n } else {\n copy[i] = b;\n }\n }\n return string(copy);\n }\n\n // lookup rpcUrl, in descending order of priority:\n // current -> config (foundry.toml) -> environment variable -> default\n function getChainWithUpdatedRpcUrl(string memory chainAlias, Chain memory chain) private returns (Chain memory) {\n if (bytes(chain.rpcUrl).length == 0) {\n try vm.rpcUrl(chainAlias) returns (string memory configRpcUrl) {\n chain.rpcUrl = configRpcUrl;\n } catch (bytes memory err) {\n chain.rpcUrl =\n vm.envOr(string(abi.encodePacked(_toUpper(chainAlias), \"_RPC_URL\")), defaultRpcUrls[chainAlias]);\n // distinguish 'not found' from 'cannot read'\n bytes memory notFoundError =\n abi.encodeWithSignature(\"CheatCodeError\", string(abi.encodePacked(\"invalid rpc url \", chainAlias)));\n if (keccak256(notFoundError) != keccak256(err) || bytes(chain.rpcUrl).length == 0) {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, err), mload(err))\n }\n }\n }\n }\n return chain;\n }\n\n function initialize() private {\n if (initialized) return;\n\n initialized = true;\n\n // If adding an RPC here, make sure to test the default RPC URL in `testRpcs`\n setChainWithDefaultRpcUrl(\"anvil\", ChainData(\"Anvil\", 31337, \"http://127.0.0.1:8545\"));\n setChainWithDefaultRpcUrl(\n \"mainnet\", ChainData(\"Mainnet\", 1, \"https://mainnet.infura.io/v3/6770454bc6ea42c58aac12978531b93f\")\n );\n setChainWithDefaultRpcUrl(\n \"goerli\", ChainData(\"Goerli\", 5, \"https://goerli.infura.io/v3/6770454bc6ea42c58aac12978531b93f\")\n );\n setChainWithDefaultRpcUrl(\n \"sepolia\", ChainData(\"Sepolia\", 11155111, \"https://sepolia.infura.io/v3/6770454bc6ea42c58aac12978531b93f\")\n );\n setChainWithDefaultRpcUrl(\"optimism\", ChainData(\"Optimism\", 10, \"https://mainnet.optimism.io\"));\n setChainWithDefaultRpcUrl(\"optimism_goerli\", ChainData(\"Optimism Goerli\", 420, \"https://goerli.optimism.io\"));\n setChainWithDefaultRpcUrl(\"arbitrum_one\", ChainData(\"Arbitrum One\", 42161, \"https://arb1.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\n \"arbitrum_one_goerli\", ChainData(\"Arbitrum One Goerli\", 421613, \"https://goerli-rollup.arbitrum.io/rpc\")\n );\n setChainWithDefaultRpcUrl(\"arbitrum_nova\", ChainData(\"Arbitrum Nova\", 42170, \"https://nova.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\"polygon\", ChainData(\"Polygon\", 137, \"https://polygon-rpc.com\"));\n setChainWithDefaultRpcUrl(\n \"polygon_mumbai\", ChainData(\"Polygon Mumbai\", 80001, \"https://rpc-mumbai.maticvigil.com\")\n );\n setChainWithDefaultRpcUrl(\"avalanche\", ChainData(\"Avalanche\", 43114, \"https://api.avax.network/ext/bc/C/rpc\"));\n setChainWithDefaultRpcUrl(\n \"avalanche_fuji\", ChainData(\"Avalanche Fuji\", 43113, \"https://api.avax-test.network/ext/bc/C/rpc\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain\", ChainData(\"BNB Smart Chain\", 56, \"https://bsc-dataseed1.binance.org\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain_testnet\",\n ChainData(\"BNB Smart Chain Testnet\", 97, \"https://rpc.ankr.com/bsc_testnet_chapel\")\n );\n setChainWithDefaultRpcUrl(\"gnosis_chain\", ChainData(\"Gnosis Chain\", 100, \"https://rpc.gnosischain.com\"));\n }\n\n // set chain info, with priority to chainAlias' rpc url in foundry.toml\n function setChainWithDefaultRpcUrl(string memory chainAlias, ChainData memory chain) private {\n string memory rpcUrl = chain.rpcUrl;\n defaultRpcUrls[chainAlias] = rpcUrl;\n chain.rpcUrl = \"\";\n setChain(chainAlias, chain);\n chain.rpcUrl = rpcUrl; // restore argument\n }\n}\n" + }, + "lib/forge-std/src/StdCheats.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {Vm} from \"./Vm.sol\";\n\nabstract contract StdCheatsSafe {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n bool private gasMeteringOff;\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawTx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n // json value name = function\n string functionSig;\n bytes32 hash;\n // json value name = tx\n RawTx1559Detail txDetail;\n // json value name = type\n string opcode;\n }\n\n struct RawTx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n bytes gas;\n bytes nonce;\n address to;\n bytes txType;\n bytes value;\n }\n\n struct Tx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n bytes32 hash;\n Tx1559Detail txDetail;\n string opcode;\n }\n\n struct Tx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n uint256 gas;\n uint256 nonce;\n address to;\n uint256 txType;\n uint256 value;\n }\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that DO NOT conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct TxLegacy {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n string hash;\n string opcode;\n TxDetailLegacy transaction;\n }\n\n struct TxDetailLegacy {\n AccessList[] accessList;\n uint256 chainId;\n bytes data;\n address from;\n uint256 gas;\n uint256 gasPrice;\n bytes32 hash;\n uint256 nonce;\n bytes1 opcode;\n bytes32 r;\n bytes32 s;\n uint256 txType;\n address to;\n uint8 v;\n uint256 value;\n }\n\n struct AccessList {\n address accessAddress;\n bytes32[] storageKeys;\n }\n\n // Data structures to parse Receipt objects from the broadcast artifact.\n // The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawReceipt {\n bytes32 blockHash;\n bytes blockNumber;\n address contractAddress;\n bytes cumulativeGasUsed;\n bytes effectiveGasPrice;\n address from;\n bytes gasUsed;\n RawReceiptLog[] logs;\n bytes logsBloom;\n bytes status;\n address to;\n bytes32 transactionHash;\n bytes transactionIndex;\n }\n\n struct Receipt {\n bytes32 blockHash;\n uint256 blockNumber;\n address contractAddress;\n uint256 cumulativeGasUsed;\n uint256 effectiveGasPrice;\n address from;\n uint256 gasUsed;\n ReceiptLog[] logs;\n bytes logsBloom;\n uint256 status;\n address to;\n bytes32 transactionHash;\n uint256 transactionIndex;\n }\n\n // Data structures to parse the entire broadcast artifact, assuming the\n // transactions conform to EIP1559.\n\n struct EIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n Receipt[] receipts;\n uint256 timestamp;\n Tx1559[] transactions;\n TxReturn[] txReturns;\n }\n\n struct RawEIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n RawReceipt[] receipts;\n TxReturn[] txReturns;\n uint256 timestamp;\n RawTx1559[] transactions;\n }\n\n struct RawReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n bytes blockNumber;\n bytes data;\n bytes logIndex;\n bool removed;\n bytes32[] topics;\n bytes32 transactionHash;\n bytes transactionIndex;\n bytes transactionLogIndex;\n }\n\n struct ReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n uint256 blockNumber;\n bytes data;\n uint256 logIndex;\n bytes32[] topics;\n uint256 transactionIndex;\n uint256 transactionLogIndex;\n bool removed;\n }\n\n struct TxReturn {\n string internalType;\n string value;\n }\n\n function assumeNoPrecompiles(address addr) internal virtual {\n // Assembly required since `block.chainid` was introduced in 0.8.0.\n uint256 chainId;\n assembly {\n chainId := chainid()\n }\n assumeNoPrecompiles(addr, chainId);\n }\n\n function assumeNoPrecompiles(address addr, uint256 chainId) internal pure virtual {\n // Note: For some chains like Optimism these are technically predeploys (i.e. bytecode placed at a specific\n // address), but the same rationale for excluding them applies so we include those too.\n\n // These should be present on all EVM-compatible chains.\n vm.assume(addr < address(0x1) || addr > address(0x9));\n\n // forgefmt: disable-start\n if (chainId == 10 || chainId == 420) {\n // https://github.com/ethereum-optimism/optimism/blob/eaa371a0184b56b7ca6d9eb9cb0a2b78b2ccd864/op-bindings/predeploys/addresses.go#L6-L21\n vm.assume(addr < address(0x4200000000000000000000000000000000000000) || addr > address(0x4200000000000000000000000000000000000800));\n } else if (chainId == 42161 || chainId == 421613) {\n // https://developer.arbitrum.io/useful-addresses#arbitrum-precompiles-l2-same-on-all-arb-chains\n vm.assume(addr < address(0x0000000000000000000000000000000000000064) || addr > address(0x0000000000000000000000000000000000000068));\n } else if (chainId == 43114 || chainId == 43113) {\n // https://github.com/ava-labs/subnet-evm/blob/47c03fd007ecaa6de2c52ea081596e0a88401f58/precompile/params.go#L18-L59\n vm.assume(addr < address(0x0100000000000000000000000000000000000000) || addr > address(0x01000000000000000000000000000000000000ff));\n vm.assume(addr < address(0x0200000000000000000000000000000000000000) || addr > address(0x02000000000000000000000000000000000000FF));\n vm.assume(addr < address(0x0300000000000000000000000000000000000000) || addr > address(0x03000000000000000000000000000000000000Ff));\n }\n // forgefmt: disable-end\n }\n\n function readEIP1559ScriptArtifact(string memory path)\n internal\n view\n virtual\n returns (EIP1559ScriptArtifact memory)\n {\n string memory data = vm.readFile(path);\n bytes memory parsedData = vm.parseJson(data);\n RawEIP1559ScriptArtifact memory rawArtifact = abi.decode(parsedData, (RawEIP1559ScriptArtifact));\n EIP1559ScriptArtifact memory artifact;\n artifact.libraries = rawArtifact.libraries;\n artifact.path = rawArtifact.path;\n artifact.timestamp = rawArtifact.timestamp;\n artifact.pending = rawArtifact.pending;\n artifact.txReturns = rawArtifact.txReturns;\n artifact.receipts = rawToConvertedReceipts(rawArtifact.receipts);\n artifact.transactions = rawToConvertedEIPTx1559s(rawArtifact.transactions);\n return artifact;\n }\n\n function rawToConvertedEIPTx1559s(RawTx1559[] memory rawTxs) internal pure virtual returns (Tx1559[] memory) {\n Tx1559[] memory txs = new Tx1559[](rawTxs.length);\n for (uint256 i; i < rawTxs.length; i++) {\n txs[i] = rawToConvertedEIPTx1559(rawTxs[i]);\n }\n return txs;\n }\n\n function rawToConvertedEIPTx1559(RawTx1559 memory rawTx) internal pure virtual returns (Tx1559 memory) {\n Tx1559 memory transaction;\n transaction.arguments = rawTx.arguments;\n transaction.contractName = rawTx.contractName;\n transaction.functionSig = rawTx.functionSig;\n transaction.hash = rawTx.hash;\n transaction.txDetail = rawToConvertedEIP1559Detail(rawTx.txDetail);\n transaction.opcode = rawTx.opcode;\n return transaction;\n }\n\n function rawToConvertedEIP1559Detail(RawTx1559Detail memory rawDetail)\n internal\n pure\n virtual\n returns (Tx1559Detail memory)\n {\n Tx1559Detail memory txDetail;\n txDetail.data = rawDetail.data;\n txDetail.from = rawDetail.from;\n txDetail.to = rawDetail.to;\n txDetail.nonce = _bytesToUint(rawDetail.nonce);\n txDetail.txType = _bytesToUint(rawDetail.txType);\n txDetail.value = _bytesToUint(rawDetail.value);\n txDetail.gas = _bytesToUint(rawDetail.gas);\n txDetail.accessList = rawDetail.accessList;\n return txDetail;\n }\n\n function readTx1559s(string memory path) internal view virtual returns (Tx1559[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".transactions\");\n RawTx1559[] memory rawTxs = abi.decode(parsedDeployData, (RawTx1559[]));\n return rawToConvertedEIPTx1559s(rawTxs);\n }\n\n function readTx1559(string memory path, uint256 index) internal view virtual returns (Tx1559 memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".transactions[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawTx1559 memory rawTx = abi.decode(parsedDeployData, (RawTx1559));\n return rawToConvertedEIPTx1559(rawTx);\n }\n\n // Analogous to readTransactions, but for receipts.\n function readReceipts(string memory path) internal view virtual returns (Receipt[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".receipts\");\n RawReceipt[] memory rawReceipts = abi.decode(parsedDeployData, (RawReceipt[]));\n return rawToConvertedReceipts(rawReceipts);\n }\n\n function readReceipt(string memory path, uint256 index) internal view virtual returns (Receipt memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".receipts[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawReceipt memory rawReceipt = abi.decode(parsedDeployData, (RawReceipt));\n return rawToConvertedReceipt(rawReceipt);\n }\n\n function rawToConvertedReceipts(RawReceipt[] memory rawReceipts) internal pure virtual returns (Receipt[] memory) {\n Receipt[] memory receipts = new Receipt[](rawReceipts.length);\n for (uint256 i; i < rawReceipts.length; i++) {\n receipts[i] = rawToConvertedReceipt(rawReceipts[i]);\n }\n return receipts;\n }\n\n function rawToConvertedReceipt(RawReceipt memory rawReceipt) internal pure virtual returns (Receipt memory) {\n Receipt memory receipt;\n receipt.blockHash = rawReceipt.blockHash;\n receipt.to = rawReceipt.to;\n receipt.from = rawReceipt.from;\n receipt.contractAddress = rawReceipt.contractAddress;\n receipt.effectiveGasPrice = _bytesToUint(rawReceipt.effectiveGasPrice);\n receipt.cumulativeGasUsed = _bytesToUint(rawReceipt.cumulativeGasUsed);\n receipt.gasUsed = _bytesToUint(rawReceipt.gasUsed);\n receipt.status = _bytesToUint(rawReceipt.status);\n receipt.transactionIndex = _bytesToUint(rawReceipt.transactionIndex);\n receipt.blockNumber = _bytesToUint(rawReceipt.blockNumber);\n receipt.logs = rawToConvertedReceiptLogs(rawReceipt.logs);\n receipt.logsBloom = rawReceipt.logsBloom;\n receipt.transactionHash = rawReceipt.transactionHash;\n return receipt;\n }\n\n function rawToConvertedReceiptLogs(RawReceiptLog[] memory rawLogs)\n internal\n pure\n virtual\n returns (ReceiptLog[] memory)\n {\n ReceiptLog[] memory logs = new ReceiptLog[](rawLogs.length);\n for (uint256 i; i < rawLogs.length; i++) {\n logs[i].logAddress = rawLogs[i].logAddress;\n logs[i].blockHash = rawLogs[i].blockHash;\n logs[i].blockNumber = _bytesToUint(rawLogs[i].blockNumber);\n logs[i].data = rawLogs[i].data;\n logs[i].logIndex = _bytesToUint(rawLogs[i].logIndex);\n logs[i].topics = rawLogs[i].topics;\n logs[i].transactionIndex = _bytesToUint(rawLogs[i].transactionIndex);\n logs[i].transactionLogIndex = _bytesToUint(rawLogs[i].transactionLogIndex);\n logs[i].removed = rawLogs[i].removed;\n }\n return logs;\n }\n\n // Deploy a contract by fetching the contract bytecode from\n // the artifacts directory\n // e.g. `deployCode(code, abi.encode(arg1,arg2,arg3))`\n function deployCode(string memory what, bytes memory args) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes): Deployment failed.\");\n }\n\n function deployCode(string memory what) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string): Deployment failed.\");\n }\n\n /// @dev deploy contract with value on construction\n function deployCode(string memory what, bytes memory args, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\");\n }\n\n function deployCode(string memory what, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,uint256): Deployment failed.\");\n }\n\n // creates a labeled address and the corresponding private key\n function makeAddrAndKey(string memory name) internal virtual returns (address addr, uint256 privateKey) {\n privateKey = uint256(keccak256(abi.encodePacked(name)));\n addr = vm.addr(privateKey);\n vm.label(addr, name);\n }\n\n // creates a labeled address\n function makeAddr(string memory name) internal virtual returns (address addr) {\n (addr,) = makeAddrAndKey(name);\n }\n\n function deriveRememberKey(string memory mnemonic, uint32 index)\n internal\n virtual\n returns (address who, uint256 privateKey)\n {\n privateKey = vm.deriveKey(mnemonic, index);\n who = vm.rememberKey(privateKey);\n }\n\n function _bytesToUint(bytes memory b) private pure returns (uint256) {\n require(b.length <= 32, \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n function isFork() internal view virtual returns (bool status) {\n try vm.activeFork() {\n status = true;\n } catch (bytes memory) {}\n }\n\n modifier skipWhenForking() {\n if (!isFork()) {\n _;\n }\n }\n\n modifier skipWhenNotForking() {\n if (isFork()) {\n _;\n }\n }\n\n modifier noGasMetering() {\n vm.pauseGasMetering();\n // To prevent turning gas monitoring back on with nested functions that use this modifier,\n // we check if gasMetering started in the off position. If it did, we don't want to turn\n // it back on until we exit the top level function that used the modifier\n //\n // i.e. funcA() noGasMetering { funcB() }, where funcB has noGasMetering as well.\n // funcA will have `gasStartedOff` as false, funcB will have it as true,\n // so we only turn metering back on at the end of the funcA\n bool gasStartedOff = gasMeteringOff;\n gasMeteringOff = true;\n\n _;\n\n // if gas metering was on when this modifier was called, turn it back on at the end\n if (!gasStartedOff) {\n gasMeteringOff = false;\n vm.resumeGasMetering();\n }\n }\n\n // a cheat for fuzzing addresses that are payable only\n // see https://github.com/foundry-rs/foundry/issues/3631\n function assumePayable(address addr) internal virtual {\n (bool success,) = payable(addr).call{value: 0}(\"\");\n vm.assume(success);\n }\n}\n\n// Wrappers around cheatcodes to avoid footguns\nabstract contract StdCheats is StdCheatsSafe {\n using stdStorage for StdStorage;\n\n StdStorage private stdstore;\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n // Skip forward or rewind time by the specified number of seconds\n function skip(uint256 time) internal virtual {\n vm.warp(block.timestamp + time);\n }\n\n function rewind(uint256 time) internal virtual {\n vm.warp(block.timestamp - time);\n }\n\n // Setup a prank from an address that has some ether\n function hoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender, origin);\n }\n\n function hoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender, origin);\n }\n\n // Start perpetual prank from an address that has some ether\n function startHoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender);\n }\n\n function startHoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender);\n }\n\n // Start perpetual prank from an address that has some ether\n // tx.origin is set to the origin parameter\n function startHoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender, origin);\n }\n\n function startHoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender, origin);\n }\n\n function changePrank(address msgSender) internal virtual {\n vm.stopPrank();\n vm.startPrank(msgSender);\n }\n\n // The same as Vm's `deal`\n // Use the alternative signature for ERC20 tokens\n function deal(address to, uint256 give) internal virtual {\n vm.deal(to, give);\n }\n\n // Set the balance of an account for any ERC20 token\n // Use the alternative signature to update `totalSupply`\n function deal(address token, address to, uint256 give) internal virtual {\n deal(token, to, give, false);\n }\n\n function deal(address token, address to, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.call(abi.encodeWithSelector(0x70a08231, to));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.call(abi.encodeWithSelector(0x18160ddd));\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0x18160ddd).checked_write(totSup);\n }\n }\n}\n" + }, + "lib/forge-std/src/StdError.sol": { + "content": "// SPDX-License-Identifier: MIT\n// Panics work for versions >=0.8.0, but we lowered the pragma to make this compatible with Test\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdError {\n bytes public constant assertionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x01);\n bytes public constant arithmeticError = abi.encodeWithSignature(\"Panic(uint256)\", 0x11);\n bytes public constant divisionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x12);\n bytes public constant enumConversionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x21);\n bytes public constant encodeStorageError = abi.encodeWithSignature(\"Panic(uint256)\", 0x22);\n bytes public constant popError = abi.encodeWithSignature(\"Panic(uint256)\", 0x31);\n bytes public constant indexOOBError = abi.encodeWithSignature(\"Panic(uint256)\", 0x32);\n bytes public constant memOverflowError = abi.encodeWithSignature(\"Panic(uint256)\", 0x41);\n bytes public constant zeroVarError = abi.encodeWithSignature(\"Panic(uint256)\", 0x51);\n}\n" + }, + "lib/forge-std/src/StdJson.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n// Helpers for parsing and writing JSON files\n// To parse:\n// ```\n// using stdJson for string;\n// string memory json = vm.readFile(\"some_peth\");\n// json.parseUint(\"\");\n// ```\n// To write:\n// ```\n// using stdJson for string;\n// string memory json = \"deploymentArtifact\";\n// Contract contract = new Contract();\n// json.serialize(\"contractAddress\", address(contract));\n// json = json.serialize(\"deploymentTimes\", uint(1));\n// // store the stringified JSON to the 'json' variable we have been using as a key\n// // as we won't need it any longer\n// string memory json2 = \"finalArtifact\";\n// string memory final = json2.serialize(\"depArtifact\", json);\n// final.write(\"\");\n// ```\n\nlibrary stdJson {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function parseRaw(string memory json, string memory key) internal pure returns (bytes memory) {\n return vm.parseJson(json, key);\n }\n\n function readUint(string memory json, string memory key) internal pure returns (uint256) {\n return abi.decode(vm.parseJson(json, key), (uint256));\n }\n\n function readUintArray(string memory json, string memory key) internal pure returns (uint256[] memory) {\n return abi.decode(vm.parseJson(json, key), (uint256[]));\n }\n\n function readInt(string memory json, string memory key) internal pure returns (int256) {\n return abi.decode(vm.parseJson(json, key), (int256));\n }\n\n function readIntArray(string memory json, string memory key) internal pure returns (int256[] memory) {\n return abi.decode(vm.parseJson(json, key), (int256[]));\n }\n\n function readBytes32(string memory json, string memory key) internal pure returns (bytes32) {\n return abi.decode(vm.parseJson(json, key), (bytes32));\n }\n\n function readBytes32Array(string memory json, string memory key) internal pure returns (bytes32[] memory) {\n return abi.decode(vm.parseJson(json, key), (bytes32[]));\n }\n\n function readString(string memory json, string memory key) internal pure returns (string memory) {\n return abi.decode(vm.parseJson(json, key), (string));\n }\n\n function readStringArray(string memory json, string memory key) internal pure returns (string[] memory) {\n return abi.decode(vm.parseJson(json, key), (string[]));\n }\n\n function readAddress(string memory json, string memory key) internal pure returns (address) {\n return abi.decode(vm.parseJson(json, key), (address));\n }\n\n function readAddressArray(string memory json, string memory key) internal pure returns (address[] memory) {\n return abi.decode(vm.parseJson(json, key), (address[]));\n }\n\n function readBool(string memory json, string memory key) internal pure returns (bool) {\n return abi.decode(vm.parseJson(json, key), (bool));\n }\n\n function readBoolArray(string memory json, string memory key) internal pure returns (bool[] memory) {\n return abi.decode(vm.parseJson(json, key), (bool[]));\n }\n\n function readBytes(string memory json, string memory key) internal pure returns (bytes memory) {\n return abi.decode(vm.parseJson(json, key), (bytes));\n }\n\n function readBytesArray(string memory json, string memory key) internal pure returns (bytes[] memory) {\n return abi.decode(vm.parseJson(json, key), (bytes[]));\n }\n\n function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bool[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function write(string memory jsonKey, string memory path) internal {\n vm.writeJson(jsonKey, path);\n }\n\n function write(string memory jsonKey, string memory path, string memory valueKey) internal {\n vm.writeJson(jsonKey, path, valueKey);\n }\n}\n" + }, + "lib/forge-std/src/StdMath.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdMath {\n int256 private constant INT256_MIN = -57896044618658097711785492504343953926634992332820282019728792003956564819968;\n\n function abs(int256 a) internal pure returns (uint256) {\n // Required or it will fail when `a = type(int256).min`\n if (a == INT256_MIN) {\n return 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n }\n\n return uint256(a > 0 ? a : -a);\n }\n\n function delta(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a - b : b - a;\n }\n\n function delta(int256 a, int256 b) internal pure returns (uint256) {\n // a and b are of the same sign\n // this works thanks to two's complement, the left-most bit is the sign bit\n if ((a ^ b) > -1) {\n return delta(abs(a), abs(b));\n }\n\n // a and b are of opposite signs\n return abs(a) + abs(b);\n }\n\n function percentDelta(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n\n return absDelta * 1e18 / b;\n }\n\n function percentDelta(int256 a, int256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n uint256 absB = abs(b);\n\n return absDelta * 1e18 / absB;\n }\n}\n" + }, + "lib/forge-std/src/StdStorage.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {Vm} from \"./Vm.sol\";\n\nstruct StdStorage {\n mapping(address => mapping(bytes4 => mapping(bytes32 => uint256))) slots;\n mapping(address => mapping(bytes4 => mapping(bytes32 => bool))) finds;\n bytes32[] _keys;\n bytes4 _sig;\n uint256 _depth;\n address _target;\n bytes32 _set;\n}\n\nlibrary stdStorageSafe {\n event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot);\n event WARNING_UninitedSlot(address who, uint256 slot);\n\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return bytes4(keccak256(bytes(sigStr)));\n }\n\n /// @notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against\n // slot complexity:\n // if flat, will be bytes32(uint256(uint));\n // if map, will be keccak256(abi.encode(key, uint(slot)));\n // if deep map, will be keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))));\n // if map struct, will be bytes32(uint256(keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))))) + structFieldDepth);\n function find(StdStorage storage self) internal returns (uint256) {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes32[] memory ins = self._keys;\n\n // calldata to test against\n if (self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]) {\n return self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))];\n }\n bytes memory cald = abi.encodePacked(fsig, flatten(ins));\n vm.record();\n bytes32 fdat;\n {\n (, bytes memory rdat) = who.staticcall(cald);\n fdat = bytesToBytes32(rdat, 32 * field_depth);\n }\n\n (bytes32[] memory reads,) = vm.accesses(address(who));\n if (reads.length == 1) {\n bytes32 curr = vm.load(who, reads[0]);\n if (curr == bytes32(0)) {\n emit WARNING_UninitedSlot(who, uint256(reads[0]));\n }\n if (fdat != curr) {\n require(\n false,\n \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"\n );\n }\n emit SlotFound(who, fsig, keccak256(abi.encodePacked(ins, field_depth)), uint256(reads[0]));\n self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = uint256(reads[0]);\n self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = true;\n } else if (reads.length > 1) {\n for (uint256 i = 0; i < reads.length; i++) {\n bytes32 prev = vm.load(who, reads[i]);\n if (prev == bytes32(0)) {\n emit WARNING_UninitedSlot(who, uint256(reads[i]));\n }\n // store\n vm.store(who, reads[i], bytes32(hex\"1337\"));\n bool success;\n bytes memory rdat;\n {\n (success, rdat) = who.staticcall(cald);\n fdat = bytesToBytes32(rdat, 32 * field_depth);\n }\n\n if (success && fdat == bytes32(hex\"1337\")) {\n // we found which of the slots is the actual one\n emit SlotFound(who, fsig, keccak256(abi.encodePacked(ins, field_depth)), uint256(reads[i]));\n self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = uint256(reads[i]);\n self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = true;\n vm.store(who, reads[i], prev);\n break;\n }\n vm.store(who, reads[i], prev);\n }\n } else {\n revert(\"stdStorage find(StdStorage): No storage use detected for target.\");\n }\n\n require(\n self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))],\n \"stdStorage find(StdStorage): Slot(s) not found.\"\n );\n\n delete self._target;\n delete self._sig;\n delete self._keys;\n delete self._depth;\n\n return self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))];\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n self._target = _target;\n return self;\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n self._sig = _sig;\n return self;\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n self._sig = sigs(_sig);\n return self;\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n self._keys.push(bytes32(uint256(uint160(who))));\n return self;\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n self._keys.push(bytes32(amt));\n return self;\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n self._keys.push(key);\n return self;\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n self._depth = _depth;\n return self;\n }\n\n function read(StdStorage storage self) private returns (bytes memory) {\n address t = self._target;\n uint256 s = find(self);\n return abi.encode(vm.load(t, bytes32(s)));\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return abi.decode(read(self), (bytes32));\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n int256 v = read_int(self);\n if (v == 0) return false;\n if (v == 1) return true;\n revert(\"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\");\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return abi.decode(read(self), (address));\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return abi.decode(read(self), (uint256));\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return abi.decode(read(self), (int256));\n }\n\n function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {\n bytes32 out;\n\n uint256 max = b.length > 32 ? 32 : b.length;\n for (uint256 i = 0; i < max; i++) {\n out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);\n }\n return out;\n }\n\n function flatten(bytes32[] memory b) private pure returns (bytes memory) {\n bytes memory result = new bytes(b.length * 32);\n for (uint256 i = 0; i < b.length; i++) {\n bytes32 k = b[i];\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(result, add(32, mul(32, i))), k)\n }\n }\n\n return result;\n }\n}\n\nlibrary stdStorage {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return stdStorageSafe.sigs(sigStr);\n }\n\n function find(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.find(self);\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n return stdStorageSafe.target(self, _target);\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, who);\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, amt);\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, key);\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n return stdStorageSafe.depth(self, _depth);\n }\n\n function checked_write(StdStorage storage self, address who) internal {\n checked_write(self, bytes32(uint256(uint160(who))));\n }\n\n function checked_write(StdStorage storage self, uint256 amt) internal {\n checked_write(self, bytes32(amt));\n }\n\n function checked_write(StdStorage storage self, bool write) internal {\n bytes32 t;\n /// @solidity memory-safe-assembly\n assembly {\n t := write\n }\n checked_write(self, t);\n }\n\n function checked_write(StdStorage storage self, bytes32 set) internal {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes32[] memory ins = self._keys;\n\n bytes memory cald = abi.encodePacked(fsig, flatten(ins));\n if (!self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]) {\n find(self);\n }\n bytes32 slot = bytes32(self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]);\n\n bytes32 fdat;\n {\n (, bytes memory rdat) = who.staticcall(cald);\n fdat = bytesToBytes32(rdat, 32 * field_depth);\n }\n bytes32 curr = vm.load(who, slot);\n\n if (fdat != curr) {\n require(\n false,\n \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"\n );\n }\n vm.store(who, slot, set);\n delete self._target;\n delete self._sig;\n delete self._keys;\n delete self._depth;\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return stdStorageSafe.read_bytes32(self);\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n return stdStorageSafe.read_bool(self);\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return stdStorageSafe.read_address(self);\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.read_uint(self);\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return stdStorageSafe.read_int(self);\n }\n\n // Private function so needs to be copied over\n function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {\n bytes32 out;\n\n uint256 max = b.length > 32 ? 32 : b.length;\n for (uint256 i = 0; i < max; i++) {\n out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);\n }\n return out;\n }\n\n // Private function so needs to be copied over\n function flatten(bytes32[] memory b) private pure returns (bytes memory) {\n bytes memory result = new bytes(b.length * 32);\n for (uint256 i = 0; i < b.length; i++) {\n bytes32 k = b[i];\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(result, add(32, mul(32, i))), k)\n }\n }\n\n return result;\n }\n}\n" + }, + "lib/forge-std/src/StdUtils.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\n// TODO Remove import.\nimport {VmSafe} from \"./Vm.sol\";\n\nabstract contract StdUtils {\n /*//////////////////////////////////////////////////////////////////////////\n CONSTANTS\n //////////////////////////////////////////////////////////////////////////*/\n\n IMulticall3 private constant multicall = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;\n uint256 private constant INT256_MIN_ABS =\n 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n uint256 private constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n // Used by default when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.\n address private constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n /*//////////////////////////////////////////////////////////////////////////\n INTERNAL FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function _bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {\n require(min <= max, \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\");\n // If x is between min and max, return x directly. This is to ensure that dictionary values\n // do not get shifted if the min is nonzero. More info: https://github.com/foundry-rs/forge-std/issues/188\n if (x >= min && x <= max) return x;\n\n uint256 size = max - min + 1;\n\n // If the value is 0, 1, 2, 3, warp that to min, min+1, min+2, min+3. Similarly for the UINT256_MAX side.\n // This helps ensure coverage of the min/max values.\n if (x <= 3 && size > x) return min + x;\n if (x >= UINT256_MAX - 3 && size > UINT256_MAX - x) return max - (UINT256_MAX - x);\n\n // Otherwise, wrap x into the range [min, max], i.e. the range is inclusive.\n if (x > max) {\n uint256 diff = x - max;\n uint256 rem = diff % size;\n if (rem == 0) return max;\n result = min + rem - 1;\n } else if (x < min) {\n uint256 diff = min - x;\n uint256 rem = diff % size;\n if (rem == 0) return min;\n result = max - rem + 1;\n }\n }\n\n function bound(uint256 x, uint256 min, uint256 max) internal view virtual returns (uint256 result) {\n result = _bound(x, min, max);\n console2_log(\"Bound Result\", result);\n }\n\n function bound(int256 x, int256 min, int256 max) internal view virtual returns (int256 result) {\n require(min <= max, \"StdUtils bound(int256,int256,int256): Max is less than min.\");\n\n // Shifting all int256 values to uint256 to use _bound function. The range of two types are:\n // int256 : -(2**255) ~ (2**255 - 1)\n // uint256: 0 ~ (2**256 - 1)\n // So, add 2**255, INT256_MIN_ABS to the integer values.\n //\n // If the given integer value is -2**255, we cannot use `-uint256(-x)` because of the overflow.\n // So, use `~uint256(x) + 1` instead.\n uint256 _x = x < 0 ? (INT256_MIN_ABS - ~uint256(x) - 1) : (uint256(x) + INT256_MIN_ABS);\n uint256 _min = min < 0 ? (INT256_MIN_ABS - ~uint256(min) - 1) : (uint256(min) + INT256_MIN_ABS);\n uint256 _max = max < 0 ? (INT256_MIN_ABS - ~uint256(max) - 1) : (uint256(max) + INT256_MIN_ABS);\n\n uint256 y = _bound(_x, _min, _max);\n\n // To move it back to int256 value, subtract INT256_MIN_ABS at here.\n result = y < INT256_MIN_ABS ? int256(~(INT256_MIN_ABS - y) + 1) : int256(y - INT256_MIN_ABS);\n console2_log(\"Bound result\", vm.toString(result));\n }\n\n function bytesToUint(bytes memory b) internal pure virtual returns (uint256) {\n require(b.length <= 32, \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n /// @dev Compute the address a contract will be deployed at for a given deployer address and nonce\n /// @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)\n function computeCreateAddress(address deployer, uint256 nonce) internal pure virtual returns (address) {\n // forgefmt: disable-start\n // The integer zero is treated as an empty byte string, and as a result it only has a length prefix, 0x80, computed via 0x80 + 0.\n // A one byte integer uses its own value as its length prefix, there is no additional \"0x80 + length\" prefix that comes before it.\n if (nonce == 0x00) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd6), bytes1(0x94), deployer, bytes1(0x80))));\n if (nonce <= 0x7f) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd6), bytes1(0x94), deployer, uint8(nonce))));\n\n // Nonces greater than 1 byte all follow a consistent encoding scheme, where each value is preceded by a prefix of 0x80 + length.\n if (nonce <= 2**8 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd7), bytes1(0x94), deployer, bytes1(0x81), uint8(nonce))));\n if (nonce <= 2**16 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd8), bytes1(0x94), deployer, bytes1(0x82), uint16(nonce))));\n if (nonce <= 2**24 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd9), bytes1(0x94), deployer, bytes1(0x83), uint24(nonce))));\n // forgefmt: disable-end\n\n // More details about RLP encoding can be found here: https://eth.wiki/fundamentals/rlp\n // 0xda = 0xc0 (short RLP prefix) + 0x16 (length of: 0x94 ++ proxy ++ 0x84 ++ nonce)\n // 0x94 = 0x80 + 0x14 (0x14 = the length of an address, 20 bytes, in hex)\n // 0x84 = 0x80 + 0x04 (0x04 = the bytes length of the nonce, 4 bytes, in hex)\n // We assume nobody can have a nonce large enough to require more than 32 bytes.\n return addressFromLast20Bytes(\n keccak256(abi.encodePacked(bytes1(0xda), bytes1(0x94), deployer, bytes1(0x84), uint32(nonce)))\n );\n }\n\n function computeCreate2Address(bytes32 salt, bytes32 initcodeHash, address deployer)\n internal\n pure\n virtual\n returns (address)\n {\n return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xff), deployer, salt, initcodeHash)));\n }\n\n /// @dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) internal pure returns (address) {\n return computeCreate2Address(salt, initCodeHash, CREATE2_FACTORY);\n }\n\n /// @dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n function hashInitCode(bytes memory creationCode) internal pure returns (bytes32) {\n return hashInitCode(creationCode, \"\");\n }\n\n /// @dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n /// @param args the ABI-encoded arguments to the constructor of C\n function hashInitCode(bytes memory creationCode, bytes memory args) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(creationCode, args));\n }\n\n // Performs a single call with Multicall3 to query the ERC-20 token balances of the given addresses.\n function getTokenBalances(address token, address[] memory addresses)\n internal\n virtual\n returns (uint256[] memory balances)\n {\n uint256 tokenCodeSize;\n assembly {\n tokenCodeSize := extcodesize(token)\n }\n require(tokenCodeSize > 0, \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\");\n\n // ABI encode the aggregate call to Multicall3.\n uint256 length = addresses.length;\n IMulticall3.Call[] memory calls = new IMulticall3.Call[](length);\n for (uint256 i = 0; i < length; ++i) {\n // 0x70a08231 = bytes4(\"balanceOf(address)\"))\n calls[i] = IMulticall3.Call({target: token, callData: abi.encodeWithSelector(0x70a08231, (addresses[i]))});\n }\n\n // Make the aggregate call.\n (, bytes[] memory returnData) = multicall.aggregate(calls);\n\n // ABI decode the return data and return the balances.\n balances = new uint256[](length);\n for (uint256 i = 0; i < length; ++i) {\n balances[i] = abi.decode(returnData[i], (uint256));\n }\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function addressFromLast20Bytes(bytes32 bytesValue) private pure returns (address) {\n return address(uint160(uint256(bytesValue)));\n }\n\n // Used to prevent the compilation of console, which shortens the compilation time when console is not used elsewhere.\n\n function console2_log(string memory p0, uint256 p1) private view {\n (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n status;\n }\n\n function console2_log(string memory p0, string memory p1) private view {\n (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n status;\n }\n}\n" + }, + "lib/forge-std/src/Test.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\n// 💬 ABOUT\n// Standard Library's default Test\n\n// 🧩 MODULES\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {StdAssertions} from \"./StdAssertions.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheats} from \"./StdCheats.sol\";\nimport {stdError} from \"./StdError.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {Vm} from \"./Vm.sol\";\n\n// 📦 BOILERPLATE\nimport {TestBase} from \"./Base.sol\";\nimport {DSTest} from \"ds-test/test.sol\";\n\n// ⭐️ TEST\nabstract contract Test is DSTest, StdAssertions, StdChains, StdCheats, StdUtils, TestBase {\n// Note: IS_TEST() must return true.\n// Note: Must have failure system, https://github.com/dapphub/ds-test/blob/cd98eff28324bfac652e63a239a60632a761790b/src/test.sol#L39-L76.\n}\n" + }, + "lib/forge-std/src/Vm.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\n// Cheatcodes are marked as view/pure/none using the following rules:\n// 0. A call's observable behaviour includes its return value, logs, reverts and state writes,\n// 1. If you can influence a later call's observable behaviour, you're neither `view` nor `pure (you are modifying some state be it the EVM, interpreter, filesystem, etc),\n// 2. Otherwise if you can be influenced by an earlier call, or if reading some state, you're `view`,\n// 3. Otherwise you're `pure`.\n\ninterface VmSafe {\n struct Log {\n bytes32[] topics;\n bytes data;\n address emitter;\n }\n\n struct Rpc {\n string key;\n string url;\n }\n\n struct FsMetadata {\n bool isDir;\n bool isSymlink;\n uint256 length;\n bool readOnly;\n uint256 modified;\n uint256 accessed;\n uint256 created;\n }\n\n // Loads a storage slot from an address\n function load(address target, bytes32 slot) external view returns (bytes32 data);\n // Signs data\n function sign(uint256 privateKey, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n // Gets the address for a given private key\n function addr(uint256 privateKey) external pure returns (address keyAddr);\n // Gets the nonce of an account\n function getNonce(address account) external view returns (uint64 nonce);\n // Performs a foreign function call via the terminal\n function ffi(string[] calldata commandInput) external returns (bytes memory result);\n // Sets environment variables\n function setEnv(string calldata name, string calldata value) external;\n // Reads environment variables, (name) => (value)\n function envBool(string calldata name) external view returns (bool value);\n function envUint(string calldata name) external view returns (uint256 value);\n function envInt(string calldata name) external view returns (int256 value);\n function envAddress(string calldata name) external view returns (address value);\n function envBytes32(string calldata name) external view returns (bytes32 value);\n function envString(string calldata name) external view returns (string memory value);\n function envBytes(string calldata name) external view returns (bytes memory value);\n // Reads environment variables as arrays\n function envBool(string calldata name, string calldata delim) external view returns (bool[] memory value);\n function envUint(string calldata name, string calldata delim) external view returns (uint256[] memory value);\n function envInt(string calldata name, string calldata delim) external view returns (int256[] memory value);\n function envAddress(string calldata name, string calldata delim) external view returns (address[] memory value);\n function envBytes32(string calldata name, string calldata delim) external view returns (bytes32[] memory value);\n function envString(string calldata name, string calldata delim) external view returns (string[] memory value);\n function envBytes(string calldata name, string calldata delim) external view returns (bytes[] memory value);\n // Read environment variables with default value\n function envOr(string calldata name, bool defaultValue) external returns (bool value);\n function envOr(string calldata name, uint256 defaultValue) external returns (uint256 value);\n function envOr(string calldata name, int256 defaultValue) external returns (int256 value);\n function envOr(string calldata name, address defaultValue) external returns (address value);\n function envOr(string calldata name, bytes32 defaultValue) external returns (bytes32 value);\n function envOr(string calldata name, string calldata defaultValue) external returns (string memory value);\n function envOr(string calldata name, bytes calldata defaultValue) external returns (bytes memory value);\n // Read environment variables as arrays with default value\n function envOr(string calldata name, string calldata delim, bool[] calldata defaultValue)\n external\n returns (bool[] memory value);\n function envOr(string calldata name, string calldata delim, uint256[] calldata defaultValue)\n external\n returns (uint256[] memory value);\n function envOr(string calldata name, string calldata delim, int256[] calldata defaultValue)\n external\n returns (int256[] memory value);\n function envOr(string calldata name, string calldata delim, address[] calldata defaultValue)\n external\n returns (address[] memory value);\n function envOr(string calldata name, string calldata delim, bytes32[] calldata defaultValue)\n external\n returns (bytes32[] memory value);\n function envOr(string calldata name, string calldata delim, string[] calldata defaultValue)\n external\n returns (string[] memory value);\n function envOr(string calldata name, string calldata delim, bytes[] calldata defaultValue)\n external\n returns (bytes[] memory value);\n // Records all storage reads and writes\n function record() external;\n // Gets all accessed reads and write slot from a recording session, for a given address\n function accesses(address target) external returns (bytes32[] memory readSlots, bytes32[] memory writeSlots);\n // Gets the _creation_ bytecode from an artifact file. Takes in the relative path to the json file\n function getCode(string calldata artifactPath) external view returns (bytes memory creationBytecode);\n // Gets the _deployed_ bytecode from an artifact file. Takes in the relative path to the json file\n function getDeployedCode(string calldata artifactPath) external view returns (bytes memory runtimeBytecode);\n // Labels an address in call traces\n function label(address account, string calldata newLabel) external;\n // Using the address that calls the test contract, has the next call (at this call depth only) create a transaction that can later be signed and sent onchain\n function broadcast() external;\n // Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain\n function broadcast(address signer) external;\n // Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain\n function broadcast(uint256 privateKey) external;\n // Using the address that calls the test contract, has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain\n function startBroadcast() external;\n // Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain\n function startBroadcast(address signer) external;\n // Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain\n function startBroadcast(uint256 privateKey) external;\n // Stops collecting onchain transactions\n function stopBroadcast() external;\n // Reads the entire content of file to string\n function readFile(string calldata path) external view returns (string memory data);\n // Reads the entire content of file as binary. Path is relative to the project root.\n function readFileBinary(string calldata path) external view returns (bytes memory data);\n // Get the path of the current project root\n function projectRoot() external view returns (string memory path);\n // Get the metadata for a file/directory\n function fsMetadata(string calldata fileOrDir) external returns (FsMetadata memory metadata);\n // Reads next line of file to string\n function readLine(string calldata path) external view returns (string memory line);\n // Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.\n function writeFile(string calldata path, string calldata data) external;\n // Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.\n // Path is relative to the project root.\n function writeFileBinary(string calldata path, bytes calldata data) external;\n // Writes line to file, creating a file if it does not exist.\n function writeLine(string calldata path, string calldata data) external;\n // Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n function closeFile(string calldata path) external;\n // Removes file. This cheatcode will revert in the following situations, but is not limited to just these cases:\n // - Path points to a directory.\n // - The file doesn't exist.\n // - The user lacks permissions to remove the file.\n function removeFile(string calldata path) external;\n // Convert values to a string\n function toString(address value) external pure returns (string memory stringifiedValue);\n function toString(bytes calldata value) external pure returns (string memory stringifiedValue);\n function toString(bytes32 value) external pure returns (string memory stringifiedValue);\n function toString(bool value) external pure returns (string memory stringifiedValue);\n function toString(uint256 value) external pure returns (string memory stringifiedValue);\n function toString(int256 value) external pure returns (string memory stringifiedValue);\n // Convert values from a string\n function parseBytes(string calldata stringifiedValue) external pure returns (bytes memory parsedValue);\n function parseAddress(string calldata stringifiedValue) external pure returns (address parsedValue);\n function parseUint(string calldata stringifiedValue) external pure returns (uint256 parsedValue);\n function parseInt(string calldata stringifiedValue) external pure returns (int256 parsedValue);\n function parseBytes32(string calldata stringifiedValue) external pure returns (bytes32 parsedValue);\n function parseBool(string calldata stringifiedValue) external pure returns (bool parsedValue);\n // Record all the transaction logs\n function recordLogs() external;\n // Gets all the recorded logs\n function getRecordedLogs() external returns (Log[] memory logs);\n // Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path m/44'/60'/0'/0/{index}\n function deriveKey(string calldata mnemonic, uint32 index) external pure returns (uint256 privateKey);\n // Derive a private key from a provided mnenomic string (or mnenomic file path) at {derivationPath}{index}\n function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index)\n external\n pure\n returns (uint256 privateKey);\n // Adds a private key to the local forge wallet and returns the address\n function rememberKey(uint256 privateKey) external returns (address keyAddr);\n //\n // parseJson\n //\n // ----\n // In case the returned value is a JSON object, it's encoded as a ABI-encoded tuple. As JSON objects\n // don't have the notion of ordered, but tuples do, they JSON object is encoded with it's fields ordered in\n // ALPHABETICAL order. That means that in order to successfully decode the tuple, we need to define a tuple that\n // encodes the fields in the same order, which is alphabetical. In the case of Solidity structs, they are encoded\n // as tuples, with the attributes in the order in which they are defined.\n // For example: json = { 'a': 1, 'b': 0xa4tb......3xs}\n // a: uint256\n // b: address\n // To decode that json, we need to define a struct or a tuple as follows:\n // struct json = { uint256 a; address b; }\n // If we defined a json struct with the opposite order, meaning placing the address b first, it would try to\n // decode the tuple in that order, and thus fail.\n // ----\n // Given a string of JSON, return it as ABI-encoded\n function parseJson(string calldata json, string calldata key) external pure returns (bytes memory abiEncodedData);\n function parseJson(string calldata json) external pure returns (bytes memory abiEncodedData);\n\n // The following parseJson cheatcodes will do type coercion, for the type that they indicate.\n // For example, parseJsonUint will coerce all values to a uint256. That includes stringified numbers '12'\n // and hex numbers '0xEF'.\n // Type coercion works ONLY for discrete values or arrays. That means that the key must return a value or array, not\n // a JSON object.\n function parseJsonUint(string calldata, string calldata) external returns (uint256);\n function parseJsonUintArray(string calldata, string calldata) external returns (uint256[] memory);\n function parseJsonInt(string calldata, string calldata) external returns (int256);\n function parseJsonIntArray(string calldata, string calldata) external returns (int256[] memory);\n function parseJsonBool(string calldata, string calldata) external returns (bool);\n function parseJsonBoolArray(string calldata, string calldata) external returns (bool[] memory);\n function parseJsonAddress(string calldata, string calldata) external returns (address);\n function parseJsonAddressArray(string calldata, string calldata) external returns (address[] memory);\n function parseJsonString(string calldata, string calldata) external returns (string memory);\n function parseJsonStringArray(string calldata, string calldata) external returns (string[] memory);\n function parseJsonBytes(string calldata, string calldata) external returns (bytes memory);\n function parseJsonBytesArray(string calldata, string calldata) external returns (bytes[] memory);\n function parseJsonBytes32(string calldata, string calldata) external returns (bytes32);\n function parseJsonBytes32Array(string calldata, string calldata) external returns (bytes32[] memory);\n\n // Serialize a key and value to a JSON object stored in-memory that can be later written to a file\n // It returns the stringified version of the specific JSON file up to that moment.\n function serializeBool(string calldata objectKey, string calldata valueKey, bool value)\n external\n returns (string memory json);\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256 value)\n external\n returns (string memory json);\n function serializeInt(string calldata objectKey, string calldata valueKey, int256 value)\n external\n returns (string memory json);\n function serializeAddress(string calldata objectKey, string calldata valueKey, address value)\n external\n returns (string memory json);\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32 value)\n external\n returns (string memory json);\n function serializeString(string calldata objectKey, string calldata valueKey, string calldata value)\n external\n returns (string memory json);\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes calldata value)\n external\n returns (string memory json);\n\n function serializeBool(string calldata objectKey, string calldata valueKey, bool[] calldata values)\n external\n returns (string memory json);\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256[] calldata values)\n external\n returns (string memory json);\n function serializeInt(string calldata objectKey, string calldata valueKey, int256[] calldata values)\n external\n returns (string memory json);\n function serializeAddress(string calldata objectKey, string calldata valueKey, address[] calldata values)\n external\n returns (string memory json);\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32[] calldata values)\n external\n returns (string memory json);\n function serializeString(string calldata objectKey, string calldata valueKey, string[] calldata values)\n external\n returns (string memory json);\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes[] calldata values)\n external\n returns (string memory json);\n\n //\n // writeJson\n //\n // ----\n // Write a serialized JSON object to a file. If the file exists, it will be overwritten.\n // Let's assume we want to write the following JSON to a file:\n //\n // { \"boolean\": true, \"number\": 342, \"object\": { \"title\": \"finally json serialization\" } }\n //\n // ```\n // string memory json1 = \"some key\";\n // vm.serializeBool(json1, \"boolean\", true);\n // vm.serializeBool(json1, \"number\", uint256(342));\n // json2 = \"some other key\";\n // string memory output = vm.serializeString(json2, \"title\", \"finally json serialization\");\n // string memory finalJson = vm.serialize(json1, \"object\", output);\n // vm.writeJson(finalJson, \"./output/example.json\");\n // ```\n // The critical insight is that every invocation of serialization will return the stringified version of the JSON\n // up to that point. That means we can construct arbitrary JSON objects and then use the return stringified version\n // to serialize them as values to another JSON object.\n //\n // json1 and json2 are simply keys used by the backend to keep track of the objects. So vm.serializeJson(json1,..)\n // will find the object in-memory that is keyed by \"some key\".\n function writeJson(string calldata json, string calldata path) external;\n // Write a serialized JSON object to an **existing** JSON file, replacing a value with key = \n // This is useful to replace a specific value of a JSON file, without having to parse the entire thing\n function writeJson(string calldata json, string calldata path, string calldata valueKey) external;\n // Returns the RPC url for the given alias\n function rpcUrl(string calldata rpcAlias) external view returns (string memory json);\n // Returns all rpc urls and their aliases `[alias, url][]`\n function rpcUrls() external view returns (string[2][] memory urls);\n // Returns all rpc urls and their aliases as structs.\n function rpcUrlStructs() external view returns (Rpc[] memory urls);\n // If the condition is false, discard this run's fuzz inputs and generate new ones.\n function assume(bool condition) external pure;\n // Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\n function pauseGasMetering() external;\n // Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\n function resumeGasMetering() external;\n}\n\ninterface Vm is VmSafe {\n // Sets block.timestamp\n function warp(uint256 newTimestamp) external;\n // Sets block.height\n function roll(uint256 newHeight) external;\n // Sets block.basefee\n function fee(uint256 newBasefee) external;\n // Sets block.difficulty\n function difficulty(uint256 newDifficulty) external;\n // Sets block.chainid\n function chainId(uint256 newChainId) external;\n // Stores a value to an address' storage slot.\n function store(address target, bytes32 slot, bytes32 value) external;\n // Sets the nonce of an account; must be higher than the current nonce of the account\n function setNonce(address account, uint64 newNonce) external;\n // Sets the *next* call's msg.sender to be the input address\n function prank(address msgSender) external;\n // Sets all subsequent calls' msg.sender to be the input address until `stopPrank` is called\n function startPrank(address msgSender) external;\n // Sets the *next* call's msg.sender to be the input address, and the tx.origin to be the second input\n function prank(address msgSender, address txOrigin) external;\n // Sets all subsequent calls' msg.sender to be the input address until `stopPrank` is called, and the tx.origin to be the second input\n function startPrank(address msgSender, address txOrigin) external;\n // Resets subsequent calls' msg.sender to be `address(this)`\n function stopPrank() external;\n // Sets an address' balance\n function deal(address account, uint256 newBalance) external;\n // Sets an address' code\n function etch(address target, bytes calldata newRuntimeBytecode) external;\n // Expects an error on next call\n function expectRevert(bytes calldata revertData) external;\n function expectRevert(bytes4 revertData) external;\n function expectRevert() external;\n // Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData).\n // Call this function, then emit an event, then call a function. Internally after the call, we check if\n // logs were emitted in the expected order with the expected topics and data (as specified by the booleans)\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) external;\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter)\n external;\n // Mocks a call to an address, returning specified data.\n // Calldata can either be strict or a partial match, e.g. if you only\n // pass a Solidity selector to the expected calldata, then the entire Solidity\n // function will be mocked.\n function mockCall(address callee, bytes calldata data, bytes calldata returnData) external;\n // Mocks a call to an address with a specific msg.value, returning specified data.\n // Calldata match takes precedence over msg.value in case of ambiguity.\n function mockCall(address callee, uint256 msgValue, bytes calldata data, bytes calldata returnData) external;\n // Clears all mocked calls\n function clearMockedCalls() external;\n // Expects a call to an address with the specified calldata.\n // Calldata can either be a strict or a partial match\n function expectCall(address callee, bytes calldata data) external;\n // Expects a call to an address with the specified msg.value and calldata\n function expectCall(address callee, uint256 msgValue, bytes calldata data) external;\n // Sets block.coinbase\n function coinbase(address newCoinbase) external;\n // Snapshot the current state of the evm.\n // Returns the id of the snapshot that was created.\n // To revert a snapshot use `revertTo`\n function snapshot() external returns (uint256 snapshotId);\n // Revert the state of the EVM to a previous snapshot\n // Takes the snapshot id to revert to.\n // This deletes the snapshot and all snapshots taken after the given snapshot id.\n function revertTo(uint256 snapshotId) external returns (bool success);\n // Creates a new fork with the given endpoint and block and returns the identifier of the fork\n function createFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n // Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork\n function createFork(string calldata urlOrAlias) external returns (uint256 forkId);\n // Creates a new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction,\n // and returns the identifier of the fork\n function createFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n // Creates _and_ also selects a new fork with the given endpoint and block and returns the identifier of the fork\n function createSelectFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n // Creates _and_ also selects new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before\n // the transaction, returns the identifier of the fork\n function createSelectFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n // Creates _and_ also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork\n function createSelectFork(string calldata urlOrAlias) external returns (uint256 forkId);\n // Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\n function selectFork(uint256 forkId) external;\n /// Returns the identifier of the currently active fork. Reverts if no fork is currently active.\n function activeFork() external view returns (uint256 forkId);\n // Updates the currently active fork to given block number\n // This is similar to `roll` but for the currently active fork\n function rollFork(uint256 blockNumber) external;\n // Updates the currently active fork to given transaction\n // this will `rollFork` with the number of the block the transaction was mined in and replays all transaction mined before it in the block\n function rollFork(bytes32 txHash) external;\n // Updates the given fork to given block number\n function rollFork(uint256 forkId, uint256 blockNumber) external;\n // Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block\n function rollFork(uint256 forkId, bytes32 txHash) external;\n // Marks that the account(s) should use persistent storage across fork swaps in a multifork setup\n // Meaning, changes made to the state of this account will be kept when switching forks\n function makePersistent(address account) external;\n function makePersistent(address account0, address account1) external;\n function makePersistent(address account0, address account1, address account2) external;\n function makePersistent(address[] calldata accounts) external;\n // Revokes persistent status from the address, previously added via `makePersistent`\n function revokePersistent(address account) external;\n function revokePersistent(address[] calldata accounts) external;\n // Returns true if the account is marked as persistent\n function isPersistent(address account) external view returns (bool persistent);\n // In forking mode, explicitly grant the given address cheatcode access\n function allowCheatcodes(address account) external;\n // Fetches the given transaction from the active fork and executes it on the current state\n function transact(bytes32 txHash) external;\n // Fetches the given transaction from the given fork and executes it on the current state\n function transact(uint256 forkId, bytes32 txHash) external;\n}\n" + }, + "lib/forge-std/src/console.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);\n\n function _sendLogPayload(bytes memory payload) private view {\n uint256 payloadLength = payload.length;\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n let payloadStart := add(payload, 32)\n let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n }\n }\n\n function log() internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n\n function logInt(int p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(int)\", p0));\n }\n\n function logUint(uint p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n }\n\n function logString(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n }\n\n function log(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint)\", p0, p1));\n }\n\n function log(uint p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string)\", p0, p1));\n }\n\n function log(uint p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool)\", p0, p1));\n }\n\n function log(uint p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address)\", p0, p1));\n }\n\n function log(string memory p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}" + }, + "lib/forge-std/src/console2.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\n/// @dev The original console.sol uses `int` and `uint` for computing function selectors, but it should\n/// use `int256` and `uint256`. This modified version fixes that. This version is recommended\n/// over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in\n/// forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`.\n/// Reference: https://github.com/NomicFoundation/hardhat/issues/2178\nlibrary console2 {\n address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);\n\n function _sendLogPayload(bytes memory payload) private view {\n uint256 payloadLength = payload.length;\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n let payloadStart := add(payload, 32)\n let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n }\n }\n\n function log() internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n\n function logInt(int256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(int256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function log(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, int256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,int256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}" + }, + "lib/forge-std/src/interfaces/IMulticall3.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes[] memory returnData);\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n\n function blockAndAggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBasefee() external view returns (uint256 basefee);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getChainId() external view returns (uint256 chainid);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (Result[] memory returnData);\n\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n" + }, + "lib/murky/src/Merkle.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nimport \"./common/MurkyBase.sol\";\n\n/// @notice Nascent, simple, kinda efficient (and improving!) Merkle proof generator and verifier\n/// @author dmfxyz\n/// @dev Note Generic Merkle Tree\ncontract Merkle is MurkyBase {\n\n /********************\n * HASHING FUNCTION *\n ********************/\n\n /// ascending sort and concat prior to hashing\n function hashLeafPairs(bytes32 left, bytes32 right) public pure override returns (bytes32 _hash) {\n assembly {\n switch lt(left, right)\n case 0 {\n mstore(0x0, right)\n mstore(0x20, left)\n }\n default {\n mstore(0x0, left)\n mstore(0x20, right)\n }\n _hash := keccak256(0x0, 0x40)\n }\n }\n}" + }, + "lib/murky/src/common/MurkyBase.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nabstract contract MurkyBase {\n /***************\n * CONSTRUCTOR *\n ***************/\n constructor() {}\n\n /********************\n * VIRTUAL HASHING FUNCTIONS *\n ********************/\n function hashLeafPairs(bytes32 left, bytes32 right) public pure virtual returns (bytes32 _hash);\n\n\n /**********************\n * PROOF VERIFICATION *\n **********************/\n \n function verifyProof(bytes32 root, bytes32[] memory proof, bytes32 valueToProve) external pure returns (bool) {\n // proof length must be less than max array size\n bytes32 rollingHash = valueToProve;\n uint256 length = proof.length;\n unchecked {\n for(uint i = 0; i < length; ++i){\n rollingHash = hashLeafPairs(rollingHash, proof[i]);\n }\n }\n return root == rollingHash;\n }\n\n /********************\n * PROOF GENERATION *\n ********************/\n\n function getRoot(bytes32[] memory data) public pure returns (bytes32) {\n require(data.length > 1, \"won't generate root for single leaf\");\n while(data.length > 1) {\n data = hashLevel(data);\n }\n return data[0];\n }\n\n function getProof(bytes32[] memory data, uint256 node) public pure returns (bytes32[] memory) {\n require(data.length > 1, \"won't generate proof for single leaf\");\n // The size of the proof is equal to the ceiling of log2(numLeaves) \n bytes32[] memory result = new bytes32[](log2ceilBitMagic(data.length));\n uint256 pos = 0;\n\n // Two overflow risks: node, pos\n // node: max array size is 2**256-1. Largest index in the array will be 1 less than that. Also,\n // for dynamic arrays, size is limited to 2**64-1\n // pos: pos is bounded by log2(data.length), which should be less than type(uint256).max\n while(data.length > 1) {\n unchecked {\n if(node & 0x1 == 1) {\n result[pos] = data[node - 1];\n } \n else if (node + 1 == data.length) {\n result[pos] = bytes32(0); \n } \n else {\n result[pos] = data[node + 1];\n }\n ++pos;\n node /= 2;\n }\n data = hashLevel(data);\n }\n return result;\n }\n\n ///@dev function is private to prevent unsafe data from being passed\n function hashLevel(bytes32[] memory data) private pure returns (bytes32[] memory) {\n bytes32[] memory result;\n\n // Function is private, and all internal callers check that data.length >=2.\n // Underflow is not possible as lowest possible value for data/result index is 1\n // overflow should be safe as length is / 2 always. \n unchecked {\n uint256 length = data.length;\n if (length & 0x1 == 1){\n result = new bytes32[](length / 2 + 1);\n result[result.length - 1] = hashLeafPairs(data[length - 1], bytes32(0));\n } else {\n result = new bytes32[](length / 2);\n }\n // pos is upper bounded by data.length / 2, so safe even if array is at max size\n uint256 pos = 0;\n for (uint256 i = 0; i < length-1; i+=2){\n result[pos] = hashLeafPairs(data[i], data[i+1]);\n ++pos;\n }\n }\n return result;\n }\n\n /******************\n * MATH \"LIBRARY\" *\n ******************/\n \n /// @dev Note that x is assumed > 0\n function log2ceil(uint256 x) public pure returns (uint256) {\n uint256 ceil = 0;\n uint pOf2;\n // If x is a power of 2, then this function will return a ceiling\n // that is 1 greater than the actual ceiling. So we need to check if\n // x is a power of 2, and subtract one from ceil if so. \n assembly {\n // we check by seeing if x == (~x + 1) & x. This applies a mask\n // to find the lowest set bit of x and then checks it for equality\n // with x. If they are equal, then x is a power of 2.\n\n /* Example\n x has single bit set\n x := 0000_1000\n (~x + 1) = (1111_0111) + 1 = 1111_1000\n (1111_1000 & 0000_1000) = 0000_1000 == x\n\n x has multiple bits set\n x := 1001_0010\n (~x + 1) = (0110_1101 + 1) = 0110_1110\n (0110_1110 & x) = 0000_0010 != x\n */\n\n // we do some assembly magic to treat the bool as an integer later on\n pOf2 := eq(and(add(not(x), 1), x), x)\n }\n \n // if x == type(uint256).max, than ceil is capped at 256\n // if x == 0, then pO2 == 0, so ceil won't underflow\n unchecked {\n while( x > 0) {\n x >>= 1;\n ceil++;\n }\n ceil -= pOf2; // see above\n }\n return ceil;\n }\n\n /// Original bitmagic adapted from https://github.com/paulrberg/prb-math/blob/main/contracts/PRBMath.sol\n /// @dev Note that x assumed > 1\n function log2ceilBitMagic(uint256 x) public pure returns (uint256){\n if (x <= 1) {\n return 0;\n }\n uint256 msb = 0;\n uint256 _x = x;\n if (x >= 2**128) {\n x >>= 128;\n msb += 128;\n }\n if (x >= 2**64) {\n x >>= 64;\n msb += 64;\n }\n if (x >= 2**32) {\n x >>= 32;\n msb += 32;\n }\n if (x >= 2**16) {\n x >>= 16;\n msb += 16;\n }\n if (x >= 2**8) {\n x >>= 8;\n msb += 8;\n }\n if (x >= 2**4) {\n x >>= 4;\n msb += 4;\n }\n if (x >= 2**2) {\n x >>= 2;\n msb += 2;\n }\n if (x >= 2**1) {\n msb += 1;\n }\n\n uint256 lsb = (~_x + 1) & _x;\n if ((lsb == _x) && (msb > 0)) {\n return msb;\n } else {\n return msb + 1;\n }\n }\n}" + }, + "lib/permit2/src/AllowanceTransfer.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.17;\n\nimport {ERC20} from \"solmate/src/tokens/ERC20.sol\";\nimport {SafeTransferLib} from \"solmate/src/utils/SafeTransferLib.sol\";\nimport {PermitHash} from \"./libraries/PermitHash.sol\";\nimport {SignatureVerification} from \"./libraries/SignatureVerification.sol\";\nimport {EIP712} from \"./EIP712.sol\";\nimport {IAllowanceTransfer} from \"../src/interfaces/IAllowanceTransfer.sol\";\nimport {SignatureExpired, InvalidNonce} from \"./PermitErrors.sol\";\nimport {Allowance} from \"./libraries/Allowance.sol\";\n\ncontract AllowanceTransfer is IAllowanceTransfer, EIP712 {\n using SignatureVerification for bytes;\n using SafeTransferLib for ERC20;\n using PermitHash for PermitSingle;\n using PermitHash for PermitBatch;\n using Allowance for PackedAllowance;\n\n /// @notice Maps users to tokens to spender addresses and information about the approval on the token\n /// @dev Indexed in the order of token owner address, token address, spender address\n /// @dev The stored word saves the allowed amount, expiration on the allowance, and nonce\n mapping(address => mapping(address => mapping(address => PackedAllowance))) public allowance;\n\n /// @inheritdoc IAllowanceTransfer\n function approve(address token, address spender, uint160 amount, uint48 expiration) external {\n PackedAllowance storage allowed = allowance[msg.sender][token][spender];\n allowed.updateAmountAndExpiration(amount, expiration);\n emit Approval(msg.sender, token, spender, amount, expiration);\n }\n\n /// @inheritdoc IAllowanceTransfer\n function permit(address owner, PermitSingle memory permitSingle, bytes calldata signature) external {\n if (block.timestamp > permitSingle.sigDeadline) revert SignatureExpired(permitSingle.sigDeadline);\n\n // Verify the signer address from the signature.\n signature.verify(_hashTypedData(permitSingle.hash()), owner);\n\n _updateApproval(permitSingle.details, owner, permitSingle.spender);\n }\n\n /// @inheritdoc IAllowanceTransfer\n function permit(address owner, PermitBatch memory permitBatch, bytes calldata signature) external {\n if (block.timestamp > permitBatch.sigDeadline) revert SignatureExpired(permitBatch.sigDeadline);\n\n // Verify the signer address from the signature.\n signature.verify(_hashTypedData(permitBatch.hash()), owner);\n\n address spender = permitBatch.spender;\n unchecked {\n uint256 length = permitBatch.details.length;\n for (uint256 i = 0; i < length; ++i) {\n _updateApproval(permitBatch.details[i], owner, spender);\n }\n }\n }\n\n /// @inheritdoc IAllowanceTransfer\n function transferFrom(address from, address to, uint160 amount, address token) external {\n _transfer(from, to, amount, token);\n }\n\n /// @inheritdoc IAllowanceTransfer\n function transferFrom(AllowanceTransferDetails[] calldata transferDetails) external {\n unchecked {\n uint256 length = transferDetails.length;\n for (uint256 i = 0; i < length; ++i) {\n AllowanceTransferDetails memory transferDetail = transferDetails[i];\n _transfer(transferDetail.from, transferDetail.to, transferDetail.amount, transferDetail.token);\n }\n }\n }\n\n /// @notice Internal function for transferring tokens using stored allowances\n /// @dev Will fail if the allowed timeframe has passed\n function _transfer(address from, address to, uint160 amount, address token) private {\n PackedAllowance storage allowed = allowance[from][token][msg.sender];\n\n if (block.timestamp > allowed.expiration) revert AllowanceExpired(allowed.expiration);\n\n uint256 maxAmount = allowed.amount;\n if (maxAmount != type(uint160).max) {\n if (amount > maxAmount) {\n revert InsufficientAllowance(maxAmount);\n } else {\n unchecked {\n allowed.amount = uint160(maxAmount) - amount;\n }\n }\n }\n\n // Transfer the tokens from the from address to the recipient.\n ERC20(token).safeTransferFrom(from, to, amount);\n }\n\n /// @inheritdoc IAllowanceTransfer\n function lockdown(TokenSpenderPair[] calldata approvals) external {\n address owner = msg.sender;\n // Revoke allowances for each pair of spenders and tokens.\n unchecked {\n uint256 length = approvals.length;\n for (uint256 i = 0; i < length; ++i) {\n address token = approvals[i].token;\n address spender = approvals[i].spender;\n\n allowance[owner][token][spender].amount = 0;\n emit Lockdown(owner, token, spender);\n }\n }\n }\n\n /// @inheritdoc IAllowanceTransfer\n function invalidateNonces(address token, address spender, uint48 newNonce) external {\n uint48 oldNonce = allowance[msg.sender][token][spender].nonce;\n\n if (newNonce <= oldNonce) revert InvalidNonce();\n\n // Limit the amount of nonces that can be invalidated in one transaction.\n unchecked {\n uint48 delta = newNonce - oldNonce;\n if (delta > type(uint16).max) revert ExcessiveInvalidation();\n }\n\n allowance[msg.sender][token][spender].nonce = newNonce;\n emit NonceInvalidation(msg.sender, token, spender, newNonce, oldNonce);\n }\n\n /// @notice Sets the new values for amount, expiration, and nonce.\n /// @dev Will check that the signed nonce is equal to the current nonce and then incrememnt the nonce value by 1.\n /// @dev Emits a Permit event.\n function _updateApproval(PermitDetails memory details, address owner, address spender) private {\n uint48 nonce = details.nonce;\n address token = details.token;\n uint160 amount = details.amount;\n uint48 expiration = details.expiration;\n PackedAllowance storage allowed = allowance[owner][token][spender];\n\n if (allowed.nonce != nonce) revert InvalidNonce();\n\n allowed.updateAll(amount, expiration, nonce);\n emit Permit(owner, token, spender, amount, expiration, nonce);\n }\n}\n" + }, + "lib/permit2/src/EIP712.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.17;\n\n/// @notice EIP712 helpers for permit2\n/// @dev Maintains cross-chain replay protection in the event of a fork\n/// @dev Reference: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/EIP712.sol\ncontract EIP712 {\n // Cache the domain separator as an immutable value, but also store the chain id that it\n // corresponds to, in order to 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\n bytes32 private constant _HASHED_NAME = keccak256(\"Permit2\");\n bytes32 private constant _TYPE_HASH =\n keccak256(\"EIP712Domain(string name,uint256 chainId,address verifyingContract)\");\n\n constructor() {\n _CACHED_CHAIN_ID = block.chainid;\n _CACHED_DOMAIN_SEPARATOR = _buildDomainSeparator(_TYPE_HASH, _HASHED_NAME);\n }\n\n /// @notice Returns the domain separator for the current chain.\n /// @dev Uses cached version if chainid and address are unchanged from construction.\n function DOMAIN_SEPARATOR() public view returns (bytes32) {\n return block.chainid == _CACHED_CHAIN_ID\n ? _CACHED_DOMAIN_SEPARATOR\n : _buildDomainSeparator(_TYPE_HASH, _HASHED_NAME);\n }\n\n /// @notice Builds a domain separator using the current chainId and contract address.\n function _buildDomainSeparator(bytes32 typeHash, bytes32 nameHash) private view returns (bytes32) {\n return keccak256(abi.encode(typeHash, nameHash, block.chainid, address(this)));\n }\n\n /// @notice Creates an EIP-712 typed data hash\n function _hashTypedData(bytes32 dataHash) internal view returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19\\x01\", DOMAIN_SEPARATOR(), dataHash));\n }\n}\n" + }, + "lib/permit2/src/Permit2.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.17;\n\nimport {SignatureTransfer} from \"./SignatureTransfer.sol\";\nimport {AllowanceTransfer} from \"./AllowanceTransfer.sol\";\n\n/// @notice Permit2 handles signature-based transfers in SignatureTransfer and allowance-based transfers in AllowanceTransfer.\n/// @dev Users must approve Permit2 before calling any of the transfer functions.\ncontract Permit2 is SignatureTransfer, AllowanceTransfer {\n// Permit2 unifies the two contracts so users have maximal flexibility with their approval.\n}\n" + }, + "lib/permit2/src/PermitErrors.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.17;\n\n/// @notice Shared errors between signature based transfers and allowance based transfers.\n\n/// @notice Thrown when validating an inputted signature that is stale\n/// @param signatureDeadline The timestamp at which a signature is no longer valid\nerror SignatureExpired(uint256 signatureDeadline);\n\n/// @notice Thrown when validating that the inputted nonce has not been used\nerror InvalidNonce();\n" + }, + "lib/permit2/src/SignatureTransfer.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.17;\n\nimport {ISignatureTransfer} from \"./interfaces/ISignatureTransfer.sol\";\nimport {SignatureExpired, InvalidNonce} from \"./PermitErrors.sol\";\nimport {ERC20} from \"solmate/src/tokens/ERC20.sol\";\nimport {SafeTransferLib} from \"solmate/src/utils/SafeTransferLib.sol\";\nimport {SignatureVerification} from \"./libraries/SignatureVerification.sol\";\nimport {PermitHash} from \"./libraries/PermitHash.sol\";\nimport {EIP712} from \"./EIP712.sol\";\n\ncontract SignatureTransfer is ISignatureTransfer, EIP712 {\n using SignatureVerification for bytes;\n using SafeTransferLib for ERC20;\n using PermitHash for PermitTransferFrom;\n using PermitHash for PermitBatchTransferFrom;\n\n /// @inheritdoc ISignatureTransfer\n mapping(address => mapping(uint256 => uint256)) public nonceBitmap;\n\n /// @inheritdoc ISignatureTransfer\n function permitTransferFrom(\n PermitTransferFrom memory permit,\n SignatureTransferDetails calldata transferDetails,\n address owner,\n bytes calldata signature\n ) external {\n _permitTransferFrom(permit, transferDetails, owner, permit.hash(), signature);\n }\n\n /// @inheritdoc ISignatureTransfer\n function permitWitnessTransferFrom(\n PermitTransferFrom memory permit,\n SignatureTransferDetails calldata transferDetails,\n address owner,\n bytes32 witness,\n string calldata witnessTypeString,\n bytes calldata signature\n ) external {\n _permitTransferFrom(\n permit, transferDetails, owner, permit.hashWithWitness(witness, witnessTypeString), signature\n );\n }\n\n /// @notice Transfers a token using a signed permit message.\n /// @param permit The permit data signed over by the owner\n /// @param dataHash The EIP-712 hash of permit data to include when checking signature\n /// @param owner The owner of the tokens to transfer\n /// @param transferDetails The spender's requested transfer details for the permitted token\n /// @param signature The signature to verify\n function _permitTransferFrom(\n PermitTransferFrom memory permit,\n SignatureTransferDetails calldata transferDetails,\n address owner,\n bytes32 dataHash,\n bytes calldata signature\n ) private {\n uint256 requestedAmount = transferDetails.requestedAmount;\n\n if (block.timestamp > permit.deadline) revert SignatureExpired(permit.deadline);\n if (requestedAmount > permit.permitted.amount) revert InvalidAmount(permit.permitted.amount);\n\n _useUnorderedNonce(owner, permit.nonce);\n\n signature.verify(_hashTypedData(dataHash), owner);\n\n ERC20(permit.permitted.token).safeTransferFrom(owner, transferDetails.to, requestedAmount);\n }\n\n /// @inheritdoc ISignatureTransfer\n function permitTransferFrom(\n PermitBatchTransferFrom memory permit,\n SignatureTransferDetails[] calldata transferDetails,\n address owner,\n bytes calldata signature\n ) external {\n _permitTransferFrom(permit, transferDetails, owner, permit.hash(), signature);\n }\n\n /// @inheritdoc ISignatureTransfer\n function permitWitnessTransferFrom(\n PermitBatchTransferFrom memory permit,\n SignatureTransferDetails[] calldata transferDetails,\n address owner,\n bytes32 witness,\n string calldata witnessTypeString,\n bytes calldata signature\n ) external {\n _permitTransferFrom(\n permit, transferDetails, owner, permit.hashWithWitness(witness, witnessTypeString), signature\n );\n }\n\n /// @notice Transfers tokens using a signed permit messages\n /// @param permit The permit data signed over by the owner\n /// @param dataHash The EIP-712 hash of permit data to include when checking signature\n /// @param owner The owner of the tokens to transfer\n /// @param signature The signature to verify\n function _permitTransferFrom(\n PermitBatchTransferFrom memory permit,\n SignatureTransferDetails[] calldata transferDetails,\n address owner,\n bytes32 dataHash,\n bytes calldata signature\n ) private {\n uint256 numPermitted = permit.permitted.length;\n\n if (block.timestamp > permit.deadline) revert SignatureExpired(permit.deadline);\n if (numPermitted != transferDetails.length) revert LengthMismatch();\n\n _useUnorderedNonce(owner, permit.nonce);\n signature.verify(_hashTypedData(dataHash), owner);\n\n unchecked {\n for (uint256 i = 0; i < numPermitted; ++i) {\n TokenPermissions memory permitted = permit.permitted[i];\n uint256 requestedAmount = transferDetails[i].requestedAmount;\n\n if (requestedAmount > permitted.amount) revert InvalidAmount(permitted.amount);\n\n if (requestedAmount != 0) {\n // allow spender to specify which of the permitted tokens should be transferred\n ERC20(permitted.token).safeTransferFrom(owner, transferDetails[i].to, requestedAmount);\n }\n }\n }\n }\n\n /// @inheritdoc ISignatureTransfer\n function invalidateUnorderedNonces(uint256 wordPos, uint256 mask) external {\n nonceBitmap[msg.sender][wordPos] |= mask;\n\n emit UnorderedNonceInvalidation(msg.sender, wordPos, mask);\n }\n\n /// @notice Returns the index of the bitmap and the bit position within the bitmap. Used for unordered nonces\n /// @param nonce The nonce to get the associated word and bit positions\n /// @return wordPos The word position or index into the nonceBitmap\n /// @return bitPos The bit position\n /// @dev The first 248 bits of the nonce value is the index of the desired bitmap\n /// @dev The last 8 bits of the nonce value is the position of the bit in the bitmap\n function bitmapPositions(uint256 nonce) private pure returns (uint256 wordPos, uint256 bitPos) {\n wordPos = uint248(nonce >> 8);\n bitPos = uint8(nonce);\n }\n\n /// @notice Checks whether a nonce is taken and sets the bit at the bit position in the bitmap at the word position\n /// @param from The address to use the nonce at\n /// @param nonce The nonce to spend\n function _useUnorderedNonce(address from, uint256 nonce) internal {\n (uint256 wordPos, uint256 bitPos) = bitmapPositions(nonce);\n uint256 bit = 1 << bitPos;\n uint256 flipped = nonceBitmap[from][wordPos] ^= bit;\n\n if (flipped & bit == 0) revert InvalidNonce();\n }\n}\n" + }, + "lib/permit2/src/interfaces/IAllowanceTransfer.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\n/// @title AllowanceTransfer\n/// @notice Handles ERC20 token permissions through signature based allowance setting and ERC20 token transfers by checking allowed amounts\n/// @dev Requires user's token approval on the Permit2 contract\ninterface IAllowanceTransfer {\n /// @notice Thrown when an allowance on a token has expired.\n /// @param deadline The timestamp at which the allowed amount is no longer valid\n error AllowanceExpired(uint256 deadline);\n\n /// @notice Thrown when an allowance on a token has been depleted.\n /// @param amount The maximum amount allowed\n error InsufficientAllowance(uint256 amount);\n\n /// @notice Thrown when too many nonces are invalidated.\n error ExcessiveInvalidation();\n\n /// @notice Emits an event when the owner successfully invalidates an ordered nonce.\n event NonceInvalidation(\n address indexed owner, address indexed token, address indexed spender, uint48 newNonce, uint48 oldNonce\n );\n\n /// @notice Emits an event when the owner successfully sets permissions on a token for the spender.\n event Approval(\n address indexed owner, address indexed token, address indexed spender, uint160 amount, uint48 expiration\n );\n\n /// @notice Emits an event when the owner successfully sets permissions using a permit signature on a token for the spender.\n event Permit(\n address indexed owner,\n address indexed token,\n address indexed spender,\n uint160 amount,\n uint48 expiration,\n uint48 nonce\n );\n\n /// @notice Emits an event when the owner sets the allowance back to 0 with the lockdown function.\n event Lockdown(address indexed owner, address token, address spender);\n\n /// @notice The permit data for a token\n struct PermitDetails {\n // ERC20 token address\n address token;\n // the maximum amount allowed to spend\n uint160 amount;\n // timestamp at which a spender's token allowances become invalid\n uint48 expiration;\n // an incrementing value indexed per owner,token,and spender for each signature\n uint48 nonce;\n }\n\n /// @notice The permit message signed for a single token allownce\n struct PermitSingle {\n // the permit data for a single token alownce\n PermitDetails details;\n // address permissioned on the allowed tokens\n address spender;\n // deadline on the permit signature\n uint256 sigDeadline;\n }\n\n /// @notice The permit message signed for multiple token allowances\n struct PermitBatch {\n // the permit data for multiple token allowances\n PermitDetails[] details;\n // address permissioned on the allowed tokens\n address spender;\n // deadline on the permit signature\n uint256 sigDeadline;\n }\n\n /// @notice The saved permissions\n /// @dev This info is saved per owner, per token, per spender and all signed over in the permit message\n /// @dev Setting amount to type(uint160).max sets an unlimited approval\n struct PackedAllowance {\n // amount allowed\n uint160 amount;\n // permission expiry\n uint48 expiration;\n // an incrementing value indexed per owner,token,and spender for each signature\n uint48 nonce;\n }\n\n /// @notice A token spender pair.\n struct TokenSpenderPair {\n // the token the spender is approved\n address token;\n // the spender address\n address spender;\n }\n\n /// @notice Details for a token transfer.\n struct AllowanceTransferDetails {\n // the owner of the token\n address from;\n // the recipient of the token\n address to;\n // the amount of the token\n uint160 amount;\n // the token to be transferred\n address token;\n }\n\n /// @notice A mapping from owner address to token address to spender address to PackedAllowance struct, which contains details and conditions of the approval.\n /// @notice The mapping is indexed in the above order see: allowance[ownerAddress][tokenAddress][spenderAddress]\n /// @dev The packed slot holds the allowed amount, expiration at which the allowed amount is no longer valid, and current nonce thats updated on any signature based approvals.\n function allowance(address, address, address) external view returns (uint160, uint48, uint48);\n\n /// @notice Approves the spender to use up to amount of the specified token up until the expiration\n /// @param token The token to approve\n /// @param spender The spender address to approve\n /// @param amount The approved amount of the token\n /// @param expiration The timestamp at which the approval is no longer valid\n /// @dev The packed allowance also holds a nonce, which will stay unchanged in approve\n /// @dev Setting amount to type(uint160).max sets an unlimited approval\n function approve(address token, address spender, uint160 amount, uint48 expiration) external;\n\n /// @notice Permit a spender to a given amount of the owners token via the owner's EIP-712 signature\n /// @dev May fail if the owner's nonce was invalidated in-flight by invalidateNonce\n /// @param owner The owner of the tokens being approved\n /// @param permitSingle Data signed over by the owner specifying the terms of approval\n /// @param signature The owner's signature over the permit data\n function permit(address owner, PermitSingle memory permitSingle, bytes calldata signature) external;\n\n /// @notice Permit a spender to the signed amounts of the owners tokens via the owner's EIP-712 signature\n /// @dev May fail if the owner's nonce was invalidated in-flight by invalidateNonce\n /// @param owner The owner of the tokens being approved\n /// @param permitBatch Data signed over by the owner specifying the terms of approval\n /// @param signature The owner's signature over the permit data\n function permit(address owner, PermitBatch memory permitBatch, bytes calldata signature) external;\n\n /// @notice Transfer approved tokens from one address to another\n /// @param from The address to transfer from\n /// @param to The address of the recipient\n /// @param amount The amount of the token to transfer\n /// @param token The token address to transfer\n /// @dev Requires the from address to have approved at least the desired amount\n /// of tokens to msg.sender.\n function transferFrom(address from, address to, uint160 amount, address token) external;\n\n /// @notice Transfer approved tokens in a batch\n /// @param transferDetails Array of owners, recipients, amounts, and tokens for the transfers\n /// @dev Requires the from addresses to have approved at least the desired amount\n /// of tokens to msg.sender.\n function transferFrom(AllowanceTransferDetails[] calldata transferDetails) external;\n\n /// @notice Enables performing a \"lockdown\" of the sender's Permit2 identity\n /// by batch revoking approvals\n /// @param approvals Array of approvals to revoke.\n function lockdown(TokenSpenderPair[] calldata approvals) external;\n\n /// @notice Invalidate nonces for a given (token, spender) pair\n /// @param token The token to invalidate nonces for\n /// @param spender The spender to invalidate nonces for\n /// @param newNonce The new nonce to set. Invalidates all nonces less than it.\n /// @dev Can't invalidate more than 2**16 nonces per transaction.\n function invalidateNonces(address token, address spender, uint48 newNonce) external;\n}\n" + }, + "lib/permit2/src/interfaces/IDAIPermit.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\ninterface IDAIPermit {\n /// @param holder The address of the token owner.\n /// @param spender The address of the token spender.\n /// @param nonce The owner's nonce, increases at each call to permit.\n /// @param expiry The timestamp at which the permit is no longer valid.\n /// @param allowed Boolean that sets approval amount, true for type(uint256).max and false for 0.\n /// @param v Must produce valid secp256k1 signature from the owner along with r and s.\n /// @param r Must produce valid secp256k1 signature from the owner along with v and s.\n /// @param s Must produce valid secp256k1 signature from the owner along with r and v.\n function permit(\n address holder,\n address spender,\n uint256 nonce,\n uint256 expiry,\n bool allowed,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n" + }, + "lib/permit2/src/interfaces/IERC1271.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\ninterface IERC1271 {\n /// @dev Should return whether the signature provided is valid for the provided data\n /// @param hash Hash of the data to be signed\n /// @param signature Signature byte array associated with _data\n /// @return magicValue The bytes4 magic value 0x1626ba7e\n function isValidSignature(bytes32 hash, bytes memory signature) external view returns (bytes4 magicValue);\n}\n" + }, + "lib/permit2/src/interfaces/ISignatureTransfer.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\n/// @title SignatureTransfer\n/// @notice Handles ERC20 token transfers through signature based actions\n/// @dev Requires user's token approval on the Permit2 contract\ninterface ISignatureTransfer {\n /// @notice Thrown when the requested amount for a transfer is larger than the permissioned amount\n /// @param maxAmount The maximum amount a spender can request to transfer\n error InvalidAmount(uint256 maxAmount);\n\n /// @notice Thrown when the number of tokens permissioned to a spender does not match the number of tokens being transferred\n /// @dev If the spender does not need to transfer the number of tokens permitted, the spender can request amount 0 to be transferred\n error LengthMismatch();\n\n /// @notice Emits an event when the owner successfully invalidates an unordered nonce.\n event UnorderedNonceInvalidation(address indexed owner, uint256 word, uint256 mask);\n\n /// @notice The token and amount details for a transfer signed in the permit transfer signature\n struct TokenPermissions {\n // ERC20 token address\n address token;\n // the maximum amount that can be spent\n uint256 amount;\n }\n\n /// @notice The signed permit message for a single token transfer\n struct PermitTransferFrom {\n TokenPermissions permitted;\n // a unique value for every token owner's signature to prevent signature replays\n uint256 nonce;\n // deadline on the permit signature\n uint256 deadline;\n }\n\n /// @notice Specifies the recipient address and amount for batched transfers.\n /// @dev Recipients and amounts correspond to the index of the signed token permissions array.\n /// @dev Reverts if the requested amount is greater than the permitted signed amount.\n struct SignatureTransferDetails {\n // recipient address\n address to;\n // spender requested amount\n uint256 requestedAmount;\n }\n\n /// @notice Used to reconstruct the signed permit message for multiple token transfers\n /// @dev Do not need to pass in spender address as it is required that it is msg.sender\n /// @dev Note that a user still signs over a spender address\n struct PermitBatchTransferFrom {\n // the tokens and corresponding amounts permitted for a transfer\n TokenPermissions[] permitted;\n // a unique value for every token owner's signature to prevent signature replays\n uint256 nonce;\n // deadline on the permit signature\n uint256 deadline;\n }\n\n /// @notice A map from token owner address and a caller specified word index to a bitmap. Used to set bits in the bitmap to prevent against signature replay protection\n /// @dev Uses unordered nonces so that permit messages do not need to be spent in a certain order\n /// @dev The mapping is indexed first by the token owner, then by an index specified in the nonce\n /// @dev It returns a uint256 bitmap\n /// @dev The index, or wordPosition is capped at type(uint248).max\n function nonceBitmap(address, uint256) external view returns (uint256);\n\n /// @notice Transfers a token using a signed permit message\n /// @dev Reverts if the requested amount is greater than the permitted signed amount\n /// @param permit The permit data signed over by the owner\n /// @param owner The owner of the tokens to transfer\n /// @param transferDetails The spender's requested transfer details for the permitted token\n /// @param signature The signature to verify\n function permitTransferFrom(\n PermitTransferFrom memory permit,\n SignatureTransferDetails calldata transferDetails,\n address owner,\n bytes calldata signature\n ) external;\n\n /// @notice Transfers a token using a signed permit message\n /// @notice Includes extra data provided by the caller to verify signature over\n /// @dev The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definition\n /// @dev Reverts if the requested amount is greater than the permitted signed amount\n /// @param permit The permit data signed over by the owner\n /// @param owner The owner of the tokens to transfer\n /// @param transferDetails The spender's requested transfer details for the permitted token\n /// @param witness Extra data to include when checking the user signature\n /// @param witnessTypeString The EIP-712 type definition for remaining string stub of the typehash\n /// @param signature The signature to verify\n function permitWitnessTransferFrom(\n PermitTransferFrom memory permit,\n SignatureTransferDetails calldata transferDetails,\n address owner,\n bytes32 witness,\n string calldata witnessTypeString,\n bytes calldata signature\n ) external;\n\n /// @notice Transfers multiple tokens using a signed permit message\n /// @param permit The permit data signed over by the owner\n /// @param owner The owner of the tokens to transfer\n /// @param transferDetails Specifies the recipient and requested amount for the token transfer\n /// @param signature The signature to verify\n function permitTransferFrom(\n PermitBatchTransferFrom memory permit,\n SignatureTransferDetails[] calldata transferDetails,\n address owner,\n bytes calldata signature\n ) external;\n\n /// @notice Transfers multiple tokens using a signed permit message\n /// @dev The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definition\n /// @notice Includes extra data provided by the caller to verify signature over\n /// @param permit The permit data signed over by the owner\n /// @param owner The owner of the tokens to transfer\n /// @param transferDetails Specifies the recipient and requested amount for the token transfer\n /// @param witness Extra data to include when checking the user signature\n /// @param witnessTypeString The EIP-712 type definition for remaining string stub of the typehash\n /// @param signature The signature to verify\n function permitWitnessTransferFrom(\n PermitBatchTransferFrom memory permit,\n SignatureTransferDetails[] calldata transferDetails,\n address owner,\n bytes32 witness,\n string calldata witnessTypeString,\n bytes calldata signature\n ) external;\n\n /// @notice Invalidates the bits specified in mask for the bitmap at the word position\n /// @dev The wordPos is maxed at type(uint248).max\n /// @param wordPos A number to index the nonceBitmap at\n /// @param mask A bitmap masked against msg.sender's current bitmap at the word position\n function invalidateUnorderedNonces(uint256 wordPos, uint256 mask) external;\n}\n" + }, + "lib/permit2/src/libraries/Allowance.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\nimport {IAllowanceTransfer} from \"../interfaces/IAllowanceTransfer.sol\";\n\nlibrary Allowance {\n // note if the expiration passed is 0, then it the approval set to the block.timestamp\n uint256 private constant BLOCK_TIMESTAMP_EXPIRATION = 0;\n\n /// @notice Sets the allowed amount, expiry, and nonce of the spender's permissions on owner's token.\n /// @dev Nonce is incremented.\n /// @dev If the inputted expiration is 0, the stored expiration is set to block.timestamp\n function updateAll(\n IAllowanceTransfer.PackedAllowance storage allowed,\n uint160 amount,\n uint48 expiration,\n uint48 nonce\n ) internal {\n uint48 storedNonce;\n unchecked {\n storedNonce = nonce + 1;\n }\n\n uint48 storedExpiration = expiration == BLOCK_TIMESTAMP_EXPIRATION ? uint48(block.timestamp) : expiration;\n\n uint256 word = pack(amount, storedExpiration, storedNonce);\n assembly {\n sstore(allowed.slot, word)\n }\n }\n\n /// @notice Sets the allowed amount and expiry of the spender's permissions on owner's token.\n /// @dev Nonce does not need to be incremented.\n function updateAmountAndExpiration(\n IAllowanceTransfer.PackedAllowance storage allowed,\n uint160 amount,\n uint48 expiration\n ) internal {\n // If the inputted expiration is 0, the allowance only lasts the duration of the block.\n allowed.expiration = expiration == 0 ? uint48(block.timestamp) : expiration;\n allowed.amount = amount;\n }\n\n /// @notice Computes the packed slot of the amount, expiration, and nonce that make up PackedAllowance\n function pack(uint160 amount, uint48 expiration, uint48 nonce) internal pure returns (uint256 word) {\n word = (uint256(nonce) << 208) | uint256(expiration) << 160 | amount;\n }\n}\n" + }, + "lib/permit2/src/libraries/Permit2Lib.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\nimport {ERC20} from \"solmate/src/tokens/ERC20.sol\";\n\nimport {Permit2} from \"../Permit2.sol\";\nimport {IDAIPermit} from \"../interfaces/IDAIPermit.sol\";\nimport {IAllowanceTransfer} from \"../interfaces/IAllowanceTransfer.sol\";\nimport {SafeCast160} from \"./SafeCast160.sol\";\n\n/// @title Permit2Lib\n/// @notice Enables efficient transfers and EIP-2612/DAI\n/// permits for any token by falling back to Permit2.\nlibrary Permit2Lib {\n using SafeCast160 for uint256;\n /*//////////////////////////////////////////////////////////////\n CONSTANTS\n //////////////////////////////////////////////////////////////*/\n\n /// @dev The unique EIP-712 domain domain separator for the DAI token contract.\n bytes32 internal constant DAI_DOMAIN_SEPARATOR = 0xdbb8cf42e1ecb028be3f3dbc922e1d878b963f411dc388ced501601c60f7c6f7;\n\n /// @dev The address for the WETH9 contract on Ethereum mainnet, encoded as a bytes32.\n bytes32 internal constant WETH9_ADDRESS = 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2;\n\n /// @dev The address of the Permit2 contract the library will use.\n Permit2 internal constant PERMIT2 = Permit2(address(0x000000000022D473030F116dDEE9F6B43aC78BA3));\n\n /// @notice Transfer a given amount of tokens from one user to another.\n /// @param token The token to transfer.\n /// @param from The user to transfer from.\n /// @param to The user to transfer to.\n /// @param amount The amount to transfer.\n function transferFrom2(ERC20 token, address from, address to, uint256 amount) internal {\n // Generate calldata for a standard transferFrom call.\n bytes memory inputData = abi.encodeCall(ERC20.transferFrom, (from, to, amount));\n\n bool success; // Call the token contract as normal, capturing whether it succeeded.\n assembly {\n success :=\n and(\n // Set success to whether the call reverted, if not we check it either\n // returned exactly 1 (can't just be non-zero data), or had no return data.\n or(eq(mload(0), 1), iszero(returndatasize())),\n // Counterintuitively, this call() must be positioned after the or() in the\n // surrounding and() because and() evaluates its arguments from right to left.\n // We use 0 and 32 to copy up to 32 bytes of return data into the first slot of scratch space.\n call(gas(), token, 0, add(inputData, 32), mload(inputData), 0, 32)\n )\n }\n\n // We'll fall back to using Permit2 if calling transferFrom on the token directly reverted.\n if (!success) PERMIT2.transferFrom(from, to, amount.toUint160(), address(token));\n }\n\n /*//////////////////////////////////////////////////////////////\n PERMIT LOGIC\n //////////////////////////////////////////////////////////////*/\n\n /// @notice Permit a user to spend a given amount of\n /// another user's tokens via the owner's EIP-712 signature.\n /// @param token The token to permit spending.\n /// @param owner The user to permit spending from.\n /// @param spender The user to permit spending to.\n /// @param amount The amount to permit spending.\n /// @param deadline The timestamp after which the signature is no longer valid.\n /// @param v Must produce valid secp256k1 signature from the owner along with r and s.\n /// @param r Must produce valid secp256k1 signature from the owner along with v and s.\n /// @param s Must produce valid secp256k1 signature from the owner along with r and v.\n function permit2(\n ERC20 token,\n address owner,\n address spender,\n uint256 amount,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal {\n // Generate calldata for a call to DOMAIN_SEPARATOR on the token.\n bytes memory inputData = abi.encodeWithSelector(ERC20.DOMAIN_SEPARATOR.selector);\n\n bool success; // Call the token contract as normal, capturing whether it succeeded.\n bytes32 domainSeparator; // If the call succeeded, we'll capture the return value here.\n\n assembly {\n // If the token is WETH9, we know it doesn't have a DOMAIN_SEPARATOR, and we'll skip this step.\n // We make sure to mask the token address as its higher order bits aren't guaranteed to be clean.\n if iszero(eq(and(token, 0xffffffffffffffffffffffffffffffffffffffff), WETH9_ADDRESS)) {\n success :=\n and(\n // Should resolve false if its not 32 bytes or its first word is 0.\n and(iszero(iszero(mload(0))), eq(returndatasize(), 32)),\n // We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.\n // Counterintuitively, this call must be positioned second to the and() call in the\n // surrounding and() call or else returndatasize() will be zero during the computation.\n // We send a maximum of 5000 gas to prevent tokens with fallbacks from using a ton of gas.\n // which should be plenty to allow tokens to fetch their DOMAIN_SEPARATOR from storage, etc.\n staticcall(5000, token, add(inputData, 32), mload(inputData), 0, 32)\n )\n\n domainSeparator := mload(0) // Copy the return value into the domainSeparator variable.\n }\n }\n\n // If the call to DOMAIN_SEPARATOR succeeded, try using permit on the token.\n if (success) {\n // We'll use DAI's special permit if it's DOMAIN_SEPARATOR matches,\n // otherwise we'll just encode a call to the standard permit function.\n inputData = domainSeparator == DAI_DOMAIN_SEPARATOR\n ? abi.encodeCall(IDAIPermit.permit, (owner, spender, token.nonces(owner), deadline, true, v, r, s))\n : abi.encodeCall(ERC20.permit, (owner, spender, amount, deadline, v, r, s));\n\n assembly {\n success := call(gas(), token, 0, add(inputData, 32), mload(inputData), 0, 0)\n }\n }\n\n if (!success) {\n // If the initial DOMAIN_SEPARATOR call on the token failed or a\n // subsequent call to permit failed, fall back to using Permit2.\n\n (,, uint48 nonce) = PERMIT2.allowance(owner, address(token), spender);\n\n PERMIT2.permit(\n owner,\n IAllowanceTransfer.PermitSingle({\n details: IAllowanceTransfer.PermitDetails({\n token: address(token),\n amount: amount.toUint160(),\n // Use an unlimited expiration because it most\n // closely mimics how a standard approval works.\n expiration: type(uint48).max,\n nonce: nonce\n }),\n spender: spender,\n sigDeadline: deadline\n }),\n bytes.concat(r, s, bytes1(v))\n );\n }\n }\n}\n" + }, + "lib/permit2/src/libraries/PermitHash.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\nimport {IAllowanceTransfer} from \"../interfaces/IAllowanceTransfer.sol\";\nimport {ISignatureTransfer} from \"../interfaces/ISignatureTransfer.sol\";\n\nlibrary PermitHash {\n bytes32 public constant _PERMIT_DETAILS_TYPEHASH =\n keccak256(\"PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\");\n\n bytes32 public constant _PERMIT_SINGLE_TYPEHASH = keccak256(\n \"PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"\n );\n\n bytes32 public constant _PERMIT_BATCH_TYPEHASH = keccak256(\n \"PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"\n );\n\n bytes32 public constant _TOKEN_PERMISSIONS_TYPEHASH = keccak256(\"TokenPermissions(address token,uint256 amount)\");\n\n bytes32 public constant _PERMIT_TRANSFER_FROM_TYPEHASH = keccak256(\n \"PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"\n );\n\n bytes32 public constant _PERMIT_BATCH_TRANSFER_FROM_TYPEHASH = keccak256(\n \"PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"\n );\n\n string public constant _TOKEN_PERMISSIONS_TYPESTRING = \"TokenPermissions(address token,uint256 amount)\";\n\n string public constant _PERMIT_TRANSFER_FROM_WITNESS_TYPEHASH_STUB =\n \"PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,\";\n\n string public constant _PERMIT_BATCH_WITNESS_TRANSFER_FROM_TYPEHASH_STUB =\n \"PermitBatchWitnessTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline,\";\n\n function hash(IAllowanceTransfer.PermitSingle memory permitSingle) internal pure returns (bytes32) {\n bytes32 permitHash = _hashPermitDetails(permitSingle.details);\n return\n keccak256(abi.encode(_PERMIT_SINGLE_TYPEHASH, permitHash, permitSingle.spender, permitSingle.sigDeadline));\n }\n\n function hash(IAllowanceTransfer.PermitBatch memory permitBatch) internal pure returns (bytes32) {\n uint256 numPermits = permitBatch.details.length;\n bytes32[] memory permitHashes = new bytes32[](numPermits);\n for (uint256 i = 0; i < numPermits; ++i) {\n permitHashes[i] = _hashPermitDetails(permitBatch.details[i]);\n }\n return keccak256(\n abi.encode(\n _PERMIT_BATCH_TYPEHASH,\n keccak256(abi.encodePacked(permitHashes)),\n permitBatch.spender,\n permitBatch.sigDeadline\n )\n );\n }\n\n function hash(ISignatureTransfer.PermitTransferFrom memory permit) internal view returns (bytes32) {\n bytes32 tokenPermissionsHash = _hashTokenPermissions(permit.permitted);\n return keccak256(\n abi.encode(_PERMIT_TRANSFER_FROM_TYPEHASH, tokenPermissionsHash, msg.sender, permit.nonce, permit.deadline)\n );\n }\n\n function hash(ISignatureTransfer.PermitBatchTransferFrom memory permit) internal view returns (bytes32) {\n uint256 numPermitted = permit.permitted.length;\n bytes32[] memory tokenPermissionHashes = new bytes32[](numPermitted);\n\n for (uint256 i = 0; i < numPermitted; ++i) {\n tokenPermissionHashes[i] = _hashTokenPermissions(permit.permitted[i]);\n }\n\n return keccak256(\n abi.encode(\n _PERMIT_BATCH_TRANSFER_FROM_TYPEHASH,\n keccak256(abi.encodePacked(tokenPermissionHashes)),\n msg.sender,\n permit.nonce,\n permit.deadline\n )\n );\n }\n\n function hashWithWitness(\n ISignatureTransfer.PermitTransferFrom memory permit,\n bytes32 witness,\n string calldata witnessTypeString\n ) internal view returns (bytes32) {\n bytes32 typeHash = keccak256(abi.encodePacked(_PERMIT_TRANSFER_FROM_WITNESS_TYPEHASH_STUB, witnessTypeString));\n\n bytes32 tokenPermissionsHash = _hashTokenPermissions(permit.permitted);\n return keccak256(abi.encode(typeHash, tokenPermissionsHash, msg.sender, permit.nonce, permit.deadline, witness));\n }\n\n function hashWithWitness(\n ISignatureTransfer.PermitBatchTransferFrom memory permit,\n bytes32 witness,\n string calldata witnessTypeString\n ) internal view returns (bytes32) {\n bytes32 typeHash =\n keccak256(abi.encodePacked(_PERMIT_BATCH_WITNESS_TRANSFER_FROM_TYPEHASH_STUB, witnessTypeString));\n\n uint256 numPermitted = permit.permitted.length;\n bytes32[] memory tokenPermissionHashes = new bytes32[](numPermitted);\n\n for (uint256 i = 0; i < numPermitted; ++i) {\n tokenPermissionHashes[i] = _hashTokenPermissions(permit.permitted[i]);\n }\n\n return keccak256(\n abi.encode(\n typeHash,\n keccak256(abi.encodePacked(tokenPermissionHashes)),\n msg.sender,\n permit.nonce,\n permit.deadline,\n witness\n )\n );\n }\n\n function _hashPermitDetails(IAllowanceTransfer.PermitDetails memory details) private pure returns (bytes32) {\n return keccak256(abi.encode(_PERMIT_DETAILS_TYPEHASH, details));\n }\n\n function _hashTokenPermissions(ISignatureTransfer.TokenPermissions memory permitted)\n private\n pure\n returns (bytes32)\n {\n return keccak256(abi.encode(_TOKEN_PERMISSIONS_TYPEHASH, permitted));\n }\n}\n" + }, + "lib/permit2/src/libraries/SafeCast160.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\nlibrary SafeCast160 {\n /// @notice Thrown when a valude greater than type(uint160).max is cast to uint160\n error UnsafeCast();\n\n /// @notice Safely casts uint256 to uint160\n /// @param value The uint256 to be cast\n function toUint160(uint256 value) internal pure returns (uint160) {\n if (value > type(uint160).max) revert UnsafeCast();\n return uint160(value);\n }\n}\n" + }, + "lib/permit2/src/libraries/SignatureVerification.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\nimport {IERC1271} from \"../interfaces/IERC1271.sol\";\n\nlibrary SignatureVerification {\n /// @notice Thrown when the passed in signature is not a valid length\n error InvalidSignatureLength();\n\n /// @notice Thrown when the recovered signer is equal to the zero address\n error InvalidSignature();\n\n /// @notice Thrown when the recovered signer does not equal the claimedSigner\n error InvalidSigner();\n\n /// @notice Thrown when the recovered contract signature is incorrect\n error InvalidContractSignature();\n\n bytes32 constant UPPER_BIT_MASK = (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);\n\n function verify(bytes calldata signature, bytes32 hash, address claimedSigner) internal view {\n bytes32 r;\n bytes32 s;\n uint8 v;\n\n if (claimedSigner.code.length == 0) {\n if (signature.length == 65) {\n (r, s) = abi.decode(signature, (bytes32, bytes32));\n v = uint8(signature[64]);\n } else if (signature.length == 64) {\n // EIP-2098\n bytes32 vs;\n (r, vs) = abi.decode(signature, (bytes32, bytes32));\n s = vs & UPPER_BIT_MASK;\n v = uint8(uint256(vs >> 255)) + 27;\n } else {\n revert InvalidSignatureLength();\n }\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) revert InvalidSignature();\n if (signer != claimedSigner) revert InvalidSigner();\n } else {\n bytes4 magicValue = IERC1271(claimedSigner).isValidSignature(hash, signature);\n if (magicValue != IERC1271.isValidSignature.selector) revert InvalidContractSignature();\n }\n }\n}\n" + }, + "lib/solmate/src/test/utils/mocks/MockERC20.sol": { + "content": "// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\nimport {ERC20} from \"../../../tokens/ERC20.sol\";\n\ncontract MockERC20 is ERC20 {\n constructor(\n string memory _name,\n string memory _symbol,\n uint8 _decimals\n ) ERC20(_name, _symbol, _decimals) {}\n\n function mint(address to, uint256 value) public virtual {\n _mint(to, value);\n }\n\n function burn(address from, uint256 value) public virtual {\n _burn(from, value);\n }\n}\n" + }, + "lib/solmate/src/tokens/ERC20.sol": { + "content": "// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\n/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.\n/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)\n/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\n/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.\nabstract contract ERC20 {\n /*//////////////////////////////////////////////////////////////\n EVENTS\n //////////////////////////////////////////////////////////////*/\n\n event Transfer(address indexed from, address indexed to, uint256 amount);\n\n event Approval(address indexed owner, address indexed spender, uint256 amount);\n\n /*//////////////////////////////////////////////////////////////\n METADATA STORAGE\n //////////////////////////////////////////////////////////////*/\n\n string public name;\n\n string public symbol;\n\n uint8 public immutable decimals;\n\n /*//////////////////////////////////////////////////////////////\n ERC20 STORAGE\n //////////////////////////////////////////////////////////////*/\n\n uint256 public totalSupply;\n\n mapping(address => uint256) public balanceOf;\n\n mapping(address => mapping(address => uint256)) public allowance;\n\n /*//////////////////////////////////////////////////////////////\n EIP-2612 STORAGE\n //////////////////////////////////////////////////////////////*/\n\n uint256 internal immutable INITIAL_CHAIN_ID;\n\n bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;\n\n mapping(address => uint256) public nonces;\n\n /*//////////////////////////////////////////////////////////////\n CONSTRUCTOR\n //////////////////////////////////////////////////////////////*/\n\n constructor(\n string memory _name,\n string memory _symbol,\n uint8 _decimals\n ) {\n name = _name;\n symbol = _symbol;\n decimals = _decimals;\n\n INITIAL_CHAIN_ID = block.chainid;\n INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();\n }\n\n /*//////////////////////////////////////////////////////////////\n ERC20 LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function approve(address spender, uint256 amount) public virtual returns (bool) {\n allowance[msg.sender][spender] = amount;\n\n emit Approval(msg.sender, spender, amount);\n\n return true;\n }\n\n function transfer(address to, uint256 amount) public virtual returns (bool) {\n balanceOf[msg.sender] -= amount;\n\n // Cannot overflow because the sum of all user\n // balances can't exceed the max uint256 value.\n unchecked {\n balanceOf[to] += amount;\n }\n\n emit Transfer(msg.sender, to, amount);\n\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public virtual returns (bool) {\n uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.\n\n if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;\n\n balanceOf[from] -= amount;\n\n // Cannot overflow because the sum of all user\n // balances can't exceed the max uint256 value.\n unchecked {\n balanceOf[to] += amount;\n }\n\n emit Transfer(from, to, amount);\n\n return true;\n }\n\n /*//////////////////////////////////////////////////////////////\n EIP-2612 LOGIC\n //////////////////////////////////////////////////////////////*/\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 {\n require(deadline >= block.timestamp, \"PERMIT_DEADLINE_EXPIRED\");\n\n // Unchecked because the only math done is incrementing\n // the owner's nonce which cannot realistically overflow.\n unchecked {\n address recoveredAddress = ecrecover(\n keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\n \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"\n ),\n owner,\n spender,\n value,\n nonces[owner]++,\n deadline\n )\n )\n )\n ),\n v,\n r,\n s\n );\n\n require(recoveredAddress != address(0) && recoveredAddress == owner, \"INVALID_SIGNER\");\n\n allowance[recoveredAddress][spender] = value;\n }\n\n emit Approval(owner, spender, value);\n }\n\n function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {\n return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();\n }\n\n function computeDomainSeparator() internal view virtual returns (bytes32) {\n return\n keccak256(\n abi.encode(\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n keccak256(bytes(name)),\n keccak256(\"1\"),\n block.chainid,\n address(this)\n )\n );\n }\n\n /*//////////////////////////////////////////////////////////////\n INTERNAL MINT/BURN LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function _mint(address to, uint256 amount) internal virtual {\n totalSupply += amount;\n\n // Cannot overflow because the sum of all user\n // balances can't exceed the max uint256 value.\n unchecked {\n balanceOf[to] += amount;\n }\n\n emit Transfer(address(0), to, amount);\n }\n\n function _burn(address from, uint256 amount) internal virtual {\n balanceOf[from] -= amount;\n\n // Cannot underflow because a user's balance\n // will never be larger than the total supply.\n unchecked {\n totalSupply -= amount;\n }\n\n emit Transfer(from, address(0), amount);\n }\n}\n" + }, + "lib/solmate/src/utils/ReentrancyGuard.sol": { + "content": "// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\n/// @notice Gas optimized reentrancy protection for smart contracts.\n/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/ReentrancyGuard.sol)\n/// @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol)\nabstract contract ReentrancyGuard {\n uint256 private locked = 1;\n\n modifier nonReentrant() virtual {\n require(locked == 1, \"REENTRANCY\");\n\n locked = 2;\n\n _;\n\n locked = 1;\n }\n}\n" + }, + "lib/solmate/src/utils/SafeTransferLib.sol": { + "content": "// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\nimport {ERC20} from \"../tokens/ERC20.sol\";\n\n/// @notice Safe ETH and ERC20 transfer library that gracefully handles missing return values.\n/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)\n/// @dev Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer.\n/// @dev Note that none of the functions in this library check that a token has code at all! That responsibility is delegated to the caller.\nlibrary SafeTransferLib {\n /*//////////////////////////////////////////////////////////////\n ETH OPERATIONS\n //////////////////////////////////////////////////////////////*/\n\n function safeTransferETH(address to, uint256 amount) internal {\n bool success;\n\n /// @solidity memory-safe-assembly\n assembly {\n // Transfer the ETH and store if it succeeded or not.\n success := call(gas(), to, amount, 0, 0, 0, 0)\n }\n\n require(success, \"ETH_TRANSFER_FAILED\");\n }\n\n /*//////////////////////////////////////////////////////////////\n ERC20 OPERATIONS\n //////////////////////////////////////////////////////////////*/\n\n function safeTransferFrom(\n ERC20 token,\n address from,\n address to,\n uint256 amount\n ) internal {\n bool success;\n\n /// @solidity memory-safe-assembly\n assembly {\n // Get a pointer to some free memory.\n let freeMemoryPointer := mload(0x40)\n\n // Write the abi-encoded calldata into memory, beginning with the function selector.\n mstore(freeMemoryPointer, 0x23b872dd00000000000000000000000000000000000000000000000000000000)\n mstore(add(freeMemoryPointer, 4), from) // Append the \"from\" argument.\n mstore(add(freeMemoryPointer, 36), to) // Append the \"to\" argument.\n mstore(add(freeMemoryPointer, 68), amount) // Append the \"amount\" argument.\n\n success := and(\n // Set success to whether the call reverted, if not we check it either\n // returned exactly 1 (can't just be non-zero data), or had no return data.\n or(and(eq(mload(0), 1), gt(returndatasize(), 31)), iszero(returndatasize())),\n // We use 100 because the length of our calldata totals up like so: 4 + 32 * 3.\n // We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.\n // Counterintuitively, this call must be positioned second to the or() call in the\n // surrounding and() call or else returndatasize() will be zero during the computation.\n call(gas(), token, 0, freeMemoryPointer, 100, 0, 32)\n )\n }\n\n require(success, \"TRANSFER_FROM_FAILED\");\n }\n\n function safeTransfer(\n ERC20 token,\n address to,\n uint256 amount\n ) internal {\n bool success;\n\n /// @solidity memory-safe-assembly\n assembly {\n // Get a pointer to some free memory.\n let freeMemoryPointer := mload(0x40)\n\n // Write the abi-encoded calldata into memory, beginning with the function selector.\n mstore(freeMemoryPointer, 0xa9059cbb00000000000000000000000000000000000000000000000000000000)\n mstore(add(freeMemoryPointer, 4), to) // Append the \"to\" argument.\n mstore(add(freeMemoryPointer, 36), amount) // Append the \"amount\" argument.\n\n success := and(\n // Set success to whether the call reverted, if not we check it either\n // returned exactly 1 (can't just be non-zero data), or had no return data.\n or(and(eq(mload(0), 1), gt(returndatasize(), 31)), iszero(returndatasize())),\n // We use 68 because the length of our calldata totals up like so: 4 + 32 * 2.\n // We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.\n // Counterintuitively, this call must be positioned second to the or() call in the\n // surrounding and() call or else returndatasize() will be zero during the computation.\n call(gas(), token, 0, freeMemoryPointer, 68, 0, 32)\n )\n }\n\n require(success, \"TRANSFER_FAILED\");\n }\n\n function safeApprove(\n ERC20 token,\n address to,\n uint256 amount\n ) internal {\n bool success;\n\n /// @solidity memory-safe-assembly\n assembly {\n // Get a pointer to some free memory.\n let freeMemoryPointer := mload(0x40)\n\n // Write the abi-encoded calldata into memory, beginning with the function selector.\n mstore(freeMemoryPointer, 0x095ea7b300000000000000000000000000000000000000000000000000000000)\n mstore(add(freeMemoryPointer, 4), to) // Append the \"to\" argument.\n mstore(add(freeMemoryPointer, 36), amount) // Append the \"amount\" argument.\n\n success := and(\n // Set success to whether the call reverted, if not we check it either\n // returned exactly 1 (can't just be non-zero data), or had no return data.\n or(and(eq(mload(0), 1), gt(returndatasize(), 31)), iszero(returndatasize())),\n // We use 68 because the length of our calldata totals up like so: 4 + 32 * 2.\n // We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.\n // Counterintuitively, this call must be positioned second to the or() call in the\n // surrounding and() call or else returndatasize() will be zero during the computation.\n call(gas(), token, 0, freeMemoryPointer, 68, 0, 32)\n )\n }\n\n require(success, \"APPROVE_FAILED\");\n }\n}\n" + }, + "script/DeploymentUtils.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.15;\n\nimport { Script, console } from \"forge-std/Script.sol\";\n\nstruct ContractData {\n string key;\n address addr;\n}\n\ncontract DeploymentUtils is Script {\n ContractData[] registeredContracts;\n mapping(string => address) registeredContractsAddress;\n\n mapping(string => bool) __madeDir;\n\n function deploymentsPath(string memory path) internal pure virtual returns (string memory) {\n return string.concat(\"deployments/\", path);\n }\n\n function registerContract(string memory key, address addr) internal virtual {\n registeredContracts.push(ContractData(key, addr));\n registeredContractsAddress[key] = addr;\n }\n\n function mkdir(string memory path) internal virtual {\n if (__madeDir[path]) return;\n\n string[] memory script = new string[](3);\n script[0] = \"mkdir\";\n script[1] = \"-p\";\n script[2] = path;\n\n vm.ffi(script);\n\n __madeDir[path] = true;\n }\n\n function generateRegisteredContractsJson() internal virtual returns (string memory json) {\n if (registeredContracts.length == 0) return \"\";\n\n json = string.concat(\"{\\n\");\n\n for (uint256 i; i < registeredContracts.length; i++) {\n json = string.concat(\n json,\n ' \"',\n registeredContracts[i].key,\n '\": \"',\n vm.toString(registeredContracts[i].addr),\n i + 1 == registeredContracts.length ? '\"\\n' : '\",\\n'\n );\n }\n\n json = string.concat(json, \"}\");\n }\n\n function logDeployments() internal view virtual {\n for (uint256 i; i < registeredContracts.length; i++) {\n console.log(\"%s=%s\", registeredContracts[i].key, registeredContracts[i].addr);\n }\n }\n\n function loadEnvUint(\n uint256 defaultValue,\n string memory varName\n ) internal virtual returns (uint256 value) {\n value = defaultValue;\n\n try vm.envUint(varName) returns (uint256 envValue) {\n value = envValue;\n } catch {}\n }\n\n function loadEnvAddress(\n address defaultValue,\n string memory varName\n ) internal virtual returns (address value) {\n value = defaultValue;\n\n try vm.envAddress(varName) returns (address envValue) {\n value = envValue;\n } catch {}\n }\n}\n" + }, + "script/deploy.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.15;\n\nimport { Script, console } from \"forge-std/Script.sol\";\n\nimport { MockERC20, ERC20 } from \"solmate/src/test/utils/mocks/MockERC20.sol\";\nimport { Permit2 } from \"permit2/src/Permit2.sol\";\n\nimport { DeploymentUtils } from \"script/DeploymentUtils.sol\";\n\nimport { DepositConfig } from \"src/utils/interfaces/Deposits.sol\";\nimport { Arbitrator } from \"src/Arbitrator.sol\";\nimport { CollateralAgreementFramework } from \"src/frameworks/CollateralAgreement.sol\";\n\ncontract DeployStack is Script, DeploymentUtils {\n /// Environment variables\n address constant PERMIT2 = 0x000000000022D473030F116dDEE9F6B43aC78BA3;\n bytes32 constant SALT = bytes32(uint256(0x314));\n\n address ARBITRATOR;\n address ARBITRATION_TOKEN;\n uint256 DISPUTE_COST = 0;\n uint256 APPEAL_COST = 0;\n uint256 RESOLUTION_LOCK_PERIOD = 4 hours + 20 minutes;\n\n function setUpArbitrator() internal {\n if (ARBITRATOR == address(0)) {\n address arbitrationToken = registeredContractsAddress[\"ArbitrationToken\"];\n\n Arbitrator arbitrator = new Arbitrator{ salt: SALT }(Permit2(PERMIT2), tx.origin);\n arbitrator.setUp(\n RESOLUTION_LOCK_PERIOD,\n true,\n DepositConfig(arbitrationToken, APPEAL_COST, tx.origin)\n );\n\n registerContract(\"Arbitrator\", address(arbitrator));\n } else {\n registerContract(\"Arbitrator\", ARBITRATOR);\n }\n }\n\n function setUpFramework() internal {\n address arbitrationToken = registeredContractsAddress[\"ArbitrationToken\"];\n address arbitrator = registeredContractsAddress[\"Arbitrator\"];\n\n CollateralAgreementFramework framework = new CollateralAgreementFramework{ salt: SALT }(\n Permit2(PERMIT2),\n tx.origin\n );\n framework.setUp(arbitrator, DepositConfig(arbitrationToken, DISPUTE_COST, tx.origin));\n\n registerContract(\"CollateralAgreementFramework\", address(framework));\n }\n\n function loadEnvVars() internal {\n ARBITRATOR = loadEnvAddress(ARBITRATOR, \"ARBITRATOR\");\n ARBITRATION_TOKEN = loadEnvAddress(ARBITRATION_TOKEN, \"ARBITRATION_TOKEN\");\n DISPUTE_COST = loadEnvUint(DISPUTE_COST, \"DISPUTE_COST\");\n APPEAL_COST = loadEnvUint(APPEAL_COST, \"APPEAL_COST\");\n RESOLUTION_LOCK_PERIOD = loadEnvUint(RESOLUTION_LOCK_PERIOD, \"RESOLUTION_LOCK_PERIOD\");\n }\n\n function storeDeploymentManifest() internal {\n string memory manifest = generateRegisteredContractsJson();\n\n mkdir(deploymentsPath(\"\"));\n\n vm.writeFile(deploymentsPath(\"latest.json\"), manifest);\n\n console.log(\"Stored deployment manifest at %s.\", deploymentsPath(\"latest.json\"));\n }\n\n function setupTokens() internal {\n address arbitrationToken;\n if (ARBITRATION_TOKEN == address(0)) {\n MockERC20 newToken = new MockERC20(\"Court Token\", \"CT\", 18);\n newToken.mint(tx.origin, 314 * 1e18);\n arbitrationToken = address(newToken);\n } else {\n arbitrationToken = ARBITRATION_TOKEN;\n }\n\n registerContract(\"ArbitrationToken\", arbitrationToken);\n }\n\n function setUpContracts() internal {\n setupTokens();\n setUpArbitrator();\n setUpFramework();\n }\n\n function run() public {\n loadEnvVars();\n\n vm.startBroadcast();\n\n setUpContracts();\n\n vm.stopBroadcast();\n\n logDeployments();\n\n storeDeploymentManifest();\n }\n}\n" + }, + "src/Arbitrator.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { ISignatureTransfer } from \"permit2/src/interfaces/ISignatureTransfer.sol\";\n\nimport { Permit2 } from \"permit2/src/Permit2.sol\";\n\nimport { PositionParams } from \"src/interfaces/AgreementTypes.sol\";\nimport { ResolutionStatus, Resolution } from \"src/interfaces/ArbitrationTypes.sol\";\nimport \"src/interfaces/ArbitrationErrors.sol\";\nimport { IArbitrable } from \"src/interfaces/IArbitrable.sol\";\nimport { IArbitrator } from \"src/interfaces/IArbitrator.sol\";\n\nimport { DepositConfig } from \"src/utils/interfaces/Deposits.sol\";\nimport { Controlled } from \"src/utils/Controlled.sol\";\nimport { Toggleable } from \"src/utils/Toggleable.sol\";\n\n/// @notice Contract with the power to arbitrate Nation3 arbitrable contracts.\n/// The DAO owns this contract and set a controller to operate it.\n/// The owner sets the working parameters.\n/// The owner can disable submissions and executions at any time.\n/// The owner can replace the controller at any time.\n/// The execution of a resolution is locked during a period after submission.\n/// Any of the parties of a settlement can appeal a resolution before is executed.\n/// The owner can override appeals by endorsing resolutions.\n/// Anyone can execute resolutions.\ncontract Arbitrator is IArbitrator, Controlled, Toggleable {\n /// @notice Address of the Permit2 contract deployment.\n Permit2 public immutable permit2;\n\n /// @notice Appeals deposits configuration.\n DepositConfig public deposits;\n\n /// @notice Time (in seconds) between when a resolution is submitted and it's executable.\n uint256 public lockPeriod;\n\n /// @dev Resolution data by resolution id.\n mapping(bytes32 => Resolution) internal resolution;\n\n /// @notice Retrieve resolution details.\n /// @param id Id of the resolution to return data from.\n /// @return details Data struct of the resolution.\n function resolutionDetails(bytes32 id) external view returns (Resolution memory details) {\n return resolution[id];\n }\n\n constructor(Permit2 permit2_, address owner) Controlled(owner, owner) {\n permit2 = permit2_;\n }\n\n /// @notice Setup arbitrator variables.\n /// @param lockPeriod_ Duration of the resolution lock period.\n /// @param enabled_ Status of the arbitrator.\n /// @param deposits_ Configuration of the appeal's deposits in DepositConfig format.\n function setUp(\n uint256 lockPeriod_,\n bool enabled_,\n DepositConfig calldata deposits_\n ) external onlyOwner {\n lockPeriod = lockPeriod_;\n enabled = enabled_;\n deposits = deposits_;\n }\n\n /// @inheritdoc IArbitrator\n /// @dev Only controller is able to submit resolutions.\n function submitResolution(\n IArbitrable framework,\n bytes32 dispute,\n string calldata metadataURI,\n PositionParams[] calldata settlement\n ) public isEnabled onlyController returns (bytes32 id) {\n id = keccak256(abi.encodePacked(framework, dispute));\n Resolution storage resolution_ = resolution[id];\n\n if (resolution_.status == ResolutionStatus.Executed) {\n revert ResolutionIsExecuted();\n }\n\n bytes32 settlementEncoding = keccak256(abi.encode(settlement));\n resolution_.status = ResolutionStatus.Submitted;\n resolution_.settlement = settlementEncoding;\n resolution_.metadataURI = metadataURI;\n resolution_.unlockTime = block.timestamp + lockPeriod;\n\n emit ResolutionSubmitted(address(framework), dispute, id, settlementEncoding);\n }\n\n /// @inheritdoc IArbitrator\n function executeResolution(\n IArbitrable framework,\n bytes32 dispute,\n PositionParams[] calldata settlement\n ) public isEnabled {\n bytes32 id = keccak256(abi.encodePacked(framework, dispute));\n Resolution storage resolution_ = resolution[id];\n\n if (resolution_.status == ResolutionStatus.Appealed) {\n revert ResolutionIsAppealed();\n }\n if (resolution_.status == ResolutionStatus.Executed) {\n revert ResolutionIsExecuted();\n }\n if (\n resolution_.status != ResolutionStatus.Endorsed &&\n block.timestamp < resolution_.unlockTime\n ) {\n revert ResolutionIsLocked();\n }\n bytes32 settlementEncoding = keccak256(abi.encode(settlement));\n if (resolution_.settlement != settlementEncoding) {\n revert SettlementPositionsMustMatch();\n }\n\n resolution_.status = ResolutionStatus.Executed;\n\n framework.settleDispute(dispute, settlement);\n\n emit ResolutionExecuted(id, settlementEncoding);\n }\n\n /// @inheritdoc IArbitrator\n function appealResolution(\n bytes32 id,\n PositionParams[] calldata settlement,\n ISignatureTransfer.PermitTransferFrom memory permit,\n bytes calldata signature\n ) external {\n Resolution storage resolution_ = resolution[id];\n\n if (resolution_.status == ResolutionStatus.Idle) {\n revert NonExistentResolution();\n }\n if (resolution_.status == ResolutionStatus.Executed) {\n revert ResolutionIsExecuted();\n }\n if (resolution_.status == ResolutionStatus.Endorsed) {\n revert ResolutionIsEndorsed();\n }\n\n DepositConfig memory deposit = deposits;\n if (permit.permitted.token != deposit.token) revert InvalidPermit();\n bytes32 settlementEncoding = keccak256(abi.encode(settlement));\n if (resolution_.settlement != settlementEncoding) {\n revert SettlementPositionsMustMatch();\n }\n if (!_isParty(msg.sender, settlement)) revert NoPartOfSettlement();\n\n resolution_.status = ResolutionStatus.Appealed;\n\n ISignatureTransfer.SignatureTransferDetails memory transferDetails = ISignatureTransfer\n .SignatureTransferDetails(deposit.recipient, deposit.amount);\n permit2.permitTransferFrom(permit, transferDetails, msg.sender, signature);\n\n emit ResolutionAppealed(id, settlementEncoding, msg.sender);\n }\n\n /// @inheritdoc IArbitrator\n function endorseResolution(bytes32 id, bytes32 settlement) external onlyOwner {\n Resolution storage resolution_ = resolution[id];\n\n if (resolution_.status == ResolutionStatus.Idle) {\n revert NonExistentResolution();\n }\n if (resolution_.status == ResolutionStatus.Executed) {\n revert ResolutionIsExecuted();\n }\n if (resolution_.settlement != settlement) {\n revert SettlementPositionsMustMatch();\n }\n\n resolution_.status = ResolutionStatus.Endorsed;\n\n emit ResolutionEndorsed(id, settlement);\n }\n\n /* ====================================================================== */\n /* INTERNAL UTILS\n /* ====================================================================== */\n\n /// @dev Check if an account is part of a settlement.\n /// @param account Address to check.\n /// @param settlement Array of positions.\n function _isParty(\n address account,\n PositionParams[] calldata settlement\n ) internal pure returns (bool found) {\n for (uint256 i = 0; !found && i < settlement.length; i++) {\n if (settlement[i].party == account) found = true;\n }\n }\n}\n" + }, + "src/frameworks/AgreementFramework.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { IArbitrable } from \"src/interfaces/IArbitrable.sol\";\nimport { IAgreementFramework } from \"src/interfaces/IAgreementFramework.sol\";\nimport { Owned } from \"src/utils/Owned.sol\";\n\nabstract contract AgreementFramework is IAgreementFramework, Owned {\n /// @inheritdoc IArbitrable\n address public arbitrator;\n\n /// @notice Raised when the arbitration power is transferred.\n /// @param newArbitrator Address of the new arbitrator.\n event ArbitrationTransferred(address indexed newArbitrator);\n\n /// @notice Transfer the arbitration power of the agreement.\n /// @param newArbitrator Address of the new arbitrator.\n function transferArbitration(address newArbitrator) public virtual onlyOwner {\n arbitrator = newArbitrator;\n\n emit ArbitrationTransferred(newArbitrator);\n }\n}\n" + }, + "src/frameworks/CollateralAgreement.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { IAllowanceTransfer } from \"permit2/src/interfaces/IAllowanceTransfer.sol\";\nimport { ISignatureTransfer } from \"permit2/src/interfaces/ISignatureTransfer.sol\";\n\nimport { Permit2 } from \"permit2/src/Permit2.sol\";\nimport { Permit2Lib } from \"permit2/src/libraries/Permit2Lib.sol\";\nimport { ERC20 } from \"solmate/src/tokens/ERC20.sol\";\nimport { ReentrancyGuard } from \"solmate/src/utils/ReentrancyGuard.sol\";\nimport { SafeTransferLib } from \"solmate/src/utils/SafeTransferLib.sol\";\n\nimport {\n AgreementData,\n AgreementParams,\n AgreementStatus,\n PositionData,\n PositionParams,\n PositionStatus\n} from \"src/interfaces/AgreementTypes.sol\";\nimport \"src/interfaces/AgreementErrors.sol\";\nimport {\n SettlementPositionsMustMatch,\n SettlementBalanceMustMatch\n} from \"src/interfaces/ArbitrationErrors.sol\";\nimport { IAgreementFramework } from \"src/interfaces/IAgreementFramework.sol\";\nimport { IArbitrable, OnlyArbitrator } from \"src/interfaces/IArbitrable.sol\";\n\nimport { AgreementFramework } from \"src/frameworks/AgreementFramework.sol\";\nimport { CriteriaResolver, CriteriaResolution } from \"src/libraries/CriteriaResolution.sol\";\nimport { DepositConfig } from \"src/utils/interfaces/Deposits.sol\";\nimport { Owned } from \"src/utils/Owned.sol\";\n\n/// @notice Data structure for positions in the agreement.\nstruct Position {\n /// @dev Address of the owner of the position.\n address party;\n /// @dev Amount of agreement tokens in the position.\n uint256 balance;\n /// @dev Amount of tokens deposited for dispute costs.\n uint256 deposit;\n /// @dev Status of the position.\n PositionStatus status;\n}\n\n/// @dev Data estructure for collateral agreements.\nstruct Agreement {\n /// @dev Hash of the detailed terms of the agreement.\n bytes32 termsHash;\n /// @dev Required amount to join or merkle root of (address,amount).\n uint256 criteria;\n /// @dev URI of the metadata of the agreement.\n string metadataURI;\n /// @dev ERC20 token to use as collateral.\n address token;\n /// @dev Total amount of collateral tokens deposited in the agreement.\n uint256 balance;\n /// @dev Number of finalizations.\n uint256 finalizations;\n /// @dev Signal if agreement is disputed.\n bool disputed;\n /// @dev List of parties involved in the agreement.\n address[] party;\n /// @dev Position by party.\n mapping(address => Position) position;\n}\n\ncontract CollateralAgreementFramework is AgreementFramework, ReentrancyGuard {\n using SafeTransferLib for ERC20;\n using Permit2Lib for ERC20;\n\n /// @notice Address of the Permit2 contract deployment.\n Permit2 public immutable permit2;\n\n /// @notice Dispute deposits configuration.\n DepositConfig public deposits;\n\n /// @dev Agreements by id\n mapping(bytes32 => Agreement) internal agreement;\n\n /* ====================================================================== */\n /* VIEWS\n /* ====================================================================== */\n\n /// @notice Retrieve basic data of an agreement.\n /// @param id Id of the agreement to return data from.\n /// @return data Data struct of the agreement.\n function agreementData(bytes32 id) external view returns (AgreementData memory data) {\n Agreement storage agreement_ = agreement[id];\n\n data = AgreementData(\n agreement_.termsHash,\n agreement_.criteria,\n agreement_.metadataURI,\n agreement_.token,\n agreement_.balance,\n _agreementStatus(agreement_)\n );\n }\n\n /// @notice Retrieve positions of an agreement.\n /// @param id Id of the agreement to return data from.\n /// @return Array of the positions of the agreement in PositionData structs.\n function agreementPositions(bytes32 id) external view returns (PositionData[] memory) {\n Agreement storage agreement_ = agreement[id];\n uint256 partyLength = agreement_.party.length;\n PositionData[] memory positions = new PositionData[](partyLength);\n\n for (uint256 i = 0; i < partyLength; i++) {\n address party = agreement_.party[i];\n Position memory position = agreement_.position[party];\n positions[i] = PositionData(\n position.party,\n position.balance,\n position.deposit,\n position.status\n );\n }\n\n return positions;\n }\n\n /* ====================================================================== */\n /* SETUP\n /* ====================================================================== */\n\n constructor(Permit2 permit2_, address owner) Owned(owner) {\n permit2 = permit2_;\n }\n\n /// @notice Set up framework params;\n /// @param arbitrator_ Address allowed to settle disputes.\n /// @param deposits_ Configuration of the framework's deposits in DepositConfig format.\n function setUp(address arbitrator_, DepositConfig calldata deposits_) external onlyOwner {\n deposits = deposits_;\n arbitrator = arbitrator_;\n\n emit ArbitrationTransferred(arbitrator_);\n }\n\n /* ====================================================================== */\n /* USER LOGIC\n /* ====================================================================== */\n\n /// @notice Create a new collateral agreement with given params.\n /// @param params Struct of agreement params.\n /// @param salt Extra bytes to avoid collisions between agreements with the same terms hash in the framework.\n /// @return id Id of the agreement created, generated from encoding hash of the address of the framework, hash of the terms and a provided salt.\n function createAgreement(\n AgreementParams calldata params,\n bytes32 salt\n ) external returns (bytes32 id) {\n if (params.criteria == 0) revert InvalidCriteria();\n\n id = keccak256(abi.encode(address(this), params.termsHash, salt));\n Agreement storage newAgreement = agreement[id];\n\n if (newAgreement.criteria != 0) revert AlreadyExistentAgreement();\n\n newAgreement.termsHash = params.termsHash;\n newAgreement.criteria = params.criteria;\n newAgreement.metadataURI = params.metadataURI;\n newAgreement.token = params.token;\n\n emit AgreementCreated(\n id,\n params.termsHash,\n params.criteria,\n params.metadataURI,\n params.token\n );\n }\n\n /// @inheritdoc IAgreementFramework\n function joinAgreement(\n bytes32 id,\n CriteriaResolver calldata resolver,\n ISignatureTransfer.PermitBatchTransferFrom memory permit,\n bytes calldata signature\n ) external override nonReentrant {\n Agreement storage agreement_ = agreement[id];\n\n _canJoinAgreement(agreement_, resolver, msg.sender);\n\n DepositConfig memory deposit = deposits;\n\n // validate permit tokens & generate transfer details\n if (permit.permitted[0].token != deposit.token) revert InvalidPermit();\n if (permit.permitted[1].token != agreement_.token) revert InvalidPermit();\n ISignatureTransfer.SignatureTransferDetails[] memory transferDetails = _joinTransferDetails(\n resolver.balance,\n deposit.amount\n );\n\n permit2.permitTransferFrom(permit, transferDetails, msg.sender, signature);\n\n _addPosition(agreement_, PositionParams(msg.sender, resolver.balance), deposit.amount);\n\n emit AgreementJoined(id, msg.sender, resolver.balance);\n }\n\n /// @inheritdoc IAgreementFramework\n function joinAgreementApproved(\n bytes32 id,\n CriteriaResolver calldata resolver\n ) external override nonReentrant {\n Agreement storage agreement_ = agreement[id];\n\n _canJoinAgreement(agreement_, resolver, msg.sender);\n\n DepositConfig memory deposit = deposits;\n\n // transfer deposit & collateral tokens\n ERC20(deposit.token).transferFrom2(msg.sender, address(this), deposit.amount);\n ERC20(agreement_.token).transferFrom2(msg.sender, address(this), resolver.balance);\n\n _addPosition(agreement_, PositionParams(msg.sender, resolver.balance), deposit.amount);\n\n emit AgreementJoined(id, msg.sender, resolver.balance);\n }\n\n /// @inheritdoc IAgreementFramework\n /// @notice Only allows to increase the collateral of a joined position.\n function adjustPosition(\n bytes32 id,\n PositionParams calldata newPosition,\n ISignatureTransfer.PermitTransferFrom memory permit,\n bytes calldata signature\n ) external override nonReentrant {\n Agreement storage agreement_ = agreement[id];\n\n _isOngoing(agreement_);\n if (!_isPartOfAgreement(agreement_, newPosition.party)) revert NoPartOfAgreement();\n\n Position memory lastPosition = agreement_.position[newPosition.party];\n if (lastPosition.status == PositionStatus.Finalized) revert PartyAlreadyFinalized();\n if (lastPosition.balance > newPosition.balance) revert InvalidBalance();\n uint256 diff = newPosition.balance - lastPosition.balance;\n\n // validate permit tokens & generate transfer details\n if (permit.permitted.token != agreement_.token) revert InvalidPermit();\n ISignatureTransfer.SignatureTransferDetails memory transferDetails = ISignatureTransfer\n .SignatureTransferDetails(address(this), diff);\n\n permit2.permitTransferFrom(permit, transferDetails, msg.sender, signature);\n\n _updatePosition(agreement_, newPosition, lastPosition.status);\n\n emit AgreementPositionUpdated(\n id,\n newPosition.party,\n newPosition.balance,\n lastPosition.status\n );\n }\n\n /// @inheritdoc IAgreementFramework\n function finalizeAgreement(bytes32 id) external {\n Agreement storage agreement_ = agreement[id];\n\n _isOngoing(agreement_);\n if (!_isPartOfAgreement(agreement_, msg.sender)) revert NoPartOfAgreement();\n if (agreement_.position[msg.sender].status == PositionStatus.Finalized) {\n revert PartyAlreadyFinalized();\n }\n\n agreement_.position[msg.sender].status = PositionStatus.Finalized;\n agreement_.finalizations += 1;\n\n emit AgreementPositionUpdated(\n id,\n msg.sender,\n agreement_.position[msg.sender].balance,\n PositionStatus.Finalized\n );\n\n if (_isFinalized(agreement_)) emit AgreementFinalized(id);\n }\n\n /// @inheritdoc IAgreementFramework\n function disputeAgreement(bytes32 id) external override {\n Agreement storage agreement_ = agreement[id];\n\n _isOngoing(agreement_);\n if (!_isPartOfAgreement(agreement_, msg.sender)) revert NoPartOfAgreement();\n\n DepositConfig memory deposit = deposits;\n Position storage position = agreement_.position[msg.sender];\n uint256 disputeDeposit = position.deposit;\n\n // update agreement & position\n agreement_.disputed = true;\n position.status = PositionStatus.Disputed;\n position.deposit = 0;\n\n SafeTransferLib.safeTransfer(ERC20(deposit.token), deposit.recipient, disputeDeposit);\n\n emit AgreementPositionUpdated(id, msg.sender, position.balance, PositionStatus.Disputed);\n emit AgreementDisputed(id, msg.sender);\n }\n\n /// @inheritdoc IAgreementFramework\n /// @dev Requires the agreement to be finalized.\n function withdrawFromAgreement(bytes32 id) external override nonReentrant {\n Agreement storage agreement_ = agreement[id];\n DepositConfig memory deposit = deposits;\n\n if (!_isFinalized(agreement_)) revert AgreementNotFinalized();\n if (!_isPartOfAgreement(agreement_, msg.sender)) revert NoPartOfAgreement();\n\n Position storage position = agreement_.position[msg.sender];\n uint256 withdrawBalance = position.balance;\n uint256 withdrawDeposit = position.deposit;\n\n // update position\n position.balance = 0;\n position.deposit = 0;\n position.status = PositionStatus.Withdrawn;\n\n SafeTransferLib.safeTransfer(ERC20(agreement_.token), msg.sender, withdrawBalance);\n SafeTransferLib.safeTransfer(ERC20(deposit.token), msg.sender, withdrawDeposit);\n\n emit AgreementPositionUpdated(id, msg.sender, 0, PositionStatus.Withdrawn);\n }\n\n /* ====================================================================== */\n /* Arbitration\n /* ====================================================================== */\n\n /// @inheritdoc IArbitrable\n /// @dev Allows the arbitrator to finalize an agreement in dispute with the provided set of positions.\n /// @dev The provided settlement parties must match the parties of the agreement and the total balance of the settlement must match the previous agreement balance.\n function settleDispute(bytes32 id, PositionParams[] calldata settlement) external override {\n if (msg.sender != arbitrator) revert OnlyArbitrator();\n\n Agreement storage agreement_ = agreement[id];\n if (!agreement_.disputed) revert AgreementNotDisputed();\n if (_isFinalized(agreement_)) revert AgreementIsFinalized();\n\n uint256 positionsLength = settlement.length;\n uint256 newBalance;\n\n if (positionsLength != agreement_.party.length) revert SettlementPositionsMustMatch();\n for (uint256 i = 0; i < positionsLength; i++) {\n // Revert if previous positions parties do not match.\n if (agreement_.party[i] != settlement[i].party) revert SettlementPositionsMustMatch();\n\n _updatePosition(agreement_, settlement[i], PositionStatus.Finalized);\n newBalance += settlement[i].balance;\n\n emit AgreementPositionUpdated(\n id,\n settlement[i].party,\n settlement[i].balance,\n PositionStatus.Finalized\n );\n }\n\n if (newBalance != agreement_.balance) revert SettlementBalanceMustMatch();\n\n // Finalize agreement.\n agreement_.finalizations = positionsLength;\n emit AgreementFinalized(id);\n }\n\n /* ====================================================================== */\n /* INTERNAL LOGIC\n /* ====================================================================== */\n\n /// @dev Retrieve a simplified status of the agreement from its attributes.\n function _agreementStatus(\n Agreement storage agreement_\n ) internal view virtual returns (AgreementStatus) {\n if (agreement_.party.length > 0) {\n if (agreement_.finalizations >= agreement_.party.length) {\n return AgreementStatus.Finalized;\n }\n if (agreement_.disputed) return AgreementStatus.Disputed;\n // else\n return AgreementStatus.Ongoing;\n } else if (agreement_.criteria != 0) {\n return AgreementStatus.Created;\n }\n revert NonExistentAgreement();\n }\n\n /// @dev Check if the party can join the agreement.\n function _canJoinAgreement(\n Agreement storage agreement_,\n CriteriaResolver calldata resolver,\n address party\n ) internal view {\n _isOngoing(agreement_);\n if (_isPartOfAgreement(agreement_, party)) revert PartyAlreadyJoined();\n if (party != resolver.account) revert InvalidCriteria();\n CriteriaResolution.validateCriteria(bytes32(agreement_.criteria), resolver);\n }\n\n /// @dev Check if the agreement provided is ongoing (or created).\n function _isOngoing(Agreement storage agreement_) internal view {\n if (agreement_.criteria == 0) revert NonExistentAgreement();\n if (agreement_.disputed) revert AgreementIsDisputed();\n if (_isFinalized(agreement_)) revert AgreementIsFinalized();\n }\n\n /// @dev Retrieve if an agreement is finalized.\n /// @dev An agreement is finalized when all positions are finalized.\n /// @param agreement_ Agreement to check.\n /// @return A boolean signaling if the agreement is finalized or not.\n function _isFinalized(Agreement storage agreement_) internal view returns (bool) {\n return (agreement_.party.length > 0 && agreement_.finalizations >= agreement_.party.length);\n }\n\n /// @dev Check if an account is part of an agreement.\n /// @param agreement_ Agreement to check.\n /// @param account Account to check.\n /// @return A boolean signaling if the account is part of the agreement or not.\n function _isPartOfAgreement(\n Agreement storage agreement_,\n address account\n ) internal view returns (bool) {\n return ((agreement_.party.length > 0) && (agreement_.position[account].party == account));\n }\n\n /// @dev Fill Permit2 transferDetails array for deposit & collateral transfer.\n /// @param collateral Amount of collateral token.\n /// @param deposit Amount of deposits token.\n function _joinTransferDetails(\n uint256 collateral,\n uint256 deposit\n ) internal view returns (ISignatureTransfer.SignatureTransferDetails[] memory transferDetails) {\n transferDetails = new ISignatureTransfer.SignatureTransferDetails[](2);\n transferDetails[0] = ISignatureTransfer.SignatureTransferDetails(address(this), deposit);\n transferDetails[1] = ISignatureTransfer.SignatureTransferDetails(address(this), collateral);\n }\n\n function _addPosition(\n Agreement storage agreement_,\n PositionParams memory position,\n uint256 deposit\n ) internal {\n // uint256 partyId = agreement_.party.length;\n agreement_.party.push(position.party);\n agreement_.position[position.party] = Position(\n position.party,\n position.balance,\n deposit,\n PositionStatus.Joined\n );\n agreement_.balance += position.balance;\n }\n\n function _updatePosition(\n Agreement storage agreement_,\n PositionParams memory params,\n PositionStatus status\n ) internal {\n Position storage position = agreement_.position[params.party];\n agreement_.position[params.party] = Position(\n params.party,\n params.balance,\n position.deposit,\n status\n );\n }\n}\n" + }, + "src/interfaces/AgreementErrors.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\n/// @notice Thrown when trying to access to an agreement that doesn't exist.\nerror NonExistentAgreement();\n/// @notice Thrown when trying to override an already existing agreement.\nerror AlreadyExistentAgreement();\n/// @notice Thrown when trying to perform an invalid operation on a disputed agreement.\nerror AgreementIsDisputed();\n/// @notice Thrown when trying to perform an invalid operation on a finalized agreement.\nerror AgreementIsFinalized();\n/// @notice Thrown when trying to perform an invalid operation on a non-finalized agreement.\nerror AgreementNotFinalized();\n/// @notice Thrown when trying to perform an invalid operation on a non-disputed agreement.\nerror AgreementNotDisputed();\n\n/// @notice Thrown when a given party is not part of a given agreement.\nerror NoPartOfAgreement();\n/// @notice Thrown when a party is trying to join an agreement after already have joined the agreement.\nerror PartyAlreadyJoined();\n/// @notice Thrown when a party is trying to finalize an agreement after already have finalized the agreement.\nerror PartyAlreadyFinalized();\n/// @notice Thrown when the provided criteria doesn't match the account trying to join.\nerror InvalidCriteria();\n/// @notice Thrown when the provided permit doesn't match the agreement token requirements.\nerror InvalidPermit();\n/// @notice Thrown when trying to use an invalid balance for a position in an agreement.\nerror InvalidBalance();\n" + }, + "src/interfaces/AgreementTypes.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\n/// @dev Posible status for a position in the agreement.\nenum PositionStatus {\n Idle,\n Joined,\n Finalized,\n Withdrawn,\n Disputed\n}\n\n/// @dev Posible status for an agreement.\nenum AgreementStatus {\n Created,\n Ongoing,\n Finalized,\n Disputed\n}\n\n/// @notice Parameters to create new positions.\nstruct PositionParams {\n /// @dev Address of the owner of the position.\n address party;\n /// @dev Amount of agreement tokens in the position.\n uint256 balance;\n}\n\n/// @notice Data of position in the agreement.\nstruct PositionData {\n /// @dev Address of the owner of the position.\n address party;\n /// @dev Amount of agreement tokens in the position.\n uint256 balance;\n /// @dev Amount of tokens deposited for dispute costs.\n uint256 deposit;\n /// @dev Status of the position.\n PositionStatus status;\n}\n\n/// @dev Params to create new agreements.\nstruct AgreementParams {\n /// @dev Hash of the detailed terms of the agreement.\n bytes32 termsHash;\n /// @dev Required amount to join or merkle root of (address,amount).\n uint256 criteria;\n /// @dev URI of the metadata of the agreement.\n string metadataURI;\n /// @dev ERC20 token address to use for the agreement.\n address token;\n}\n\n/// @notice Data of an agreement.\nstruct AgreementData {\n /// @dev Hash of the detailed terms of the agreement.\n bytes32 termsHash;\n /// @dev Required amount to join or merkle root of (address,amount).\n uint256 criteria;\n /// @dev URI of the metadata of the agreement.\n string metadataURI;\n /// @dev ERC20 token address to use for the agreement.\n address token;\n /// @dev Total amount of token hold in the agreement.\n uint256 balance;\n /// @dev Status of the agreement.\n AgreementStatus status;\n}\n" + }, + "src/interfaces/ArbitrationErrors.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\n/// @dev Thrown when trying to access an agreement that doesn't exist.\nerror NonExistentResolution();\n/// @dev Thrown when trying to execute a resolution that is locked.\nerror ResolutionIsLocked();\n/// @dev Thrown when trying to actuate a resolution that is already executed.\nerror ResolutionIsExecuted();\n/// @dev Thrown when trying to actuate a resolution that is appealed.\nerror ResolutionIsAppealed();\n/// @dev Thrown when trying to appeal a resolution that is endorsed.\nerror ResolutionIsEndorsed();\n\n/// @dev Thrown when an account that is not part of a settlement tries to access a function restricted to the parties of a settlement.\nerror NoPartOfSettlement();\n/// @dev Thrown when the positions on a settlement don't match the ones in the dispute.\nerror SettlementPositionsMustMatch();\n/// @dev Thrown when the total balance of a settlement don't match the one in the dispute.\nerror SettlementBalanceMustMatch();\n\n/// @notice Thrown when the provided permit doesn't match the agreement token requirements.\nerror InvalidPermit();\n" + }, + "src/interfaces/ArbitrationTypes.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\n/// @dev Posible status for a resolution.\nenum ResolutionStatus {\n Idle,\n Submitted,\n Appealed,\n Endorsed,\n Executed\n}\n\nstruct Resolution {\n /// @dev Status of the resolution.\n ResolutionStatus status;\n /// @dev Encoding of the settlement.\n bytes32 settlement;\n /// @dev URI of the metadata of the resolution.\n string metadataURI;\n /// @dev Timestamp from which the resolution is executable.\n uint256 unlockTime;\n}\n" + }, + "src/interfaces/CriteriaTypes.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\n/// @notice Data estructure used to prove membership to a criteria tree.\n/// @dev Account, token & amount are used to encode the leaf.\nstruct CriteriaResolver {\n // Address that is part of the criteria tree\n address account;\n // Amount of ERC20 token\n uint256 balance;\n // Proof of membership to the tree\n bytes32[] proof;\n}\n" + }, + "src/interfaces/IAgreementFramework.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { ISignatureTransfer } from \"permit2/src/interfaces/ISignatureTransfer.sol\";\nimport { IArbitrable } from \"src/interfaces/IArbitrable.sol\";\nimport { CriteriaResolver } from \"src/interfaces/CriteriaTypes.sol\";\nimport {\n AgreementData,\n AgreementStatus,\n PositionData,\n PositionParams,\n PositionStatus\n} from \"src/interfaces/AgreementTypes.sol\";\n\ninterface IAgreementFramework is IArbitrable {\n /// @dev Raised when a new agreement is created.\n /// @param id Id of the new created agreement.\n /// @param termsHash Hash of the detailed terms of the agreement.\n /// @param criteria Criteria requirements to join the agreement.\n /// @param metadataURI URI of the metadata of the agreement.\n /// @param token ERC20 token address to use in the agreement.\n event AgreementCreated(\n bytes32 indexed id,\n bytes32 termsHash,\n uint256 criteria,\n string metadataURI,\n address token\n );\n\n /// @dev Raised when a new party joins an agreement.\n /// @param id Id of the agreement joined.\n /// @param party Address of party joined.\n /// @param balance Balance of the party joined.\n event AgreementJoined(bytes32 indexed id, address indexed party, uint256 balance);\n\n /// @dev Raised when an existing party of an agreement updates its position.\n /// @param id Id of the agreement updated.\n /// @param party Address of the party updated.\n /// @param balance New balance of the party.\n /// @param status New status of the position.\n event AgreementPositionUpdated(\n bytes32 indexed id,\n address indexed party,\n uint256 balance,\n PositionStatus status\n );\n\n /// @dev Raised when an agreement is finalized.\n /// @param id Id of the agreement finalized.\n event AgreementFinalized(bytes32 indexed id);\n\n /// @dev Raised when an agreement is in dispute.\n /// @param id Id of the agreement in dispute.\n /// @param party Address of the party that raises the dispute.\n event AgreementDisputed(bytes32 indexed id, address indexed party);\n\n /// @notice Join an existing agreement with a signed permit.\n /// @param id Id of the agreement to join.\n /// @param resolver Criteria data to prove sender can join agreement.\n /// @param permit Permit2 batched permit to allow the required token transfers.\n /// @param signature Signature of the permit.\n function joinAgreement(\n bytes32 id,\n CriteriaResolver calldata resolver,\n ISignatureTransfer.PermitBatchTransferFrom memory permit,\n bytes calldata signature\n ) external;\n\n /// @notice Join an existing agreement with transfers previously approved.\n /// @param id Id of the agreement to join.\n /// @param resolver Criteria data to prove sender can join agreement.\n function joinAgreementApproved(bytes32 id, CriteriaResolver calldata resolver) external;\n\n /// @notice Adjust a position part of an agreement.\n /// @param id Id of the agreement to adjust the position from.\n /// @param newPosition Position params to adjust.\n /// @param permit Permit2 permit to allow the required token transfers.\n /// @param signature Signature of the permit.\n function adjustPosition(\n bytes32 id,\n PositionParams calldata newPosition,\n ISignatureTransfer.PermitTransferFrom memory permit,\n bytes calldata signature\n ) external;\n\n /// @notice Signal the will of the caller to finalize an agreement.\n /// @param id Id of the agreement to settle.\n function finalizeAgreement(bytes32 id) external;\n\n /// @notice Raise a dispute over an agreement.\n /// @param id Id of the agreement to dispute.\n function disputeAgreement(bytes32 id) external;\n\n /// @notice Withdraw your position from the agreement.\n /// @param id Id of the agreement to withdraw from.\n function withdrawFromAgreement(bytes32 id) external;\n}\n" + }, + "src/interfaces/IArbitrable.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { PositionParams } from \"src/interfaces/AgreementTypes.sol\";\n\n/// @dev Thrown when trying to perform an operation restricted to the arbitrator without being the arbitrator.\nerror OnlyArbitrator();\n\n/// @notice Minimal interface for arbitrable contracts.\n/// @dev Implementers must write the logic to raise and settle disputes.\ninterface IArbitrable {\n /// @notice Address capable of settling disputes.\n function arbitrator() external view returns (address);\n\n /// @notice Settles the dispute `id` with the provided settlement.\n /// @param id Id of the dispute to settle.\n /// @param settlement Array of PositionParams to set as final positions.\n function settleDispute(bytes32 id, PositionParams[] calldata settlement) external;\n}\n" + }, + "src/interfaces/IArbitrator.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { ISignatureTransfer } from \"permit2/src/interfaces/ISignatureTransfer.sol\";\n\nimport { PositionParams } from \"src/interfaces/AgreementTypes.sol\";\nimport { IArbitrable } from \"src/interfaces/IArbitrable.sol\";\n\ninterface IArbitrator {\n /// @dev Raised when a new resolution is submitted.\n /// @param framework Address of the framework that manages the dispute.\n /// @param dispute Id of the dispute to resolve.\n /// @param resolution Id of the resolution.\n /// @param settlement Encoding of the settlement.\n event ResolutionSubmitted(\n address indexed framework,\n bytes32 indexed dispute,\n bytes32 indexed resolution,\n bytes32 settlement\n );\n\n /// @dev Raised when a resolution is appealed.\n /// @param resolution Id of the resolution appealed.\n /// @param settlement Encoding of the settlement.\n /// @param account Address of the account that appealed.\n event ResolutionAppealed(bytes32 indexed resolution, bytes32 settlement, address account);\n\n /// @dev Raised when an appealed resolution is endorsed.\n /// @param resolution Id of the resolution endorsed.\n /// @param settlement Encoding of the settlement.\n event ResolutionEndorsed(bytes32 indexed resolution, bytes32 settlement);\n\n /// @dev Raised when a resolution is executed.\n /// @param resolution Id of the resolution executed.\n /// @param settlement Encoding of the settlement.\n event ResolutionExecuted(bytes32 indexed resolution, bytes32 settlement);\n\n /// @notice Submit a resolution for a dispute.\n /// @dev Any new resolution for the same dispute overrides the last one.\n /// @param framework address of the framework of the agreement in dispute.\n /// @param dispute Identifier of the agreement in dispute.\n /// @param settlement Array of final positions in the resolution.\n /// @return Identifier of the resolution submitted.\n function submitResolution(\n IArbitrable framework,\n bytes32 dispute,\n string calldata metadataURI,\n PositionParams[] calldata settlement\n ) external returns (bytes32);\n\n /// @notice Execute a submitted resolution.\n /// @param framework address of the framework of the agreement in dispute.\n /// @param dispute Identifier of the agreement in dispute.\n /// @param settlement Array of final positions in the resolution.\n function executeResolution(\n IArbitrable framework,\n bytes32 dispute,\n PositionParams[] calldata settlement\n ) external;\n\n /// @notice Appeal a submitted resolution.\n /// @param id Identifier of the resolution to appeal.\n /// @param settlement Array of final positions in the resolution.\n /// @param permit Permit2 permit to allow the required token transfer.\n /// @param signature Signature of the permit.\n function appealResolution(\n bytes32 id,\n PositionParams[] calldata settlement,\n ISignatureTransfer.PermitTransferFrom memory permit,\n bytes calldata signature\n ) external;\n\n /// @notice Endorse a submitted resolution, it overrides any appeal.\n /// @param id Identifier of the resolution to endorse.\n /// @param settlement Encoding of the settlement to endorse.\n function endorseResolution(bytes32 id, bytes32 settlement) external;\n}\n" + }, + "src/libraries/CriteriaResolution.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { CriteriaResolver } from \"src/interfaces/CriteriaTypes.sol\";\n\n/// @dev Thrown when the proof provided can't be verified against the criteria tree.\nerror InvalidCriteriaProof();\n\n/// @dev Methods to verify membership to a criteria Merkle tree.\nlibrary CriteriaResolution {\n /// @dev Check that given resolver is valid for the provided criteria.\n /// @param criteria Root of the Merkle tree.\n /// @param resolver Struct with the required params to prove membership to the tree.\n function validateCriteria(bytes32 criteria, CriteriaResolver calldata resolver) external pure {\n bool isValid = verifyProof(resolver.proof, criteria, encodeLeaf(resolver));\n\n if (!isValid) {\n revert InvalidCriteriaProof();\n }\n }\n\n /// @dev Encode resolver params into merkle leaf\n function encodeLeaf(CriteriaResolver calldata resolver) public pure returns (bytes32 leaf) {\n leaf = keccak256(abi.encode(resolver.account, resolver.balance));\n }\n\n /// @dev Based on Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/utils/MerkleProofLib.sol)\n /// Verify proofs for given root and leaf are correct.\n function verifyProof(\n bytes32[] calldata proof,\n bytes32 root,\n bytes32 leaf\n ) public pure returns (bool isValid) {\n /// @solidity memory-safe-assembly\n assembly {\n if proof.length {\n // Left shifting by 5 is like multiplying by 32.\n let end := add(proof.offset, shl(5, proof.length))\n\n // Initialize offset to the offset of the proof in calldata.\n let offset := proof.offset\n\n // Iterate over proof elements to compute root hash.\n // prettier-ignore\n for {} 1 {} {\n // Slot where the leaf should be put in scratch space. If\n // leaf > calldataload(offset): slot 32, otherwise: slot 0.\n let leafSlot := shl(5, gt(leaf, calldataload(offset)))\n\n // Store elements to hash contiguously in scratch space.\n // The xor puts calldataload(offset) in whichever slot leaf\n // is not occupying, so 0 if leafSlot is 32, and 32 otherwise.\n mstore(leafSlot, leaf)\n mstore(xor(leafSlot, 32), calldataload(offset))\n\n // Reuse leaf to store the hash to reduce stack operations.\n leaf := keccak256(0, 64) // Hash both slots of scratch space.\n\n offset := add(offset, 32) // Shift 1 word per cycle.\n\n // prettier-ignore\n if iszero(lt(offset, end)) { break }\n }\n }\n\n isValid := eq(leaf, root) // The proof is valid if the roots match.\n }\n }\n}\n" + }, + "src/utils/Controlled.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { Owned } from \"src/utils/Owned.sol\";\n\n/// @notice Authorization mixin that extends Owned with Controller rol.\nabstract contract Controlled is Owned {\n /// @notice Raised when the control is transferred.\n /// @param user Address of the user that transferred the control.\n /// @param newController Address of the new controller.\n event ControlTransferred(address indexed user, address indexed newController);\n\n /// @notice Address that controls the contract.\n address public controller;\n\n modifier onlyController() virtual {\n if (msg.sender != controller) revert Unauthorized();\n\n _;\n }\n\n modifier onlyOwnerOrController() virtual {\n if (msg.sender != owner && msg.sender != controller) revert Unauthorized();\n\n _;\n }\n\n constructor(address owner_, address controller_) Owned(owner_) {\n controller = controller_;\n\n emit ControlTransferred(msg.sender, controller_);\n }\n\n /// @notice Transfer the control of the contract.\n /// @param newController Address of the new controller.\n function transferController(address newController) public virtual onlyOwner {\n controller = newController;\n\n emit ControlTransferred(msg.sender, newController);\n }\n}\n" + }, + "src/utils/Owned.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.0;\n\n/// @notice Simple single owner authorization mixin.\n/// @dev Adapted from Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)\nabstract contract Owned {\n /// @notice Raised when the ownership is transferred.\n /// @param user Address of the user that transferred the ownerhip.\n /// @param newOwner Address of the new owner.\n event OwnershipTransferred(address indexed user, address indexed newOwner);\n\n error Unauthorized();\n\n /// @notice Address that owns the contract.\n address public owner;\n\n modifier onlyOwner() virtual {\n if (msg.sender != owner) revert Unauthorized();\n\n _;\n }\n\n constructor(address owner_) {\n owner = owner_;\n\n emit OwnershipTransferred(msg.sender, owner_);\n }\n\n /// @notice Transfer the ownership of the contract.\n /// @param newOwner Address of the new owner.\n function transferOwnership(address newOwner) public virtual onlyOwner {\n owner = newOwner;\n\n emit OwnershipTransferred(msg.sender, newOwner);\n }\n}\n" + }, + "src/utils/Toggleable.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\n/// @notice Simple mixin to enable / disable a contract.\nabstract contract Toggleable {\n error IsDisabled();\n\n /// @notice Indicates if the contract is enabled.\n bool public enabled;\n\n /// @dev Requires to be enabled before performing function.\n modifier isEnabled() {\n if (!enabled) revert IsDisabled();\n _;\n }\n\n /// @notice Enable / disable a contract.\n /// @param status New enabled status.\n function setEnabled(bool status) external virtual {\n enabled = status;\n }\n}\n" + }, + "src/utils/interfaces/Deposits.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\n/// @dev Data estructure to configure contract deposits.\nstruct DepositConfig {\n /// @dev Address of the ERC20 token used for deposits.\n address token;\n /// @dev Amount of tokens to deposit.\n uint256 amount;\n /// @dev Address recipient of the deposit.\n address recipient;\n}\n" + }, + "test/Arbitrator.t.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { Test } from \"forge-std/Test.sol\";\n\nimport { ISignatureTransfer } from \"permit2/src/interfaces/ISignatureTransfer.sol\";\n\nimport { TestConstants } from \"test/utils/Constants.sol\";\nimport { MockArbitrable } from \"test/utils/mocks/MockArbitrable.sol\";\nimport { PermitSignature } from \"test/utils/PermitSignature.sol\";\nimport { TokenProvider } from \"test/utils/TokenProvider.sol\";\n\nimport { PositionParams } from \"src/interfaces/AgreementTypes.sol\";\nimport \"src/interfaces/ArbitrationErrors.sol\";\nimport { ResolutionStatus, Resolution } from \"src/interfaces/ArbitrationTypes.sol\";\n\nimport { DepositConfig } from \"src/utils/interfaces/Deposits.sol\";\nimport { Arbitrator } from \"src/Arbitrator.sol\";\n\ncontract ArbitratorTest is Test, TestConstants, TokenProvider, PermitSignature {\n Arbitrator arbitrator;\n MockArbitrable arbitrable;\n\n uint256 constant LOCK_PERIOD = 86400; // 1 day\n bytes32 DOMAIN_SEPARATOR;\n string constant METADATA_URI = \"ipfs://metadata\";\n bytes32 dispute;\n\n DepositConfig appeals;\n\n function setUp() public {\n initializeERC20Tokens();\n DOMAIN_SEPARATOR = permit2.DOMAIN_SEPARATOR();\n appeals = DepositConfig(address(tokenA), 2e17, address(0xD40));\n\n arbitrator = new Arbitrator(permit2, address(this));\n arbitrable = new MockArbitrable();\n\n arbitrator.setUp(LOCK_PERIOD, true, appeals);\n arbitrable.setUp(address(arbitrator));\n\n setERC20TestTokens(bob);\n setERC20TestTokenApprovals(vm, bob, address(permit2));\n\n dispute = arbitrable.createDispute();\n }\n\n function testSubmitResolution() public {\n bytes32 resolutionId = submitResolution();\n uint256 submitTime = block.timestamp;\n\n Resolution memory resolution = arbitrator.resolutionDetails(resolutionId);\n\n assertEq(resolution.status, ResolutionStatus.Submitted);\n assertEq(resolution.metadataURI, METADATA_URI);\n assertEq(resolution.unlockTime, submitTime + LOCK_PERIOD);\n }\n\n function testResolutionOverride() public {\n bytes32 resolutionId = submitResolution();\n\n Resolution memory originalResolution = arbitrator.resolutionDetails(resolutionId);\n\n // Generate new settlement\n PositionParams[] memory newSettlement = settlement();\n newSettlement[1].balance = 1e18;\n\n uint256 warpTime = originalResolution.unlockTime + 5;\n vm.warp(warpTime);\n\n // Submit new resolution for the same dispute\n arbitrator.submitResolution(arbitrable, dispute, METADATA_URI, newSettlement);\n\n Resolution memory newResolution = arbitrator.resolutionDetails(resolutionId);\n\n assertTrue(originalResolution.settlement != newResolution.settlement);\n assertEq(newResolution.settlement, keccak256(abi.encode(newSettlement)));\n\n assertEq(newResolution.unlockTime, warpTime + LOCK_PERIOD);\n }\n\n function testCantSubmitNewResolutionAfterExecution() public {\n executedResolution();\n\n vm.expectRevert(ResolutionIsExecuted.selector);\n arbitrator.submitResolution(arbitrable, dispute, \"ipfs://\", settlement());\n }\n\n function testExecuteResolution() public {\n submitResolution();\n\n vm.warp(block.timestamp + LOCK_PERIOD);\n assertEq(arbitrable.disputeStatus(dispute), 1);\n\n arbitrator.executeResolution(arbitrable, dispute, settlement());\n\n assertEq(arbitrable.disputeStatus(dispute), 2);\n }\n\n function testCantExecuteResolutionBeforeUnlock() public {\n submitResolution();\n\n vm.expectRevert(ResolutionIsLocked.selector);\n arbitrator.executeResolution(arbitrable, dispute, settlement());\n }\n\n function testCantExecuteAppealedResolution() public {\n appealledResolution();\n\n vm.expectRevert(ResolutionIsAppealed.selector);\n arbitrator.executeResolution(arbitrable, dispute, settlement());\n }\n\n function testCantExecuteAlreadyExecutedResolution() public {\n executedResolution();\n\n vm.expectRevert(ResolutionIsExecuted.selector);\n arbitrator.executeResolution(arbitrable, dispute, settlement());\n }\n\n function testCantExecuteResolutionMismatch() public {\n submitResolution();\n\n vm.warp(block.timestamp + LOCK_PERIOD);\n PositionParams[] memory newSettlement = new PositionParams[](2);\n\n vm.expectRevert(SettlementPositionsMustMatch.selector);\n arbitrator.executeResolution(arbitrable, dispute, newSettlement);\n }\n\n function testCanAlwaysExecuteEndorsedResolution() public {\n bytes32 id = appealledResolution();\n bytes32 encoding = keccak256(abi.encode(settlement()));\n\n arbitrator.endorseResolution(id, encoding);\n\n // Resolution appealed and inside the lock period.\n arbitrator.executeResolution(arbitrable, dispute, settlement());\n }\n\n function testAppealResolution() public {\n bytes32 id = submitResolution();\n appealResolution(id);\n\n Resolution memory resolution = arbitrator.resolutionDetails(id);\n\n assertEq(resolution.status, ResolutionStatus.Appealed);\n }\n\n function testOnlyPartiesCanAppeal() public {\n bytes32 id = submitResolution();\n\n ISignatureTransfer.PermitTransferFrom memory permit = defaultERC20PermitTransfer(\n address(tokenA),\n appeals.amount,\n 0\n );\n bytes memory signature = getPermitTransferSignature(\n permit,\n address(arbitrator),\n 0xB0B,\n DOMAIN_SEPARATOR\n );\n\n // Pretend to be random user that is not part of settlement\n vm.prank(address(0xDEAD));\n vm.expectRevert(NoPartOfSettlement.selector);\n arbitrator.appealResolution(id, settlement(), permit, signature);\n }\n\n function testEndorseResolution() public {\n bytes32 id = endorsedResolution();\n\n Resolution memory resolution = arbitrator.resolutionDetails(id);\n\n assertEq(resolution.status, ResolutionStatus.Endorsed);\n }\n\n /* ---------------------------------------------------------------------- */\n\n function settlement() internal view returns (PositionParams[] memory settlement_) {\n settlement_ = new PositionParams[](2);\n settlement_[0] = PositionParams(bob, 3 * 1e18);\n settlement_[1] = PositionParams(alice, 0);\n }\n\n function submitResolution() internal returns (bytes32 id) {\n id = arbitrator.submitResolution(arbitrable, dispute, METADATA_URI, settlement());\n }\n\n function appealResolution(bytes32 id) internal {\n ISignatureTransfer.PermitTransferFrom memory permit = defaultERC20PermitTransfer(\n address(tokenA),\n appeals.amount,\n 0\n );\n bytes memory signature = getPermitTransferSignature(\n permit,\n address(arbitrator),\n 0xB0B,\n DOMAIN_SEPARATOR\n );\n\n vm.prank(bob);\n arbitrator.appealResolution(id, settlement(), permit, signature);\n }\n\n function appealledResolution() internal returns (bytes32 id) {\n id = submitResolution();\n appealResolution(id);\n }\n\n function endorsedResolution() internal returns (bytes32 id) {\n id = appealledResolution();\n bytes32 encoding = keccak256(abi.encode(settlement()));\n\n arbitrator.endorseResolution(id, encoding);\n }\n\n function executedResolution() internal returns (bytes32 id) {\n id = submitResolution();\n vm.warp(block.timestamp + LOCK_PERIOD);\n arbitrator.executeResolution(arbitrable, dispute, settlement());\n }\n\n function assertEq(ResolutionStatus a, ResolutionStatus b) internal {\n if (uint256(a) != uint256(b)) {\n emit log(\"Error: a == b not satisfied [ResolutionStatus]\");\n emit log_named_uint(\" Expected\", uint256(b));\n emit log_named_uint(\" Actual\", uint256(a));\n fail();\n }\n }\n}\n" + }, + "test/CollateralAgreement.t.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { Test } from \"forge-std/Test.sol\";\n\nimport { IAllowanceTransfer } from \"permit2/src/interfaces/IAllowanceTransfer.sol\";\nimport { ISignatureTransfer } from \"permit2/src/interfaces/ISignatureTransfer.sol\";\n\nimport { SafeCast160 } from \"permit2/src/libraries/SafeCast160.sol\";\nimport { PermitHash } from \"permit2/src/libraries/PermitHash.sol\";\nimport { Permit2 } from \"permit2/src/Permit2.sol\";\nimport { ERC20 } from \"solmate/src/tokens/ERC20.sol\";\n\nimport { CriteriaProvider } from \"test/utils/AgreementProvider.sol\";\nimport { PermitSignature, TokenPair } from \"test/utils/PermitSignature.sol\";\nimport { TokenProvider } from \"test/utils/TokenProvider.sol\";\n\nimport {\n AgreementParams,\n PositionParams,\n AgreementData,\n PositionData,\n PositionStatus,\n AgreementStatus\n} from \"src/interfaces/AgreementTypes.sol\";\nimport \"src/interfaces/AgreementErrors.sol\";\nimport {\n SettlementPositionsMustMatch,\n SettlementBalanceMustMatch\n} from \"src/interfaces/ArbitrationErrors.sol\";\nimport { CriteriaResolver } from \"src/interfaces/CriteriaTypes.sol\";\nimport { OnlyArbitrator } from \"src/interfaces/IArbitrable.sol\";\n\nimport { InvalidCriteriaProof } from \"src/libraries/CriteriaResolution.sol\";\nimport { DepositConfig } from \"src/utils/interfaces/Deposits.sol\";\nimport { CollateralAgreementFramework } from \"src/frameworks/CollateralAgreement.sol\";\n\ncontract CollateralAgreementFrameworkTest is\n Test,\n TokenProvider,\n CriteriaProvider,\n PermitSignature\n{\n using SafeCast160 for uint256;\n\n CollateralAgreementFramework framework;\n\n bytes32 DOMAIN_SEPARATOR;\n address arbitrator = address(0xB055);\n\n AgreementParams params;\n DepositConfig deposits;\n\n function setUp() public {\n initializeERC20Tokens();\n DOMAIN_SEPARATOR = permit2.DOMAIN_SEPARATOR();\n deposits = DepositConfig(address(tokenB), 1e17, arbitrator);\n\n framework = new CollateralAgreementFramework(permit2, address(this));\n\n framework.setUp(arbitrator, deposits);\n\n setERC20TestTokens(bob);\n setERC20TestTokens(alice);\n setERC20TestTokenApprovals(vm, bob, address(permit2));\n setERC20TestTokenApprovals(vm, alice, address(permit2));\n }\n\n function testCreateAgreement() public {\n bytes32 agreementId = createAgreement();\n\n AgreementData memory createdAgreement = framework.agreementData(agreementId);\n\n assertEq(createdAgreement.termsHash, params.termsHash);\n assertEq(createdAgreement.criteria, params.criteria);\n assertEq(createdAgreement.metadataURI, params.metadataURI);\n assertEq(createdAgreement.token, params.token);\n assertEq(createdAgreement.status, AgreementStatus.Created);\n }\n\n function testDeterministicId(bytes32 termsHash, uint256 criteria, bytes32 salt) public {\n if (criteria == 0) return;\n\n bytes32 id = keccak256(abi.encode(address(framework), termsHash, salt));\n bytes32 agreementId = framework.createAgreement(\n AgreementParams(termsHash, criteria, \"ipfs\", address(tokenA)),\n salt\n );\n\n assertEq(id, agreementId);\n }\n\n /* ====================================================================== //\n JOIN TESTS\n // ====================================================================== */\n\n function testJoinAgreement() public {\n bytes32 agreementId = createAgreement();\n uint256 bobBalance = balanceOf(params.token, bob);\n\n bobJoinsAgreement(agreementId);\n\n PositionData[] memory positions = framework.agreementPositions(agreementId);\n assertPosition(positions[0], bob, bobStake, PositionStatus.Joined);\n\n assertEq(balanceOf(params.token, bob), bobBalance - bobStake);\n assertEq(balanceOf(params.token, address(framework)), bobStake);\n assertEq(balanceOf(deposits.token, address(framework)), deposits.amount);\n }\n\n function testJoinAgreementApproved() public {\n bytes32 agreementId = createAgreement();\n uint256 bobBalance = balanceOf(params.token, bob);\n\n bobJoinsAgreementApproved(agreementId);\n\n PositionData[] memory positions = framework.agreementPositions(agreementId);\n assertPosition(positions[0], bob, bobStake, PositionStatus.Joined);\n\n assertEq(balanceOf(params.token, bob), bobBalance - bobStake);\n assertEq(balanceOf(params.token, address(framework)), bobStake);\n assertEq(balanceOf(deposits.token, address(framework)), deposits.amount);\n }\n\n function testCantJoinNonExistentAgreement(bytes32 id) public {\n aliceExpectsErrorWhenJoining(id, NonExistentAgreement.selector);\n }\n\n function testCantJoinAgreementWithInvalidCriteria() public {\n bytes32 agreementId = createAgreement();\n\n CriteriaResolver memory resolver = CriteriaResolver(alice, 1e17, proofs[alice]);\n aliceExpectsErrorWhenJoining(agreementId, resolver, InvalidCriteriaProof.selector);\n }\n\n function testCantJoinAgreementMultipleTimes() public {\n bytes32 agreementId = createAgreement();\n aliceJoinsAgreement(agreementId);\n\n aliceExpectsErrorWhenJoining(agreementId, PartyAlreadyJoined.selector);\n }\n\n function testCantJoinDisputedAgreement() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n bobDisputesAgreement(agreementId);\n\n aliceExpectsErrorWhenJoining(agreementId, AgreementIsDisputed.selector);\n }\n\n function testCantJoinFinalizedAgreement() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n vm.prank(bob);\n framework.finalizeAgreement(agreementId);\n\n aliceExpectsErrorWhenJoining(agreementId, AgreementIsFinalized.selector);\n }\n\n function testAgreementStatusOngoing() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n\n AgreementData memory agreement = framework.agreementData(agreementId);\n assertEq(agreement.status, AgreementStatus.Ongoing);\n }\n\n /* ====================================================================== */\n\n function testAdjustCollateral() public {\n bytes32 agreementId = createAgreement();\n uint256 bobBalance = balanceOf(params.token, bob);\n bobJoinsAgreement(agreementId);\n\n ISignatureTransfer.PermitTransferFrom memory permit = defaultERC20PermitTransfer(\n params.token,\n bobStake,\n 1\n );\n bytes memory signature = getPermitTransferSignature(\n permit,\n address(framework),\n 0xB0B,\n DOMAIN_SEPARATOR\n );\n\n vm.prank(bob);\n framework.adjustPosition(agreementId, PositionParams(bob, 2 * bobStake), permit, signature);\n\n PositionData[] memory positions = framework.agreementPositions(agreementId);\n assertPosition(positions[0], bob, 2 * bobStake, PositionStatus.Joined);\n\n assertEq(balanceOf(params.token, bob), bobBalance - 2 * bobStake);\n assertEq(balanceOf(params.token, address(framework)), 2 * bobStake);\n }\n\n /* ====================================================================== //\n FINALIZATION TESTS\n // ====================================================================== */\n\n function testSingleFinalization() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n aliceJoinsAgreement(agreementId);\n\n vm.prank(bob);\n framework.finalizeAgreement(agreementId);\n\n PositionData[] memory positions = framework.agreementPositions(agreementId);\n assertPosition(positions[0], bob, bobStake, PositionStatus.Finalized);\n assertPosition(positions[1], alice, aliceStake, PositionStatus.Joined);\n\n AgreementData memory agreement = framework.agreementData(agreementId);\n assertEq(agreement.status, AgreementStatus.Ongoing);\n }\n\n function testFinalizationConsensus() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n aliceJoinsAgreement(agreementId);\n\n vm.prank(bob);\n framework.finalizeAgreement(agreementId);\n vm.prank(alice);\n framework.finalizeAgreement(agreementId);\n\n // Agreement is finalized\n AgreementData memory agreement = framework.agreementData(agreementId);\n assertEq(agreement.status, AgreementStatus.Finalized);\n }\n\n function testOnlyPartyCanFinalizeAgreement() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n\n aliceExpectsErrorWhenFinalizing(agreementId, NoPartOfAgreement.selector);\n }\n\n function testCantFinalizeDisputedAgreement() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n aliceJoinsAgreement(agreementId);\n\n vm.prank(bob);\n framework.disputeAgreement(agreementId);\n\n aliceExpectsErrorWhenFinalizing(agreementId, AgreementIsDisputed.selector);\n }\n\n function testCantFinalizeMultipleTimes() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n aliceJoinsAgreement(agreementId);\n\n vm.startPrank(bob);\n framework.finalizeAgreement(agreementId);\n\n vm.expectRevert(PartyAlreadyFinalized.selector);\n framework.finalizeAgreement(agreementId);\n vm.stopPrank();\n }\n\n /* ====================================================================== //\n DISPUTE TESTS\n // ====================================================================== */\n\n function testDisputeAgreement() public {\n bytes32 agreementId = createAgreement();\n\n bobJoinsAgreement(agreementId);\n aliceJoinsAgreement(agreementId);\n\n bobDisputesAgreement(agreementId);\n\n AgreementData memory agreement = framework.agreementData(agreementId);\n assertEq(agreement.status, AgreementStatus.Disputed);\n\n PositionData[] memory positions = framework.agreementPositions(agreementId);\n assertPosition(positions[0], bob, bobStake, PositionStatus.Disputed);\n assertPosition(positions[1], alice, aliceStake, PositionStatus.Joined);\n\n // dispute deposits transferred\n assertEq(balanceOf(deposits.token, deposits.recipient), deposits.amount);\n }\n\n function testOnlyPartyCanDisputeAgreement() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n\n vm.prank(alice);\n vm.expectRevert(NoPartOfAgreement.selector);\n framework.disputeAgreement(agreementId);\n }\n\n function testCantDisputeFinalizedAgreement() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n aliceJoinsAgreement(agreementId);\n\n vm.prank(bob);\n framework.finalizeAgreement(agreementId);\n vm.startPrank(alice);\n framework.finalizeAgreement(agreementId);\n\n vm.expectRevert(AgreementIsFinalized.selector);\n framework.disputeAgreement(agreementId);\n }\n\n /* ====================================================================== //\n DISPUTE SETTLEMENT TESTS\n // ====================================================================== */\n\n function testSettlement() public {\n bytes32 disputeId = createDispute();\n PositionParams[] memory settlement = getValidSettlement();\n\n vm.prank(arbitrator);\n framework.settleDispute(disputeId, settlement);\n\n AgreementData memory agreement = framework.agreementData(disputeId);\n assertEq(agreement.status, AgreementStatus.Finalized);\n\n PositionData[] memory positions = framework.agreementPositions(disputeId);\n assertPosition(positions[0], bob, settlement[0].balance, PositionStatus.Finalized);\n assertPosition(positions[1], alice, settlement[1].balance, PositionStatus.Finalized);\n }\n\n function testOnlyCanSettleDisputedAgreements() public {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n aliceJoinsAgreement(agreementId);\n PositionParams[] memory settlement = getValidSettlement();\n\n vm.prank(arbitrator);\n vm.expectRevert(AgreementNotDisputed.selector);\n framework.settleDispute(agreementId, settlement);\n }\n\n function testOnlyArbitratorCanSettleDispute(address account) public {\n if (account == arbitrator) return;\n\n bytes32 disputeId = createDispute();\n PositionParams[] memory settlement = getValidSettlement();\n\n vm.prank(account);\n vm.expectRevert(OnlyArbitrator.selector);\n framework.settleDispute(disputeId, settlement);\n }\n\n function testSettlementMustMatchBalance() public {\n bytes32 disputeId = createDispute();\n PositionParams[] memory settlement = getValidSettlement();\n settlement[1].balance = aliceStake + bobStake;\n\n vm.prank(arbitrator);\n vm.expectRevert(SettlementBalanceMustMatch.selector);\n framework.settleDispute(disputeId, settlement);\n\n settlement[0].balance = 0;\n settlement[1].balance = bobStake;\n\n vm.prank(arbitrator);\n vm.expectRevert(SettlementBalanceMustMatch.selector);\n framework.settleDispute(disputeId, settlement);\n }\n\n function testSettlementMustMatchPositions() public {\n bytes32 disputeId = createDispute();\n PositionParams[] memory settlement = new PositionParams[](3);\n settlement[0] = PositionParams(bob, 0);\n settlement[1] = PositionParams(alice, aliceStake);\n settlement[2] = PositionParams(arbitrator, bobStake);\n\n vm.prank(arbitrator);\n vm.expectRevert(SettlementPositionsMustMatch.selector);\n framework.settleDispute(disputeId, settlement);\n\n settlement = new PositionParams[](1);\n settlement[0] = PositionParams(arbitrator, bobStake + aliceStake);\n\n vm.prank(arbitrator);\n vm.expectRevert(SettlementPositionsMustMatch.selector);\n framework.settleDispute(disputeId, settlement);\n }\n\n /* ====================================================================== //\n AGREEMENT WITHDRAWAL TESTS\n // ====================================================================== */\n\n function testWithdrawFromAgreement() public {\n bytes32 agreementId = createAgreement();\n uint256 beforeBalance = balanceOf(params.token, bob);\n uint256 beforeDepositBalance = balanceOf(deposits.token, bob);\n\n bobJoinsAgreement(agreementId);\n vm.startPrank(bob);\n framework.finalizeAgreement(agreementId);\n framework.withdrawFromAgreement(agreementId);\n vm.stopPrank();\n\n // bob withdraws his collateral & deposit\n assertEq(balanceOf(params.token, bob), beforeBalance);\n assertEq(balanceOf(deposits.token, bob), beforeDepositBalance);\n }\n\n function testWithdrawAfterSettlement() public {\n bytes32 disputeId = createDispute();\n uint256 bobBalance = balanceOf(params.token, bob);\n uint256 bobDepositBalance = balanceOf(deposits.token, bob);\n uint256 aliceBalance = balanceOf(params.token, alice);\n uint256 aliceDepositBalance = balanceOf(deposits.token, alice);\n\n PositionParams[] memory settlement = getValidSettlement();\n\n vm.prank(arbitrator);\n framework.settleDispute(disputeId, settlement);\n\n vm.prank(bob);\n framework.withdrawFromAgreement(disputeId);\n vm.prank(alice);\n framework.withdrawFromAgreement(disputeId);\n\n // bob withdraws his collateral but no deposit\n assertEq(bobBalance, balanceOf(params.token, bob) - settlement[0].balance);\n assertEq(bobDepositBalance, balanceOf(deposits.token, bob));\n\n // alice withdraws her collateral & deposit\n assertEq(aliceBalance, balanceOf(params.token, alice) - settlement[1].balance);\n assertEq(aliceDepositBalance + deposits.amount, balanceOf(deposits.token, alice));\n }\n\n /* ---------------------------------------------------------------------- */\n\n function createAgreement() internal returns (bytes32 agreementId) {\n setDefaultAgreementParams();\n agreementId = framework.createAgreement(params, bytes32(\"\"));\n }\n\n function createDispute() internal returns (bytes32 disputeId) {\n bytes32 agreementId = createAgreement();\n bobJoinsAgreement(agreementId);\n aliceJoinsAgreement(agreementId);\n\n vm.prank(bob);\n framework.disputeAgreement(agreementId);\n\n disputeId = agreementId;\n }\n\n function bobJoinsAgreement(bytes32 agreementId) internal {\n CriteriaResolver memory resolver = CriteriaResolver(bob, bobStake, proofs[bob]);\n\n TokenPair[] memory tokenPairs = getJoinTokenPairs(bobStake);\n ISignatureTransfer.PermitBatchTransferFrom memory permit = defaultERC20PermitMultiple(\n tokenPairs,\n 0\n );\n bytes memory signature = getPermitBatchTransferSignature(\n permit,\n address(framework),\n 0xB0B,\n DOMAIN_SEPARATOR\n );\n\n vm.prank(bob);\n framework.joinAgreement(agreementId, resolver, permit, signature);\n }\n\n function bobJoinsAgreementApproved(bytes32 agreementId) internal {\n CriteriaResolver memory resolver = CriteriaResolver(bob, bobStake, proofs[bob]);\n\n vm.startPrank(bob);\n tokenA.approve(address(framework), bobStake);\n tokenB.approve(address(framework), deposits.amount);\n framework.joinAgreementApproved(agreementId, resolver);\n }\n\n function bobDisputesAgreement(bytes32 agreementId) internal {\n vm.startPrank(bob);\n framework.disputeAgreement(agreementId);\n vm.stopPrank();\n }\n\n function aliceJoinsAgreement(bytes32 agreementId) internal {\n (\n CriteriaResolver memory resolver,\n ISignatureTransfer.PermitBatchTransferFrom memory permit,\n bytes memory signature\n ) = getAliceJoinParams();\n\n vm.prank(alice);\n framework.joinAgreement(agreementId, resolver, permit, signature);\n }\n\n function aliceExpectsErrorWhenJoining(bytes32 agreementId, bytes4 error) internal {\n (\n CriteriaResolver memory resolver,\n ISignatureTransfer.PermitBatchTransferFrom memory permit,\n bytes memory signature\n ) = getAliceJoinParams();\n\n vm.prank(alice);\n vm.expectRevert(error);\n framework.joinAgreement(agreementId, resolver, permit, signature);\n }\n\n function aliceExpectsErrorWhenJoining(\n bytes32 agreementId,\n CriteriaResolver memory resolver,\n bytes4 error\n ) internal {\n (\n ,\n ISignatureTransfer.PermitBatchTransferFrom memory permit,\n bytes memory signature\n ) = getAliceJoinParams();\n\n vm.prank(alice);\n vm.expectRevert(error);\n framework.joinAgreement(agreementId, resolver, permit, signature);\n }\n\n function aliceExpectsErrorWhenFinalizing(bytes32 agreementId, bytes4 error) internal {\n vm.prank(alice);\n vm.expectRevert(error);\n framework.finalizeAgreement(agreementId);\n }\n\n function getAliceJoinParams()\n internal\n view\n returns (\n CriteriaResolver memory resolver,\n ISignatureTransfer.PermitBatchTransferFrom memory permit,\n bytes memory signature\n )\n {\n resolver = CriteriaResolver(alice, aliceStake, proofs[alice]);\n\n TokenPair[] memory tokenPairs = getJoinTokenPairs(aliceStake);\n permit = defaultERC20PermitMultiple(tokenPairs, 0);\n signature = getPermitBatchTransferSignature(\n permit,\n address(framework),\n 0xA11CE,\n DOMAIN_SEPARATOR\n );\n }\n\n function getJoinTokenPairs(\n uint256 collateral\n ) internal view returns (TokenPair[] memory tokenPairs) {\n tokenPairs = new TokenPair[](2);\n tokenPairs[0] = TokenPair(address(tokenB), deposits.amount);\n tokenPairs[1] = TokenPair(address(tokenA), collateral);\n }\n\n function getValidSettlement() internal view returns (PositionParams[] memory settlement) {\n settlement = new PositionParams[](2);\n settlement[0] = PositionParams(bob, bobStake + aliceStake);\n settlement[1] = PositionParams(alice, 0);\n }\n\n function setDefaultAgreementParams() internal {\n setDefaultCriteria();\n params = AgreementParams({\n termsHash: keccak256(\"Terms & Conditions\"),\n criteria: criteria,\n metadataURI: \"ipfs://sha256\",\n token: address(tokenA)\n });\n }\n\n function assertEq(PositionStatus a, PositionStatus b) internal {\n if (uint256(a) != uint256(b)) {\n emit log(\"Error: a == b not satisfied [PositionStatus]\");\n emit log_named_uint(\" Expected\", uint256(b));\n emit log_named_uint(\" Actual\", uint256(a));\n fail();\n }\n }\n\n function assertEq(AgreementStatus a, AgreementStatus b) internal {\n if (uint256(a) != uint256(b)) {\n emit log(\"Error: a == b not satisfied [AgreementStatus]\");\n emit log_named_uint(\" Expected\", uint256(b));\n emit log_named_uint(\" Actual\", uint256(a));\n fail();\n }\n }\n\n function assertPosition(\n PositionData memory position,\n address party,\n uint256 balance,\n PositionStatus status\n ) internal {\n assertEq(position.party, party);\n assertEq(position.balance, balance);\n assertEq(position.status, status);\n }\n\n function balanceOf(address token, address account) internal view returns (uint256 balance) {\n balance = ERC20(token).balanceOf(account);\n }\n}\n" + }, + "test/utils/AgreementProvider.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { Vm, Test } from \"forge-std/Test.sol\";\nimport { Merkle } from \"murky/Merkle.sol\";\nimport { TestConstants } from \"test/utils/Constants.sol\";\n\nimport { AgreementParams, PositionParams } from \"src/interfaces/AgreementTypes.sol\";\n\ncontract CriteriaProvider is Test, TestConstants {\n Merkle merkle = new Merkle();\n\n uint256 criteria;\n mapping(address => bytes32[]) proofs;\n\n function setCriteria(PositionParams[] memory positions) public {\n bytes32[] memory leafs = new bytes32[](positions.length);\n\n for (uint256 i = 0; i < positions.length; i++) {\n leafs[i] = keccak256(abi.encode(positions[i].party, positions[i].balance));\n }\n\n for (uint256 i = 0; i < positions.length; i++) {\n proofs[positions[i].party] = merkle.getProof(leafs, i);\n }\n\n bytes32 root = merkle.getRoot(leafs);\n criteria = uint256(root);\n }\n\n function setDefaultCriteria() public {\n PositionParams[] memory defaultPositions = new PositionParams[](2);\n defaultPositions[0] = PositionParams(bob, bobStake);\n defaultPositions[1] = PositionParams(alice, aliceStake);\n\n setCriteria(defaultPositions);\n }\n}\n\ncontract AgreementProvider is Test {\n function getAgreementParams(\n address token,\n uint256 criteria\n ) public pure returns (AgreementParams memory params) {\n params.termsHash = keccak256(\"Terms & Conditions\");\n params.criteria = criteria;\n params.metadataURI = \"ipfs://sha256\";\n params.token = token;\n }\n}\n" + }, + "test/utils/Constants.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { Vm, Test } from \"forge-std/Test.sol\";\n\ncontract TestConstants is Test {\n address bob = vm.addr(0xB0B);\n address alice = vm.addr(0xA11CE);\n\n uint256 bobStake = 2 * 1e18;\n uint256 aliceStake = 1 * 1e18;\n}\n" + }, + "test/utils/PermitSignature.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { Vm, Test } from \"forge-std/Test.sol\";\nimport { IAllowanceTransfer } from \"permit2/src/interfaces/IAllowanceTransfer.sol\";\nimport { ISignatureTransfer } from \"permit2/src/interfaces/ISignatureTransfer.sol\";\n\nstruct TokenPair {\n address token;\n uint256 amount;\n}\n\ncontract PermitSignature is Test {\n bytes32 public constant _PERMIT_DETAILS_TYPEHASH =\n keccak256(\"PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\");\n\n bytes32 public constant _PERMIT_SINGLE_TYPEHASH =\n keccak256(\n \"PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"\n );\n\n bytes32 public constant _PERMIT_BATCH_TYPEHASH =\n keccak256(\n \"PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"\n );\n\n bytes32 public constant _TOKEN_PERMISSIONS_TYPEHASH =\n keccak256(\"TokenPermissions(address token,uint256 amount)\");\n\n bytes32 public constant _PERMIT_TRANSFER_FROM_TYPEHASH =\n keccak256(\n \"PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"\n );\n\n bytes32 public constant _PERMIT_BATCH_TRANSFER_FROM_TYPEHASH =\n keccak256(\n \"PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"\n );\n\n function getPermitSignatureRaw(\n IAllowanceTransfer.PermitSingle memory permit,\n uint256 privateKey,\n bytes32 domainSeparator\n ) internal pure returns (uint8 v, bytes32 r, bytes32 s) {\n bytes32 permitHash = keccak256(abi.encode(_PERMIT_DETAILS_TYPEHASH, permit.details));\n\n bytes32 msgHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n domainSeparator,\n keccak256(\n abi.encode(\n _PERMIT_SINGLE_TYPEHASH,\n permitHash,\n permit.spender,\n permit.sigDeadline\n )\n )\n )\n );\n\n (v, r, s) = vm.sign(privateKey, msgHash);\n }\n\n function getPermitSignature(\n IAllowanceTransfer.PermitSingle memory permit,\n uint256 privateKey,\n bytes32 domainSeparator\n ) internal pure returns (bytes memory sig) {\n (uint8 v, bytes32 r, bytes32 s) = getPermitSignatureRaw(\n permit,\n privateKey,\n domainSeparator\n );\n return bytes.concat(r, s, bytes1(v));\n }\n\n function getPermitTransferSignature(\n ISignatureTransfer.PermitTransferFrom memory permit,\n address spender,\n uint256 privateKey,\n bytes32 domainSeparator\n ) internal pure returns (bytes memory sig) {\n bytes32 tokenPermissions = keccak256(\n abi.encode(_TOKEN_PERMISSIONS_TYPEHASH, permit.permitted)\n );\n bytes32 msgHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n domainSeparator,\n keccak256(\n abi.encode(\n _PERMIT_TRANSFER_FROM_TYPEHASH,\n tokenPermissions,\n spender,\n permit.nonce,\n permit.deadline\n )\n )\n )\n );\n\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(privateKey, msgHash);\n return bytes.concat(r, s, bytes1(v));\n }\n\n function getPermitBatchTransferSignature(\n ISignatureTransfer.PermitBatchTransferFrom memory permit,\n address spender,\n uint256 privateKey,\n bytes32 domainSeparator\n ) internal pure returns (bytes memory sig) {\n bytes32[] memory tokenPermissions = new bytes32[](permit.permitted.length);\n for (uint256 i = 0; i < permit.permitted.length; ++i) {\n tokenPermissions[i] = keccak256(\n abi.encode(_TOKEN_PERMISSIONS_TYPEHASH, permit.permitted[i])\n );\n }\n bytes32 msgHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n domainSeparator,\n keccak256(\n abi.encode(\n _PERMIT_BATCH_TRANSFER_FROM_TYPEHASH,\n keccak256(abi.encodePacked(tokenPermissions)),\n spender,\n permit.nonce,\n permit.deadline\n )\n )\n )\n );\n\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(privateKey, msgHash);\n return bytes.concat(r, s, bytes1(v));\n }\n\n function defaultERC20PermitTransfer(\n address token,\n uint256 amount,\n uint256 nonce\n ) internal view returns (ISignatureTransfer.PermitTransferFrom memory) {\n return\n ISignatureTransfer.PermitTransferFrom({\n permitted: ISignatureTransfer.TokenPermissions({ token: token, amount: amount }),\n nonce: nonce,\n deadline: block.timestamp + 100\n });\n }\n\n function defaultERC20PermitMultiple(\n TokenPair[] memory tokenPairs,\n uint256 nonce\n ) internal view returns (ISignatureTransfer.PermitBatchTransferFrom memory) {\n ISignatureTransfer.TokenPermissions[]\n memory permitted = new ISignatureTransfer.TokenPermissions[](tokenPairs.length);\n for (uint256 i = 0; i < tokenPairs.length; ++i) {\n permitted[i] = ISignatureTransfer.TokenPermissions({\n token: tokenPairs[i].token,\n amount: tokenPairs[i].amount\n });\n }\n return\n ISignatureTransfer.PermitBatchTransferFrom({\n permitted: permitted,\n nonce: nonce,\n deadline: block.timestamp + 100\n });\n }\n}\n" + }, + "test/utils/TokenProvider.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { Vm, Test } from \"forge-std/Test.sol\";\nimport { MockERC20 } from \"solmate/src/test/utils/mocks/MockERC20.sol\";\nimport { Permit2 } from \"permit2/src/Permit2.sol\";\n\ncontract TokenProvider is Test {\n Permit2 permit2;\n\n MockERC20 tokenA;\n MockERC20 tokenB;\n\n uint256 public constant MINT_AMOUNT_ERC20 = 42 * 1e18;\n\n function initializeERC20Tokens() public {\n permit2 = new Permit2();\n\n tokenA = new MockERC20(\"Test Token A\", \"TA\", 18);\n tokenB = new MockERC20(\"Test Token B\", \"TB\", 18);\n }\n\n function setERC20TestTokens(address to) public {\n tokenA.mint(to, MINT_AMOUNT_ERC20);\n tokenB.mint(to, MINT_AMOUNT_ERC20);\n }\n\n function setERC20TestTokenApprovals(Vm vm, address owner, address spender) public {\n vm.startPrank(owner);\n tokenA.approve(spender, type(uint256).max);\n tokenB.approve(spender, type(uint256).max);\n vm.stopPrank();\n }\n}\n" + }, + "test/utils/mocks/MockArbitrable.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.17;\n\nimport { IArbitrable, OnlyArbitrator } from \"src/interfaces/IArbitrable.sol\";\nimport { PositionParams } from \"src/interfaces/AgreementTypes.sol\";\nimport { SettlementPositionsMustMatch } from \"src/interfaces/ArbitrationErrors.sol\";\n\ncontract MockArbitrable is IArbitrable {\n mapping(bytes32 => uint8) public disputeStatus;\n uint256 internal counter;\n address public arbitrator;\n uint256 public arbitrationFee;\n\n error PositionsMustMatch();\n\n function setUp(address arbitrator_) public {\n arbitrator = arbitrator_;\n }\n\n function createDispute() public returns (bytes32) {\n bytes32 id = bytes32(counter);\n disputeStatus[id] = 1;\n counter += 1;\n return id;\n }\n\n function settleDispute(bytes32 id, PositionParams[] calldata settlement) public {\n if (msg.sender != arbitrator) revert OnlyArbitrator();\n if (settlement.length <= 0) revert SettlementPositionsMustMatch();\n disputeStatus[id] = 2;\n }\n}\n" + } + }, + "settings": { + "remappings": [ + "ds-test/=lib/forge-std/lib/ds-test/src/", + "forge-std/=lib/forge-std/src/", + "murky/=lib/murky/src/", + "permit2/=lib/permit2/", + "solmate/=lib/solmate/", + "forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/", + "openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/" + ], + "optimizer": { + "enabled": true, + "runs": 20000 + }, + "metadata": { + "useLiteralContent": false, + "bytecodeHash": "ipfs" + }, + "outputSelection": { + "*": { + "": [ + "ast" + ], + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ] + } + }, + "evmVersion": "london", + "viaIR": true, + "libraries": { + "src/libraries/CriteriaResolution.sol": { + "CriteriaResolution": "0x17c1e395FE81a90af2D0289a009317D5aCB98f9F" + } + } + } + }, + "id": "79a4e34293e494d5310d8cab35bd6873", + "output": { + "errors": [ + { + "sourceLocation": { + "file": "script/deploy.sol", + "start": 526, + "end": 3553 + }, + "type": "Warning", + "component": "general", + "severity": "warning", + "errorCode": "5574", + "message": "Contract code size is 30331 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.", + "formattedMessage": "Warning: Contract code size is 30331 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> script/deploy.sol:15:1:\n |\n15 | contract DeployStack is Script, DeploymentUtils {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n" + }, + { + "sourceLocation": { + "file": "test/Arbitrator.t.sol", + "start": 774, + "end": 8014 + }, + "type": "Warning", + "component": "general", + "severity": "warning", + "errorCode": "5574", + "message": "Contract code size is 35753 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.", + "formattedMessage": "Warning: Contract code size is 35753 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/Arbitrator.t.sol:20:1:\n |\n20 | contract ArbitratorTest is Test, TestConstants, TokenProvider, PermitSignature {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n" + }, + { + "sourceLocation": { + "file": "test/CollateralAgreement.t.sol", + "start": 1439, + "end": 22115 + }, + "type": "Warning", + "component": "general", + "severity": "warning", + "errorCode": "5574", + "message": "Contract code size is 57772 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.", + "formattedMessage": "Warning: Contract code size is 57772 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/CollateralAgreement.t.sol:38:1:\n |\n38 | contract CollateralAgreementFrameworkTest is\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n" + } + ], + "sources": { + "lib/forge-std/lib/ds-test/src/test.sol": { + "id": 0, + "ast": { + "absolutePath": "lib/forge-std/lib/ds-test/src/test.sol", + "id": 1787, + "exportedSymbols": { + "DSTest": [ + 1786 + ] + }, + "nodeType": "SourceUnit", + "src": "689:15462:0", + "nodes": [ + { + "id": 1, + "nodeType": "PragmaDirective", + "src": "689:24:0", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.5", + ".0" + ] + }, + { + "id": 1786, + "nodeType": "ContractDefinition", + "src": "715:15435:0", + "nodes": [ + { + "id": 5, + "nodeType": "EventDefinition", + "src": "737:38:0", + "nodes": [], + "anonymous": false, + "eventSelector": "41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "name": "log", + "nameLocation": "743:3:0", + "parameters": { + "id": 4, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5, + "src": "767:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "767:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "766:8:0" + } + }, + { + "id": 9, + "nodeType": "EventDefinition", + "src": "780:37:0", + "nodes": [], + "anonymous": false, + "eventSelector": "e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4", + "name": "logs", + "nameLocation": "786:4:0", + "parameters": { + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "810:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "810:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "809:7:0" + } + }, + { + "id": 13, + "nodeType": "EventDefinition", + "src": "823:39:0", + "nodes": [], + "anonymous": false, + "eventSelector": "7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3", + "name": "log_address", + "nameLocation": "829:11:0", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "853:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "853:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "852:9:0" + } + }, + { + "id": 17, + "nodeType": "EventDefinition", + "src": "867:39:0", + "nodes": [], + "anonymous": false, + "eventSelector": "e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3", + "name": "log_bytes32", + "nameLocation": "873:11:0", + "parameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "897:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "897:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "896:9:0" + } + }, + { + "id": 21, + "nodeType": "EventDefinition", + "src": "911:35:0", + "nodes": [], + "anonymous": false, + "eventSelector": "0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8", + "name": "log_int", + "nameLocation": "917:7:0", + "parameters": { + "id": 20, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "941:3:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 18, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "941:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "940:5:0" + } + }, + { + "id": 25, + "nodeType": "EventDefinition", + "src": "951:36:0", + "nodes": [], + "anonymous": false, + "eventSelector": "2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755", + "name": "log_uint", + "nameLocation": "957:8:0", + "parameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "981:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "981:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "980:6:0" + } + }, + { + "id": 29, + "nodeType": "EventDefinition", + "src": "992:37:0", + "nodes": [], + "anonymous": false, + "eventSelector": "23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20", + "name": "log_bytes", + "nameLocation": "998:9:0", + "parameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "1022:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 26, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1022:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1021:7:0" + } + }, + { + "id": 33, + "nodeType": "EventDefinition", + "src": "1034:38:0", + "nodes": [], + "anonymous": false, + "eventSelector": "0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b", + "name": "log_string", + "nameLocation": "1040:10:0", + "parameters": { + "id": 32, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "1064:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1064:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1063:8:0" + } + }, + { + "id": 39, + "nodeType": "EventDefinition", + "src": "1078:55:0", + "nodes": [], + "anonymous": false, + "eventSelector": "9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f", + "name": "log_named_address", + "nameLocation": "1084:17:0", + "parameters": { + "id": 38, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "1115:3:0", + "nodeType": "VariableDeclaration", + "scope": 39, + "src": "1108:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 34, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1108:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 37, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "1128:3:0", + "nodeType": "VariableDeclaration", + "scope": 39, + "src": "1120:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1120:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1107:25:0" + } + }, + { + "id": 45, + "nodeType": "EventDefinition", + "src": "1138:55:0", + "nodes": [], + "anonymous": false, + "eventSelector": "afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99", + "name": "log_named_bytes32", + "nameLocation": "1144:17:0", + "parameters": { + "id": 44, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "1175:3:0", + "nodeType": "VariableDeclaration", + "scope": 45, + "src": "1168:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 40, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1168:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 43, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "1188:3:0", + "nodeType": "VariableDeclaration", + "scope": 45, + "src": "1180:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 42, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1180:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1167:25:0" + } + }, + { + "id": 53, + "nodeType": "EventDefinition", + "src": "1198:66:0", + "nodes": [], + "anonymous": false, + "eventSelector": "5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95", + "name": "log_named_decimal_int", + "nameLocation": "1204:21:0", + "parameters": { + "id": 52, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 47, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "1235:3:0", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "1228:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 46, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1228:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 49, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "1244:3:0", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "1240:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 48, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "1240:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 51, + "indexed": false, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "1254:8:0", + "nodeType": "VariableDeclaration", + "scope": 53, + "src": "1249:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 50, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1249:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1227:36:0" + } + }, + { + "id": 61, + "nodeType": "EventDefinition", + "src": "1269:67:0", + "nodes": [], + "anonymous": false, + "eventSelector": "eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b", + "name": "log_named_decimal_uint", + "nameLocation": "1275:22:0", + "parameters": { + "id": 60, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "1306:3:0", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "1299:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 54, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1299:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 57, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "1316:3:0", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "1311:8:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 56, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1311:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 59, + "indexed": false, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "1326:8:0", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "1321:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 58, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1321:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1298:37:0" + } + }, + { + "id": 67, + "nodeType": "EventDefinition", + "src": "1341:51:0", + "nodes": [], + "anonymous": false, + "eventSelector": "2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168", + "name": "log_named_int", + "nameLocation": "1347:13:0", + "parameters": { + "id": 66, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 63, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "1378:3:0", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "1371:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 62, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1371:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 65, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "1387:3:0", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "1383:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 64, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "1383:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1370:21:0" + } + }, + { + "id": 73, + "nodeType": "EventDefinition", + "src": "1397:52:0", + "nodes": [], + "anonymous": false, + "eventSelector": "b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8", + "name": "log_named_uint", + "nameLocation": "1403:14:0", + "parameters": { + "id": 72, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 69, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "1434:3:0", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "1427:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 68, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1427:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 71, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "1444:3:0", + "nodeType": "VariableDeclaration", + "scope": 73, + "src": "1439:8:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 70, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1439:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1426:22:0" + } + }, + { + "id": 79, + "nodeType": "EventDefinition", + "src": "1454:53:0", + "nodes": [], + "anonymous": false, + "eventSelector": "d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18", + "name": "log_named_bytes", + "nameLocation": "1460:15:0", + "parameters": { + "id": 78, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 75, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "1491:3:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "1484:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 74, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1484:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 77, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "1502:3:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "1496:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 76, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1496:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1483:23:0" + } + }, + { + "id": 85, + "nodeType": "EventDefinition", + "src": "1512:54:0", + "nodes": [], + "anonymous": false, + "eventSelector": "280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583", + "name": "log_named_string", + "nameLocation": "1518:16:0", + "parameters": { + "id": 84, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 81, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "1549:3:0", + "nodeType": "VariableDeclaration", + "scope": 85, + "src": "1542:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 80, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1542:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 83, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "1561:3:0", + "nodeType": "VariableDeclaration", + "scope": 85, + "src": "1554:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 82, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1554:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1541:24:0" + } + }, + { + "id": 88, + "nodeType": "VariableDeclaration", + "src": "1572:26:0", + "nodes": [], + "constant": false, + "functionSelector": "fa7626d4", + "mutability": "mutable", + "name": "IS_TEST", + "nameLocation": "1584:7:0", + "scope": 1786, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 86, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1572:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": { + "hexValue": "74727565", + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1594:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "visibility": "public" + }, + { + "id": 90, + "nodeType": "VariableDeclaration", + "src": "1604:20:0", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_failed", + "nameLocation": "1617:7:0", + "scope": 1786, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 89, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1604:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "id": 107, + "nodeType": "VariableDeclaration", + "src": "1631:104:0", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "HEVM_ADDRESS", + "nameLocation": "1648:12:0", + "scope": 1786, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 91, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1631:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6865766d20636865617420636f6465", + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1713:17:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + }, + "value": "hevm cheat code" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + } + ], + "id": 100, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1703:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1703:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1695:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 98, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1695:7:0", + "typeDescriptions": {} + } + }, + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1695:37:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 97, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1687:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 96, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "1687:7:0", + "typeDescriptions": {} + } + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1687:46:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1679:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes20_$", + "typeString": "type(bytes20)" + }, + "typeName": { + "id": 94, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "1679:7:0", + "typeDescriptions": {} + } + }, + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1679:55:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + ], + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1671:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 92, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1671:7:0", + "typeDescriptions": {} + } + }, + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1671:64:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 111, + "nodeType": "ModifierDefinition", + "src": "1742:27:0", + "nodes": [], + "body": { + "id": 110, + "nodeType": "Block", + "src": "1763:6:0", + "nodes": [], + "statements": [ + { + "id": 109, + "nodeType": "PlaceholderStatement", + "src": "1765:1:0" + } + ] + }, + "name": "mayRevert", + "nameLocation": "1751:9:0", + "parameters": { + "id": 108, + "nodeType": "ParameterList", + "parameters": [], + "src": "1760:2:0" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 117, + "nodeType": "ModifierDefinition", + "src": "1774:39:0", + "nodes": [], + "body": { + "id": 116, + "nodeType": "Block", + "src": "1807:6:0", + "nodes": [], + "statements": [ + { + "id": 115, + "nodeType": "PlaceholderStatement", + "src": "1809:1:0" + } + ] + }, + "name": "testopts", + "nameLocation": "1783:8:0", + "parameters": { + "id": 114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 113, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 117, + "src": "1792:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 112, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1792:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1791:15:0" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 172, + "nodeType": "FunctionDefinition", + "src": "1819:584:0", + "nodes": [], + "body": { + "id": 171, + "nodeType": "Block", + "src": "1859:544:0", + "nodes": [], + "statements": [ + { + "condition": { + "id": 122, + "name": "_failed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "1873:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 169, + "nodeType": "Block", + "src": "1927:470:0", + "statements": [ + { + "assignments": [ + 127 + ], + "declarations": [ + { + "constant": false, + "id": 127, + "mutability": "mutable", + "name": "globalFailed", + "nameLocation": "1946:12:0", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "1941:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 126, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1941:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 129, + "initialValue": { + "hexValue": "66616c7365", + "id": 128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1961:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1941:25:0" + }, + { + "condition": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 130, + "name": "hasHEVMContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "1984:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1984:16:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 166, + "nodeType": "IfStatement", + "src": "1980:374:0", + "trueBody": { + "id": 165, + "nodeType": "Block", + "src": "2002:352:0", + "statements": [ + { + "assignments": [ + null, + 133 + ], + "declarations": [ + null, + { + "constant": false, + "id": 133, + "mutability": "mutable", + "name": "retdata", + "nameLocation": "2036:7:0", + "nodeType": "VariableDeclaration", + "scope": 165, + "src": "2023:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 132, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2023:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 154, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f616428616464726573732c6279746573333229", + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2145:23:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4", + "typeString": "literal_string \"load(address,bytes32)\"" + }, + "value": "load(address,bytes32)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4", + "typeString": "literal_string \"load(address,bytes32)\"" + } + ], + "id": 140, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2135:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2135:34:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2128:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 138, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2128:6:0", + "typeDescriptions": {} + } + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2128:42:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "arguments": [ + { + "id": 146, + "name": "HEVM_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 107, + "src": "2207:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "6661696c6564", + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2229:8:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43", + "typeString": "literal_string \"failed\"" + }, + "value": "failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43", + "typeString": "literal_string \"failed\"" + } + ], + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2221:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 147, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2221:7:0", + "typeDescriptions": {} + } + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2221:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 144, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2196:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2200:6:0", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2196:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2196:43:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 136, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2086:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2090:12:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2086:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2086:175:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 134, + "name": "HEVM_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 107, + "src": "2047:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2060:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "2047:17:0", + "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": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2047:232:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2020:259:0" + }, + { + "expression": { + "id": 163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 155, + "name": "globalFailed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 127, + "src": "2297:12:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 158, + "name": "retdata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 133, + "src": "2323:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2333:4:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + }, + "typeName": { + "id": 159, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2333:4:0", + "typeDescriptions": {} + } + } + ], + "id": 161, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2332:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + } + ], + "expression": { + "id": 156, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2312:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2316:6:0", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "2312:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2312:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2297:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 164, + "nodeType": "ExpressionStatement", + "src": "2297:42:0" + } + ] + } + }, + { + "expression": { + "id": 167, + "name": "globalFailed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 127, + "src": "2374:12:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 121, + "id": 168, + "nodeType": "Return", + "src": "2367:19:0" + } + ] + }, + "id": 170, + "nodeType": "IfStatement", + "src": "1869:528:0", + "trueBody": { + "id": 125, + "nodeType": "Block", + "src": "1882:39:0", + "statements": [ + { + "expression": { + "id": 123, + "name": "_failed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "1903:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 121, + "id": 124, + "nodeType": "Return", + "src": "1896:14:0" + } + ] + } + } + ] + }, + "functionSelector": "ba414fa6", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "failed", + "nameLocation": "1828:6:0", + "parameters": { + "id": 118, + "nodeType": "ParameterList", + "parameters": [], + "src": "1834:2:0" + }, + "returnParameters": { + "id": 121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 172, + "src": "1853:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 119, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1853:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1852:6:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 216, + "nodeType": "FunctionDefinition", + "src": "2410:424:0", + "nodes": [], + "body": { + "id": 215, + "nodeType": "Block", + "src": "2435:399:0", + "nodes": [], + "statements": [ + { + "condition": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 175, + "name": "hasHEVMContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 231, + "src": "2449:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2449:16:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 210, + "nodeType": "IfStatement", + "src": "2445:359:0", + "trueBody": { + "id": 209, + "nodeType": "Block", + "src": "2467:337:0", + "statements": [ + { + "assignments": [ + 178, + null + ], + "declarations": [ + { + "constant": false, + "id": 178, + "mutability": "mutable", + "name": "status", + "nameLocation": "2487:6:0", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "2482:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 177, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2482:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 206, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "73746f726528616464726573732c627974657333322c6279746573333229", + "id": 186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2589:32:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4", + "typeString": "literal_string \"store(address,bytes32,bytes32)\"" + }, + "value": "store(address,bytes32,bytes32)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4", + "typeString": "literal_string \"store(address,bytes32,bytes32)\"" + } + ], + "id": 185, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2579:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2579:43:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2572:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 183, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2572:6:0", + "typeDescriptions": {} + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2572:51:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "arguments": [ + { + "id": 191, + "name": "HEVM_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 107, + "src": "2656:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "6661696c6564", + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2678:8:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43", + "typeString": "literal_string \"failed\"" + }, + "value": "failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43", + "typeString": "literal_string \"failed\"" + } + ], + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2670:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 192, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2670:7:0", + "typeDescriptions": {} + } + }, + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2670:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30783031", + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2705:4:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x01" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2697:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2697:7:0", + "typeDescriptions": {} + } + }, + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2697:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2689:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 196, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2689:7:0", + "typeDescriptions": {} + } + }, + "id": 202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2689:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 189, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2645:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2649:6:0", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2645:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2645:67:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 181, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2534:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2538:12:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2534:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2534:196:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 179, + "name": "HEVM_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 107, + "src": "2499:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2512:4:0", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "2499:17:0", + "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": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2499:245:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2481:263:0" + }, + { + "expression": { + "id": 207, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 178, + "src": "2758:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 208, + "nodeType": "ExpressionStatement", + "src": "2758:6:0" + } + ] + } + }, + { + "expression": { + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 211, + "name": "_failed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "2813:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2823:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2813:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 214, + "nodeType": "ExpressionStatement", + "src": "2813:14:0" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "fail", + "nameLocation": "2419:4:0", + "parameters": { + "id": 173, + "nodeType": "ParameterList", + "parameters": [], + "src": "2423:2:0" + }, + "returnParameters": { + "id": 174, + "nodeType": "ParameterList", + "parameters": [], + "src": "2435:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 231, + "nodeType": "FunctionDefinition", + "src": "2840:242:0", + "nodes": [], + "body": { + "id": 230, + "nodeType": "Block", + "src": "2895:187:0", + "nodes": [], + "statements": [ + { + "assignments": [ + 222 + ], + "declarations": [ + { + "constant": false, + "id": 222, + "mutability": "mutable", + "name": "hevmCodeSize", + "nameLocation": "2913:12:0", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "2905:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 221, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2905:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 224, + "initialValue": { + "hexValue": "30", + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2928:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2905:24:0" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "2948:95:0", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2962:71:0", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2990:42:0", + "type": "", + "value": "0x7109709ECfa91a80626fF3989D68f67F5b1DD12D" + } + ], + "functionName": { + "name": "extcodesize", + "nodeType": "YulIdentifier", + "src": "2978:11:0" + }, + "nodeType": "YulFunctionCall", + "src": "2978:55:0" + }, + "variableNames": [ + { + "name": "hevmCodeSize", + "nodeType": "YulIdentifier", + "src": "2962:12:0" + } + ] + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 222, + "isOffset": false, + "isSlot": false, + "src": "2962:12:0", + "valueSize": 1 + } + ], + "id": 225, + "nodeType": "InlineAssembly", + "src": "2939:104:0" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 226, + "name": "hevmCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "3059:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3074:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3059:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 220, + "id": 229, + "nodeType": "Return", + "src": "3052:23:0" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasHEVMContext", + "nameLocation": "2849:14:0", + "parameters": { + "id": 217, + "nodeType": "ParameterList", + "parameters": [], + "src": "2863:2:0" + }, + "returnParameters": { + "id": 220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 219, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 231, + "src": "2889:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 218, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2889:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2888:6:0" + }, + "scope": 1786, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 252, + "nodeType": "ModifierDefinition", + "src": "3088:161:0", + "nodes": [], + "body": { + "id": 251, + "nodeType": "Block", + "src": "3108:141:0", + "nodes": [], + "statements": [ + { + "assignments": [ + 234 + ], + "declarations": [ + { + "constant": false, + "id": 234, + "mutability": "mutable", + "name": "startGas", + "nameLocation": "3123:8:0", + "nodeType": "VariableDeclaration", + "scope": 251, + "src": "3118:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 233, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3118:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 237, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 235, + "name": "gasleft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -7, + "src": "3134:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3134:9:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3118:25:0" + }, + { + "id": 238, + "nodeType": "PlaceholderStatement", + "src": "3153:1:0" + }, + { + "assignments": [ + 240 + ], + "declarations": [ + { + "constant": false, + "id": 240, + "mutability": "mutable", + "name": "endGas", + "nameLocation": "3169:6:0", + "nodeType": "VariableDeclaration", + "scope": 251, + "src": "3164:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 239, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3164:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 243, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 241, + "name": "gasleft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -7, + "src": "3178:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3178:9:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3164:23:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "676173", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3217:5:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7", + "typeString": "literal_string \"gas\"" + }, + "value": "gas" + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 246, + "name": "startGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "3224:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 247, + "name": "endGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 240, + "src": "3235:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3224:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7", + "typeString": "literal_string \"gas\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 244, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "3202:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3202:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 250, + "nodeType": "EmitStatement", + "src": "3197:45:0" + } + ] + }, + "name": "logs_gas", + "nameLocation": "3097:8:0", + "parameters": { + "id": 232, + "nodeType": "ParameterList", + "parameters": [], + "src": "3105:2:0" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 269, + "nodeType": "FunctionDefinition", + "src": "3255:157:0", + "nodes": [], + "body": { + "id": 268, + "nodeType": "Block", + "src": "3300:112:0", + "nodes": [], + "statements": [ + { + "condition": { + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3314:10:0", + "subExpression": { + "id": 257, + "name": "condition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 254, + "src": "3315:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 267, + "nodeType": "IfStatement", + "src": "3310:96:0", + "trueBody": { + "id": 266, + "nodeType": "Block", + "src": "3326:80:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a20417373657274696f6e204661696c6564", + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3349:25:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687", + "typeString": "literal_string \"Error: Assertion Failed\"" + }, + "value": "Error: Assertion Failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687", + "typeString": "literal_string \"Error: Assertion Failed\"" + } + ], + "id": 259, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "3345:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3345:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 262, + "nodeType": "EmitStatement", + "src": "3340:35:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 263, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "3389:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3389:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "3389:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertTrue", + "nameLocation": "3264:10:0", + "parameters": { + "id": 255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 254, + "mutability": "mutable", + "name": "condition", + "nameLocation": "3280:9:0", + "nodeType": "VariableDeclaration", + "scope": 269, + "src": "3275:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 253, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3275:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3274:16:0" + }, + "returnParameters": { + "id": 256, + "nodeType": "ParameterList", + "parameters": [], + "src": "3300:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 290, + "nodeType": "FunctionDefinition", + "src": "3418:191:0", + "nodes": [], + "body": { + "id": 289, + "nodeType": "Block", + "src": "3482:127:0", + "nodes": [], + "statements": [ + { + "condition": { + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3496:10:0", + "subExpression": { + "id": 276, + "name": "condition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 271, + "src": "3497:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 288, + "nodeType": "IfStatement", + "src": "3492:111:0", + "trueBody": { + "id": 287, + "nodeType": "Block", + "src": "3508:95:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3544:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 280, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 273, + "src": "3553:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 278, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "3527:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3527:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 282, + "nodeType": "EmitStatement", + "src": "3522:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 284, + "name": "condition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 271, + "src": "3582:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 283, + "name": "assertTrue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 269, + 290 + ], + "referencedDeclaration": 269, + "src": "3571:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3571:21:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 286, + "nodeType": "ExpressionStatement", + "src": "3571:21:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertTrue", + "nameLocation": "3427:10:0", + "parameters": { + "id": 274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 271, + "mutability": "mutable", + "name": "condition", + "nameLocation": "3443:9:0", + "nodeType": "VariableDeclaration", + "scope": 290, + "src": "3438:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 270, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3438:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 273, + "mutability": "mutable", + "name": "err", + "nameLocation": "3468:3:0", + "nodeType": "VariableDeclaration", + "scope": 290, + "src": "3454:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 272, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3454:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3437:35:0" + }, + "returnParameters": { + "id": 275, + "nodeType": "ParameterList", + "parameters": [], + "src": "3482:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 320, + "nodeType": "FunctionDefinition", + "src": "3615:277:0", + "nodes": [], + "body": { + "id": 319, + "nodeType": "Block", + "src": "3664:228:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 297, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 292, + "src": "3678:1:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 298, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3683:1:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3678:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 318, + "nodeType": "IfStatement", + "src": "3674:212:0", + "trueBody": { + "id": 317, + "nodeType": "Block", + "src": "3686:200:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d", + "id": 301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3709:39:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017", + "typeString": "literal_string \"Error: a == b not satisfied [address]\"" + }, + "value": "Error: a == b not satisfied [address]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017", + "typeString": "literal_string \"Error: a == b not satisfied [address]\"" + } + ], + "id": 300, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "3705:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3705:44:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 303, + "nodeType": "EmitStatement", + "src": "3700:49:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3786:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 306, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "3800:1:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 304, + "name": "log_named_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "3768:17:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address)" + } + }, + "id": 307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3768:34:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 308, + "nodeType": "EmitStatement", + "src": "3763:39:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3839:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 311, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 292, + "src": "3853:1:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 309, + "name": "log_named_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "3821:17:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address)" + } + }, + "id": 312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3821:34:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 313, + "nodeType": "EmitStatement", + "src": "3816:39:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 314, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "3869:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3869:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 316, + "nodeType": "ExpressionStatement", + "src": "3869:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "3624:8:0", + "parameters": { + "id": 295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 292, + "mutability": "mutable", + "name": "a", + "nameLocation": "3641:1:0", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "3633:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 291, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3633:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "b", + "nameLocation": "3652:1:0", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "3644:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 293, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3644:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3632:22:0" + }, + "returnParameters": { + "id": 296, + "nodeType": "ParameterList", + "parameters": [], + "src": "3664:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 345, + "nodeType": "FunctionDefinition", + "src": "3897:185:0", + "nodes": [], + "body": { + "id": 344, + "nodeType": "Block", + "src": "3965:117:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 329, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 322, + "src": "3979:1:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 330, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "3984:1:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3979:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 343, + "nodeType": "IfStatement", + "src": "3975:101:0", + "trueBody": { + "id": 342, + "nodeType": "Block", + "src": "3987:89:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4024:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 334, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "4033:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 332, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "4006:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4006:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 336, + "nodeType": "EmitStatement", + "src": "4001:36:0" + }, + { + "expression": { + "arguments": [ + { + "id": 338, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 322, + "src": "4060:1:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 339, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "4063:1:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 337, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 320, + "src": "4051:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4051:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 341, + "nodeType": "ExpressionStatement", + "src": "4051:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "3906:8:0", + "parameters": { + "id": 327, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 322, + "mutability": "mutable", + "name": "a", + "nameLocation": "3923:1:0", + "nodeType": "VariableDeclaration", + "scope": 345, + "src": "3915:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3915:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 324, + "mutability": "mutable", + "name": "b", + "nameLocation": "3934:1:0", + "nodeType": "VariableDeclaration", + "scope": 345, + "src": "3926:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 323, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3926:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 326, + "mutability": "mutable", + "name": "err", + "nameLocation": "3951:3:0", + "nodeType": "VariableDeclaration", + "scope": 345, + "src": "3937:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 325, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3937:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3914:41:0" + }, + "returnParameters": { + "id": 328, + "nodeType": "ParameterList", + "parameters": [], + "src": "3965:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 375, + "nodeType": "FunctionDefinition", + "src": "4088:277:0", + "nodes": [], + "body": { + "id": 374, + "nodeType": "Block", + "src": "4137:228:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 352, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 347, + "src": "4151:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 353, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "4156:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4151:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 373, + "nodeType": "IfStatement", + "src": "4147:212:0", + "trueBody": { + "id": 372, + "nodeType": "Block", + "src": "4159:200:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974657333325d", + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4182:39:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef", + "typeString": "literal_string \"Error: a == b not satisfied [bytes32]\"" + }, + "value": "Error: a == b not satisfied [bytes32]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef", + "typeString": "literal_string \"Error: a == b not satisfied [bytes32]\"" + } + ], + "id": 355, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "4178:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4178:44:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 358, + "nodeType": "EmitStatement", + "src": "4173:49:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4259:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 361, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "4273:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 359, + "name": "log_named_bytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "4241:17:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (string memory,bytes32)" + } + }, + "id": 362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4241:34:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 363, + "nodeType": "EmitStatement", + "src": "4236:39:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4312:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 366, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 347, + "src": "4326:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 364, + "name": "log_named_bytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "4294:17:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (string memory,bytes32)" + } + }, + "id": 367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4294:34:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 368, + "nodeType": "EmitStatement", + "src": "4289:39:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 369, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "4342:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4342:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 371, + "nodeType": "ExpressionStatement", + "src": "4342:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "4097:8:0", + "parameters": { + "id": 350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 347, + "mutability": "mutable", + "name": "a", + "nameLocation": "4114:1:0", + "nodeType": "VariableDeclaration", + "scope": 375, + "src": "4106:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 346, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4106:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 349, + "mutability": "mutable", + "name": "b", + "nameLocation": "4125:1:0", + "nodeType": "VariableDeclaration", + "scope": 375, + "src": "4117:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 348, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4117:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4105:22:0" + }, + "returnParameters": { + "id": 351, + "nodeType": "ParameterList", + "parameters": [], + "src": "4137:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 400, + "nodeType": "FunctionDefinition", + "src": "4370:185:0", + "nodes": [], + "body": { + "id": 399, + "nodeType": "Block", + "src": "4438:117:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 384, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 377, + "src": "4452:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 385, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 379, + "src": "4457:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4452:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 398, + "nodeType": "IfStatement", + "src": "4448:101:0", + "trueBody": { + "id": 397, + "nodeType": "Block", + "src": "4460:89:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4497:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 389, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "4506:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 387, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "4479:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4479:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 391, + "nodeType": "EmitStatement", + "src": "4474:36:0" + }, + { + "expression": { + "arguments": [ + { + "id": 393, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 377, + "src": "4533:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 394, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 379, + "src": "4536:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 392, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 375, + "src": "4524:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4524:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 396, + "nodeType": "ExpressionStatement", + "src": "4524:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "4379:8:0", + "parameters": { + "id": 382, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 377, + "mutability": "mutable", + "name": "a", + "nameLocation": "4396:1:0", + "nodeType": "VariableDeclaration", + "scope": 400, + "src": "4388:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4388:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 379, + "mutability": "mutable", + "name": "b", + "nameLocation": "4407:1:0", + "nodeType": "VariableDeclaration", + "scope": 400, + "src": "4399:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 378, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4399:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 381, + "mutability": "mutable", + "name": "err", + "nameLocation": "4424:3:0", + "nodeType": "VariableDeclaration", + "scope": 400, + "src": "4410:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 380, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4410:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4387:41:0" + }, + "returnParameters": { + "id": 383, + "nodeType": "ParameterList", + "parameters": [], + "src": "4438:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 413, + "nodeType": "FunctionDefinition", + "src": "4560:82:0", + "nodes": [], + "body": { + "id": 412, + "nodeType": "Block", + "src": "4611:31:0", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 408, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 402, + "src": "4630:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 409, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 404, + "src": "4633:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 407, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 375, + "src": "4621:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4621:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 411, + "nodeType": "ExpressionStatement", + "src": "4621:14:0" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq32", + "nameLocation": "4569:10:0", + "parameters": { + "id": 405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 402, + "mutability": "mutable", + "name": "a", + "nameLocation": "4588:1:0", + "nodeType": "VariableDeclaration", + "scope": 413, + "src": "4580:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 401, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4580:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 404, + "mutability": "mutable", + "name": "b", + "nameLocation": "4599:1:0", + "nodeType": "VariableDeclaration", + "scope": 413, + "src": "4591:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 403, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4591:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4579:22:0" + }, + "returnParameters": { + "id": 406, + "nodeType": "ParameterList", + "parameters": [], + "src": "4611:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 429, + "nodeType": "FunctionDefinition", + "src": "4647:106:0", + "nodes": [], + "body": { + "id": 428, + "nodeType": "Block", + "src": "4717:36:0", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 423, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 415, + "src": "4736:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 424, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 417, + "src": "4739:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 425, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 419, + "src": "4742:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 422, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 400, + "src": "4727:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes32,bytes32,string memory)" + } + }, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4727:19:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 427, + "nodeType": "ExpressionStatement", + "src": "4727:19:0" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq32", + "nameLocation": "4656:10:0", + "parameters": { + "id": 420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 415, + "mutability": "mutable", + "name": "a", + "nameLocation": "4675:1:0", + "nodeType": "VariableDeclaration", + "scope": 429, + "src": "4667:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 414, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4667:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "b", + "nameLocation": "4686:1:0", + "nodeType": "VariableDeclaration", + "scope": 429, + "src": "4678:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 416, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4678:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 419, + "mutability": "mutable", + "name": "err", + "nameLocation": "4703:3:0", + "nodeType": "VariableDeclaration", + "scope": 429, + "src": "4689:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 418, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4689:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4666:41:0" + }, + "returnParameters": { + "id": 421, + "nodeType": "ParameterList", + "parameters": [], + "src": "4717:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 459, + "nodeType": "FunctionDefinition", + "src": "4759:257:0", + "nodes": [], + "body": { + "id": 458, + "nodeType": "Block", + "src": "4800:216:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 436, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4814:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 437, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4819:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "4814:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 457, + "nodeType": "IfStatement", + "src": "4810:200:0", + "trueBody": { + "id": 456, + "nodeType": "Block", + "src": "4822:188:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e745d", + "id": 440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4845:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81", + "typeString": "literal_string \"Error: a == b not satisfied [int]\"" + }, + "value": "Error: a == b not satisfied [int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81", + "typeString": "literal_string \"Error: a == b not satisfied [int]\"" + } + ], + "id": 439, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "4841:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4841:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 442, + "nodeType": "EmitStatement", + "src": "4836:45:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4914:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 445, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 433, + "src": "4928:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 443, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "4900:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4900:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 447, + "nodeType": "EmitStatement", + "src": "4895:35:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4963:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 450, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "4977:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 448, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "4949:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4949:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 452, + "nodeType": "EmitStatement", + "src": "4944:35:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 453, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "4993:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4993:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 455, + "nodeType": "ExpressionStatement", + "src": "4993:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "4768:8:0", + "parameters": { + "id": 434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 431, + "mutability": "mutable", + "name": "a", + "nameLocation": "4781:1:0", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "4777:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 430, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "4777:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 433, + "mutability": "mutable", + "name": "b", + "nameLocation": "4788:1:0", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "4784:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 432, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "4784:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4776:14:0" + }, + "returnParameters": { + "id": 435, + "nodeType": "ParameterList", + "parameters": [], + "src": "4800:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 484, + "nodeType": "FunctionDefinition", + "src": "5021:176:0", + "nodes": [], + "body": { + "id": 483, + "nodeType": "Block", + "src": "5081:116:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 468, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "5095:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 469, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 463, + "src": "5100:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "5095:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 482, + "nodeType": "IfStatement", + "src": "5091:100:0", + "trueBody": { + "id": 481, + "nodeType": "Block", + "src": "5103:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5139:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 473, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "5148:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 471, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "5122:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5122:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 475, + "nodeType": "EmitStatement", + "src": "5117:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 477, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "5175:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 478, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 463, + "src": "5178:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 476, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 459, + "src": "5166:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", + "typeString": "function (int256,int256)" + } + }, + "id": 479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5166:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 480, + "nodeType": "ExpressionStatement", + "src": "5166:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "5030:8:0", + "parameters": { + "id": 466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 461, + "mutability": "mutable", + "name": "a", + "nameLocation": "5043:1:0", + "nodeType": "VariableDeclaration", + "scope": 484, + "src": "5039:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 460, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "5039:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 463, + "mutability": "mutable", + "name": "b", + "nameLocation": "5050:1:0", + "nodeType": "VariableDeclaration", + "scope": 484, + "src": "5046:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 462, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "5046:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 465, + "mutability": "mutable", + "name": "err", + "nameLocation": "5067:3:0", + "nodeType": "VariableDeclaration", + "scope": 484, + "src": "5053:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5053:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5038:33:0" + }, + "returnParameters": { + "id": 467, + "nodeType": "ParameterList", + "parameters": [], + "src": "5081:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 514, + "nodeType": "FunctionDefinition", + "src": "5202:262:0", + "nodes": [], + "body": { + "id": 513, + "nodeType": "Block", + "src": "5245:219:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 491, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 486, + "src": "5259:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 492, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 488, + "src": "5264:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5259:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 512, + "nodeType": "IfStatement", + "src": "5255:203:0", + "trueBody": { + "id": 511, + "nodeType": "Block", + "src": "5267:191:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745d", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5290:36:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183", + "typeString": "literal_string \"Error: a == b not satisfied [uint]\"" + }, + "value": "Error: a == b not satisfied [uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183", + "typeString": "literal_string \"Error: a == b not satisfied [uint]\"" + } + ], + "id": 494, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "5286:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5286:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 497, + "nodeType": "EmitStatement", + "src": "5281:46:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5361:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 500, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 488, + "src": "5375:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 498, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "5346:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5346:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 502, + "nodeType": "EmitStatement", + "src": "5341:36:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5411:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 505, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 486, + "src": "5425:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 503, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "5396:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5396:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 507, + "nodeType": "EmitStatement", + "src": "5391:36:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 508, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "5441:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5441:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 510, + "nodeType": "ExpressionStatement", + "src": "5441:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "5211:8:0", + "parameters": { + "id": 489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 486, + "mutability": "mutable", + "name": "a", + "nameLocation": "5225:1:0", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "5220:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 485, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5220:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 488, + "mutability": "mutable", + "name": "b", + "nameLocation": "5233:1:0", + "nodeType": "VariableDeclaration", + "scope": 514, + "src": "5228:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 487, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5228:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5219:16:0" + }, + "returnParameters": { + "id": 490, + "nodeType": "ParameterList", + "parameters": [], + "src": "5245:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 539, + "nodeType": "FunctionDefinition", + "src": "5469:178:0", + "nodes": [], + "body": { + "id": 538, + "nodeType": "Block", + "src": "5531:116:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 523, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 516, + "src": "5545:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 524, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 518, + "src": "5550:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5545:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 537, + "nodeType": "IfStatement", + "src": "5541:100:0", + "trueBody": { + "id": 536, + "nodeType": "Block", + "src": "5553:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5589:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 528, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 520, + "src": "5598:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 526, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "5572:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5572:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 530, + "nodeType": "EmitStatement", + "src": "5567:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 532, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 516, + "src": "5625:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 533, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 518, + "src": "5628:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 531, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "5616:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5616:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 535, + "nodeType": "ExpressionStatement", + "src": "5616:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "5478:8:0", + "parameters": { + "id": 521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 516, + "mutability": "mutable", + "name": "a", + "nameLocation": "5492:1:0", + "nodeType": "VariableDeclaration", + "scope": 539, + "src": "5487:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 515, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5487:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 518, + "mutability": "mutable", + "name": "b", + "nameLocation": "5500:1:0", + "nodeType": "VariableDeclaration", + "scope": 539, + "src": "5495:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 517, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5495:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 520, + "mutability": "mutable", + "name": "err", + "nameLocation": "5517:3:0", + "nodeType": "VariableDeclaration", + "scope": 539, + "src": "5503:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 519, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5503:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5486:35:0" + }, + "returnParameters": { + "id": 522, + "nodeType": "ParameterList", + "parameters": [], + "src": "5531:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 573, + "nodeType": "FunctionDefinition", + "src": "5652:323:0", + "nodes": [], + "body": { + "id": 572, + "nodeType": "Block", + "src": "5715:260:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 548, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 541, + "src": "5729:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 549, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "5734:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "5729:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 571, + "nodeType": "IfStatement", + "src": "5725:244:0", + "trueBody": { + "id": 570, + "nodeType": "Block", + "src": "5737:232:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c20696e745d", + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5760:43:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6", + "typeString": "literal_string \"Error: a == b not satisfied [decimal int]\"" + }, + "value": "Error: a == b not satisfied [decimal int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6", + "typeString": "literal_string \"Error: a == b not satisfied [decimal int]\"" + } + ], + "id": 551, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "5756:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5756:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 554, + "nodeType": "EmitStatement", + "src": "5751:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5845:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 557, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "5859:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 558, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5862:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 555, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "5823:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5823:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 560, + "nodeType": "EmitStatement", + "src": "5818:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5912:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 563, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 541, + "src": "5926:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 564, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5929:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 561, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "5890:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5890:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 566, + "nodeType": "EmitStatement", + "src": "5885:53:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 567, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "5952:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5952:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 569, + "nodeType": "ExpressionStatement", + "src": "5952:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEqDecimal", + "nameLocation": "5661:15:0", + "parameters": { + "id": 546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 541, + "mutability": "mutable", + "name": "a", + "nameLocation": "5681:1:0", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "5677:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 540, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "5677:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 543, + "mutability": "mutable", + "name": "b", + "nameLocation": "5688:1:0", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "5684:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 542, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "5684:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 545, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "5696:8:0", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "5691:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 544, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5691:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5676:29:0" + }, + "returnParameters": { + "id": 547, + "nodeType": "ParameterList", + "parameters": [], + "src": "5715:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 601, + "nodeType": "FunctionDefinition", + "src": "5980:215:0", + "nodes": [], + "body": { + "id": 600, + "nodeType": "Block", + "src": "6062:133:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 584, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 575, + "src": "6076:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 585, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 577, + "src": "6081:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "6076:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 599, + "nodeType": "IfStatement", + "src": "6072:117:0", + "trueBody": { + "id": 598, + "nodeType": "Block", + "src": "6084:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6120:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 589, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "6129:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 587, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "6103:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6103:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 591, + "nodeType": "EmitStatement", + "src": "6098:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 593, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 575, + "src": "6163:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 594, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 577, + "src": "6166:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 595, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "6169:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 592, + "name": "assertEqDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 573, + 601, + 635, + 663 + ], + "referencedDeclaration": 573, + "src": "6147:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (int256,int256,uint256)" + } + }, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6147:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 597, + "nodeType": "ExpressionStatement", + "src": "6147:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEqDecimal", + "nameLocation": "5989:15:0", + "parameters": { + "id": 582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 575, + "mutability": "mutable", + "name": "a", + "nameLocation": "6009:1:0", + "nodeType": "VariableDeclaration", + "scope": 601, + "src": "6005:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 574, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "6005:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 577, + "mutability": "mutable", + "name": "b", + "nameLocation": "6016:1:0", + "nodeType": "VariableDeclaration", + "scope": 601, + "src": "6012:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 576, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "6012:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 579, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "6024:8:0", + "nodeType": "VariableDeclaration", + "scope": 601, + "src": "6019:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 578, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6019:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 581, + "mutability": "mutable", + "name": "err", + "nameLocation": "6048:3:0", + "nodeType": "VariableDeclaration", + "scope": 601, + "src": "6034:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 580, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6034:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6004:48:0" + }, + "returnParameters": { + "id": 583, + "nodeType": "ParameterList", + "parameters": [], + "src": "6062:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 635, + "nodeType": "FunctionDefinition", + "src": "6200:328:0", + "nodes": [], + "body": { + "id": 634, + "nodeType": "Block", + "src": "6265:263:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 610, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "6279:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 611, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 605, + "src": "6284:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6279:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 633, + "nodeType": "IfStatement", + "src": "6275:247:0", + "trueBody": { + "id": 632, + "nodeType": "Block", + "src": "6287:235:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d", + "id": 614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6310:44:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141", + "typeString": "literal_string \"Error: a == b not satisfied [decimal uint]\"" + }, + "value": "Error: a == b not satisfied [decimal uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141", + "typeString": "literal_string \"Error: a == b not satisfied [decimal uint]\"" + } + ], + "id": 613, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "6306:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6306:49:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 616, + "nodeType": "EmitStatement", + "src": "6301:54:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6397:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 619, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 605, + "src": "6411:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 620, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 607, + "src": "6414:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 617, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "6374:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6374:49:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 622, + "nodeType": "EmitStatement", + "src": "6369:54:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6465:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 625, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "6479:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 626, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 607, + "src": "6482:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 623, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "6442:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6442:49:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 628, + "nodeType": "EmitStatement", + "src": "6437:54:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 629, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "6505:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6505:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 631, + "nodeType": "ExpressionStatement", + "src": "6505:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEqDecimal", + "nameLocation": "6209:15:0", + "parameters": { + "id": 608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 603, + "mutability": "mutable", + "name": "a", + "nameLocation": "6230:1:0", + "nodeType": "VariableDeclaration", + "scope": 635, + "src": "6225:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 602, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6225:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 605, + "mutability": "mutable", + "name": "b", + "nameLocation": "6238:1:0", + "nodeType": "VariableDeclaration", + "scope": 635, + "src": "6233:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 604, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6233:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 607, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "6246:8:0", + "nodeType": "VariableDeclaration", + "scope": 635, + "src": "6241:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 606, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6241:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6224:31:0" + }, + "returnParameters": { + "id": 609, + "nodeType": "ParameterList", + "parameters": [], + "src": "6265:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 663, + "nodeType": "FunctionDefinition", + "src": "6533:217:0", + "nodes": [], + "body": { + "id": 662, + "nodeType": "Block", + "src": "6617:133:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 646, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 637, + "src": "6631:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 647, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 639, + "src": "6636:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6631:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 661, + "nodeType": "IfStatement", + "src": "6627:117:0", + "trueBody": { + "id": 660, + "nodeType": "Block", + "src": "6639:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6675:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 651, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 643, + "src": "6684:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 649, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "6658:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6658:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 653, + "nodeType": "EmitStatement", + "src": "6653:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 655, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 637, + "src": "6718:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 656, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 639, + "src": "6721:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 657, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 641, + "src": "6724:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 654, + "name": "assertEqDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 573, + 601, + 635, + 663 + ], + "referencedDeclaration": 635, + "src": "6702:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6702:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 659, + "nodeType": "ExpressionStatement", + "src": "6702:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEqDecimal", + "nameLocation": "6542:15:0", + "parameters": { + "id": 644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 637, + "mutability": "mutable", + "name": "a", + "nameLocation": "6563:1:0", + "nodeType": "VariableDeclaration", + "scope": 663, + "src": "6558:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 636, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6558:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 639, + "mutability": "mutable", + "name": "b", + "nameLocation": "6571:1:0", + "nodeType": "VariableDeclaration", + "scope": 663, + "src": "6566:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 638, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6566:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 641, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "6579:8:0", + "nodeType": "VariableDeclaration", + "scope": 663, + "src": "6574:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 640, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6574:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 643, + "mutability": "mutable", + "name": "err", + "nameLocation": "6603:3:0", + "nodeType": "VariableDeclaration", + "scope": 663, + "src": "6589:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 642, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6589:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6557:50:0" + }, + "returnParameters": { + "id": 645, + "nodeType": "ParameterList", + "parameters": [], + "src": "6617:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 693, + "nodeType": "FunctionDefinition", + "src": "6756:259:0", + "nodes": [], + "body": { + "id": 692, + "nodeType": "Block", + "src": "6799:216:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 670, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "6813:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 671, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "6818:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6813:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 691, + "nodeType": "IfStatement", + "src": "6809:200:0", + "trueBody": { + "id": 690, + "nodeType": "Block", + "src": "6821:188:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203e2062206e6f7420736174697366696564205b75696e745d", + "id": 674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6844:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a", + "typeString": "literal_string \"Error: a > b not satisfied [uint]\"" + }, + "value": "Error: a > b not satisfied [uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a", + "typeString": "literal_string \"Error: a > b not satisfied [uint]\"" + } + ], + "id": 673, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "6840:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6840:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 676, + "nodeType": "EmitStatement", + "src": "6835:45:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6914:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 679, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "6927:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 677, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "6899:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6899:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 681, + "nodeType": "EmitStatement", + "src": "6894:35:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6963:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 684, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "6976:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 682, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "6948:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6948:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 686, + "nodeType": "EmitStatement", + "src": "6943:35:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 687, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "6992:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6992:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 689, + "nodeType": "ExpressionStatement", + "src": "6992:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGt", + "nameLocation": "6765:8:0", + "parameters": { + "id": 668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 665, + "mutability": "mutable", + "name": "a", + "nameLocation": "6779:1:0", + "nodeType": "VariableDeclaration", + "scope": 693, + "src": "6774:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 664, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6774:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 667, + "mutability": "mutable", + "name": "b", + "nameLocation": "6787:1:0", + "nodeType": "VariableDeclaration", + "scope": 693, + "src": "6782:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 666, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6782:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6773:16:0" + }, + "returnParameters": { + "id": 669, + "nodeType": "ParameterList", + "parameters": [], + "src": "6799:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 718, + "nodeType": "FunctionDefinition", + "src": "7020:178:0", + "nodes": [], + "body": { + "id": 717, + "nodeType": "Block", + "src": "7082:116:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 702, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "7096:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 703, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "7101:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7096:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 716, + "nodeType": "IfStatement", + "src": "7092:100:0", + "trueBody": { + "id": 715, + "nodeType": "Block", + "src": "7104:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7140:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 707, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 699, + "src": "7149:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 705, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "7123:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7123:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 709, + "nodeType": "EmitStatement", + "src": "7118:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 711, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "7176:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 712, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "7179:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 710, + "name": "assertGt", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 693, + 718, + 748, + 773 + ], + "referencedDeclaration": 693, + "src": "7167:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7167:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 714, + "nodeType": "ExpressionStatement", + "src": "7167:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGt", + "nameLocation": "7029:8:0", + "parameters": { + "id": 700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 695, + "mutability": "mutable", + "name": "a", + "nameLocation": "7043:1:0", + "nodeType": "VariableDeclaration", + "scope": 718, + "src": "7038:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 694, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7038:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 697, + "mutability": "mutable", + "name": "b", + "nameLocation": "7051:1:0", + "nodeType": "VariableDeclaration", + "scope": 718, + "src": "7046:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 696, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7046:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 699, + "mutability": "mutable", + "name": "err", + "nameLocation": "7068:3:0", + "nodeType": "VariableDeclaration", + "scope": 718, + "src": "7054:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 698, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7054:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7037:35:0" + }, + "returnParameters": { + "id": 701, + "nodeType": "ParameterList", + "parameters": [], + "src": "7082:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 748, + "nodeType": "FunctionDefinition", + "src": "7203:254:0", + "nodes": [], + "body": { + "id": 747, + "nodeType": "Block", + "src": "7244:213:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 725, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "7258:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 726, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "7263:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "7258:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 746, + "nodeType": "IfStatement", + "src": "7254:197:0", + "trueBody": { + "id": 745, + "nodeType": "Block", + "src": "7266:185:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203e2062206e6f7420736174697366696564205b696e745d", + "id": 729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7289:34:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b", + "typeString": "literal_string \"Error: a > b not satisfied [int]\"" + }, + "value": "Error: a > b not satisfied [int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b", + "typeString": "literal_string \"Error: a > b not satisfied [int]\"" + } + ], + "id": 728, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "7285:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7285:39:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 731, + "nodeType": "EmitStatement", + "src": "7280:44:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7357:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 734, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "7370:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 732, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "7343:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7343:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 736, + "nodeType": "EmitStatement", + "src": "7338:34:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7405:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 739, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "7418:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 737, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "7391:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7391:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 741, + "nodeType": "EmitStatement", + "src": "7386:34:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 742, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "7434:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7434:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 744, + "nodeType": "ExpressionStatement", + "src": "7434:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGt", + "nameLocation": "7212:8:0", + "parameters": { + "id": 723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 720, + "mutability": "mutable", + "name": "a", + "nameLocation": "7225:1:0", + "nodeType": "VariableDeclaration", + "scope": 748, + "src": "7221:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 719, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "7221:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 722, + "mutability": "mutable", + "name": "b", + "nameLocation": "7232:1:0", + "nodeType": "VariableDeclaration", + "scope": 748, + "src": "7228:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 721, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "7228:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "7220:14:0" + }, + "returnParameters": { + "id": 724, + "nodeType": "ParameterList", + "parameters": [], + "src": "7244:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 773, + "nodeType": "FunctionDefinition", + "src": "7462:176:0", + "nodes": [], + "body": { + "id": 772, + "nodeType": "Block", + "src": "7522:116:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 757, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "7536:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 758, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "7541:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "7536:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 771, + "nodeType": "IfStatement", + "src": "7532:100:0", + "trueBody": { + "id": 770, + "nodeType": "Block", + "src": "7544:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7580:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 762, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7589:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 760, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "7563:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7563:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 764, + "nodeType": "EmitStatement", + "src": "7558:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 766, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 750, + "src": "7616:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 767, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 752, + "src": "7619:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 765, + "name": "assertGt", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 693, + 718, + 748, + 773 + ], + "referencedDeclaration": 748, + "src": "7607:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", + "typeString": "function (int256,int256)" + } + }, + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7607:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 769, + "nodeType": "ExpressionStatement", + "src": "7607:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGt", + "nameLocation": "7471:8:0", + "parameters": { + "id": 755, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 750, + "mutability": "mutable", + "name": "a", + "nameLocation": "7484:1:0", + "nodeType": "VariableDeclaration", + "scope": 773, + "src": "7480:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 749, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "7480:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 752, + "mutability": "mutable", + "name": "b", + "nameLocation": "7491:1:0", + "nodeType": "VariableDeclaration", + "scope": 773, + "src": "7487:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 751, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "7487:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 754, + "mutability": "mutable", + "name": "err", + "nameLocation": "7508:3:0", + "nodeType": "VariableDeclaration", + "scope": 773, + "src": "7494:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 753, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7494:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7479:33:0" + }, + "returnParameters": { + "id": 756, + "nodeType": "ParameterList", + "parameters": [], + "src": "7522:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 807, + "nodeType": "FunctionDefinition", + "src": "7643:320:0", + "nodes": [], + "body": { + "id": 806, + "nodeType": "Block", + "src": "7706:257:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 782, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "7720:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 783, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "7725:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "7720:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 805, + "nodeType": "IfStatement", + "src": "7716:241:0", + "trueBody": { + "id": 804, + "nodeType": "Block", + "src": "7728:229:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c20696e745d", + "id": 786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7751:42:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad", + "typeString": "literal_string \"Error: a > b not satisfied [decimal int]\"" + }, + "value": "Error: a > b not satisfied [decimal int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad", + "typeString": "literal_string \"Error: a > b not satisfied [decimal int]\"" + } + ], + "id": 785, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "7747:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7747:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 788, + "nodeType": "EmitStatement", + "src": "7742:52:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7835:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 791, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "7848:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 792, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "7851:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 789, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "7813:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7813:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 794, + "nodeType": "EmitStatement", + "src": "7808:52:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7901:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 797, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "7914:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 798, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "7917:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 795, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "7879:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7879:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 800, + "nodeType": "EmitStatement", + "src": "7874:52:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 801, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "7940:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7940:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 803, + "nodeType": "ExpressionStatement", + "src": "7940:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGtDecimal", + "nameLocation": "7652:15:0", + "parameters": { + "id": 780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 775, + "mutability": "mutable", + "name": "a", + "nameLocation": "7672:1:0", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "7668:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 774, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "7668:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 777, + "mutability": "mutable", + "name": "b", + "nameLocation": "7679:1:0", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "7675:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 776, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "7675:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 779, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "7687:8:0", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "7682:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 778, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7682:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7667:29:0" + }, + "returnParameters": { + "id": 781, + "nodeType": "ParameterList", + "parameters": [], + "src": "7706:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 835, + "nodeType": "FunctionDefinition", + "src": "7968:215:0", + "nodes": [], + "body": { + "id": 834, + "nodeType": "Block", + "src": "8050:133:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 818, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 809, + "src": "8064:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 819, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "8069:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "8064:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 833, + "nodeType": "IfStatement", + "src": "8060:117:0", + "trueBody": { + "id": 832, + "nodeType": "Block", + "src": "8072:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8108:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 823, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 815, + "src": "8117:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 821, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "8091:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8091:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 825, + "nodeType": "EmitStatement", + "src": "8086:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 827, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 809, + "src": "8151:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 828, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "8154:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 829, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 813, + "src": "8157:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 826, + "name": "assertGtDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 807, + 835, + 869, + 897 + ], + "referencedDeclaration": 807, + "src": "8135:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (int256,int256,uint256)" + } + }, + "id": 830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8135:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 831, + "nodeType": "ExpressionStatement", + "src": "8135:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGtDecimal", + "nameLocation": "7977:15:0", + "parameters": { + "id": 816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 809, + "mutability": "mutable", + "name": "a", + "nameLocation": "7997:1:0", + "nodeType": "VariableDeclaration", + "scope": 835, + "src": "7993:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 808, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "7993:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 811, + "mutability": "mutable", + "name": "b", + "nameLocation": "8004:1:0", + "nodeType": "VariableDeclaration", + "scope": 835, + "src": "8000:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 810, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "8000:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 813, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "8012:8:0", + "nodeType": "VariableDeclaration", + "scope": 835, + "src": "8007:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 812, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8007:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 815, + "mutability": "mutable", + "name": "err", + "nameLocation": "8036:3:0", + "nodeType": "VariableDeclaration", + "scope": 835, + "src": "8022:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 814, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8022:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7992:48:0" + }, + "returnParameters": { + "id": 817, + "nodeType": "ParameterList", + "parameters": [], + "src": "8050:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 869, + "nodeType": "FunctionDefinition", + "src": "8188:325:0", + "nodes": [], + "body": { + "id": 868, + "nodeType": "Block", + "src": "8253:260:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 844, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "8267:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 845, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 839, + "src": "8272:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8267:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 867, + "nodeType": "IfStatement", + "src": "8263:244:0", + "trueBody": { + "id": 866, + "nodeType": "Block", + "src": "8275:232:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c2075696e745d", + "id": 848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8298:43:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f", + "typeString": "literal_string \"Error: a > b not satisfied [decimal uint]\"" + }, + "value": "Error: a > b not satisfied [decimal uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f", + "typeString": "literal_string \"Error: a > b not satisfied [decimal uint]\"" + } + ], + "id": 847, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "8294:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8294:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 850, + "nodeType": "EmitStatement", + "src": "8289:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8384:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 853, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "8397:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 854, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 841, + "src": "8400:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 851, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "8361:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8361:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 856, + "nodeType": "EmitStatement", + "src": "8356:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8451:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 859, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 839, + "src": "8464:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 860, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 841, + "src": "8467:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 857, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "8428:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8428:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 862, + "nodeType": "EmitStatement", + "src": "8423:53:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 863, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "8490:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8490:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 865, + "nodeType": "ExpressionStatement", + "src": "8490:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGtDecimal", + "nameLocation": "8197:15:0", + "parameters": { + "id": 842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 837, + "mutability": "mutable", + "name": "a", + "nameLocation": "8218:1:0", + "nodeType": "VariableDeclaration", + "scope": 869, + "src": "8213:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 836, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8213:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 839, + "mutability": "mutable", + "name": "b", + "nameLocation": "8226:1:0", + "nodeType": "VariableDeclaration", + "scope": 869, + "src": "8221:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 838, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8221:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 841, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "8234:8:0", + "nodeType": "VariableDeclaration", + "scope": 869, + "src": "8229:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 840, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8229:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8212:31:0" + }, + "returnParameters": { + "id": 843, + "nodeType": "ParameterList", + "parameters": [], + "src": "8253:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 897, + "nodeType": "FunctionDefinition", + "src": "8518:217:0", + "nodes": [], + "body": { + "id": 896, + "nodeType": "Block", + "src": "8602:133:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 880, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "8616:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 881, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "8621:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8616:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 895, + "nodeType": "IfStatement", + "src": "8612:117:0", + "trueBody": { + "id": 894, + "nodeType": "Block", + "src": "8624:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8660:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 885, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 877, + "src": "8669:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 883, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "8643:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8643:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 887, + "nodeType": "EmitStatement", + "src": "8638:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 889, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "8703:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 890, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "8706:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 891, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 875, + "src": "8709:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 888, + "name": "assertGtDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 807, + 835, + 869, + 897 + ], + "referencedDeclaration": 869, + "src": "8687:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8687:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 893, + "nodeType": "ExpressionStatement", + "src": "8687:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGtDecimal", + "nameLocation": "8527:15:0", + "parameters": { + "id": 878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 871, + "mutability": "mutable", + "name": "a", + "nameLocation": "8548:1:0", + "nodeType": "VariableDeclaration", + "scope": 897, + "src": "8543:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 870, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8543:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 873, + "mutability": "mutable", + "name": "b", + "nameLocation": "8556:1:0", + "nodeType": "VariableDeclaration", + "scope": 897, + "src": "8551:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 872, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8551:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 875, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "8564:8:0", + "nodeType": "VariableDeclaration", + "scope": 897, + "src": "8559:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 874, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8559:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 877, + "mutability": "mutable", + "name": "err", + "nameLocation": "8588:3:0", + "nodeType": "VariableDeclaration", + "scope": 897, + "src": "8574:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 876, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8574:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8542:50:0" + }, + "returnParameters": { + "id": 879, + "nodeType": "ParameterList", + "parameters": [], + "src": "8602:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 927, + "nodeType": "FunctionDefinition", + "src": "8741:259:0", + "nodes": [], + "body": { + "id": 926, + "nodeType": "Block", + "src": "8784:216:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 904, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "8798:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 905, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 901, + "src": "8802:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8798:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 925, + "nodeType": "IfStatement", + "src": "8794:200:0", + "trueBody": { + "id": 924, + "nodeType": "Block", + "src": "8805:189:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203e3d2062206e6f7420736174697366696564205b75696e745d", + "id": 908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8828:36:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e", + "typeString": "literal_string \"Error: a >= b not satisfied [uint]\"" + }, + "value": "Error: a >= b not satisfied [uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e", + "typeString": "literal_string \"Error: a >= b not satisfied [uint]\"" + } + ], + "id": 907, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "8824:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8824:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 910, + "nodeType": "EmitStatement", + "src": "8819:46:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8899:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 913, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "8912:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 911, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "8884:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8884:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 915, + "nodeType": "EmitStatement", + "src": "8879:35:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8948:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 918, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 901, + "src": "8961:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 916, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "8933:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8933:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 920, + "nodeType": "EmitStatement", + "src": "8928:35:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 921, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "8977:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8977:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 923, + "nodeType": "ExpressionStatement", + "src": "8977:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGe", + "nameLocation": "8750:8:0", + "parameters": { + "id": 902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 899, + "mutability": "mutable", + "name": "a", + "nameLocation": "8764:1:0", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "8759:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 898, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8759:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 901, + "mutability": "mutable", + "name": "b", + "nameLocation": "8772:1:0", + "nodeType": "VariableDeclaration", + "scope": 927, + "src": "8767:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 900, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8767:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8758:16:0" + }, + "returnParameters": { + "id": 903, + "nodeType": "ParameterList", + "parameters": [], + "src": "8784:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 952, + "nodeType": "FunctionDefinition", + "src": "9005:177:0", + "nodes": [], + "body": { + "id": 951, + "nodeType": "Block", + "src": "9067:115:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 936, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 929, + "src": "9081:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 937, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "9085:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9081:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 950, + "nodeType": "IfStatement", + "src": "9077:99:0", + "trueBody": { + "id": 949, + "nodeType": "Block", + "src": "9088:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9124:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 941, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 933, + "src": "9133:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 939, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "9107:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9107:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 943, + "nodeType": "EmitStatement", + "src": "9102:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 945, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 929, + "src": "9160:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 946, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "9163:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 944, + "name": "assertGe", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 927, + 952, + 982, + 1007 + ], + "referencedDeclaration": 927, + "src": "9151:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9151:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 948, + "nodeType": "ExpressionStatement", + "src": "9151:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGe", + "nameLocation": "9014:8:0", + "parameters": { + "id": 934, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 929, + "mutability": "mutable", + "name": "a", + "nameLocation": "9028:1:0", + "nodeType": "VariableDeclaration", + "scope": 952, + "src": "9023:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 928, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9023:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 931, + "mutability": "mutable", + "name": "b", + "nameLocation": "9036:1:0", + "nodeType": "VariableDeclaration", + "scope": 952, + "src": "9031:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 930, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9031:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 933, + "mutability": "mutable", + "name": "err", + "nameLocation": "9053:3:0", + "nodeType": "VariableDeclaration", + "scope": 952, + "src": "9039:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 932, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9039:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9022:35:0" + }, + "returnParameters": { + "id": 935, + "nodeType": "ParameterList", + "parameters": [], + "src": "9067:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 982, + "nodeType": "FunctionDefinition", + "src": "9187:254:0", + "nodes": [], + "body": { + "id": 981, + "nodeType": "Block", + "src": "9228:213:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 959, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 954, + "src": "9242:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 960, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 956, + "src": "9246:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "9242:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 980, + "nodeType": "IfStatement", + "src": "9238:197:0", + "trueBody": { + "id": 979, + "nodeType": "Block", + "src": "9249:186:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203e3d2062206e6f7420736174697366696564205b696e745d", + "id": 963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9272:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6", + "typeString": "literal_string \"Error: a >= b not satisfied [int]\"" + }, + "value": "Error: a >= b not satisfied [int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6", + "typeString": "literal_string \"Error: a >= b not satisfied [int]\"" + } + ], + "id": 962, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "9268:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9268:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 965, + "nodeType": "EmitStatement", + "src": "9263:45:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9341:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 968, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 954, + "src": "9354:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 966, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "9327:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9327:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 970, + "nodeType": "EmitStatement", + "src": "9322:34:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9389:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 973, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 956, + "src": "9402:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 971, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "9375:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9375:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 975, + "nodeType": "EmitStatement", + "src": "9370:34:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 976, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "9418:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9418:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 978, + "nodeType": "ExpressionStatement", + "src": "9418:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGe", + "nameLocation": "9196:8:0", + "parameters": { + "id": 957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 954, + "mutability": "mutable", + "name": "a", + "nameLocation": "9209:1:0", + "nodeType": "VariableDeclaration", + "scope": 982, + "src": "9205:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 953, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "9205:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 956, + "mutability": "mutable", + "name": "b", + "nameLocation": "9216:1:0", + "nodeType": "VariableDeclaration", + "scope": 982, + "src": "9212:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 955, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "9212:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "9204:14:0" + }, + "returnParameters": { + "id": 958, + "nodeType": "ParameterList", + "parameters": [], + "src": "9228:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1007, + "nodeType": "FunctionDefinition", + "src": "9446:175:0", + "nodes": [], + "body": { + "id": 1006, + "nodeType": "Block", + "src": "9506:115:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 991, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "9520:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 992, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "9524:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "9520:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1005, + "nodeType": "IfStatement", + "src": "9516:99:0", + "trueBody": { + "id": 1004, + "nodeType": "Block", + "src": "9527:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9563:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 996, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 988, + "src": "9572:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 994, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "9546:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9546:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 998, + "nodeType": "EmitStatement", + "src": "9541:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1000, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "9599:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1001, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "9602:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 999, + "name": "assertGe", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 927, + 952, + 982, + 1007 + ], + "referencedDeclaration": 982, + "src": "9590:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", + "typeString": "function (int256,int256)" + } + }, + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9590:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1003, + "nodeType": "ExpressionStatement", + "src": "9590:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGe", + "nameLocation": "9455:8:0", + "parameters": { + "id": 989, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 984, + "mutability": "mutable", + "name": "a", + "nameLocation": "9468:1:0", + "nodeType": "VariableDeclaration", + "scope": 1007, + "src": "9464:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 983, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "9464:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 986, + "mutability": "mutable", + "name": "b", + "nameLocation": "9475:1:0", + "nodeType": "VariableDeclaration", + "scope": 1007, + "src": "9471:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 985, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "9471:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 988, + "mutability": "mutable", + "name": "err", + "nameLocation": "9492:3:0", + "nodeType": "VariableDeclaration", + "scope": 1007, + "src": "9478:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 987, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9478:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9463:33:0" + }, + "returnParameters": { + "id": 990, + "nodeType": "ParameterList", + "parameters": [], + "src": "9506:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1041, + "nodeType": "FunctionDefinition", + "src": "9626:320:0", + "nodes": [], + "body": { + "id": 1040, + "nodeType": "Block", + "src": "9689:257:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1016, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1009, + "src": "9703:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1017, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1011, + "src": "9707:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "9703:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1039, + "nodeType": "IfStatement", + "src": "9699:241:0", + "trueBody": { + "id": 1038, + "nodeType": "Block", + "src": "9710:230:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c20696e745d", + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9733:43:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736", + "typeString": "literal_string \"Error: a >= b not satisfied [decimal int]\"" + }, + "value": "Error: a >= b not satisfied [decimal int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736", + "typeString": "literal_string \"Error: a >= b not satisfied [decimal int]\"" + } + ], + "id": 1019, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "9729:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9729:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1022, + "nodeType": "EmitStatement", + "src": "9724:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9818:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1025, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1009, + "src": "9831:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1026, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "9834:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1023, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "9796:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 1027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9796:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1028, + "nodeType": "EmitStatement", + "src": "9791:52:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9884:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1031, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1011, + "src": "9897:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1032, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "9900:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1029, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "9862:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 1033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9862:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1034, + "nodeType": "EmitStatement", + "src": "9857:52:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1035, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "9923:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9923:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1037, + "nodeType": "ExpressionStatement", + "src": "9923:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGeDecimal", + "nameLocation": "9635:15:0", + "parameters": { + "id": 1014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1009, + "mutability": "mutable", + "name": "a", + "nameLocation": "9655:1:0", + "nodeType": "VariableDeclaration", + "scope": 1041, + "src": "9651:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1008, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "9651:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1011, + "mutability": "mutable", + "name": "b", + "nameLocation": "9662:1:0", + "nodeType": "VariableDeclaration", + "scope": 1041, + "src": "9658:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1010, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "9658:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1013, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "9670:8:0", + "nodeType": "VariableDeclaration", + "scope": 1041, + "src": "9665:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1012, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9665:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9650:29:0" + }, + "returnParameters": { + "id": 1015, + "nodeType": "ParameterList", + "parameters": [], + "src": "9689:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1069, + "nodeType": "FunctionDefinition", + "src": "9951:214:0", + "nodes": [], + "body": { + "id": 1068, + "nodeType": "Block", + "src": "10033:132:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1052, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1043, + "src": "10047:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1053, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1045, + "src": "10051:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "10047:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1067, + "nodeType": "IfStatement", + "src": "10043:116:0", + "trueBody": { + "id": 1066, + "nodeType": "Block", + "src": "10054:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10090:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1057, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1049, + "src": "10099:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1055, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "10073:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10073:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1059, + "nodeType": "EmitStatement", + "src": "10068:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1061, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1043, + "src": "10133:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1062, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1045, + "src": "10136:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1063, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1047, + "src": "10139:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1060, + "name": "assertGeDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1041, + 1069, + 1103, + 1131 + ], + "referencedDeclaration": 1041, + "src": "10117:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (int256,int256,uint256)" + } + }, + "id": 1064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10117:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1065, + "nodeType": "ExpressionStatement", + "src": "10117:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGeDecimal", + "nameLocation": "9960:15:0", + "parameters": { + "id": 1050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1043, + "mutability": "mutable", + "name": "a", + "nameLocation": "9980:1:0", + "nodeType": "VariableDeclaration", + "scope": 1069, + "src": "9976:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1042, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "9976:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1045, + "mutability": "mutable", + "name": "b", + "nameLocation": "9987:1:0", + "nodeType": "VariableDeclaration", + "scope": 1069, + "src": "9983:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1044, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "9983:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1047, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "9995:8:0", + "nodeType": "VariableDeclaration", + "scope": 1069, + "src": "9990:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1046, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9990:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1049, + "mutability": "mutable", + "name": "err", + "nameLocation": "10019:3:0", + "nodeType": "VariableDeclaration", + "scope": 1069, + "src": "10005:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1048, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10005:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9975:48:0" + }, + "returnParameters": { + "id": 1051, + "nodeType": "ParameterList", + "parameters": [], + "src": "10033:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1103, + "nodeType": "FunctionDefinition", + "src": "10170:325:0", + "nodes": [], + "body": { + "id": 1102, + "nodeType": "Block", + "src": "10235:260:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1078, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1071, + "src": "10249:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1079, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1073, + "src": "10253:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10249:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1101, + "nodeType": "IfStatement", + "src": "10245:244:0", + "trueBody": { + "id": 1100, + "nodeType": "Block", + "src": "10256:233:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d", + "id": 1082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10279:44:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616", + "typeString": "literal_string \"Error: a >= b not satisfied [decimal uint]\"" + }, + "value": "Error: a >= b not satisfied [decimal uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616", + "typeString": "literal_string \"Error: a >= b not satisfied [decimal uint]\"" + } + ], + "id": 1081, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "10275:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10275:49:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1084, + "nodeType": "EmitStatement", + "src": "10270:54:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10366:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1087, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1071, + "src": "10379:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1088, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1075, + "src": "10382:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1085, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "10343:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 1089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10343:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1090, + "nodeType": "EmitStatement", + "src": "10338:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1092, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10433:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1093, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1073, + "src": "10446:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1094, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1075, + "src": "10449:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1091, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "10410:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 1095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10410:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1096, + "nodeType": "EmitStatement", + "src": "10405:53:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1097, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "10472:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10472:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1099, + "nodeType": "ExpressionStatement", + "src": "10472:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGeDecimal", + "nameLocation": "10179:15:0", + "parameters": { + "id": 1076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1071, + "mutability": "mutable", + "name": "a", + "nameLocation": "10200:1:0", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "10195:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1070, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10195:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1073, + "mutability": "mutable", + "name": "b", + "nameLocation": "10208:1:0", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "10203:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1072, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10203:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1075, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "10216:8:0", + "nodeType": "VariableDeclaration", + "scope": 1103, + "src": "10211:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1074, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10211:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10194:31:0" + }, + "returnParameters": { + "id": 1077, + "nodeType": "ParameterList", + "parameters": [], + "src": "10235:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1131, + "nodeType": "FunctionDefinition", + "src": "10500:216:0", + "nodes": [], + "body": { + "id": 1130, + "nodeType": "Block", + "src": "10584:132:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1114, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "10598:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1115, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "10602:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10598:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1129, + "nodeType": "IfStatement", + "src": "10594:116:0", + "trueBody": { + "id": 1128, + "nodeType": "Block", + "src": "10605:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10641:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1119, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "10650:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1117, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "10624:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10624:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1121, + "nodeType": "EmitStatement", + "src": "10619:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1123, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "10684:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1124, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "10687:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1125, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1109, + "src": "10690:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1122, + "name": "assertGeDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1041, + 1069, + 1103, + 1131 + ], + "referencedDeclaration": 1103, + "src": "10668:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 1126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10668:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1127, + "nodeType": "ExpressionStatement", + "src": "10668:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertGeDecimal", + "nameLocation": "10509:15:0", + "parameters": { + "id": 1112, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1105, + "mutability": "mutable", + "name": "a", + "nameLocation": "10530:1:0", + "nodeType": "VariableDeclaration", + "scope": 1131, + "src": "10525:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1104, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10525:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1107, + "mutability": "mutable", + "name": "b", + "nameLocation": "10538:1:0", + "nodeType": "VariableDeclaration", + "scope": 1131, + "src": "10533:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1106, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10533:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1109, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "10546:8:0", + "nodeType": "VariableDeclaration", + "scope": 1131, + "src": "10541:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1108, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10541:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1111, + "mutability": "mutable", + "name": "err", + "nameLocation": "10570:3:0", + "nodeType": "VariableDeclaration", + "scope": 1131, + "src": "10556:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1110, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10556:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10524:50:0" + }, + "returnParameters": { + "id": 1113, + "nodeType": "ParameterList", + "parameters": [], + "src": "10584:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1161, + "nodeType": "FunctionDefinition", + "src": "10722:259:0", + "nodes": [], + "body": { + "id": 1160, + "nodeType": "Block", + "src": "10765:216:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1138, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1133, + "src": "10779:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1139, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "10784:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10779:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1159, + "nodeType": "IfStatement", + "src": "10775:200:0", + "trueBody": { + "id": 1158, + "nodeType": "Block", + "src": "10787:188:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203c2062206e6f7420736174697366696564205b75696e745d", + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10810:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9", + "typeString": "literal_string \"Error: a < b not satisfied [uint]\"" + }, + "value": "Error: a < b not satisfied [uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9", + "typeString": "literal_string \"Error: a < b not satisfied [uint]\"" + } + ], + "id": 1141, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "10806:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10806:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1144, + "nodeType": "EmitStatement", + "src": "10801:45:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10880:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1147, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1133, + "src": "10893:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1145, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "10865:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10865:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1149, + "nodeType": "EmitStatement", + "src": "10860:35:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10929:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1152, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "10942:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1150, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "10914:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10914:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1154, + "nodeType": "EmitStatement", + "src": "10909:35:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1155, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "10958:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10958:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1157, + "nodeType": "ExpressionStatement", + "src": "10958:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLt", + "nameLocation": "10731:8:0", + "parameters": { + "id": 1136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1133, + "mutability": "mutable", + "name": "a", + "nameLocation": "10745:1:0", + "nodeType": "VariableDeclaration", + "scope": 1161, + "src": "10740:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1132, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10740:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1135, + "mutability": "mutable", + "name": "b", + "nameLocation": "10753:1:0", + "nodeType": "VariableDeclaration", + "scope": 1161, + "src": "10748:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1134, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10748:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10739:16:0" + }, + "returnParameters": { + "id": 1137, + "nodeType": "ParameterList", + "parameters": [], + "src": "10765:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1186, + "nodeType": "FunctionDefinition", + "src": "10986:178:0", + "nodes": [], + "body": { + "id": 1185, + "nodeType": "Block", + "src": "11048:116:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1170, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "11062:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1171, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1165, + "src": "11067:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11062:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1184, + "nodeType": "IfStatement", + "src": "11058:100:0", + "trueBody": { + "id": 1183, + "nodeType": "Block", + "src": "11070:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11106:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1175, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1167, + "src": "11115:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1173, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "11089:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11089:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1177, + "nodeType": "EmitStatement", + "src": "11084:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1179, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "11142:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1180, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1165, + "src": "11145:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1178, + "name": "assertLt", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1161, + 1186, + 1216, + 1241 + ], + "referencedDeclaration": 1161, + "src": "11133:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11133:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1182, + "nodeType": "ExpressionStatement", + "src": "11133:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLt", + "nameLocation": "10995:8:0", + "parameters": { + "id": 1168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1163, + "mutability": "mutable", + "name": "a", + "nameLocation": "11009:1:0", + "nodeType": "VariableDeclaration", + "scope": 1186, + "src": "11004:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1162, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11004:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1165, + "mutability": "mutable", + "name": "b", + "nameLocation": "11017:1:0", + "nodeType": "VariableDeclaration", + "scope": 1186, + "src": "11012:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1164, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11012:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1167, + "mutability": "mutable", + "name": "err", + "nameLocation": "11034:3:0", + "nodeType": "VariableDeclaration", + "scope": 1186, + "src": "11020:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1166, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11020:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11003:35:0" + }, + "returnParameters": { + "id": 1169, + "nodeType": "ParameterList", + "parameters": [], + "src": "11048:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1216, + "nodeType": "FunctionDefinition", + "src": "11169:254:0", + "nodes": [], + "body": { + "id": 1215, + "nodeType": "Block", + "src": "11210:213:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1193, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "11224:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1194, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1190, + "src": "11229:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "11224:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1214, + "nodeType": "IfStatement", + "src": "11220:197:0", + "trueBody": { + "id": 1213, + "nodeType": "Block", + "src": "11232:185:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203c2062206e6f7420736174697366696564205b696e745d", + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11255:34:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055", + "typeString": "literal_string \"Error: a < b not satisfied [int]\"" + }, + "value": "Error: a < b not satisfied [int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055", + "typeString": "literal_string \"Error: a < b not satisfied [int]\"" + } + ], + "id": 1196, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "11251:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11251:39:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1199, + "nodeType": "EmitStatement", + "src": "11246:44:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11323:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1202, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "11336:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 1200, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "11309:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 1203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11309:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1204, + "nodeType": "EmitStatement", + "src": "11304:34:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11371:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1207, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1190, + "src": "11384:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 1205, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "11357:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11357:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1209, + "nodeType": "EmitStatement", + "src": "11352:34:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1210, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "11400:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11400:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1212, + "nodeType": "ExpressionStatement", + "src": "11400:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLt", + "nameLocation": "11178:8:0", + "parameters": { + "id": 1191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1188, + "mutability": "mutable", + "name": "a", + "nameLocation": "11191:1:0", + "nodeType": "VariableDeclaration", + "scope": 1216, + "src": "11187:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1187, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11187:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1190, + "mutability": "mutable", + "name": "b", + "nameLocation": "11198:1:0", + "nodeType": "VariableDeclaration", + "scope": 1216, + "src": "11194:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1189, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11194:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "11186:14:0" + }, + "returnParameters": { + "id": 1192, + "nodeType": "ParameterList", + "parameters": [], + "src": "11210:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1241, + "nodeType": "FunctionDefinition", + "src": "11428:176:0", + "nodes": [], + "body": { + "id": 1240, + "nodeType": "Block", + "src": "11488:116:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1225, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "11502:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1226, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "11507:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "11502:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1239, + "nodeType": "IfStatement", + "src": "11498:100:0", + "trueBody": { + "id": 1238, + "nodeType": "Block", + "src": "11510:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11546:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1230, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1222, + "src": "11555:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1228, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "11529:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11529:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1232, + "nodeType": "EmitStatement", + "src": "11524:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1234, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "11582:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1235, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "11585:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 1233, + "name": "assertLt", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1161, + 1186, + 1216, + 1241 + ], + "referencedDeclaration": 1216, + "src": "11573:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", + "typeString": "function (int256,int256)" + } + }, + "id": 1236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11573:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1237, + "nodeType": "ExpressionStatement", + "src": "11573:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLt", + "nameLocation": "11437:8:0", + "parameters": { + "id": 1223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1218, + "mutability": "mutable", + "name": "a", + "nameLocation": "11450:1:0", + "nodeType": "VariableDeclaration", + "scope": 1241, + "src": "11446:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1217, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11446:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1220, + "mutability": "mutable", + "name": "b", + "nameLocation": "11457:1:0", + "nodeType": "VariableDeclaration", + "scope": 1241, + "src": "11453:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1219, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11453:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1222, + "mutability": "mutable", + "name": "err", + "nameLocation": "11474:3:0", + "nodeType": "VariableDeclaration", + "scope": 1241, + "src": "11460:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1221, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11460:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11445:33:0" + }, + "returnParameters": { + "id": 1224, + "nodeType": "ParameterList", + "parameters": [], + "src": "11488:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1275, + "nodeType": "FunctionDefinition", + "src": "11609:320:0", + "nodes": [], + "body": { + "id": 1274, + "nodeType": "Block", + "src": "11672:257:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1250, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1243, + "src": "11686:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1251, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "11691:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "11686:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1273, + "nodeType": "IfStatement", + "src": "11682:241:0", + "trueBody": { + "id": 1272, + "nodeType": "Block", + "src": "11694:229:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c20696e745d", + "id": 1254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11717:42:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a", + "typeString": "literal_string \"Error: a < b not satisfied [decimal int]\"" + }, + "value": "Error: a < b not satisfied [decimal int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a", + "typeString": "literal_string \"Error: a < b not satisfied [decimal int]\"" + } + ], + "id": 1253, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "11713:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11713:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1256, + "nodeType": "EmitStatement", + "src": "11708:52:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11801:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1259, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1243, + "src": "11814:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1260, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "11817:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1257, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "11779:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11779:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1262, + "nodeType": "EmitStatement", + "src": "11774:52:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11867:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1265, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "11880:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1266, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "11883:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1263, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "11845:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 1267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11845:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1268, + "nodeType": "EmitStatement", + "src": "11840:52:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1269, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "11906:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11906:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1271, + "nodeType": "ExpressionStatement", + "src": "11906:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLtDecimal", + "nameLocation": "11618:15:0", + "parameters": { + "id": 1248, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1243, + "mutability": "mutable", + "name": "a", + "nameLocation": "11638:1:0", + "nodeType": "VariableDeclaration", + "scope": 1275, + "src": "11634:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1242, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11634:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1245, + "mutability": "mutable", + "name": "b", + "nameLocation": "11645:1:0", + "nodeType": "VariableDeclaration", + "scope": 1275, + "src": "11641:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1244, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11641:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1247, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "11653:8:0", + "nodeType": "VariableDeclaration", + "scope": 1275, + "src": "11648:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1246, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11648:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11633:29:0" + }, + "returnParameters": { + "id": 1249, + "nodeType": "ParameterList", + "parameters": [], + "src": "11672:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1303, + "nodeType": "FunctionDefinition", + "src": "11934:215:0", + "nodes": [], + "body": { + "id": 1302, + "nodeType": "Block", + "src": "12016:133:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1286, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1277, + "src": "12030:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1287, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1279, + "src": "12035:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "12030:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1301, + "nodeType": "IfStatement", + "src": "12026:117:0", + "trueBody": { + "id": 1300, + "nodeType": "Block", + "src": "12038:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12074:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1291, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1283, + "src": "12083:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1289, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "12057:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12057:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1293, + "nodeType": "EmitStatement", + "src": "12052:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1295, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1277, + "src": "12117:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1296, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1279, + "src": "12120:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1297, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1281, + "src": "12123:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1294, + "name": "assertLtDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1275, + 1303, + 1337, + 1365 + ], + "referencedDeclaration": 1275, + "src": "12101:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (int256,int256,uint256)" + } + }, + "id": 1298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12101:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1299, + "nodeType": "ExpressionStatement", + "src": "12101:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLtDecimal", + "nameLocation": "11943:15:0", + "parameters": { + "id": 1284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1277, + "mutability": "mutable", + "name": "a", + "nameLocation": "11963:1:0", + "nodeType": "VariableDeclaration", + "scope": 1303, + "src": "11959:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1276, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11959:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1279, + "mutability": "mutable", + "name": "b", + "nameLocation": "11970:1:0", + "nodeType": "VariableDeclaration", + "scope": 1303, + "src": "11966:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1278, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11966:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1281, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "11978:8:0", + "nodeType": "VariableDeclaration", + "scope": 1303, + "src": "11973:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1280, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11973:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1283, + "mutability": "mutable", + "name": "err", + "nameLocation": "12002:3:0", + "nodeType": "VariableDeclaration", + "scope": 1303, + "src": "11988:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1282, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11988:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11958:48:0" + }, + "returnParameters": { + "id": 1285, + "nodeType": "ParameterList", + "parameters": [], + "src": "12016:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1337, + "nodeType": "FunctionDefinition", + "src": "12154:325:0", + "nodes": [], + "body": { + "id": 1336, + "nodeType": "Block", + "src": "12219:260:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1312, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1305, + "src": "12233:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1313, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1307, + "src": "12238:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12233:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1335, + "nodeType": "IfStatement", + "src": "12229:244:0", + "trueBody": { + "id": 1334, + "nodeType": "Block", + "src": "12241:232:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c2075696e745d", + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12264:43:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9", + "typeString": "literal_string \"Error: a < b not satisfied [decimal uint]\"" + }, + "value": "Error: a < b not satisfied [decimal uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9", + "typeString": "literal_string \"Error: a < b not satisfied [decimal uint]\"" + } + ], + "id": 1315, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "12260:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12260:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1318, + "nodeType": "EmitStatement", + "src": "12255:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12350:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1321, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1305, + "src": "12363:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1322, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "12366:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1319, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "12327:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12327:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1324, + "nodeType": "EmitStatement", + "src": "12322:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12417:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1327, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1307, + "src": "12430:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1328, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "12433:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1325, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "12394:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 1329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12394:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1330, + "nodeType": "EmitStatement", + "src": "12389:53:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1331, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "12456:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12456:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1333, + "nodeType": "ExpressionStatement", + "src": "12456:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLtDecimal", + "nameLocation": "12163:15:0", + "parameters": { + "id": 1310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1305, + "mutability": "mutable", + "name": "a", + "nameLocation": "12184:1:0", + "nodeType": "VariableDeclaration", + "scope": 1337, + "src": "12179:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1304, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12179:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1307, + "mutability": "mutable", + "name": "b", + "nameLocation": "12192:1:0", + "nodeType": "VariableDeclaration", + "scope": 1337, + "src": "12187:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1306, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12187:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1309, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "12200:8:0", + "nodeType": "VariableDeclaration", + "scope": 1337, + "src": "12195:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1308, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12195:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12178:31:0" + }, + "returnParameters": { + "id": 1311, + "nodeType": "ParameterList", + "parameters": [], + "src": "12219:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1365, + "nodeType": "FunctionDefinition", + "src": "12484:217:0", + "nodes": [], + "body": { + "id": 1364, + "nodeType": "Block", + "src": "12568:133:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1348, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "12582:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1349, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1341, + "src": "12587:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12582:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1363, + "nodeType": "IfStatement", + "src": "12578:117:0", + "trueBody": { + "id": 1362, + "nodeType": "Block", + "src": "12590:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12626:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1353, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "12635:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1351, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "12609:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12609:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1355, + "nodeType": "EmitStatement", + "src": "12604:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1357, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "12669:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1358, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1341, + "src": "12672:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1359, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1343, + "src": "12675:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1356, + "name": "assertLtDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1275, + 1303, + 1337, + 1365 + ], + "referencedDeclaration": 1337, + "src": "12653:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 1360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12653:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1361, + "nodeType": "ExpressionStatement", + "src": "12653:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLtDecimal", + "nameLocation": "12493:15:0", + "parameters": { + "id": 1346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1339, + "mutability": "mutable", + "name": "a", + "nameLocation": "12514:1:0", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "12509:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1338, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12509:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1341, + "mutability": "mutable", + "name": "b", + "nameLocation": "12522:1:0", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "12517:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1340, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12517:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1343, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "12530:8:0", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "12525:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1342, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12525:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1345, + "mutability": "mutable", + "name": "err", + "nameLocation": "12554:3:0", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "12540:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1344, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12540:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12508:50:0" + }, + "returnParameters": { + "id": 1347, + "nodeType": "ParameterList", + "parameters": [], + "src": "12568:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1395, + "nodeType": "FunctionDefinition", + "src": "12707:259:0", + "nodes": [], + "body": { + "id": 1394, + "nodeType": "Block", + "src": "12750:216:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1372, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "12764:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1373, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "12768:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12764:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1393, + "nodeType": "IfStatement", + "src": "12760:200:0", + "trueBody": { + "id": 1392, + "nodeType": "Block", + "src": "12771:189:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203c3d2062206e6f7420736174697366696564205b75696e745d", + "id": 1376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12794:36:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff", + "typeString": "literal_string \"Error: a <= b not satisfied [uint]\"" + }, + "value": "Error: a <= b not satisfied [uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff", + "typeString": "literal_string \"Error: a <= b not satisfied [uint]\"" + } + ], + "id": 1375, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "12790:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12790:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1378, + "nodeType": "EmitStatement", + "src": "12785:46:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12865:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1381, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "12878:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1379, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "12850:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12850:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1383, + "nodeType": "EmitStatement", + "src": "12845:35:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12914:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "12927:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1384, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "12899:14:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12899:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1388, + "nodeType": "EmitStatement", + "src": "12894:35:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1389, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "12943:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12943:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1391, + "nodeType": "ExpressionStatement", + "src": "12943:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLe", + "nameLocation": "12716:8:0", + "parameters": { + "id": 1370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1367, + "mutability": "mutable", + "name": "a", + "nameLocation": "12730:1:0", + "nodeType": "VariableDeclaration", + "scope": 1395, + "src": "12725:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1366, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12725:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1369, + "mutability": "mutable", + "name": "b", + "nameLocation": "12738:1:0", + "nodeType": "VariableDeclaration", + "scope": 1395, + "src": "12733:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1368, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12733:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12724:16:0" + }, + "returnParameters": { + "id": 1371, + "nodeType": "ParameterList", + "parameters": [], + "src": "12750:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1420, + "nodeType": "FunctionDefinition", + "src": "12971:177:0", + "nodes": [], + "body": { + "id": 1419, + "nodeType": "Block", + "src": "13033:115:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1404, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1397, + "src": "13047:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1405, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "13051:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13047:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1418, + "nodeType": "IfStatement", + "src": "13043:99:0", + "trueBody": { + "id": 1417, + "nodeType": "Block", + "src": "13054:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13090:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1409, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "13099:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1407, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "13073:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13073:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1411, + "nodeType": "EmitStatement", + "src": "13068:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1413, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1397, + "src": "13126:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1414, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "13129:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1412, + "name": "assertLe", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1395, + 1420, + 1450, + 1475 + ], + "referencedDeclaration": 1395, + "src": "13117:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13117:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1416, + "nodeType": "ExpressionStatement", + "src": "13117:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLe", + "nameLocation": "12980:8:0", + "parameters": { + "id": 1402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1397, + "mutability": "mutable", + "name": "a", + "nameLocation": "12994:1:0", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "12989:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1396, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12989:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1399, + "mutability": "mutable", + "name": "b", + "nameLocation": "13002:1:0", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "12997:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1398, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12997:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1401, + "mutability": "mutable", + "name": "err", + "nameLocation": "13019:3:0", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "13005:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1400, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13005:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12988:35:0" + }, + "returnParameters": { + "id": 1403, + "nodeType": "ParameterList", + "parameters": [], + "src": "13033:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1450, + "nodeType": "FunctionDefinition", + "src": "13153:254:0", + "nodes": [], + "body": { + "id": 1449, + "nodeType": "Block", + "src": "13194:213:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1427, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1422, + "src": "13208:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1428, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1424, + "src": "13212:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "13208:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1448, + "nodeType": "IfStatement", + "src": "13204:197:0", + "trueBody": { + "id": 1447, + "nodeType": "Block", + "src": "13215:186:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203c3d2062206e6f7420736174697366696564205b696e745d", + "id": 1431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13238:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555", + "typeString": "literal_string \"Error: a <= b not satisfied [int]\"" + }, + "value": "Error: a <= b not satisfied [int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555", + "typeString": "literal_string \"Error: a <= b not satisfied [int]\"" + } + ], + "id": 1430, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "13234:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13234:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1433, + "nodeType": "EmitStatement", + "src": "13229:45:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13307:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1436, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1422, + "src": "13320:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 1434, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "13293:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 1437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13293:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1438, + "nodeType": "EmitStatement", + "src": "13288:34:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13355:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1441, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1424, + "src": "13368:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 1439, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "13341:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 1442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13341:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1443, + "nodeType": "EmitStatement", + "src": "13336:34:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1444, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "13384:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13384:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1446, + "nodeType": "ExpressionStatement", + "src": "13384:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLe", + "nameLocation": "13162:8:0", + "parameters": { + "id": 1425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1422, + "mutability": "mutable", + "name": "a", + "nameLocation": "13175:1:0", + "nodeType": "VariableDeclaration", + "scope": 1450, + "src": "13171:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1421, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13171:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1424, + "mutability": "mutable", + "name": "b", + "nameLocation": "13182:1:0", + "nodeType": "VariableDeclaration", + "scope": 1450, + "src": "13178:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1423, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13178:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "13170:14:0" + }, + "returnParameters": { + "id": 1426, + "nodeType": "ParameterList", + "parameters": [], + "src": "13194:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1475, + "nodeType": "FunctionDefinition", + "src": "13412:175:0", + "nodes": [], + "body": { + "id": 1474, + "nodeType": "Block", + "src": "13472:115:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1459, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "13486:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1460, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1454, + "src": "13490:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "13486:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1473, + "nodeType": "IfStatement", + "src": "13482:99:0", + "trueBody": { + "id": 1472, + "nodeType": "Block", + "src": "13493:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13529:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1464, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "13538:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1462, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "13512:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13512:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1466, + "nodeType": "EmitStatement", + "src": "13507:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1468, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "13565:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1469, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1454, + "src": "13568:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 1467, + "name": "assertLe", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1395, + 1420, + 1450, + 1475 + ], + "referencedDeclaration": 1450, + "src": "13556:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", + "typeString": "function (int256,int256)" + } + }, + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13556:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1471, + "nodeType": "ExpressionStatement", + "src": "13556:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLe", + "nameLocation": "13421:8:0", + "parameters": { + "id": 1457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1452, + "mutability": "mutable", + "name": "a", + "nameLocation": "13434:1:0", + "nodeType": "VariableDeclaration", + "scope": 1475, + "src": "13430:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1451, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13430:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1454, + "mutability": "mutable", + "name": "b", + "nameLocation": "13441:1:0", + "nodeType": "VariableDeclaration", + "scope": 1475, + "src": "13437:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1453, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13437:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1456, + "mutability": "mutable", + "name": "err", + "nameLocation": "13458:3:0", + "nodeType": "VariableDeclaration", + "scope": 1475, + "src": "13444:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1455, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13444:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13429:33:0" + }, + "returnParameters": { + "id": 1458, + "nodeType": "ParameterList", + "parameters": [], + "src": "13472:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1509, + "nodeType": "FunctionDefinition", + "src": "13592:320:0", + "nodes": [], + "body": { + "id": 1508, + "nodeType": "Block", + "src": "13655:257:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1484, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "13669:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1485, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1479, + "src": "13673:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "13669:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1507, + "nodeType": "IfStatement", + "src": "13665:241:0", + "trueBody": { + "id": 1506, + "nodeType": "Block", + "src": "13676:230:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c20696e745d", + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13699:43:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a", + "typeString": "literal_string \"Error: a <= b not satisfied [decimal int]\"" + }, + "value": "Error: a <= b not satisfied [decimal int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a", + "typeString": "literal_string \"Error: a <= b not satisfied [decimal int]\"" + } + ], + "id": 1487, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "13695:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13695:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1490, + "nodeType": "EmitStatement", + "src": "13690:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13784:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1493, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "13797:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1494, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1481, + "src": "13800:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1491, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "13762:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 1495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13762:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1496, + "nodeType": "EmitStatement", + "src": "13757:52:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13850:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1499, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1479, + "src": "13863:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1500, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1481, + "src": "13866:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1497, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "13828:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 1501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13828:47:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1502, + "nodeType": "EmitStatement", + "src": "13823:52:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1503, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "13889:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13889:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1505, + "nodeType": "ExpressionStatement", + "src": "13889:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLeDecimal", + "nameLocation": "13601:15:0", + "parameters": { + "id": 1482, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1477, + "mutability": "mutable", + "name": "a", + "nameLocation": "13621:1:0", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "13617:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1476, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13617:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1479, + "mutability": "mutable", + "name": "b", + "nameLocation": "13628:1:0", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "13624:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1478, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13624:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1481, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "13636:8:0", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "13631:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1480, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13631:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13616:29:0" + }, + "returnParameters": { + "id": 1483, + "nodeType": "ParameterList", + "parameters": [], + "src": "13655:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1537, + "nodeType": "FunctionDefinition", + "src": "13917:214:0", + "nodes": [], + "body": { + "id": 1536, + "nodeType": "Block", + "src": "13999:132:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1520, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1511, + "src": "14013:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1521, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "14017:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "14013:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1535, + "nodeType": "IfStatement", + "src": "14009:116:0", + "trueBody": { + "id": 1534, + "nodeType": "Block", + "src": "14020:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14056:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1525, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "14065:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1523, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "14039:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14039:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1527, + "nodeType": "EmitStatement", + "src": "14034:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1529, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1511, + "src": "14099:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1530, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "14102:1:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 1531, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "14105:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1528, + "name": "assertLeDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1509, + 1537, + 1571, + 1599 + ], + "referencedDeclaration": 1509, + "src": "14083:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (int256,int256,uint256)" + } + }, + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14083:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1533, + "nodeType": "ExpressionStatement", + "src": "14083:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLeDecimal", + "nameLocation": "13926:15:0", + "parameters": { + "id": 1518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1511, + "mutability": "mutable", + "name": "a", + "nameLocation": "13946:1:0", + "nodeType": "VariableDeclaration", + "scope": 1537, + "src": "13942:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1510, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13942:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1513, + "mutability": "mutable", + "name": "b", + "nameLocation": "13953:1:0", + "nodeType": "VariableDeclaration", + "scope": 1537, + "src": "13949:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1512, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13949:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1515, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "13961:8:0", + "nodeType": "VariableDeclaration", + "scope": 1537, + "src": "13956:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1514, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13956:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1517, + "mutability": "mutable", + "name": "err", + "nameLocation": "13985:3:0", + "nodeType": "VariableDeclaration", + "scope": 1537, + "src": "13971:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1516, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13971:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13941:48:0" + }, + "returnParameters": { + "id": 1519, + "nodeType": "ParameterList", + "parameters": [], + "src": "13999:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1571, + "nodeType": "FunctionDefinition", + "src": "14136:325:0", + "nodes": [], + "body": { + "id": 1570, + "nodeType": "Block", + "src": "14201:260:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1546, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "14215:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1547, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1541, + "src": "14219:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14215:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1569, + "nodeType": "IfStatement", + "src": "14211:244:0", + "trueBody": { + "id": 1568, + "nodeType": "Block", + "src": "14222:233:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d", + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14245:44:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51", + "typeString": "literal_string \"Error: a <= b not satisfied [decimal uint]\"" + }, + "value": "Error: a <= b not satisfied [decimal uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51", + "typeString": "literal_string \"Error: a <= b not satisfied [decimal uint]\"" + } + ], + "id": 1549, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "14241:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14241:49:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1552, + "nodeType": "EmitStatement", + "src": "14236:54:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652061", + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14332:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + "value": " Value a" + }, + { + "id": 1555, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "14345:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1556, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "14348:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", + "typeString": "literal_string \" Value a\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1553, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "14309:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 1557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14309:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1558, + "nodeType": "EmitStatement", + "src": "14304:53:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202056616c75652062", + "id": 1560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14399:11:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + "value": " Value b" + }, + { + "id": 1561, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1541, + "src": "14412:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1562, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "14415:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", + "typeString": "literal_string \" Value b\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1559, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "14376:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14376:48:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1564, + "nodeType": "EmitStatement", + "src": "14371:53:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1565, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "14438:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14438:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1567, + "nodeType": "ExpressionStatement", + "src": "14438:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLeDecimal", + "nameLocation": "14145:15:0", + "parameters": { + "id": 1544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1539, + "mutability": "mutable", + "name": "a", + "nameLocation": "14166:1:0", + "nodeType": "VariableDeclaration", + "scope": 1571, + "src": "14161:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1538, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14161:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1541, + "mutability": "mutable", + "name": "b", + "nameLocation": "14174:1:0", + "nodeType": "VariableDeclaration", + "scope": 1571, + "src": "14169:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1540, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14169:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1543, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "14182:8:0", + "nodeType": "VariableDeclaration", + "scope": 1571, + "src": "14177:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1542, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14177:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14160:31:0" + }, + "returnParameters": { + "id": 1545, + "nodeType": "ParameterList", + "parameters": [], + "src": "14201:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1599, + "nodeType": "FunctionDefinition", + "src": "14466:216:0", + "nodes": [], + "body": { + "id": 1598, + "nodeType": "Block", + "src": "14550:132:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1582, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "14564:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1583, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1575, + "src": "14568:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14564:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1597, + "nodeType": "IfStatement", + "src": "14560:116:0", + "trueBody": { + "id": 1596, + "nodeType": "Block", + "src": "14571:105:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14607:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1587, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "14616:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1585, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "14590:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14590:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1589, + "nodeType": "EmitStatement", + "src": "14585:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1591, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "14650:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1592, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1575, + "src": "14653:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1593, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1577, + "src": "14656:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1590, + "name": "assertGeDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1041, + 1069, + 1103, + 1131 + ], + "referencedDeclaration": 1103, + "src": "14634:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 1594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14634:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1595, + "nodeType": "ExpressionStatement", + "src": "14634:31:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertLeDecimal", + "nameLocation": "14475:15:0", + "parameters": { + "id": 1580, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1573, + "mutability": "mutable", + "name": "a", + "nameLocation": "14496:1:0", + "nodeType": "VariableDeclaration", + "scope": 1599, + "src": "14491:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1572, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14491:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1575, + "mutability": "mutable", + "name": "b", + "nameLocation": "14504:1:0", + "nodeType": "VariableDeclaration", + "scope": 1599, + "src": "14499:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1574, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14499:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1577, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "14512:8:0", + "nodeType": "VariableDeclaration", + "scope": 1599, + "src": "14507:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1576, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14507:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1579, + "mutability": "mutable", + "name": "err", + "nameLocation": "14536:3:0", + "nodeType": "VariableDeclaration", + "scope": 1599, + "src": "14522:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1578, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14522:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14490:50:0" + }, + "returnParameters": { + "id": 1581, + "nodeType": "ParameterList", + "parameters": [], + "src": "14550:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1639, + "nodeType": "FunctionDefinition", + "src": "14688:344:0", + "nodes": [], + "body": { + "id": 1638, + "nodeType": "Block", + "src": "14749:283:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 1609, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1601, + "src": "14790:1:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1607, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14773:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14777:12:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "14773:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14773:19:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1606, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "14763:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14763:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 1615, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1603, + "src": "14824:1:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1613, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14807:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14811:12:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "14807:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14807:19:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1612, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "14797:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14797:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "14763:64:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1637, + "nodeType": "IfStatement", + "src": "14759:267:0", + "trueBody": { + "id": 1636, + "nodeType": "Block", + "src": "14829:197:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472696e675d", + "id": 1620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14852:38:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e", + "typeString": "literal_string \"Error: a == b not satisfied [string]\"" + }, + "value": "Error: a == b not satisfied [string]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e", + "typeString": "literal_string \"Error: a == b not satisfied [string]\"" + } + ], + "id": 1619, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "14848:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14848:43:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1622, + "nodeType": "EmitStatement", + "src": "14843:48:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 1624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14927:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 1625, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1603, + "src": "14941:1:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1623, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "14910:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14910:33:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1627, + "nodeType": "EmitStatement", + "src": "14905:38:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 1629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14979:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 1630, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1601, + "src": "14993:1:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1628, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "14962:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14962:33:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1632, + "nodeType": "EmitStatement", + "src": "14957:38:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1633, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "15009:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15009:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1635, + "nodeType": "ExpressionStatement", + "src": "15009:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "14697:8:0", + "parameters": { + "id": 1604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1601, + "mutability": "mutable", + "name": "a", + "nameLocation": "14720:1:0", + "nodeType": "VariableDeclaration", + "scope": 1639, + "src": "14706:15:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1600, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14706:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1603, + "mutability": "mutable", + "name": "b", + "nameLocation": "14737:1:0", + "nodeType": "VariableDeclaration", + "scope": 1639, + "src": "14723:15:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1602, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14723:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14705:34:0" + }, + "returnParameters": { + "id": 1605, + "nodeType": "ParameterList", + "parameters": [], + "src": "14749:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1674, + "nodeType": "FunctionDefinition", + "src": "15037:254:0", + "nodes": [], + "body": { + "id": 1673, + "nodeType": "Block", + "src": "15117:174:0", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 1651, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "15158:1:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1649, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15141:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15145:12:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "15141:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15141:19:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1648, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "15131:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15131:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 1657, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1643, + "src": "15192:1:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1655, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15175:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15179:12:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "15175:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15175:19:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1654, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "15165:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15165:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15131:64:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1672, + "nodeType": "IfStatement", + "src": "15127:158:0", + "trueBody": { + "id": 1671, + "nodeType": "Block", + "src": "15197:88:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15233:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1663, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1645, + "src": "15242:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1661, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "15216:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15216:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1665, + "nodeType": "EmitStatement", + "src": "15211:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1667, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "15269:1:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 1668, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1643, + "src": "15272:1:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1666, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 1639, + "src": "15260:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15260:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1670, + "nodeType": "ExpressionStatement", + "src": "15260:14:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "15046:8:0", + "parameters": { + "id": 1646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1641, + "mutability": "mutable", + "name": "a", + "nameLocation": "15069:1:0", + "nodeType": "VariableDeclaration", + "scope": 1674, + "src": "15055:15:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1640, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15055:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1643, + "mutability": "mutable", + "name": "b", + "nameLocation": "15086:1:0", + "nodeType": "VariableDeclaration", + "scope": 1674, + "src": "15072:15:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1642, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15072:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1645, + "mutability": "mutable", + "name": "err", + "nameLocation": "15103:3:0", + "nodeType": "VariableDeclaration", + "scope": 1674, + "src": "15089:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1644, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15089:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15054:53:0" + }, + "returnParameters": { + "id": 1647, + "nodeType": "ParameterList", + "parameters": [], + "src": "15117:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1726, + "nodeType": "FunctionDefinition", + "src": "15297:345:0", + "nodes": [], + "body": { + "id": 1725, + "nodeType": "Block", + "src": "15379:263:0", + "nodes": [], + "statements": [ + { + "expression": { + "id": 1685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1683, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1681, + "src": "15389:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 1684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15394:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "15389:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1686, + "nodeType": "ExpressionStatement", + "src": "15389:9:0" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1687, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1676, + "src": "15412:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15414:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15412:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1689, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1678, + "src": "15424:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15426:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15424:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15412:20:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1723, + "nodeType": "Block", + "src": "15601:35:0", + "statements": [ + { + "expression": { + "id": 1721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1719, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1681, + "src": "15615:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15620:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "15615:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1722, + "nodeType": "ExpressionStatement", + "src": "15615:10:0" + } + ] + }, + "id": 1724, + "nodeType": "IfStatement", + "src": "15408:228:0", + "trueBody": { + "id": 1718, + "nodeType": "Block", + "src": "15434:161:0", + "statements": [ + { + "body": { + "id": 1716, + "nodeType": "Block", + "src": "15484:101:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 1709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 1703, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1676, + "src": "15506:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1705, + "indexExpression": { + "id": 1704, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1693, + "src": "15508:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15506:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "baseExpression": { + "id": 1706, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1678, + "src": "15514:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1708, + "indexExpression": { + "id": 1707, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1693, + "src": "15516:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15514:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "15506:12:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1715, + "nodeType": "IfStatement", + "src": "15502:69:0", + "trueBody": { + "id": 1714, + "nodeType": "Block", + "src": "15520:51:0", + "statements": [ + { + "expression": { + "id": 1712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1710, + "name": "ok", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1681, + "src": "15542:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 1711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15547:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "15542:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1713, + "nodeType": "ExpressionStatement", + "src": "15542:10:0" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1696, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1693, + "src": "15465:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1697, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1676, + "src": "15469:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15471:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15469:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15465:12:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1717, + "initializationExpression": { + "assignments": [ + 1693 + ], + "declarations": [ + { + "constant": false, + "id": 1693, + "mutability": "mutable", + "name": "i", + "nameLocation": "15458:1:0", + "nodeType": "VariableDeclaration", + "scope": 1717, + "src": "15453:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1692, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15453:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1695, + "initialValue": { + "hexValue": "30", + "id": 1694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15462:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "15453:10:0" + }, + "loopExpression": { + "expression": { + "id": 1701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15479:3:0", + "subExpression": { + "id": 1700, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1693, + "src": "15479:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1702, + "nodeType": "ExpressionStatement", + "src": "15479:3:0" + }, + "nodeType": "ForStatement", + "src": "15448:137:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checkEq0", + "nameLocation": "15306:8:0", + "parameters": { + "id": 1679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1676, + "mutability": "mutable", + "name": "a", + "nameLocation": "15328:1:0", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "15315:14:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1675, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15315:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1678, + "mutability": "mutable", + "name": "b", + "nameLocation": "15344:1:0", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "15331:14:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1677, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15331:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "15314:32:0" + }, + "returnParameters": { + "id": 1682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1681, + "mutability": "mutable", + "name": "ok", + "nameLocation": "15375:2:0", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "15370:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1680, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15370:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15369:9:0" + }, + "scope": 1786, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1758, + "nodeType": "FunctionDefinition", + "src": "15647:291:0", + "nodes": [], + "body": { + "id": 1757, + "nodeType": "Block", + "src": "15707:231:0", + "nodes": [], + "statements": [ + { + "condition": { + "id": 1737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "15721:15:0", + "subExpression": { + "arguments": [ + { + "id": 1734, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1728, + "src": "15731:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1735, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "15734:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1733, + "name": "checkEq0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1726, + "src": "15722:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes memory,bytes memory) pure returns (bool)" + } + }, + "id": 1736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15722:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1756, + "nodeType": "IfStatement", + "src": "15717:215:0", + "trueBody": { + "id": 1755, + "nodeType": "Block", + "src": "15738:194:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797465735d", + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15761:37:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc", + "typeString": "literal_string \"Error: a == b not satisfied [bytes]\"" + }, + "value": "Error: a == b not satisfied [bytes]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc", + "typeString": "literal_string \"Error: a == b not satisfied [bytes]\"" + } + ], + "id": 1738, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "15757:3:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15757:42:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1741, + "nodeType": "EmitStatement", + "src": "15752:47:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 1743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15834:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 1744, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "15848:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1742, + "name": "log_named_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79, + "src": "15818:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (string memory,bytes memory)" + } + }, + "id": 1745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15818:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1746, + "nodeType": "EmitStatement", + "src": "15813:37:0" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 1748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15885:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 1749, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1728, + "src": "15899:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1747, + "name": "log_named_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79, + "src": "15869:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (string memory,bytes memory)" + } + }, + "id": 1750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15869:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1751, + "nodeType": "EmitStatement", + "src": "15864:37:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1752, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "15915:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15915:6:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1754, + "nodeType": "ExpressionStatement", + "src": "15915:6:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq0", + "nameLocation": "15656:9:0", + "parameters": { + "id": 1731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1728, + "mutability": "mutable", + "name": "a", + "nameLocation": "15679:1:0", + "nodeType": "VariableDeclaration", + "scope": 1758, + "src": "15666:14:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1727, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15666:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1730, + "mutability": "mutable", + "name": "b", + "nameLocation": "15695:1:0", + "nodeType": "VariableDeclaration", + "scope": 1758, + "src": "15682:14:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1729, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15682:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "15665:32:0" + }, + "returnParameters": { + "id": 1732, + "nodeType": "ParameterList", + "parameters": [], + "src": "15707:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 1785, + "nodeType": "FunctionDefinition", + "src": "15943:205:0", + "nodes": [], + "body": { + "id": 1784, + "nodeType": "Block", + "src": "16022:126:0", + "nodes": [], + "statements": [ + { + "condition": { + "id": 1771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "16036:15:0", + "subExpression": { + "arguments": [ + { + "id": 1768, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "16046:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1769, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1762, + "src": "16049:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1767, + "name": "checkEq0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1726, + "src": "16037:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes memory,bytes memory) pure returns (bool)" + } + }, + "id": 1770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16037:14:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1783, + "nodeType": "IfStatement", + "src": "16032:110:0", + "trueBody": { + "id": 1782, + "nodeType": "Block", + "src": "16053:89:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16089:7:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1774, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1764, + "src": "16098:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1772, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "16072:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16072:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1776, + "nodeType": "EmitStatement", + "src": "16067:35:0" + }, + { + "expression": { + "arguments": [ + { + "id": 1778, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "16126:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1779, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1762, + "src": "16129:1:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1777, + "name": "assertEq0", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1758, + 1785 + ], + "referencedDeclaration": 1758, + "src": "16116:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,bytes memory)" + } + }, + "id": 1780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16116:15:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1781, + "nodeType": "ExpressionStatement", + "src": "16116:15:0" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq0", + "nameLocation": "15952:9:0", + "parameters": { + "id": 1765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1760, + "mutability": "mutable", + "name": "a", + "nameLocation": "15975:1:0", + "nodeType": "VariableDeclaration", + "scope": 1785, + "src": "15962:14:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1759, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15962:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1762, + "mutability": "mutable", + "name": "b", + "nameLocation": "15991:1:0", + "nodeType": "VariableDeclaration", + "scope": 1785, + "src": "15978:14:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1761, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15978:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1764, + "mutability": "mutable", + "name": "err", + "nameLocation": "16008:3:0", + "nodeType": "VariableDeclaration", + "scope": 1785, + "src": "15994:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1763, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15994:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15961:51:0" + }, + "returnParameters": { + "id": 1766, + "nodeType": "ParameterList", + "parameters": [], + "src": "16022:0:0" + }, + "scope": 1786, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "DSTest", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1786 + ], + "name": "DSTest", + "nameLocation": "724:6:0", + "scope": 1787, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "lib/forge-std/src/Base.sol": { + "id": 1, + "ast": { + "absolutePath": "lib/forge-std/src/Base.sol", + "id": 1859, + "exportedSymbols": { + "CommonBase": [ + 1843 + ], + "ScriptBase": [ + 1858 + ], + "StdStorage": [ + 6661 + ], + "TestBase": [ + 1846 + ], + "Vm": [ + 10233 + ], + "VmSafe": [ + 9908 + ] + }, + "nodeType": "SourceUnit", + "src": "32:1585:1", + "nodes": [ + { + "id": 1788, + "nodeType": "PragmaDirective", + "src": "32:31:1", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 1790, + "nodeType": "ImportDirective", + "src": "65:44:1", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdStorage.sol", + "file": "./StdStorage.sol", + "nameLocation": "-1:-1:-1", + "scope": 1859, + "sourceUnit": 8095, + "symbolAliases": [ + { + "foreign": { + "id": 1789, + "name": "StdStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6661, + "src": "73:10:1", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1793, + "nodeType": "ImportDirective", + "src": "110:36:1", + "nodes": [], + "absolutePath": "lib/forge-std/src/Vm.sol", + "file": "./Vm.sol", + "nameLocation": "-1:-1:-1", + "scope": 1859, + "sourceUnit": 10234, + "symbolAliases": [ + { + "foreign": { + "id": 1791, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "118:2:1", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 1792, + "name": "VmSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9908, + "src": "122:6:1", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1843, + "nodeType": "ContractDefinition", + "src": "148:1123:1", + "nodes": [ + { + "id": 1807, + "nodeType": "VariableDeclaration", + "src": "254:94:1", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "VM_ADDRESS", + "nameLocation": "280:10:1", + "scope": 1843, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1794, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "254:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6865766d20636865617420636f6465", + "id": 1802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "327:17:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + }, + "value": "hevm cheat code" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + } + ], + "id": 1801, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "317:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "317:28:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "309:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "309:7:1", + "typeDescriptions": {} + } + }, + "id": 1804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "309:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "301:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 1797, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "301:7:1", + "typeDescriptions": {} + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "301:46:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 1796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "293:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1795, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "293:7:1", + "typeDescriptions": {} + } + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "293:55:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 1810, + "nodeType": "VariableDeclaration", + "src": "438:78:1", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONSOLE", + "nameLocation": "464:7:1", + "scope": 1843, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "438:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637", + "id": 1809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "474:42:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x000000000000000000636F6e736F6c652e6c6f67" + }, + "visibility": "internal" + }, + { + "id": 1824, + "nodeType": "VariableDeclaration", + "src": "619:105:1", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "DEFAULT_SENDER", + "nameLocation": "645:14:1", + "scope": 1843, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "619:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "666f756e6472792064656661756c742063616c6c6572", + "id": 1819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "696:24:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "typeString": "literal_string \"foundry default caller\"" + }, + "value": "foundry default caller" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "typeString": "literal_string \"foundry default caller\"" + } + ], + "id": 1818, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "686:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "686:35:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "678:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1816, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "678:7:1", + "typeDescriptions": {} + } + }, + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "678:44:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "670:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 1814, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "670:7:1", + "typeDescriptions": {} + } + }, + "id": 1822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "670:53:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "662:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1812, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "662:7:1", + "typeDescriptions": {} + } + }, + "id": 1823, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "662:62:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 1827, + "nodeType": "VariableDeclaration", + "src": "799:92:1", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "DEFAULT_TEST_CONTRACT", + "nameLocation": "825:21:1", + "scope": 1843, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1825, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "799:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "hexValue": "307835363135644542373938424233453464466130313339644661316233443433334363323362373266", + "id": 1826, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "849:42:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f" + }, + "visibility": "internal" + }, + { + "id": 1830, + "nodeType": "VariableDeclaration", + "src": "965:89:1", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "MULTICALL3_ADDRESS", + "nameLocation": "991:18:1", + "scope": 1843, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "965:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "hexValue": "307863413131626465303539373762333633313136373032383836326245326131373339373643413131", + "id": 1829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1012:42:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xcA11bde05977b3631167028862bE2a173976CA11" + }, + "visibility": "internal" + }, + { + "id": 1833, + "nodeType": "VariableDeclaration", + "src": "1061:126:1", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "UINT256_MAX", + "nameLocation": "1087:11:1", + "scope": 1843, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1831, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1061:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335", + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1109:78:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9935" + }, + "value": "115792089237316195423570985008687907853269984665640564039457584007913129639935" + }, + "visibility": "internal" + }, + { + "id": 1839, + "nodeType": "VariableDeclaration", + "src": "1194:40:1", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "vm", + "nameLocation": "1215:2:1", + "scope": 1843, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + }, + "typeName": { + "id": 1835, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1834, + "name": "Vm", + "nameLocations": [ + "1194:2:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10233, + "src": "1194:2:1" + }, + "referencedDeclaration": 10233, + "src": "1194:2:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "value": { + "arguments": [ + { + "id": 1837, + "name": "VM_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1807, + "src": "1223:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1836, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "1220:2:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Vm_$10233_$", + "typeString": "type(contract Vm)" + } + }, + "id": 1838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1220:14:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "visibility": "internal" + }, + { + "id": 1842, + "nodeType": "VariableDeclaration", + "src": "1240:28:1", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "stdstore", + "nameLocation": "1260:8:1", + "scope": 1843, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 1841, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1840, + "name": "StdStorage", + "nameLocations": [ + "1240:10:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "1240:10:1" + }, + "referencedDeclaration": 6661, + "src": "1240:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "abstract": true, + "baseContracts": [], + "canonicalName": "CommonBase", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1843 + ], + "name": "CommonBase", + "nameLocation": "166:10:1", + "scope": 1859, + "usedErrors": [] + }, + { + "id": 1846, + "nodeType": "ContractDefinition", + "src": "1273:43:1", + "nodes": [], + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1844, + "name": "CommonBase", + "nameLocations": [ + "1303:10:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1843, + "src": "1303:10:1" + }, + "id": 1845, + "nodeType": "InheritanceSpecifier", + "src": "1303:10:1" + } + ], + "canonicalName": "TestBase", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1846, + 1843 + ], + "name": "TestBase", + "nameLocation": "1291:8:1", + "scope": 1859, + "usedErrors": [] + }, + { + "id": 1858, + "nodeType": "ContractDefinition", + "src": "1318:298:1", + "nodes": [ + { + "id": 1851, + "nodeType": "VariableDeclaration", + "src": "1468:86:1", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CREATE2_FACTORY", + "nameLocation": "1494:15:1", + "scope": 1858, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1468:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "hexValue": "307834653539623434383437623337393537383538383932306341373846624632366330423439353643", + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1512:42:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x4e59b44847b379578588920cA78FbF26c0B4956C" + }, + "visibility": "internal" + }, + { + "id": 1857, + "nodeType": "VariableDeclaration", + "src": "1561:52:1", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "vmSafe", + "nameLocation": "1586:6:1", + "scope": 1858, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + }, + "typeName": { + "id": 1853, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1852, + "name": "VmSafe", + "nameLocations": [ + "1561:6:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9908, + "src": "1561:6:1" + }, + "referencedDeclaration": 9908, + "src": "1561:6:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "value": { + "arguments": [ + { + "id": 1855, + "name": "VM_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1807, + "src": "1602:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1854, + "name": "VmSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9908, + "src": "1595:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_VmSafe_$9908_$", + "typeString": "type(contract VmSafe)" + } + }, + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1595:18:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "visibility": "internal" + } + ], + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1847, + "name": "CommonBase", + "nameLocations": [ + "1350:10:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1843, + "src": "1350:10:1" + }, + "id": 1848, + "nodeType": "InheritanceSpecifier", + "src": "1350:10:1" + } + ], + "canonicalName": "ScriptBase", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1858, + 1843 + ], + "name": "ScriptBase", + "nameLocation": "1336:10:1", + "scope": 1859, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/Script.sol": { + "id": 2, + "ast": { + "absolutePath": "lib/forge-std/src/Script.sol", + "id": 1896, + "exportedSymbols": { + "Script": [ + 1895 + ], + "ScriptBase": [ + 1858 + ], + "StdChains": [ + 3793 + ], + "StdCheatsSafe": [ + 5365 + ], + "StdStorage": [ + 6661 + ], + "StdUtils": [ + 8901 + ], + "VmSafe": [ + 9908 + ], + "console": [ + 18297 + ], + "console2": [ + 26393 + ], + "stdJson": [ + 6487 + ], + "stdMath": [ + 6629 + ], + "stdStorageSafe": [ + 7553 + ] + }, + "nodeType": "SourceUnit", + "src": "32:758:2", + "nodes": [ + { + "id": 1860, + "nodeType": "PragmaDirective", + "src": "32:31:2", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 1862, + "nodeType": "ImportDirective", + "src": "134:38:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/Base.sol", + "file": "./Base.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 1859, + "symbolAliases": [ + { + "foreign": { + "id": 1861, + "name": "ScriptBase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1858, + "src": "142:10:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1864, + "nodeType": "ImportDirective", + "src": "173:38:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/console.sol", + "file": "./console.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 18298, + "symbolAliases": [ + { + "foreign": { + "id": 1863, + "name": "console", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18297, + "src": "181:7:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1866, + "nodeType": "ImportDirective", + "src": "212:40:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/console2.sol", + "file": "./console2.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 26394, + "symbolAliases": [ + { + "foreign": { + "id": 1865, + "name": "console2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26393, + "src": "220:8:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1868, + "nodeType": "ImportDirective", + "src": "253:42:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdChains.sol", + "file": "./StdChains.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 3794, + "symbolAliases": [ + { + "foreign": { + "id": 1867, + "name": "StdChains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3793, + "src": "261:9:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1870, + "nodeType": "ImportDirective", + "src": "296:46:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdCheats.sol", + "file": "./StdCheats.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 5755, + "symbolAliases": [ + { + "foreign": { + "id": 1869, + "name": "StdCheatsSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5365, + "src": "304:13:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1872, + "nodeType": "ImportDirective", + "src": "343:38:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdJson.sol", + "file": "./StdJson.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 6488, + "symbolAliases": [ + { + "foreign": { + "id": 1871, + "name": "stdJson", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "351:7:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1874, + "nodeType": "ImportDirective", + "src": "382:38:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdMath.sol", + "file": "./StdMath.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 6630, + "symbolAliases": [ + { + "foreign": { + "id": 1873, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "390:7:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1877, + "nodeType": "ImportDirective", + "src": "421:60:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdStorage.sol", + "file": "./StdStorage.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 8095, + "symbolAliases": [ + { + "foreign": { + "id": 1875, + "name": "StdStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6661, + "src": "429:10:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 1876, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "441:14:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1879, + "nodeType": "ImportDirective", + "src": "482:40:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdUtils.sol", + "file": "./StdUtils.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 8902, + "symbolAliases": [ + { + "foreign": { + "id": 1878, + "name": "StdUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8901, + "src": "490:8:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1881, + "nodeType": "ImportDirective", + "src": "523:32:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/Vm.sol", + "file": "./Vm.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 10234, + "symbolAliases": [ + { + "foreign": { + "id": 1880, + "name": "VmSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9908, + "src": "531:6:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1883, + "nodeType": "ImportDirective", + "src": "577:38:2", + "nodes": [], + "absolutePath": "lib/forge-std/src/Base.sol", + "file": "./Base.sol", + "nameLocation": "-1:-1:-1", + "scope": 1896, + "sourceUnit": 1859, + "symbolAliases": [ + { + "foreign": { + "id": 1882, + "name": "ScriptBase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1858, + "src": "585:10:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1895, + "nodeType": "ContractDefinition", + "src": "634:155:2", + "nodes": [ + { + "id": 1894, + "nodeType": "VariableDeclaration", + "src": "758:28:2", + "nodes": [], + "constant": false, + "functionSelector": "f8ccbf47", + "mutability": "mutable", + "name": "IS_SCRIPT", + "nameLocation": "770:9:2", + "scope": 1895, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1892, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "758:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": { + "hexValue": "74727565", + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "782:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "visibility": "public" + } + ], + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1884, + "name": "StdChains", + "nameLocations": [ + "662:9:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3793, + "src": "662:9:2" + }, + "id": 1885, + "nodeType": "InheritanceSpecifier", + "src": "662:9:2" + }, + { + "baseName": { + "id": 1886, + "name": "StdCheatsSafe", + "nameLocations": [ + "673:13:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 5365, + "src": "673:13:2" + }, + "id": 1887, + "nodeType": "InheritanceSpecifier", + "src": "673:13:2" + }, + { + "baseName": { + "id": 1888, + "name": "StdUtils", + "nameLocations": [ + "688:8:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8901, + "src": "688:8:2" + }, + "id": 1889, + "nodeType": "InheritanceSpecifier", + "src": "688:8:2" + }, + { + "baseName": { + "id": 1890, + "name": "ScriptBase", + "nameLocations": [ + "698:10:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1858, + "src": "698:10:2" + }, + "id": 1891, + "nodeType": "InheritanceSpecifier", + "src": "698:10:2" + } + ], + "canonicalName": "Script", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 1895, + 1858, + 1843, + 8901, + 5365, + 3793 + ], + "name": "Script", + "nameLocation": "652:6:2", + "scope": 1896, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/StdAssertions.sol": { + "id": 3, + "ast": { + "absolutePath": "lib/forge-std/src/StdAssertions.sol", + "id": 3130, + "exportedSymbols": { + "DSTest": [ + 1786 + ], + "StdAssertions": [ + 3129 + ], + "stdMath": [ + 6629 + ] + }, + "nodeType": "SourceUnit", + "src": "32:11793:3", + "nodes": [ + { + "id": 1897, + "nodeType": "PragmaDirective", + "src": "32:31:3", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 1899, + "nodeType": "ImportDirective", + "src": "65:40:3", + "nodes": [], + "absolutePath": "lib/forge-std/lib/ds-test/src/test.sol", + "file": "ds-test/test.sol", + "nameLocation": "-1:-1:-1", + "scope": 3130, + "sourceUnit": 1787, + "symbolAliases": [ + { + "foreign": { + "id": 1898, + "name": "DSTest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1786, + "src": "73:6:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1901, + "nodeType": "ImportDirective", + "src": "106:38:3", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdMath.sol", + "file": "./StdMath.sol", + "nameLocation": "-1:-1:-1", + "scope": 3130, + "sourceUnit": 6630, + "symbolAliases": [ + { + "foreign": { + "id": 1900, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "114:7:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 3129, + "nodeType": "ContractDefinition", + "src": "146:11678:3", + "nodes": [ + { + "id": 1908, + "nodeType": "EventDefinition", + "src": "194:31:3", + "nodes": [], + "anonymous": false, + "eventSelector": "fb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1", + "name": "log_array", + "nameLocation": "200:9:3", + "parameters": { + "id": 1907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1906, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "220:3:3", + "nodeType": "VariableDeclaration", + "scope": 1908, + "src": "210:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1904, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "210:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1905, + "nodeType": "ArrayTypeName", + "src": "210:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "209:15:3" + } + }, + { + "id": 1913, + "nodeType": "EventDefinition", + "src": "230:30:3", + "nodes": [], + "anonymous": false, + "eventSelector": "890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5", + "name": "log_array", + "nameLocation": "236:9:3", + "parameters": { + "id": 1912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1911, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "255:3:3", + "nodeType": "VariableDeclaration", + "scope": 1913, + "src": "246:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 1909, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "246:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 1910, + "nodeType": "ArrayTypeName", + "src": "246:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "245:14:3" + } + }, + { + "id": 1918, + "nodeType": "EventDefinition", + "src": "265:31:3", + "nodes": [], + "anonymous": false, + "eventSelector": "40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2", + "name": "log_array", + "nameLocation": "271:9:3", + "parameters": { + "id": 1917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1916, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "291:3:3", + "nodeType": "VariableDeclaration", + "scope": 1918, + "src": "281:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1914, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "281:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1915, + "nodeType": "ArrayTypeName", + "src": "281:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "280:15:3" + } + }, + { + "id": 1925, + "nodeType": "EventDefinition", + "src": "301:49:3", + "nodes": [], + "anonymous": false, + "eventSelector": "00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb", + "name": "log_named_array", + "nameLocation": "307:15:3", + "parameters": { + "id": 1924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1920, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "330:3:3", + "nodeType": "VariableDeclaration", + "scope": 1925, + "src": "323:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1919, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "323:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1923, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "345:3:3", + "nodeType": "VariableDeclaration", + "scope": 1925, + "src": "335:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1921, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "335:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1922, + "nodeType": "ArrayTypeName", + "src": "335:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "322:27:3" + } + }, + { + "id": 1932, + "nodeType": "EventDefinition", + "src": "355:48:3", + "nodes": [], + "anonymous": false, + "eventSelector": "a73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57", + "name": "log_named_array", + "nameLocation": "361:15:3", + "parameters": { + "id": 1931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1927, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "384:3:3", + "nodeType": "VariableDeclaration", + "scope": 1932, + "src": "377:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1926, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "377:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1930, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "398:3:3", + "nodeType": "VariableDeclaration", + "scope": 1932, + "src": "389:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 1928, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "389:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 1929, + "nodeType": "ArrayTypeName", + "src": "389:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "376:26:3" + } + }, + { + "id": 1939, + "nodeType": "EventDefinition", + "src": "408:49:3", + "nodes": [], + "anonymous": false, + "eventSelector": "3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd", + "name": "log_named_array", + "nameLocation": "414:15:3", + "parameters": { + "id": 1938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1934, + "indexed": false, + "mutability": "mutable", + "name": "key", + "nameLocation": "437:3:3", + "nodeType": "VariableDeclaration", + "scope": 1939, + "src": "430:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1933, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "430:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1937, + "indexed": false, + "mutability": "mutable", + "name": "val", + "nameLocation": "452:3:3", + "nodeType": "VariableDeclaration", + "scope": 1939, + "src": "442:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1935, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "442:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1936, + "nodeType": "ArrayTypeName", + "src": "442:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "429:27:3" + } + }, + { + "id": 1953, + "nodeType": "FunctionDefinition", + "src": "463:118:3", + "nodes": [], + "body": { + "id": 1952, + "nodeType": "Block", + "src": "513:68:3", + "nodes": [], + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 1945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "545:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 1946, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1941, + "src": "554:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1944, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "528:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "528:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1948, + "nodeType": "EmitStatement", + "src": "523:35:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1949, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "568:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "568:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1951, + "nodeType": "ExpressionStatement", + "src": "568:6:3" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "fail", + "nameLocation": "472:4:3", + "parameters": { + "id": 1942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1941, + "mutability": "mutable", + "name": "err", + "nameLocation": "491:3:3", + "nodeType": "VariableDeclaration", + "scope": 1953, + "src": "477:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1940, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "477:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "476:19:3" + }, + "returnParameters": { + "id": 1943, + "nodeType": "ParameterList", + "parameters": [], + "src": "513:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 1964, + "nodeType": "FunctionDefinition", + "src": "587:83:3", + "nodes": [], + "body": { + "id": 1963, + "nodeType": "Block", + "src": "636:34:3", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "657:5:3", + "subExpression": { + "id": 1959, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1955, + "src": "658:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1958, + "name": "assertTrue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 269, + 290 + ], + "referencedDeclaration": 269, + "src": "646:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 1961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "646:17:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1962, + "nodeType": "ExpressionStatement", + "src": "646:17:3" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertFalse", + "nameLocation": "596:11:3", + "parameters": { + "id": 1956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1955, + "mutability": "mutable", + "name": "data", + "nameLocation": "613:4:3", + "nodeType": "VariableDeclaration", + "scope": 1964, + "src": "608:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1954, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "608:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "607:11:3" + }, + "returnParameters": { + "id": 1957, + "nodeType": "ParameterList", + "parameters": [], + "src": "636:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 1978, + "nodeType": "FunctionDefinition", + "src": "676:107:3", + "nodes": [], + "body": { + "id": 1977, + "nodeType": "Block", + "src": "744:39:3", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "765:5:3", + "subExpression": { + "id": 1972, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1966, + "src": "766:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1974, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1968, + "src": "772:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1971, + "name": "assertTrue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 269, + 290 + ], + "referencedDeclaration": 290, + "src": "754:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory)" + } + }, + "id": 1975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "754:22:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1976, + "nodeType": "ExpressionStatement", + "src": "754:22:3" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertFalse", + "nameLocation": "685:11:3", + "parameters": { + "id": 1969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1966, + "mutability": "mutable", + "name": "data", + "nameLocation": "702:4:3", + "nodeType": "VariableDeclaration", + "scope": 1978, + "src": "697:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1965, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "697:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1968, + "mutability": "mutable", + "name": "err", + "nameLocation": "722:3:3", + "nodeType": "VariableDeclaration", + "scope": 1978, + "src": "708:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1967, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "708:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "696:30:3" + }, + "returnParameters": { + "id": 1970, + "nodeType": "ParameterList", + "parameters": [], + "src": "744:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2014, + "nodeType": "FunctionDefinition", + "src": "789:312:3", + "nodes": [], + "body": { + "id": 2013, + "nodeType": "Block", + "src": "840:261:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1985, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1980, + "src": "854:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 1986, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1982, + "src": "859:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "854:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2012, + "nodeType": "IfStatement", + "src": "850:245:3", + "trueBody": { + "id": 2011, + "nodeType": "Block", + "src": "862:233:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f6c5d", + "id": 1989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "885:36:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8b48ec9ac4dc7123ad32509232067c63ebae61bff18d5e06bf4dea2a25240ed2", + "typeString": "literal_string \"Error: a == b not satisfied [bool]\"" + }, + "value": "Error: a == b not satisfied [bool]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8b48ec9ac4dc7123ad32509232067c63ebae61bff18d5e06bf4dea2a25240ed2", + "typeString": "literal_string \"Error: a == b not satisfied [bool]\"" + } + ], + "id": 1988, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "881:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "881:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1991, + "nodeType": "EmitStatement", + "src": "876:46:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 1993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "958:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "condition": { + "id": 1994, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1982, + "src": "972:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "66616c7365", + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "985:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ba9154e0baa69c78e0ca563b867df81bae9d177c4ea1452c35c84386a70f0f7a", + "typeString": "literal_string \"false\"" + }, + "value": "false" + }, + "id": 1997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "972:20:3", + "trueExpression": { + "hexValue": "74727565", + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "976:6:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6273151f959616268004b58dbb21e5c851b7b8d04498b4aabee12291d22fc034", + "typeString": "literal_string \"true\"" + }, + "value": "true" + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1992, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "941:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 1998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "941:52:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1999, + "nodeType": "EmitStatement", + "src": "936:57:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 2001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1029:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "condition": { + "id": 2002, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1980, + "src": "1043:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "66616c7365", + "id": 2004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1056:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ba9154e0baa69c78e0ca563b867df81bae9d177c4ea1452c35c84386a70f0f7a", + "typeString": "literal_string \"false\"" + }, + "value": "false" + }, + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1043:20:3", + "trueExpression": { + "hexValue": "74727565", + "id": 2003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1047:6:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6273151f959616268004b58dbb21e5c851b7b8d04498b4aabee12291d22fc034", + "typeString": "literal_string \"true\"" + }, + "value": "true" + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2000, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "1012:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1012:52:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2007, + "nodeType": "EmitStatement", + "src": "1007:57:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2008, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "1078:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1078:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2010, + "nodeType": "ExpressionStatement", + "src": "1078:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "798:8:3", + "parameters": { + "id": 1983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1980, + "mutability": "mutable", + "name": "a", + "nameLocation": "812:1:3", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "807:6:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1979, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "807:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1982, + "mutability": "mutable", + "name": "b", + "nameLocation": "820:1:3", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "815:6:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1981, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "815:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "806:16:3" + }, + "returnParameters": { + "id": 1984, + "nodeType": "ParameterList", + "parameters": [], + "src": "840:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2039, + "nodeType": "FunctionDefinition", + "src": "1107:186:3", + "nodes": [], + "body": { + "id": 2038, + "nodeType": "Block", + "src": "1177:116:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2023, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2016, + "src": "1191:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 2024, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2018, + "src": "1196:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1191:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2037, + "nodeType": "IfStatement", + "src": "1187:100:3", + "trueBody": { + "id": 2036, + "nodeType": "Block", + "src": "1199:88:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1235:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2028, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2020, + "src": "1244:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2026, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "1218:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1218:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2030, + "nodeType": "EmitStatement", + "src": "1213:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2032, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2016, + "src": "1271:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 2033, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2018, + "src": "1274:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2031, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 2014, + "src": "1262:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_bool_$returns$__$", + "typeString": "function (bool,bool)" + } + }, + "id": 2034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1262:14:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2035, + "nodeType": "ExpressionStatement", + "src": "1262:14:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "1116:8:3", + "parameters": { + "id": 2021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2016, + "mutability": "mutable", + "name": "a", + "nameLocation": "1130:1:3", + "nodeType": "VariableDeclaration", + "scope": 2039, + "src": "1125:6:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2015, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1125:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2018, + "mutability": "mutable", + "name": "b", + "nameLocation": "1138:1:3", + "nodeType": "VariableDeclaration", + "scope": 2039, + "src": "1133:6:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1133:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2020, + "mutability": "mutable", + "name": "err", + "nameLocation": "1155:3:3", + "nodeType": "VariableDeclaration", + "scope": 2039, + "src": "1141:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2019, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1141:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1124:35:3" + }, + "returnParameters": { + "id": 2022, + "nodeType": "ParameterList", + "parameters": [], + "src": "1177:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2052, + "nodeType": "FunctionDefinition", + "src": "1299:99:3", + "nodes": [], + "body": { + "id": 2051, + "nodeType": "Block", + "src": "1366:32:3", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2047, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2041, + "src": "1386:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2048, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2043, + "src": "1389:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2046, + "name": "assertEq0", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1758, + 1785 + ], + "referencedDeclaration": 1758, + "src": "1376:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,bytes memory)" + } + }, + "id": 2049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1376:15:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2050, + "nodeType": "ExpressionStatement", + "src": "1376:15:3" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "1308:8:3", + "parameters": { + "id": 2044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2041, + "mutability": "mutable", + "name": "a", + "nameLocation": "1330:1:3", + "nodeType": "VariableDeclaration", + "scope": 2052, + "src": "1317:14:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2040, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1317:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2043, + "mutability": "mutable", + "name": "b", + "nameLocation": "1346:1:3", + "nodeType": "VariableDeclaration", + "scope": 2052, + "src": "1333:14:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2042, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1333:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1316:32:3" + }, + "returnParameters": { + "id": 2045, + "nodeType": "ParameterList", + "parameters": [], + "src": "1366:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2068, + "nodeType": "FunctionDefinition", + "src": "1404:123:3", + "nodes": [], + "body": { + "id": 2067, + "nodeType": "Block", + "src": "1490:37:3", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2062, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2054, + "src": "1510:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2063, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2056, + "src": "1513:1:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2064, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2058, + "src": "1516:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2061, + "name": "assertEq0", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1758, + 1785 + ], + "referencedDeclaration": 1785, + "src": "1500:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,bytes memory,string memory)" + } + }, + "id": 2065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1500:20:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2066, + "nodeType": "ExpressionStatement", + "src": "1500:20:3" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "1413:8:3", + "parameters": { + "id": 2059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2054, + "mutability": "mutable", + "name": "a", + "nameLocation": "1435:1:3", + "nodeType": "VariableDeclaration", + "scope": 2068, + "src": "1422:14:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2053, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1422:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2056, + "mutability": "mutable", + "name": "b", + "nameLocation": "1451:1:3", + "nodeType": "VariableDeclaration", + "scope": 2068, + "src": "1438:14:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2055, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1438:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2058, + "mutability": "mutable", + "name": "err", + "nameLocation": "1468:3:3", + "nodeType": "VariableDeclaration", + "scope": 2068, + "src": "1454:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2057, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1454:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1421:51:3" + }, + "returnParameters": { + "id": 2060, + "nodeType": "ParameterList", + "parameters": [], + "src": "1490:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2110, + "nodeType": "FunctionDefinition", + "src": "1533:344:3", + "nodes": [], + "body": { + "id": 2109, + "nodeType": "Block", + "src": "1608:269:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2080, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2071, + "src": "1643:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "id": 2078, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1632:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1636:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1632:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1632:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2077, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1622:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1622:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2086, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2074, + "src": "1671:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "id": 2084, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1660:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1664:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1660:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1660:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2083, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1650:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1650:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1622:52:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2108, + "nodeType": "IfStatement", + "src": "1618:253:3", + "trueBody": { + "id": 2107, + "nodeType": "Block", + "src": "1676:195:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745b5d5d", + "id": 2091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1699:38:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_521d63632bd73b6c06245b96e4e8f1b767ee309607c65899b409e5c9e6c384eb", + "typeString": "literal_string \"Error: a == b not satisfied [uint[]]\"" + }, + "value": "Error: a == b not satisfied [uint[]]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_521d63632bd73b6c06245b96e4e8f1b767ee309607c65899b409e5c9e6c384eb", + "typeString": "literal_string \"Error: a == b not satisfied [uint[]]\"" + } + ], + "id": 2090, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "1695:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1695:43:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2093, + "nodeType": "EmitStatement", + "src": "1690:48:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 2095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1773:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2096, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2074, + "src": "1787:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 2094, + "name": "log_named_array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1932, + 1939 + ], + "referencedDeclaration": 1925, + "src": "1757:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,uint256[] memory)" + } + }, + "id": 2097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1757:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2098, + "nodeType": "EmitStatement", + "src": "1752:37:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 2100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1824:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2101, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2071, + "src": "1838:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 2099, + "name": "log_named_array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1932, + 1939 + ], + "referencedDeclaration": 1925, + "src": "1808:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,uint256[] memory)" + } + }, + "id": 2102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1808:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2103, + "nodeType": "EmitStatement", + "src": "1803:37:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2104, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "1854:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1854:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2106, + "nodeType": "ExpressionStatement", + "src": "1854:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "1542:8:3", + "parameters": { + "id": 2075, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2071, + "mutability": "mutable", + "name": "a", + "nameLocation": "1568:1:3", + "nodeType": "VariableDeclaration", + "scope": 2110, + "src": "1551:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2069, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1551:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2070, + "nodeType": "ArrayTypeName", + "src": "1551:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2074, + "mutability": "mutable", + "name": "b", + "nameLocation": "1588:1:3", + "nodeType": "VariableDeclaration", + "scope": 2110, + "src": "1571:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2072, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1571:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2073, + "nodeType": "ArrayTypeName", + "src": "1571:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1550:40:3" + }, + "returnParameters": { + "id": 2076, + "nodeType": "ParameterList", + "parameters": [], + "src": "1608:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2152, + "nodeType": "FunctionDefinition", + "src": "1883:341:3", + "nodes": [], + "body": { + "id": 2151, + "nodeType": "Block", + "src": "1956:268:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2122, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2113, + "src": "1991:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + ], + "expression": { + "id": 2120, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1980:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1984:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1980:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1980:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2119, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1970:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1970:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2128, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2116, + "src": "2019:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + ], + "expression": { + "id": 2126, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2008:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2012:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2008:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2008:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2125, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1998:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1998:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1970:52:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2150, + "nodeType": "IfStatement", + "src": "1966:252:3", + "trueBody": { + "id": 2149, + "nodeType": "Block", + "src": "2024:194:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e745b5d5d", + "id": 2133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2047:37:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c8a6638f7c95c9ee18ffcfc37ffe04d6270c2db7493e9b7a14add834054a5f5", + "typeString": "literal_string \"Error: a == b not satisfied [int[]]\"" + }, + "value": "Error: a == b not satisfied [int[]]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6c8a6638f7c95c9ee18ffcfc37ffe04d6270c2db7493e9b7a14add834054a5f5", + "typeString": "literal_string \"Error: a == b not satisfied [int[]]\"" + } + ], + "id": 2132, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "2043:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2043:42:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2135, + "nodeType": "EmitStatement", + "src": "2038:47:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 2137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2120:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2138, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2116, + "src": "2134:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + ], + "id": 2136, + "name": "log_named_array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1932, + 1939 + ], + "referencedDeclaration": 1932, + "src": "2104:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,int256[] memory)" + } + }, + "id": 2139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2104:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2140, + "nodeType": "EmitStatement", + "src": "2099:37:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 2142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2171:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2143, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2113, + "src": "2185:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + ], + "id": 2141, + "name": "log_named_array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1932, + 1939 + ], + "referencedDeclaration": 1932, + "src": "2155:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,int256[] memory)" + } + }, + "id": 2144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2155:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2145, + "nodeType": "EmitStatement", + "src": "2150:37:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2146, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "2201:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2201:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2148, + "nodeType": "ExpressionStatement", + "src": "2201:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "1892:8:3", + "parameters": { + "id": 2117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2113, + "mutability": "mutable", + "name": "a", + "nameLocation": "1917:1:3", + "nodeType": "VariableDeclaration", + "scope": 2152, + "src": "1901:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 2111, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1901:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 2112, + "nodeType": "ArrayTypeName", + "src": "1901:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2116, + "mutability": "mutable", + "name": "b", + "nameLocation": "1936:1:3", + "nodeType": "VariableDeclaration", + "scope": 2152, + "src": "1920:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 2114, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1920:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 2115, + "nodeType": "ArrayTypeName", + "src": "1920:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1900:38:3" + }, + "returnParameters": { + "id": 2118, + "nodeType": "ParameterList", + "parameters": [], + "src": "1956:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2194, + "nodeType": "FunctionDefinition", + "src": "2230:347:3", + "nodes": [], + "body": { + "id": 2193, + "nodeType": "Block", + "src": "2305:272:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2164, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2155, + "src": "2340:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "id": 2162, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2329:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2333:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2329:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2329:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2161, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2319:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2319:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2170, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2158, + "src": "2368:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "id": 2168, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2357:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2361:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2357:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2357:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2167, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2347:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2347:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2319:52:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2192, + "nodeType": "IfStatement", + "src": "2315:256:3", + "trueBody": { + "id": 2191, + "nodeType": "Block", + "src": "2373:198:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735b5d5d", + "id": 2175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2396:41:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_18b6dc04296758144a4e9b271bd3d79214335bb195df00f93d1706586d5041f8", + "typeString": "literal_string \"Error: a == b not satisfied [address[]]\"" + }, + "value": "Error: a == b not satisfied [address[]]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_18b6dc04296758144a4e9b271bd3d79214335bb195df00f93d1706586d5041f8", + "typeString": "literal_string \"Error: a == b not satisfied [address[]]\"" + } + ], + "id": 2174, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "2392:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2392:46:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2177, + "nodeType": "EmitStatement", + "src": "2387:51:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 2179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2473:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2180, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2158, + "src": "2487:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "id": 2178, + "name": "log_named_array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1932, + 1939 + ], + "referencedDeclaration": 1939, + "src": "2457:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,address[] memory)" + } + }, + "id": 2181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2457:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2182, + "nodeType": "EmitStatement", + "src": "2452:37:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 2184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2524:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2185, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2155, + "src": "2538:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "id": 2183, + "name": "log_named_array", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1932, + 1939 + ], + "referencedDeclaration": 1939, + "src": "2508:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,address[] memory)" + } + }, + "id": 2186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2508:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2187, + "nodeType": "EmitStatement", + "src": "2503:37:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2188, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "2554:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2554:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2190, + "nodeType": "ExpressionStatement", + "src": "2554:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "2239:8:3", + "parameters": { + "id": 2159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2155, + "mutability": "mutable", + "name": "a", + "nameLocation": "2265:1:3", + "nodeType": "VariableDeclaration", + "scope": 2194, + "src": "2248:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2248:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2154, + "nodeType": "ArrayTypeName", + "src": "2248:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2158, + "mutability": "mutable", + "name": "b", + "nameLocation": "2285:1:3", + "nodeType": "VariableDeclaration", + "scope": 2194, + "src": "2268:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2268:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2157, + "nodeType": "ArrayTypeName", + "src": "2268:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2247:40:3" + }, + "returnParameters": { + "id": 2160, + "nodeType": "ParameterList", + "parameters": [], + "src": "2305:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2231, + "nodeType": "FunctionDefinition", + "src": "2583:256:3", + "nodes": [], + "body": { + "id": 2230, + "nodeType": "Block", + "src": "2677:162:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2208, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2197, + "src": "2712:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "id": 2206, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2701:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2705:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2701:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2701:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2205, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2691:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2691:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2214, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2200, + "src": "2740:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "id": 2212, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2729:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2733:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2729:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2729:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2211, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2719:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2719:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2691:52:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2229, + "nodeType": "IfStatement", + "src": "2687:146:3", + "trueBody": { + "id": 2228, + "nodeType": "Block", + "src": "2745:88:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2781:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2220, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2202, + "src": "2790:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2218, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "2764:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2764:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2222, + "nodeType": "EmitStatement", + "src": "2759:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2224, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2197, + "src": "2817:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 2225, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2200, + "src": "2820:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 2223, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 2110, + "src": "2808:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (uint256[] memory,uint256[] memory)" + } + }, + "id": 2226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2808:14:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2227, + "nodeType": "ExpressionStatement", + "src": "2808:14:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "2592:8:3", + "parameters": { + "id": 2203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2197, + "mutability": "mutable", + "name": "a", + "nameLocation": "2618:1:3", + "nodeType": "VariableDeclaration", + "scope": 2231, + "src": "2601:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2195, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2601:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2196, + "nodeType": "ArrayTypeName", + "src": "2601:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2200, + "mutability": "mutable", + "name": "b", + "nameLocation": "2638:1:3", + "nodeType": "VariableDeclaration", + "scope": 2231, + "src": "2621:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2621:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2199, + "nodeType": "ArrayTypeName", + "src": "2621:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2202, + "mutability": "mutable", + "name": "err", + "nameLocation": "2655:3:3", + "nodeType": "VariableDeclaration", + "scope": 2231, + "src": "2641:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2201, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2641:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2600:59:3" + }, + "returnParameters": { + "id": 2204, + "nodeType": "ParameterList", + "parameters": [], + "src": "2677:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2268, + "nodeType": "FunctionDefinition", + "src": "2845:254:3", + "nodes": [], + "body": { + "id": 2267, + "nodeType": "Block", + "src": "2937:162:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2245, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2234, + "src": "2972:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + ], + "expression": { + "id": 2243, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2961:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2965:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2961:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2961:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2242, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2951:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2951:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2251, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2237, + "src": "3000:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + ], + "expression": { + "id": 2249, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2989:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2993:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2989:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2989:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2248, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2979:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2979:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2951:52:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2266, + "nodeType": "IfStatement", + "src": "2947:146:3", + "trueBody": { + "id": 2265, + "nodeType": "Block", + "src": "3005:88:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3041:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2257, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "3050:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2255, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "3024:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3024:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2259, + "nodeType": "EmitStatement", + "src": "3019:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2261, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2234, + "src": "3077:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + }, + { + "id": 2262, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2237, + "src": "3080:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + }, + { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + ], + "id": 2260, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 2152, + "src": "3068:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (int256[] memory,int256[] memory)" + } + }, + "id": 2263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3068:14:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2264, + "nodeType": "ExpressionStatement", + "src": "3068:14:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "2854:8:3", + "parameters": { + "id": 2240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2234, + "mutability": "mutable", + "name": "a", + "nameLocation": "2879:1:3", + "nodeType": "VariableDeclaration", + "scope": 2268, + "src": "2863:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 2232, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2863:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 2233, + "nodeType": "ArrayTypeName", + "src": "2863:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2237, + "mutability": "mutable", + "name": "b", + "nameLocation": "2898:1:3", + "nodeType": "VariableDeclaration", + "scope": 2268, + "src": "2882:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 2235, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2882:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 2236, + "nodeType": "ArrayTypeName", + "src": "2882:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2239, + "mutability": "mutable", + "name": "err", + "nameLocation": "2915:3:3", + "nodeType": "VariableDeclaration", + "scope": 2268, + "src": "2901:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2238, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2901:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2862:57:3" + }, + "returnParameters": { + "id": 2241, + "nodeType": "ParameterList", + "parameters": [], + "src": "2937:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2305, + "nodeType": "FunctionDefinition", + "src": "3105:256:3", + "nodes": [], + "body": { + "id": 2304, + "nodeType": "Block", + "src": "3199:162:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2282, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2271, + "src": "3234:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "id": 2280, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3223:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3227:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3223:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3223:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2279, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3213:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3213:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2288, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2274, + "src": "3262:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "id": 2286, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3251:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3255:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3251:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3251:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2285, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3241:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3241:24:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3213:52:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2303, + "nodeType": "IfStatement", + "src": "3209:146:3", + "trueBody": { + "id": 2302, + "nodeType": "Block", + "src": "3267:88:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3303:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2294, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2276, + "src": "3312:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2292, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "3286:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3286:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2296, + "nodeType": "EmitStatement", + "src": "3281:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2298, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2271, + "src": "3339:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "id": 2299, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2274, + "src": "3342:1:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "id": 2297, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 2194, + "src": "3330:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address[] memory,address[] memory)" + } + }, + "id": 2300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3330:14:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2301, + "nodeType": "ExpressionStatement", + "src": "3330:14:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "3114:8:3", + "parameters": { + "id": 2277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2271, + "mutability": "mutable", + "name": "a", + "nameLocation": "3140:1:3", + "nodeType": "VariableDeclaration", + "scope": 2305, + "src": "3123:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3123:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2270, + "nodeType": "ArrayTypeName", + "src": "3123:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2274, + "mutability": "mutable", + "name": "b", + "nameLocation": "3160:1:3", + "nodeType": "VariableDeclaration", + "scope": 2305, + "src": "3143:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2272, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3143:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2273, + "nodeType": "ArrayTypeName", + "src": "3143:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2276, + "mutability": "mutable", + "name": "err", + "nameLocation": "3177:3:3", + "nodeType": "VariableDeclaration", + "scope": 2305, + "src": "3163:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2275, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3163:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3122:59:3" + }, + "returnParameters": { + "id": 2278, + "nodeType": "ParameterList", + "parameters": [], + "src": "3199:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2324, + "nodeType": "FunctionDefinition", + "src": "3388:110:3", + "nodes": [], + "body": { + "id": 2323, + "nodeType": "Block", + "src": "3449:49:3", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2315, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2307, + "src": "3476:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3468:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2313, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3468:7:3", + "typeDescriptions": {} + } + }, + "id": 2316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3468:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2319, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2309, + "src": "3488:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3480:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2317, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3480:7:3", + "typeDescriptions": {} + } + }, + "id": 2320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3480:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2312, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "3459:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 2321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3459:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2322, + "nodeType": "ExpressionStatement", + "src": "3459:32:3" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEqUint", + "nameLocation": "3397:12:3", + "parameters": { + "id": 2310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2307, + "mutability": "mutable", + "name": "a", + "nameLocation": "3418:1:3", + "nodeType": "VariableDeclaration", + "scope": 2324, + "src": "3410:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2306, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3410:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2309, + "mutability": "mutable", + "name": "b", + "nameLocation": "3429:1:3", + "nodeType": "VariableDeclaration", + "scope": 2324, + "src": "3421:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2308, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3421:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3409:22:3" + }, + "returnParameters": { + "id": 2311, + "nodeType": "ParameterList", + "parameters": [], + "src": "3449:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2374, + "nodeType": "FunctionDefinition", + "src": "3504:470:3", + "nodes": [], + "body": { + "id": 2373, + "nodeType": "Block", + "src": "3588:386:3", + "nodes": [], + "statements": [ + { + "assignments": [ + 2334 + ], + "declarations": [ + { + "constant": false, + "id": 2334, + "mutability": "mutable", + "name": "delta", + "nameLocation": "3606:5:3", + "nodeType": "VariableDeclaration", + "scope": 2373, + "src": "3598:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2333, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3598:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2340, + "initialValue": { + "arguments": [ + { + "id": 2337, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2326, + "src": "3628:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2338, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "3631:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2335, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "3614:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3622:5:3", + "memberName": "delta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6540, + "src": "3614:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3614:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3598:35:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2341, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2334, + "src": "3648:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2342, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2330, + "src": "3656:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3648:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2372, + "nodeType": "IfStatement", + "src": "3644:324:3", + "trueBody": { + "id": 2371, + "nodeType": "Block", + "src": "3666:302:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d", + "id": 2345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3689:36:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", + "typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" + }, + "value": "Error: a ~= b not satisfied [uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", + "typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" + } + ], + "id": 2344, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "3685:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3685:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2347, + "nodeType": "EmitStatement", + "src": "3680:46:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 2349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3760:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2350, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "3774:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2348, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "3745:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3745:31:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2352, + "nodeType": "EmitStatement", + "src": "3740:36:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 2354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3810:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2355, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2326, + "src": "3824:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2353, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "3795:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3795:31:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2357, + "nodeType": "EmitStatement", + "src": "3790:36:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "204d61782044656c7461", + "id": 2359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3860:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", + "typeString": "literal_string \" Max Delta\"" + }, + "value": " Max Delta" + }, + { + "id": 2360, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2330, + "src": "3874:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", + "typeString": "literal_string \" Max Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2358, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "3845:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3845:38:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2362, + "nodeType": "EmitStatement", + "src": "3840:43:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202020202044656c7461", + "id": 2364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3917:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", + "typeString": "literal_string \" Delta\"" + }, + "value": " Delta" + }, + { + "id": 2365, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2334, + "src": "3931:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", + "typeString": "literal_string \" Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2363, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "3902:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3902:35:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2367, + "nodeType": "EmitStatement", + "src": "3897:40:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2368, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "3951:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3951:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2370, + "nodeType": "ExpressionStatement", + "src": "3951:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqAbs", + "nameLocation": "3513:17:3", + "parameters": { + "id": 2331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2326, + "mutability": "mutable", + "name": "a", + "nameLocation": "3539:1:3", + "nodeType": "VariableDeclaration", + "scope": 2374, + "src": "3531:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3531:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2328, + "mutability": "mutable", + "name": "b", + "nameLocation": "3550:1:3", + "nodeType": "VariableDeclaration", + "scope": 2374, + "src": "3542:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3542:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2330, + "mutability": "mutable", + "name": "maxDelta", + "nameLocation": "3561:8:3", + "nodeType": "VariableDeclaration", + "scope": 2374, + "src": "3553:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3553:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3530:40:3" + }, + "returnParameters": { + "id": 2332, + "nodeType": "ParameterList", + "parameters": [], + "src": "3588:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2410, + "nodeType": "FunctionDefinition", + "src": "3980:294:3", + "nodes": [], + "body": { + "id": 2409, + "nodeType": "Block", + "src": "4083:191:3", + "nodes": [], + "statements": [ + { + "assignments": [ + 2386 + ], + "declarations": [ + { + "constant": false, + "id": 2386, + "mutability": "mutable", + "name": "delta", + "nameLocation": "4101:5:3", + "nodeType": "VariableDeclaration", + "scope": 2409, + "src": "4093:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2385, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4093:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2392, + "initialValue": { + "arguments": [ + { + "id": 2389, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2376, + "src": "4123:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2390, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "4126:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2387, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "4109:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4117:5:3", + "memberName": "delta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6540, + "src": "4109:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4109:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4093:35:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2393, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2386, + "src": "4143:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2394, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2380, + "src": "4151:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4143:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2408, + "nodeType": "IfStatement", + "src": "4139:129:3", + "trueBody": { + "id": 2407, + "nodeType": "Block", + "src": "4161:107:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4197:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2398, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2382, + "src": "4206:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2396, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "4180:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4180:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2400, + "nodeType": "EmitStatement", + "src": "4175:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2402, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2376, + "src": "4242:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2403, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "4245:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2404, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2380, + "src": "4248:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2401, + "name": "assertApproxEqAbs", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2374, + 2410, + 2555, + 2591 + ], + "referencedDeclaration": 2374, + "src": "4224:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 2405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4224:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2406, + "nodeType": "ExpressionStatement", + "src": "4224:33:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqAbs", + "nameLocation": "3989:17:3", + "parameters": { + "id": 2383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2376, + "mutability": "mutable", + "name": "a", + "nameLocation": "4015:1:3", + "nodeType": "VariableDeclaration", + "scope": 2410, + "src": "4007:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2375, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4007:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2378, + "mutability": "mutable", + "name": "b", + "nameLocation": "4026:1:3", + "nodeType": "VariableDeclaration", + "scope": 2410, + "src": "4018:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2377, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4018:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2380, + "mutability": "mutable", + "name": "maxDelta", + "nameLocation": "4037:8:3", + "nodeType": "VariableDeclaration", + "scope": 2410, + "src": "4029:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2379, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4029:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2382, + "mutability": "mutable", + "name": "err", + "nameLocation": "4061:3:3", + "nodeType": "VariableDeclaration", + "scope": 2410, + "src": "4047:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2381, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4047:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4006:59:3" + }, + "returnParameters": { + "id": 2384, + "nodeType": "ParameterList", + "parameters": [], + "src": "4083:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2466, + "nodeType": "FunctionDefinition", + "src": "4280:567:3", + "nodes": [], + "body": { + "id": 2465, + "nodeType": "Block", + "src": "4389:458:3", + "nodes": [], + "statements": [ + { + "assignments": [ + 2422 + ], + "declarations": [ + { + "constant": false, + "id": 2422, + "mutability": "mutable", + "name": "delta", + "nameLocation": "4407:5:3", + "nodeType": "VariableDeclaration", + "scope": 2465, + "src": "4399:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2421, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4399:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2428, + "initialValue": { + "arguments": [ + { + "id": 2425, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2412, + "src": "4429:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2426, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2414, + "src": "4432:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2423, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "4415:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4423:5:3", + "memberName": "delta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6540, + "src": "4415:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4415:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4399:35:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2429, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2422, + "src": "4449:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2430, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2416, + "src": "4457:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4449:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2464, + "nodeType": "IfStatement", + "src": "4445:396:3", + "trueBody": { + "id": 2463, + "nodeType": "Block", + "src": "4467:374:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d", + "id": 2433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4490:36:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", + "typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" + }, + "value": "Error: a ~= b not satisfied [uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", + "typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" + } + ], + "id": 2432, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "4486:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4486:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2435, + "nodeType": "EmitStatement", + "src": "4481:46:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 2437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4569:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2438, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2414, + "src": "4583:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2439, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2418, + "src": "4586:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2436, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "4546:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4546:49:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2441, + "nodeType": "EmitStatement", + "src": "4541:54:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 2443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4637:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2444, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2412, + "src": "4651:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2445, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2418, + "src": "4654:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2442, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "4614:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4614:49:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2447, + "nodeType": "EmitStatement", + "src": "4609:54:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "204d61782044656c7461", + "id": 2449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4705:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", + "typeString": "literal_string \" Max Delta\"" + }, + "value": " Max Delta" + }, + { + "id": 2450, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2416, + "src": "4719:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2451, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2418, + "src": "4729:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", + "typeString": "literal_string \" Max Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2448, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "4682:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4682:56:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2453, + "nodeType": "EmitStatement", + "src": "4677:61:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202020202044656c7461", + "id": 2455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4780:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", + "typeString": "literal_string \" Delta\"" + }, + "value": " Delta" + }, + { + "id": 2456, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2422, + "src": "4794:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2457, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2418, + "src": "4801:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", + "typeString": "literal_string \" Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2454, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "4757:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4757:53:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2459, + "nodeType": "EmitStatement", + "src": "4752:58:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2460, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "4824:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4824:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2462, + "nodeType": "ExpressionStatement", + "src": "4824:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqAbsDecimal", + "nameLocation": "4289:24:3", + "parameters": { + "id": 2419, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2412, + "mutability": "mutable", + "name": "a", + "nameLocation": "4322:1:3", + "nodeType": "VariableDeclaration", + "scope": 2466, + "src": "4314:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2411, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4314:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2414, + "mutability": "mutable", + "name": "b", + "nameLocation": "4333:1:3", + "nodeType": "VariableDeclaration", + "scope": 2466, + "src": "4325:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4325:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2416, + "mutability": "mutable", + "name": "maxDelta", + "nameLocation": "4344:8:3", + "nodeType": "VariableDeclaration", + "scope": 2466, + "src": "4336:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2415, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4336:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2418, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "4362:8:3", + "nodeType": "VariableDeclaration", + "scope": 2466, + "src": "4354:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2417, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4354:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4313:58:3" + }, + "returnParameters": { + "id": 2420, + "nodeType": "ParameterList", + "parameters": [], + "src": "4389:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2505, + "nodeType": "FunctionDefinition", + "src": "4853:356:3", + "nodes": [], + "body": { + "id": 2504, + "nodeType": "Block", + "src": "5001:208:3", + "nodes": [], + "statements": [ + { + "assignments": [ + 2480 + ], + "declarations": [ + { + "constant": false, + "id": 2480, + "mutability": "mutable", + "name": "delta", + "nameLocation": "5019:5:3", + "nodeType": "VariableDeclaration", + "scope": 2504, + "src": "5011:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5011:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2486, + "initialValue": { + "arguments": [ + { + "id": 2483, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2468, + "src": "5041:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2484, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2470, + "src": "5044:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2481, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "5027:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5035:5:3", + "memberName": "delta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6540, + "src": "5027:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5027:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5011:35:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2487, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2480, + "src": "5061:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2488, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2472, + "src": "5069:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5061:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2503, + "nodeType": "IfStatement", + "src": "5057:146:3", + "trueBody": { + "id": 2502, + "nodeType": "Block", + "src": "5079:124:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5115:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2492, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2476, + "src": "5124:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2490, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "5098:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5098:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2494, + "nodeType": "EmitStatement", + "src": "5093:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2496, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2468, + "src": "5167:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2497, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2470, + "src": "5170:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2498, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2472, + "src": "5173:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2499, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2474, + "src": "5183:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2495, + "name": "assertApproxEqAbsDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2466, + 2505, + 2647, + 2686 + ], + "referencedDeclaration": 2466, + "src": "5142:24:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256)" + } + }, + "id": 2500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5142:50:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2501, + "nodeType": "ExpressionStatement", + "src": "5142:50:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqAbsDecimal", + "nameLocation": "4862:24:3", + "parameters": { + "id": 2477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2468, + "mutability": "mutable", + "name": "a", + "nameLocation": "4895:1:3", + "nodeType": "VariableDeclaration", + "scope": 2505, + "src": "4887:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2467, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4887:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2470, + "mutability": "mutable", + "name": "b", + "nameLocation": "4906:1:3", + "nodeType": "VariableDeclaration", + "scope": 2505, + "src": "4898:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4898:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2472, + "mutability": "mutable", + "name": "maxDelta", + "nameLocation": "4917:8:3", + "nodeType": "VariableDeclaration", + "scope": 2505, + "src": "4909:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2471, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4909:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2474, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "4935:8:3", + "nodeType": "VariableDeclaration", + "scope": 2505, + "src": "4927:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4927:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2476, + "mutability": "mutable", + "name": "err", + "nameLocation": "4959:3:3", + "nodeType": "VariableDeclaration", + "scope": 2505, + "src": "4945:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2475, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4945:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4886:77:3" + }, + "returnParameters": { + "id": 2478, + "nodeType": "ParameterList", + "parameters": [], + "src": "5001:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2555, + "nodeType": "FunctionDefinition", + "src": "5215:465:3", + "nodes": [], + "body": { + "id": 2554, + "nodeType": "Block", + "src": "5297:383:3", + "nodes": [], + "statements": [ + { + "assignments": [ + 2515 + ], + "declarations": [ + { + "constant": false, + "id": 2515, + "mutability": "mutable", + "name": "delta", + "nameLocation": "5315:5:3", + "nodeType": "VariableDeclaration", + "scope": 2554, + "src": "5307:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2514, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5307:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2521, + "initialValue": { + "arguments": [ + { + "id": 2518, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2507, + "src": "5337:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2519, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2509, + "src": "5340:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 2516, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "5323:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5331:5:3", + "memberName": "delta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6576, + "src": "5323:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256,int256) pure returns (uint256)" + } + }, + "id": 2520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5323:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5307:35:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2522, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2515, + "src": "5357:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2523, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2511, + "src": "5365:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5357:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2553, + "nodeType": "IfStatement", + "src": "5353:321:3", + "trueBody": { + "id": 2552, + "nodeType": "Block", + "src": "5375:299:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d", + "id": 2526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5398:35:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", + "typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" + }, + "value": "Error: a ~= b not satisfied [int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", + "typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" + } + ], + "id": 2525, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "5394:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5394:40:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2528, + "nodeType": "EmitStatement", + "src": "5389:45:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 2530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5467:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2531, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2509, + "src": "5481:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 2529, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "5453:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 2532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5453:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2533, + "nodeType": "EmitStatement", + "src": "5448:35:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 2535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5516:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2536, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2507, + "src": "5530:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 2534, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "5502:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 2537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5502:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2538, + "nodeType": "EmitStatement", + "src": "5497:35:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "204d61782044656c7461", + "id": 2540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5566:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", + "typeString": "literal_string \" Max Delta\"" + }, + "value": " Max Delta" + }, + { + "id": 2541, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2511, + "src": "5580:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", + "typeString": "literal_string \" Max Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2539, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "5551:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5551:38:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2543, + "nodeType": "EmitStatement", + "src": "5546:43:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202020202044656c7461", + "id": 2545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5623:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", + "typeString": "literal_string \" Delta\"" + }, + "value": " Delta" + }, + { + "id": 2546, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2515, + "src": "5637:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", + "typeString": "literal_string \" Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2544, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "5608:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5608:35:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2548, + "nodeType": "EmitStatement", + "src": "5603:40:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2549, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "5657:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5657:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2551, + "nodeType": "ExpressionStatement", + "src": "5657:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqAbs", + "nameLocation": "5224:17:3", + "parameters": { + "id": 2512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2507, + "mutability": "mutable", + "name": "a", + "nameLocation": "5249:1:3", + "nodeType": "VariableDeclaration", + "scope": 2555, + "src": "5242:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2506, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5242:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2509, + "mutability": "mutable", + "name": "b", + "nameLocation": "5259:1:3", + "nodeType": "VariableDeclaration", + "scope": 2555, + "src": "5252:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2508, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5252:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2511, + "mutability": "mutable", + "name": "maxDelta", + "nameLocation": "5270:8:3", + "nodeType": "VariableDeclaration", + "scope": 2555, + "src": "5262:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2510, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5262:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5241:38:3" + }, + "returnParameters": { + "id": 2513, + "nodeType": "ParameterList", + "parameters": [], + "src": "5297:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2591, + "nodeType": "FunctionDefinition", + "src": "5686:292:3", + "nodes": [], + "body": { + "id": 2590, + "nodeType": "Block", + "src": "5787:191:3", + "nodes": [], + "statements": [ + { + "assignments": [ + 2567 + ], + "declarations": [ + { + "constant": false, + "id": 2567, + "mutability": "mutable", + "name": "delta", + "nameLocation": "5805:5:3", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "5797:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2566, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5797:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2573, + "initialValue": { + "arguments": [ + { + "id": 2570, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2557, + "src": "5827:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2571, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2559, + "src": "5830:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 2568, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "5813:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5821:5:3", + "memberName": "delta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6576, + "src": "5813:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256,int256) pure returns (uint256)" + } + }, + "id": 2572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5813:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5797:35:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2574, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2567, + "src": "5847:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2575, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2561, + "src": "5855:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5847:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2589, + "nodeType": "IfStatement", + "src": "5843:129:3", + "trueBody": { + "id": 2588, + "nodeType": "Block", + "src": "5865:107:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5901:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2579, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2563, + "src": "5910:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2577, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "5884:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5884:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2581, + "nodeType": "EmitStatement", + "src": "5879:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2583, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2557, + "src": "5946:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2584, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2559, + "src": "5949:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2585, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2561, + "src": "5952:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2582, + "name": "assertApproxEqAbs", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2374, + 2410, + 2555, + 2591 + ], + "referencedDeclaration": 2555, + "src": "5928:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (int256,int256,uint256)" + } + }, + "id": 2586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5928:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2587, + "nodeType": "ExpressionStatement", + "src": "5928:33:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqAbs", + "nameLocation": "5695:17:3", + "parameters": { + "id": 2564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2557, + "mutability": "mutable", + "name": "a", + "nameLocation": "5720:1:3", + "nodeType": "VariableDeclaration", + "scope": 2591, + "src": "5713:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2556, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5713:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2559, + "mutability": "mutable", + "name": "b", + "nameLocation": "5730:1:3", + "nodeType": "VariableDeclaration", + "scope": 2591, + "src": "5723:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2558, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5723:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2561, + "mutability": "mutable", + "name": "maxDelta", + "nameLocation": "5741:8:3", + "nodeType": "VariableDeclaration", + "scope": 2591, + "src": "5733:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5733:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2563, + "mutability": "mutable", + "name": "err", + "nameLocation": "5765:3:3", + "nodeType": "VariableDeclaration", + "scope": 2591, + "src": "5751:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2562, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5751:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5712:57:3" + }, + "returnParameters": { + "id": 2565, + "nodeType": "ParameterList", + "parameters": [], + "src": "5787:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2647, + "nodeType": "FunctionDefinition", + "src": "5984:562:3", + "nodes": [], + "body": { + "id": 2646, + "nodeType": "Block", + "src": "6091:455:3", + "nodes": [], + "statements": [ + { + "assignments": [ + 2603 + ], + "declarations": [ + { + "constant": false, + "id": 2603, + "mutability": "mutable", + "name": "delta", + "nameLocation": "6109:5:3", + "nodeType": "VariableDeclaration", + "scope": 2646, + "src": "6101:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2602, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6101:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2609, + "initialValue": { + "arguments": [ + { + "id": 2606, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2593, + "src": "6131:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2607, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2595, + "src": "6134:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 2604, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "6117:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6125:5:3", + "memberName": "delta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6576, + "src": "6117:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256,int256) pure returns (uint256)" + } + }, + "id": 2608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6117:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6101:35:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2610, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2603, + "src": "6151:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2611, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2597, + "src": "6159:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6151:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2645, + "nodeType": "IfStatement", + "src": "6147:393:3", + "trueBody": { + "id": 2644, + "nodeType": "Block", + "src": "6169:371:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d", + "id": 2614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6192:35:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", + "typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" + }, + "value": "Error: a ~= b not satisfied [int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", + "typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" + } + ], + "id": 2613, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "6188:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6188:40:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2616, + "nodeType": "EmitStatement", + "src": "6183:45:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 2618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6269:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2619, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2595, + "src": "6283:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2620, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "6286:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2617, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "6247:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 2621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6247:48:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2622, + "nodeType": "EmitStatement", + "src": "6242:53:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 2624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6336:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2625, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2593, + "src": "6350:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2626, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "6353:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2623, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "6314:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 2627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6314:48:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2628, + "nodeType": "EmitStatement", + "src": "6309:53:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "204d61782044656c7461", + "id": 2630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6404:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", + "typeString": "literal_string \" Max Delta\"" + }, + "value": " Max Delta" + }, + { + "id": 2631, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2597, + "src": "6418:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2632, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "6428:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", + "typeString": "literal_string \" Max Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2629, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "6381:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6381:56:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2634, + "nodeType": "EmitStatement", + "src": "6376:61:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202020202044656c7461", + "id": 2636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6479:12:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", + "typeString": "literal_string \" Delta\"" + }, + "value": " Delta" + }, + { + "id": 2637, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2603, + "src": "6493:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2638, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "6500:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", + "typeString": "literal_string \" Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2635, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "6456:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6456:53:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2640, + "nodeType": "EmitStatement", + "src": "6451:58:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2641, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "6523:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6523:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2643, + "nodeType": "ExpressionStatement", + "src": "6523:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqAbsDecimal", + "nameLocation": "5993:24:3", + "parameters": { + "id": 2600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2593, + "mutability": "mutable", + "name": "a", + "nameLocation": "6025:1:3", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "6018:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2592, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6018:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2595, + "mutability": "mutable", + "name": "b", + "nameLocation": "6035:1:3", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "6028:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2594, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6028:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2597, + "mutability": "mutable", + "name": "maxDelta", + "nameLocation": "6046:8:3", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "6038:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6038:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2599, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "6064:8:3", + "nodeType": "VariableDeclaration", + "scope": 2647, + "src": "6056:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2598, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6056:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6017:56:3" + }, + "returnParameters": { + "id": 2601, + "nodeType": "ParameterList", + "parameters": [], + "src": "6091:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2686, + "nodeType": "FunctionDefinition", + "src": "6552:354:3", + "nodes": [], + "body": { + "id": 2685, + "nodeType": "Block", + "src": "6698:208:3", + "nodes": [], + "statements": [ + { + "assignments": [ + 2661 + ], + "declarations": [ + { + "constant": false, + "id": 2661, + "mutability": "mutable", + "name": "delta", + "nameLocation": "6716:5:3", + "nodeType": "VariableDeclaration", + "scope": 2685, + "src": "6708:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6708:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2667, + "initialValue": { + "arguments": [ + { + "id": 2664, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2649, + "src": "6738:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2665, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2651, + "src": "6741:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 2662, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "6724:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6732:5:3", + "memberName": "delta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6576, + "src": "6724:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256,int256) pure returns (uint256)" + } + }, + "id": 2666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6724:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6708:35:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2668, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2661, + "src": "6758:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2669, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2653, + "src": "6766:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6758:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2684, + "nodeType": "IfStatement", + "src": "6754:146:3", + "trueBody": { + "id": 2683, + "nodeType": "Block", + "src": "6776:124:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6812:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2673, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2657, + "src": "6821:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2671, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "6795:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6795:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2675, + "nodeType": "EmitStatement", + "src": "6790:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2677, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2649, + "src": "6864:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2678, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2651, + "src": "6867:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2679, + "name": "maxDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2653, + "src": "6870:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2680, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2655, + "src": "6880:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2676, + "name": "assertApproxEqAbsDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2466, + 2505, + 2647, + 2686 + ], + "referencedDeclaration": 2647, + "src": "6839:24:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (int256,int256,uint256,uint256)" + } + }, + "id": 2681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6839:50:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2682, + "nodeType": "ExpressionStatement", + "src": "6839:50:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqAbsDecimal", + "nameLocation": "6561:24:3", + "parameters": { + "id": 2658, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2649, + "mutability": "mutable", + "name": "a", + "nameLocation": "6593:1:3", + "nodeType": "VariableDeclaration", + "scope": 2686, + "src": "6586:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2648, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6586:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2651, + "mutability": "mutable", + "name": "b", + "nameLocation": "6603:1:3", + "nodeType": "VariableDeclaration", + "scope": 2686, + "src": "6596:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2650, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6596:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2653, + "mutability": "mutable", + "name": "maxDelta", + "nameLocation": "6614:8:3", + "nodeType": "VariableDeclaration", + "scope": 2686, + "src": "6606:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6606:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2655, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "6632:8:3", + "nodeType": "VariableDeclaration", + "scope": 2686, + "src": "6624:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2654, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6624:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2657, + "mutability": "mutable", + "name": "err", + "nameLocation": "6656:3:3", + "nodeType": "VariableDeclaration", + "scope": 2686, + "src": "6642:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2656, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6642:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6585:75:3" + }, + "returnParameters": { + "id": 2659, + "nodeType": "ParameterList", + "parameters": [], + "src": "6698:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2747, + "nodeType": "FunctionDefinition", + "src": "6912:726:3", + "nodes": [], + "body": { + "id": 2746, + "nodeType": "Block", + "src": "7089:549:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2695, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "7103:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7108:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7103:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2703, + "nodeType": "IfStatement", + "src": "7099:33:3", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 2699, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2688, + "src": "7127:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2700, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "7130:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2698, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "7118:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 2701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7118:14:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "functionReturnParameters": 2694, + "id": 2702, + "nodeType": "Return", + "src": "7111:21:3" + } + }, + { + "assignments": [ + 2705 + ], + "declarations": [ + { + "constant": false, + "id": 2705, + "mutability": "mutable", + "name": "percentDelta", + "nameLocation": "7196:12:3", + "nodeType": "VariableDeclaration", + "scope": 2746, + "src": "7188:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7188:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2711, + "initialValue": { + "arguments": [ + { + "id": 2708, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2688, + "src": "7232:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2709, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "7235:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2706, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "7211:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7219:12:3", + "memberName": "percentDelta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6599, + "src": "7211:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7211:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7188:49:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2712, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2705, + "src": "7252:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2713, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2692, + "src": "7267:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7252:30:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2745, + "nodeType": "IfStatement", + "src": "7248:384:3", + "trueBody": { + "id": 2744, + "nodeType": "Block", + "src": "7284:348:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d", + "id": 2716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7307:36:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", + "typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" + }, + "value": "Error: a ~= b not satisfied [uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", + "typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" + } + ], + "id": 2715, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "7303:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7303:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2718, + "nodeType": "EmitStatement", + "src": "7298:46:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202020204578706563746564", + "id": 2720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7378:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2721, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "7394:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2719, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "7363:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7363:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2723, + "nodeType": "EmitStatement", + "src": "7358:38:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20202020202041637475616c", + "id": 2725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7430:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2726, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2688, + "src": "7446:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2724, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "7415:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7415:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2728, + "nodeType": "EmitStatement", + "src": "7410:38:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "204d617820252044656c7461", + "id": 2730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7490:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", + "typeString": "literal_string \" Max % Delta\"" + }, + "value": " Max % Delta" + }, + { + "id": 2731, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2692, + "src": "7506:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3138", + "id": 2732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7523:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", + "typeString": "literal_string \" Max % Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 2729, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "7467:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7467:59:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2734, + "nodeType": "EmitStatement", + "src": "7462:64:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202020252044656c7461", + "id": 2736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7568:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", + "typeString": "literal_string \" % Delta\"" + }, + "value": " % Delta" + }, + { + "id": 2737, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2705, + "src": "7584:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3138", + "id": 2738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7598:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", + "typeString": "literal_string \" % Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 2735, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "7545:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7545:56:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2740, + "nodeType": "EmitStatement", + "src": "7540:61:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2741, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "7615:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7615:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2743, + "nodeType": "ExpressionStatement", + "src": "7615:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqRel", + "nameLocation": "6921:17:3", + "parameters": { + "id": 2693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2688, + "mutability": "mutable", + "name": "a", + "nameLocation": "6956:1:3", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "6948:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2687, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6948:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2690, + "mutability": "mutable", + "name": "b", + "nameLocation": "6975:1:3", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "6967:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2689, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6967:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2692, + "mutability": "mutable", + "name": "maxPercentDelta", + "nameLocation": "6994:15:3", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "6986:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6986:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6938:133:3" + }, + "returnParameters": { + "id": 2694, + "nodeType": "ParameterList", + "parameters": [], + "src": "7089:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2793, + "nodeType": "FunctionDefinition", + "src": "7644:524:3", + "nodes": [], + "body": { + "id": 2792, + "nodeType": "Block", + "src": "7848:320:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2758, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "7862:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7867:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7862:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2767, + "nodeType": "IfStatement", + "src": "7858:38:3", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 2762, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2749, + "src": "7886:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2763, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "7889:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2764, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2755, + "src": "7892:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2761, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 539, + "src": "7877:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,string memory)" + } + }, + "id": 2765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7877:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "functionReturnParameters": 2757, + "id": 2766, + "nodeType": "Return", + "src": "7870:26:3" + } + }, + { + "assignments": [ + 2769 + ], + "declarations": [ + { + "constant": false, + "id": 2769, + "mutability": "mutable", + "name": "percentDelta", + "nameLocation": "7960:12:3", + "nodeType": "VariableDeclaration", + "scope": 2792, + "src": "7952:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7952:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2775, + "initialValue": { + "arguments": [ + { + "id": 2772, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2749, + "src": "7996:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2773, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "7999:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2770, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "7975:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7983:12:3", + "memberName": "percentDelta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6599, + "src": "7975:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7975:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7952:49:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2776, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2769, + "src": "8016:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2777, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2753, + "src": "8031:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8016:30:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2791, + "nodeType": "IfStatement", + "src": "8012:150:3", + "trueBody": { + "id": 2790, + "nodeType": "Block", + "src": "8048:114:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8084:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2781, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2755, + "src": "8093:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2779, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "8067:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8067:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2783, + "nodeType": "EmitStatement", + "src": "8062:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2785, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2749, + "src": "8129:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2786, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "8132:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2787, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2753, + "src": "8135:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2784, + "name": "assertApproxEqRel", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2747, + 2793, + 2968, + 3014 + ], + "referencedDeclaration": 2747, + "src": "8111:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 2788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8111:40:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2789, + "nodeType": "ExpressionStatement", + "src": "8111:40:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqRel", + "nameLocation": "7653:17:3", + "parameters": { + "id": 2756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2749, + "mutability": "mutable", + "name": "a", + "nameLocation": "7688:1:3", + "nodeType": "VariableDeclaration", + "scope": 2793, + "src": "7680:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2748, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7680:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2751, + "mutability": "mutable", + "name": "b", + "nameLocation": "7707:1:3", + "nodeType": "VariableDeclaration", + "scope": 2793, + "src": "7699:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7699:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2753, + "mutability": "mutable", + "name": "maxPercentDelta", + "nameLocation": "7726:15:3", + "nodeType": "VariableDeclaration", + "scope": 2793, + "src": "7718:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7718:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2755, + "mutability": "mutable", + "name": "err", + "nameLocation": "7821:3:3", + "nodeType": "VariableDeclaration", + "scope": 2793, + "src": "7807:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2754, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7807:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7670:160:3" + }, + "returnParameters": { + "id": 2757, + "nodeType": "ParameterList", + "parameters": [], + "src": "7848:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2858, + "nodeType": "FunctionDefinition", + "src": "8174:795:3", + "nodes": [], + "body": { + "id": 2857, + "nodeType": "Block", + "src": "8384:585:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2804, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2797, + "src": "8398:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8403:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8398:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2812, + "nodeType": "IfStatement", + "src": "8394:33:3", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 2808, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2795, + "src": "8422:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2809, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2797, + "src": "8425:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2807, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "8413:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 2810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8413:14:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "functionReturnParameters": 2803, + "id": 2811, + "nodeType": "Return", + "src": "8406:21:3" + } + }, + { + "assignments": [ + 2814 + ], + "declarations": [ + { + "constant": false, + "id": 2814, + "mutability": "mutable", + "name": "percentDelta", + "nameLocation": "8491:12:3", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "8483:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8483:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2820, + "initialValue": { + "arguments": [ + { + "id": 2817, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2795, + "src": "8527:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2818, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2797, + "src": "8530:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2815, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "8506:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8514:12:3", + "memberName": "percentDelta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6599, + "src": "8506:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8506:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8483:49:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2821, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2814, + "src": "8547:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2822, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2799, + "src": "8562:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8547:30:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2856, + "nodeType": "IfStatement", + "src": "8543:420:3", + "trueBody": { + "id": 2855, + "nodeType": "Block", + "src": "8579:384:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d", + "id": 2825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8602:36:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", + "typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" + }, + "value": "Error: a ~= b not satisfied [uint]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", + "typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" + } + ], + "id": 2824, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "8598:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8598:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2827, + "nodeType": "EmitStatement", + "src": "8593:46:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202020204578706563746564", + "id": 2829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8681:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2830, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2797, + "src": "8697:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2831, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2801, + "src": "8700:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2828, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "8658:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8658:51:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2833, + "nodeType": "EmitStatement", + "src": "8653:56:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20202020202041637475616c", + "id": 2835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8751:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2836, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2795, + "src": "8767:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2837, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2801, + "src": "8770:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2834, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "8728:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8728:51:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2839, + "nodeType": "EmitStatement", + "src": "8723:56:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "204d617820252044656c7461", + "id": 2841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8821:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", + "typeString": "literal_string \" Max % Delta\"" + }, + "value": " Max % Delta" + }, + { + "id": 2842, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2799, + "src": "8837:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3138", + "id": 2843, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8854:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", + "typeString": "literal_string \" Max % Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 2840, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "8798:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8798:59:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2845, + "nodeType": "EmitStatement", + "src": "8793:64:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202020252044656c7461", + "id": 2847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8899:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", + "typeString": "literal_string \" % Delta\"" + }, + "value": " % Delta" + }, + { + "id": 2848, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2814, + "src": "8915:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3138", + "id": 2849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8929:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", + "typeString": "literal_string \" % Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 2846, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "8876:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8876:56:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2851, + "nodeType": "EmitStatement", + "src": "8871:61:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2852, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "8946:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8946:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2854, + "nodeType": "ExpressionStatement", + "src": "8946:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqRelDecimal", + "nameLocation": "8183:24:3", + "parameters": { + "id": 2802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2795, + "mutability": "mutable", + "name": "a", + "nameLocation": "8225:1:3", + "nodeType": "VariableDeclaration", + "scope": 2858, + "src": "8217:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8217:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2797, + "mutability": "mutable", + "name": "b", + "nameLocation": "8244:1:3", + "nodeType": "VariableDeclaration", + "scope": 2858, + "src": "8236:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8236:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2799, + "mutability": "mutable", + "name": "maxPercentDelta", + "nameLocation": "8263:15:3", + "nodeType": "VariableDeclaration", + "scope": 2858, + "src": "8255:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2798, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8255:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2801, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "8352:8:3", + "nodeType": "VariableDeclaration", + "scope": 2858, + "src": "8344:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8344:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8207:159:3" + }, + "returnParameters": { + "id": 2803, + "nodeType": "ParameterList", + "parameters": [], + "src": "8384:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2907, + "nodeType": "FunctionDefinition", + "src": "8975:574:3", + "nodes": [], + "body": { + "id": 2906, + "nodeType": "Block", + "src": "9212:337:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2871, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "9226:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9231:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9226:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2880, + "nodeType": "IfStatement", + "src": "9222:38:3", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 2875, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "9250:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2876, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "9253:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2877, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "9256:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2874, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 539, + "src": "9241:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,string memory)" + } + }, + "id": 2878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9241:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "functionReturnParameters": 2870, + "id": 2879, + "nodeType": "Return", + "src": "9234:26:3" + } + }, + { + "assignments": [ + 2882 + ], + "declarations": [ + { + "constant": false, + "id": 2882, + "mutability": "mutable", + "name": "percentDelta", + "nameLocation": "9324:12:3", + "nodeType": "VariableDeclaration", + "scope": 2906, + "src": "9316:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9316:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2888, + "initialValue": { + "arguments": [ + { + "id": 2885, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "9360:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2886, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "9363:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2883, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "9339:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9347:12:3", + "memberName": "percentDelta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6599, + "src": "9339:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9339:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9316:49:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2889, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2882, + "src": "9380:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2890, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "9395:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9380:30:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2905, + "nodeType": "IfStatement", + "src": "9376:167:3", + "trueBody": { + "id": 2904, + "nodeType": "Block", + "src": "9412:131:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 2893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9448:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 2894, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "9457:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2892, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "9431:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 2895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9431:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2896, + "nodeType": "EmitStatement", + "src": "9426:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 2898, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "9500:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2899, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "9503:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2900, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2864, + "src": "9506:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2901, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2866, + "src": "9523:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2897, + "name": "assertApproxEqRelDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2858, + 2907, + 3079, + 3128 + ], + "referencedDeclaration": 2858, + "src": "9475:24:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256)" + } + }, + "id": 2902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9475:57:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2903, + "nodeType": "ExpressionStatement", + "src": "9475:57:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqRelDecimal", + "nameLocation": "8984:24:3", + "parameters": { + "id": 2869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2860, + "mutability": "mutable", + "name": "a", + "nameLocation": "9026:1:3", + "nodeType": "VariableDeclaration", + "scope": 2907, + "src": "9018:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2859, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9018:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2862, + "mutability": "mutable", + "name": "b", + "nameLocation": "9045:1:3", + "nodeType": "VariableDeclaration", + "scope": 2907, + "src": "9037:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2861, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9037:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2864, + "mutability": "mutable", + "name": "maxPercentDelta", + "nameLocation": "9064:15:3", + "nodeType": "VariableDeclaration", + "scope": 2907, + "src": "9056:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2863, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9056:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2866, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "9153:8:3", + "nodeType": "VariableDeclaration", + "scope": 2907, + "src": "9145:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9145:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2868, + "mutability": "mutable", + "name": "err", + "nameLocation": "9185:3:3", + "nodeType": "VariableDeclaration", + "scope": 2907, + "src": "9171:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2867, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9171:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9008:186:3" + }, + "returnParameters": { + "id": 2870, + "nodeType": "ParameterList", + "parameters": [], + "src": "9212:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 2968, + "nodeType": "FunctionDefinition", + "src": "9555:635:3", + "nodes": [], + "body": { + "id": 2967, + "nodeType": "Block", + "src": "9644:546:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2916, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "9658:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9663:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9658:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2924, + "nodeType": "IfStatement", + "src": "9654:33:3", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 2920, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2909, + "src": "9682:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2921, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "9685:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 2919, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 459, + "src": "9673:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", + "typeString": "function (int256,int256)" + } + }, + "id": 2922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9673:14:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "functionReturnParameters": 2915, + "id": 2923, + "nodeType": "Return", + "src": "9666:21:3" + } + }, + { + "assignments": [ + 2926 + ], + "declarations": [ + { + "constant": false, + "id": 2926, + "mutability": "mutable", + "name": "percentDelta", + "nameLocation": "9751:12:3", + "nodeType": "VariableDeclaration", + "scope": 2967, + "src": "9743:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2925, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9743:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2932, + "initialValue": { + "arguments": [ + { + "id": 2929, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2909, + "src": "9787:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2930, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "9790:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 2927, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "9766:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9774:12:3", + "memberName": "percentDelta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6628, + "src": "9766:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256,int256) pure returns (uint256)" + } + }, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9766:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9743:49:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2933, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2926, + "src": "9807:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2934, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2913, + "src": "9822:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9807:30:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2966, + "nodeType": "IfStatement", + "src": "9803:381:3", + "trueBody": { + "id": 2965, + "nodeType": "Block", + "src": "9839:345:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d", + "id": 2937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9862:35:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", + "typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" + }, + "value": "Error: a ~= b not satisfied [int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", + "typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" + } + ], + "id": 2936, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "9858:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9858:40:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2939, + "nodeType": "EmitStatement", + "src": "9853:45:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202020204578706563746564", + "id": 2941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9931:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 2942, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2911, + "src": "9947:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 2940, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "9917:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 2943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9917:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2944, + "nodeType": "EmitStatement", + "src": "9912:37:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20202020202041637475616c", + "id": 2946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9982:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 2947, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2909, + "src": "9998:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 2945, + "name": "log_named_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "9968:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", + "typeString": "function (string memory,int256)" + } + }, + "id": 2948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9968:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2949, + "nodeType": "EmitStatement", + "src": "9963:37:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "204d617820252044656c7461", + "id": 2951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10042:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", + "typeString": "literal_string \" Max % Delta\"" + }, + "value": " Max % Delta" + }, + { + "id": 2952, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2913, + "src": "10058:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3138", + "id": 2953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10075:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", + "typeString": "literal_string \" Max % Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 2950, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "10019:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10019:59:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2955, + "nodeType": "EmitStatement", + "src": "10014:64:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202020252044656c7461", + "id": 2957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10120:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", + "typeString": "literal_string \" % Delta\"" + }, + "value": " % Delta" + }, + { + "id": 2958, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2926, + "src": "10136:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3138", + "id": 2959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10150:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", + "typeString": "literal_string \" % Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 2956, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "10097:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 2960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10097:56:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2961, + "nodeType": "EmitStatement", + "src": "10092:61:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2962, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "10167:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10167:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2964, + "nodeType": "ExpressionStatement", + "src": "10167:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqRel", + "nameLocation": "9564:17:3", + "parameters": { + "id": 2914, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2909, + "mutability": "mutable", + "name": "a", + "nameLocation": "9589:1:3", + "nodeType": "VariableDeclaration", + "scope": 2968, + "src": "9582:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2908, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "9582:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2911, + "mutability": "mutable", + "name": "b", + "nameLocation": "9599:1:3", + "nodeType": "VariableDeclaration", + "scope": 2968, + "src": "9592:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2910, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "9592:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2913, + "mutability": "mutable", + "name": "maxPercentDelta", + "nameLocation": "9610:15:3", + "nodeType": "VariableDeclaration", + "scope": 2968, + "src": "9602:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2912, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9602:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9581:45:3" + }, + "returnParameters": { + "id": 2915, + "nodeType": "ParameterList", + "parameters": [], + "src": "9644:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 3014, + "nodeType": "FunctionDefinition", + "src": "10196:428:3", + "nodes": [], + "body": { + "id": 3013, + "nodeType": "Block", + "src": "10304:320:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 2981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2979, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "10318:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10323:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10318:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2988, + "nodeType": "IfStatement", + "src": "10314:38:3", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 2983, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "10342:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2984, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "10345:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2985, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2976, + "src": "10348:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2982, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 484, + "src": "10333:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int256,int256,string memory)" + } + }, + "id": 2986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10333:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "functionReturnParameters": 2978, + "id": 2987, + "nodeType": "Return", + "src": "10326:26:3" + } + }, + { + "assignments": [ + 2990 + ], + "declarations": [ + { + "constant": false, + "id": 2990, + "mutability": "mutable", + "name": "percentDelta", + "nameLocation": "10416:12:3", + "nodeType": "VariableDeclaration", + "scope": 3013, + "src": "10408:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2989, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10408:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2996, + "initialValue": { + "arguments": [ + { + "id": 2993, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "10452:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 2994, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "10455:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 2991, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "10431:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 2992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10439:12:3", + "memberName": "percentDelta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6628, + "src": "10431:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256,int256) pure returns (uint256)" + } + }, + "id": 2995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10431:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10408:49:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2997, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2990, + "src": "10472:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2998, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "10487:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10472:30:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3012, + "nodeType": "IfStatement", + "src": "10468:150:3", + "trueBody": { + "id": 3011, + "nodeType": "Block", + "src": "10504:114:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 3001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10540:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 3002, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2976, + "src": "10549:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3000, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "10523:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 3003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10523:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3004, + "nodeType": "EmitStatement", + "src": "10518:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 3006, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "10585:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3007, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2972, + "src": "10588:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3008, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "10591:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3005, + "name": "assertApproxEqRel", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2747, + 2793, + 2968, + 3014 + ], + "referencedDeclaration": 2968, + "src": "10567:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (int256,int256,uint256)" + } + }, + "id": 3009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10567:40:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3010, + "nodeType": "ExpressionStatement", + "src": "10567:40:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqRel", + "nameLocation": "10205:17:3", + "parameters": { + "id": 2977, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2970, + "mutability": "mutable", + "name": "a", + "nameLocation": "10230:1:3", + "nodeType": "VariableDeclaration", + "scope": 3014, + "src": "10223:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2969, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "10223:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2972, + "mutability": "mutable", + "name": "b", + "nameLocation": "10240:1:3", + "nodeType": "VariableDeclaration", + "scope": 3014, + "src": "10233:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2971, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "10233:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2974, + "mutability": "mutable", + "name": "maxPercentDelta", + "nameLocation": "10251:15:3", + "nodeType": "VariableDeclaration", + "scope": 3014, + "src": "10243:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10243:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2976, + "mutability": "mutable", + "name": "err", + "nameLocation": "10282:3:3", + "nodeType": "VariableDeclaration", + "scope": 3014, + "src": "10268:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2975, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10268:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10222:64:3" + }, + "returnParameters": { + "id": 2978, + "nodeType": "ParameterList", + "parameters": [], + "src": "10304:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 3079, + "nodeType": "FunctionDefinition", + "src": "10630:696:3", + "nodes": [], + "body": { + "id": 3078, + "nodeType": "Block", + "src": "10744:582:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 3027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3025, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "10758:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3026, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10763:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10758:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3033, + "nodeType": "IfStatement", + "src": "10754:33:3", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 3029, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3016, + "src": "10782:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3030, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "10785:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 3028, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 459, + "src": "10773:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", + "typeString": "function (int256,int256)" + } + }, + "id": 3031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10773:14:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "functionReturnParameters": 3024, + "id": 3032, + "nodeType": "Return", + "src": "10766:21:3" + } + }, + { + "assignments": [ + 3035 + ], + "declarations": [ + { + "constant": false, + "id": 3035, + "mutability": "mutable", + "name": "percentDelta", + "nameLocation": "10851:12:3", + "nodeType": "VariableDeclaration", + "scope": 3078, + "src": "10843:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3034, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10843:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3041, + "initialValue": { + "arguments": [ + { + "id": 3038, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3016, + "src": "10887:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3039, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "10890:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 3036, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "10866:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 3037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10874:12:3", + "memberName": "percentDelta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6628, + "src": "10866:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256,int256) pure returns (uint256)" + } + }, + "id": 3040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10866:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10843:49:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3042, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3035, + "src": "10907:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 3043, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3020, + "src": "10922:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10907:30:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3077, + "nodeType": "IfStatement", + "src": "10903:417:3", + "trueBody": { + "id": 3076, + "nodeType": "Block", + "src": "10939:381:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d", + "id": 3046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10962:35:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", + "typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" + }, + "value": "Error: a ~= b not satisfied [int]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", + "typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" + } + ], + "id": 3045, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "10958:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10958:40:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3048, + "nodeType": "EmitStatement", + "src": "10953:45:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "202020204578706563746564", + "id": 3050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11039:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "id": 3051, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "11055:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3052, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3022, + "src": "11058:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3049, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "11017:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 3053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11017:50:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3054, + "nodeType": "EmitStatement", + "src": "11012:55:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20202020202041637475616c", + "id": 3056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11108:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "id": 3057, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3016, + "src": "11124:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3058, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3022, + "src": "11127:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3055, + "name": "log_named_decimal_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "11086:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,int256,uint256)" + } + }, + "id": 3059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11086:50:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3060, + "nodeType": "EmitStatement", + "src": "11081:55:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "204d617820252044656c7461", + "id": 3062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11178:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", + "typeString": "literal_string \" Max % Delta\"" + }, + "value": " Max % Delta" + }, + { + "id": 3063, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3020, + "src": "11194:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3138", + "id": 3064, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11211:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", + "typeString": "literal_string \" Max % Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 3061, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "11155:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 3065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11155:59:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3066, + "nodeType": "EmitStatement", + "src": "11150:64:3" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202020252044656c7461", + "id": 3068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11256:14:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", + "typeString": "literal_string \" % Delta\"" + }, + "value": " % Delta" + }, + { + "id": 3069, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3035, + "src": "11272:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3138", + "id": 3070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11286:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", + "typeString": "literal_string \" % Delta\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 3067, + "name": "log_named_decimal_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "11233:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 3071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11233:56:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3072, + "nodeType": "EmitStatement", + "src": "11228:61:3" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3073, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "11303:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 3074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11303:6:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3075, + "nodeType": "ExpressionStatement", + "src": "11303:6:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqRelDecimal", + "nameLocation": "10639:24:3", + "parameters": { + "id": 3023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3016, + "mutability": "mutable", + "name": "a", + "nameLocation": "10671:1:3", + "nodeType": "VariableDeclaration", + "scope": 3079, + "src": "10664:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3015, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "10664:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3018, + "mutability": "mutable", + "name": "b", + "nameLocation": "10681:1:3", + "nodeType": "VariableDeclaration", + "scope": 3079, + "src": "10674:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3017, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "10674:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3020, + "mutability": "mutable", + "name": "maxPercentDelta", + "nameLocation": "10692:15:3", + "nodeType": "VariableDeclaration", + "scope": 3079, + "src": "10684:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10684:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3022, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "10717:8:3", + "nodeType": "VariableDeclaration", + "scope": 3079, + "src": "10709:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3021, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10709:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10663:63:3" + }, + "returnParameters": { + "id": 3024, + "nodeType": "ParameterList", + "parameters": [], + "src": "10744:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 3128, + "nodeType": "FunctionDefinition", + "src": "11332:490:3", + "nodes": [], + "body": { + "id": 3127, + "nodeType": "Block", + "src": "11485:337:3", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 3094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3092, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3083, + "src": "11499:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11504:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11499:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3101, + "nodeType": "IfStatement", + "src": "11495:38:3", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 3096, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3081, + "src": "11523:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3097, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3083, + "src": "11526:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3098, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3089, + "src": "11529:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3095, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 484, + "src": "11514:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int256,int256,string memory)" + } + }, + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11514:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "functionReturnParameters": 3091, + "id": 3100, + "nodeType": "Return", + "src": "11507:26:3" + } + }, + { + "assignments": [ + 3103 + ], + "declarations": [ + { + "constant": false, + "id": 3103, + "mutability": "mutable", + "name": "percentDelta", + "nameLocation": "11597:12:3", + "nodeType": "VariableDeclaration", + "scope": 3127, + "src": "11589:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3102, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11589:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3109, + "initialValue": { + "arguments": [ + { + "id": 3106, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3081, + "src": "11633:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3107, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3083, + "src": "11636:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 3104, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "11612:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdMath_$6629_$", + "typeString": "type(library stdMath)" + } + }, + "id": 3105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11620:12:3", + "memberName": "percentDelta", + "nodeType": "MemberAccess", + "referencedDeclaration": 6628, + "src": "11612:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256,int256) pure returns (uint256)" + } + }, + "id": 3108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11612:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11589:49:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3110, + "name": "percentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3103, + "src": "11653:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 3111, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "11668:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11653:30:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3126, + "nodeType": "IfStatement", + "src": "11649:167:3", + "trueBody": { + "id": 3125, + "nodeType": "Block", + "src": "11685:131:3", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f72", + "id": 3114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11721:7:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + "value": "Error" + }, + { + "id": 3115, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3089, + "src": "11730:3:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", + "typeString": "literal_string \"Error\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3113, + "name": "log_named_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "11704:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11704:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3117, + "nodeType": "EmitStatement", + "src": "11699:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 3119, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3081, + "src": "11773:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3120, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3083, + "src": "11776:1:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 3121, + "name": "maxPercentDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "11779:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3122, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3087, + "src": "11796:8:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3118, + "name": "assertApproxEqRelDecimal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2858, + 2907, + 3079, + 3128 + ], + "referencedDeclaration": 3079, + "src": "11748:24:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (int256,int256,uint256,uint256)" + } + }, + "id": 3123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11748:57:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3124, + "nodeType": "ExpressionStatement", + "src": "11748:57:3" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertApproxEqRelDecimal", + "nameLocation": "11341:24:3", + "parameters": { + "id": 3090, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3081, + "mutability": "mutable", + "name": "a", + "nameLocation": "11373:1:3", + "nodeType": "VariableDeclaration", + "scope": 3128, + "src": "11366:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3080, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "11366:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3083, + "mutability": "mutable", + "name": "b", + "nameLocation": "11383:1:3", + "nodeType": "VariableDeclaration", + "scope": 3128, + "src": "11376:8:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3082, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "11376:6:3", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3085, + "mutability": "mutable", + "name": "maxPercentDelta", + "nameLocation": "11394:15:3", + "nodeType": "VariableDeclaration", + "scope": 3128, + "src": "11386:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3084, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11386:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3087, + "mutability": "mutable", + "name": "decimals", + "nameLocation": "11419:8:3", + "nodeType": "VariableDeclaration", + "scope": 3128, + "src": "11411:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3086, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11411:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3089, + "mutability": "mutable", + "name": "err", + "nameLocation": "11443:3:3", + "nodeType": "VariableDeclaration", + "scope": 3128, + "src": "11429:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3088, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11429:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11365:82:3" + }, + "returnParameters": { + "id": 3091, + "nodeType": "ParameterList", + "parameters": [], + "src": "11485:0:3" + }, + "scope": 3129, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1902, + "name": "DSTest", + "nameLocations": [ + "181:6:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1786, + "src": "181:6:3" + }, + "id": 1903, + "nodeType": "InheritanceSpecifier", + "src": "181:6:3" + } + ], + "canonicalName": "StdAssertions", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 3129, + 1786 + ], + "name": "StdAssertions", + "nameLocation": "164:13:3", + "scope": 3130, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/StdChains.sol": { + "id": 4, + "ast": { + "absolutePath": "lib/forge-std/src/StdChains.sol", + "id": 3794, + "exportedSymbols": { + "StdChains": [ + 3793 + ], + "VmSafe": [ + 9908 + ] + }, + "nodeType": "SourceUnit", + "src": "32:10263:4", + "nodes": [ + { + "id": 3131, + "nodeType": "PragmaDirective", + "src": "32:31:4", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 3132, + "nodeType": "PragmaDirective", + "src": "65:33:4", + "nodes": [], + "literals": [ + "experimental", + "ABIEncoderV2" + ] + }, + { + "id": 3134, + "nodeType": "ImportDirective", + "src": "100:32:4", + "nodes": [], + "absolutePath": "lib/forge-std/src/Vm.sol", + "file": "./Vm.sol", + "nameLocation": "-1:-1:-1", + "scope": 3794, + "sourceUnit": 10234, + "symbolAliases": [ + { + "foreign": { + "id": 3133, + "name": "VmSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9908, + "src": "108:6:4", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 3793, + "nodeType": "ContractDefinition", + "src": "2070:8224:4", + "nodes": [ + { + "id": 3152, + "nodeType": "VariableDeclaration", + "src": "2104:92:4", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "vm", + "nameLocation": "2128:2:4", + "scope": 3793, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + }, + "typeName": { + "id": 3137, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3136, + "name": "VmSafe", + "nameLocations": [ + "2104:6:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9908, + "src": "2104:6:4" + }, + "referencedDeclaration": 9908, + "src": "2104:6:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6865766d20636865617420636f6465", + "id": 3146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2174:17:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + }, + "value": "hevm cheat code" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + } + ], + "id": 3145, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2164:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2164:28:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2156:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 3143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2156:7:4", + "typeDescriptions": {} + } + }, + "id": 3148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2156:37:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2148:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 3141, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "2148:7:4", + "typeDescriptions": {} + } + }, + "id": 3149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2148:46:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 3140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2140:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3139, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2140:7:4", + "typeDescriptions": {} + } + }, + "id": 3150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2140:55:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3138, + "name": "VmSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9908, + "src": "2133:6:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_VmSafe_$9908_$", + "typeString": "type(contract VmSafe)" + } + }, + "id": 3151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2133:63:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "visibility": "private" + }, + { + "id": 3154, + "nodeType": "VariableDeclaration", + "src": "2203:24:4", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "initialized", + "nameLocation": "2216:11:4", + "scope": 3793, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3153, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2203:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "id": 3161, + "nodeType": "StructDefinition", + "src": "2234:93:4", + "nodes": [], + "canonicalName": "StdChains.ChainData", + "members": [ + { + "constant": false, + "id": 3156, + "mutability": "mutable", + "name": "name", + "nameLocation": "2268:4:4", + "nodeType": "VariableDeclaration", + "scope": 3161, + "src": "2261:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3155, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2261:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3158, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "2290:7:4", + "nodeType": "VariableDeclaration", + "scope": 3161, + "src": "2282:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2282:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3160, + "mutability": "mutable", + "name": "rpcUrl", + "nameLocation": "2314:6:4", + "nodeType": "VariableDeclaration", + "scope": 3161, + "src": "2307:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3159, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2307:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "ChainData", + "nameLocation": "2241:9:4", + "scope": 3793, + "visibility": "public" + }, + { + "id": 3170, + "nodeType": "StructDefinition", + "src": "2333:598:4", + "nodes": [], + "canonicalName": "StdChains.Chain", + "members": [ + { + "constant": false, + "id": 3163, + "mutability": "mutable", + "name": "name", + "nameLocation": "2390:4:4", + "nodeType": "VariableDeclaration", + "scope": 3170, + "src": "2383:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3162, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2383:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3165, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "2445:7:4", + "nodeType": "VariableDeclaration", + "scope": 3170, + "src": "2437:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3164, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2437:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3167, + "mutability": "mutable", + "name": "chainAlias", + "nameLocation": "2545:10:4", + "nodeType": "VariableDeclaration", + "scope": 3170, + "src": "2538:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3166, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2538:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3169, + "mutability": "mutable", + "name": "rpcUrl", + "nameLocation": "2918:6:4", + "nodeType": "VariableDeclaration", + "scope": 3170, + "src": "2911:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3168, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2911:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "Chain", + "nameLocation": "2340:5:4", + "scope": 3793, + "visibility": "public" + }, + { + "id": 3175, + "nodeType": "VariableDeclaration", + "src": "3035:39:4", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "chains", + "nameLocation": "3068:6:4", + "scope": 3793, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3170_storage_$", + "typeString": "mapping(string => struct StdChains.Chain)" + }, + "typeName": { + "id": 3174, + "keyType": { + "id": 3171, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3043:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "3035:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3170_storage_$", + "typeString": "mapping(string => struct StdChains.Chain)" + }, + "valueType": { + "id": 3173, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3172, + "name": "Chain", + "nameLocations": [ + "3053:5:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3170, + "src": "3053:5:4" + }, + "referencedDeclaration": 3170, + "src": "3053:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage_ptr", + "typeString": "struct StdChains.Chain" + } + } + }, + "visibility": "private" + }, + { + "id": 3179, + "nodeType": "VariableDeclaration", + "src": "3140:48:4", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "defaultRpcUrls", + "nameLocation": "3174:14:4", + "scope": 3793, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", + "typeString": "mapping(string => string)" + }, + "typeName": { + "id": 3178, + "keyType": { + "id": 3176, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3148:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "3140:25:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", + "typeString": "mapping(string => string)" + }, + "valueType": { + "id": 3177, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3158:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "id": 3183, + "nodeType": "VariableDeclaration", + "src": "3237:44:4", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "idToAlias", + "nameLocation": "3272:9:4", + "scope": 3793, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 3182, + "keyType": { + "id": 3180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3245:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "3237:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 3181, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3256:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "id": 3235, + "nodeType": "FunctionDefinition", + "src": "3366:515:4", + "nodes": [], + "body": { + "id": 3234, + "nodeType": "Block", + "src": "3456:425:4", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 3194, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "3480:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3474:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3192, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3474:5:4", + "typeDescriptions": {} + } + }, + "id": 3195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3474:17:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3492:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3474:24:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 3197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3502:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3474:29:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e", + "id": 3199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3505:69:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70", + "typeString": "literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\"" + }, + "value": "StdChains getChain(string): Chain alias cannot be the empty string." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70", + "typeString": "literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\"" + } + ], + "id": 3191, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3466:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3466:109:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3201, + "nodeType": "ExpressionStatement", + "src": "3466:109:4" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3202, + "name": "initialize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3755, + "src": "3586:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 3203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3586:12:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3204, + "nodeType": "ExpressionStatement", + "src": "3586:12:4" + }, + { + "expression": { + "id": 3209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3205, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "3608:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 3206, + "name": "chains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3175, + "src": "3616:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3170_storage_$", + "typeString": "mapping(string memory => struct StdChains.Chain storage ref)" + } + }, + "id": 3208, + "indexExpression": { + "id": 3207, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "3623:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3616:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage", + "typeString": "struct StdChains.Chain storage ref" + } + }, + "src": "3608:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3210, + "nodeType": "ExpressionStatement", + "src": "3608:26:4" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3212, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "3665:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3213, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3671:7:4", + "memberName": "chainId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3165, + "src": "3665:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 3214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3682:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3665:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022", + "id": 3220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3721:49:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00", + "typeString": "literal_string \"StdChains getChain(string): Chain with alias \"\"" + }, + "value": "StdChains getChain(string): Chain with alias \"" + }, + { + "id": 3221, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "3772:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "22206e6f7420666f756e642e", + "id": 3222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3784:15:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397", + "typeString": "literal_string \"\" not found.\"" + }, + "value": "\" not found." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00", + "typeString": "literal_string \"StdChains getChain(string): Chain with alias \"\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397", + "typeString": "literal_string \"\" not found.\"" + } + ], + "expression": { + "id": 3218, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3704:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3708:12:4", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3704:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3704:96:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3697:6:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3216, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3697:6:4", + "typeDescriptions": {} + } + }, + "id": 3224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3697:104:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3211, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3644:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3644:167:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3226, + "nodeType": "ExpressionStatement", + "src": "3644:167:4" + }, + { + "expression": { + "id": 3232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3227, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "3822:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3229, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "3856:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3230, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "3868:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + ], + "id": 3228, + "name": "getChainWithUpdatedRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3600, + "src": "3830:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Chain_$3170_memory_ptr_$returns$_t_struct$_Chain_$3170_memory_ptr_$", + "typeString": "function (string memory,struct StdChains.Chain memory) returns (struct StdChains.Chain memory)" + } + }, + "id": 3231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3830:44:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "src": "3822:52:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3233, + "nodeType": "ExpressionStatement", + "src": "3822:52:4" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getChain", + "nameLocation": "3375:8:4", + "parameters": { + "id": 3186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3185, + "mutability": "mutable", + "name": "chainAlias", + "nameLocation": "3398:10:4", + "nodeType": "VariableDeclaration", + "scope": 3235, + "src": "3384:24:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3184, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3384:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3383:26:4" + }, + "returnParameters": { + "id": 3190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3189, + "mutability": "mutable", + "name": "chain", + "nameLocation": "3449:5:4", + "nodeType": "VariableDeclaration", + "scope": 3235, + "src": "3436:18:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain" + }, + "typeName": { + "id": 3188, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3187, + "name": "Chain", + "nameLocations": [ + "3436:5:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3170, + "src": "3436:5:4" + }, + "referencedDeclaration": 3170, + "src": "3436:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage_ptr", + "typeString": "struct StdChains.Chain" + } + }, + "visibility": "internal" + } + ], + "src": "3435:20:4" + }, + "scope": 3793, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 3292, + "nodeType": "FunctionDefinition", + "src": "3887:532:4", + "nodes": [], + "body": { + "id": 3291, + "nodeType": "Block", + "src": "3968:451:4", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3244, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3237, + "src": "3986:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 3245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3997:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3986:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e", + "id": 3247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4000:52:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a", + "typeString": "literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\"" + }, + "value": "StdChains getChain(uint256): Chain ID cannot be 0." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a", + "typeString": "literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\"" + } + ], + "id": 3243, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3978:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3978:75:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3249, + "nodeType": "ExpressionStatement", + "src": "3978:75:4" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3250, + "name": "initialize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3755, + "src": "4063:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 3251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4063:12:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3252, + "nodeType": "ExpressionStatement", + "src": "4063:12:4" + }, + { + "assignments": [ + 3254 + ], + "declarations": [ + { + "constant": false, + "id": 3254, + "mutability": "mutable", + "name": "chainAlias", + "nameLocation": "4099:10:4", + "nodeType": "VariableDeclaration", + "scope": 3291, + "src": "4085:24:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3253, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4085:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 3258, + "initialValue": { + "baseExpression": { + "id": 3255, + "name": "idToAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "4112:9:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 3257, + "indexExpression": { + "id": 3256, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3237, + "src": "4122:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4112:18:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4085:45:4" + }, + { + "expression": { + "id": 3263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3259, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3241, + "src": "4141:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 3260, + "name": "chains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3175, + "src": "4149:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3170_storage_$", + "typeString": "mapping(string memory => struct StdChains.Chain storage ref)" + } + }, + "id": 3262, + "indexExpression": { + "id": 3261, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3254, + "src": "4156:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4149:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage", + "typeString": "struct StdChains.Chain storage ref" + } + }, + "src": "4141:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3264, + "nodeType": "ExpressionStatement", + "src": "4141:26:4" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3266, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3241, + "src": "4199:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4205:7:4", + "memberName": "chainId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3165, + "src": "4199:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 3268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4216:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4199:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420", + "id": 3274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4255:45:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d", + "typeString": "literal_string \"StdChains getChain(uint256): Chain with ID \"" + }, + "value": "StdChains getChain(uint256): Chain with ID " + }, + { + "arguments": [ + { + "id": 3277, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3237, + "src": "4314:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3275, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "4302:2:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 3276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4305:8:4", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 9462, + "src": "4302:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure external returns (string memory)" + } + }, + "id": 3278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4302:20:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "206e6f7420666f756e642e", + "id": 3279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4324:13:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b", + "typeString": "literal_string \" not found.\"" + }, + "value": " not found." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d", + "typeString": "literal_string \"StdChains getChain(uint256): Chain with ID \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b", + "typeString": "literal_string \" not found.\"" + } + ], + "expression": { + "id": 3272, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4238:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3273, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4242:12:4", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4238:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4238:100:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4231:6:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3270, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4231:6:4", + "typeDescriptions": {} + } + }, + "id": 3281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4231:108:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3265, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4178:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4178:171:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3283, + "nodeType": "ExpressionStatement", + "src": "4178:171:4" + }, + { + "expression": { + "id": 3289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3284, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3241, + "src": "4360:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3286, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3254, + "src": "4394:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3287, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3241, + "src": "4406:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + ], + "id": 3285, + "name": "getChainWithUpdatedRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3600, + "src": "4368:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Chain_$3170_memory_ptr_$returns$_t_struct$_Chain_$3170_memory_ptr_$", + "typeString": "function (string memory,struct StdChains.Chain memory) returns (struct StdChains.Chain memory)" + } + }, + "id": 3288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4368:44:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "src": "4360:52:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3290, + "nodeType": "ExpressionStatement", + "src": "4360:52:4" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getChain", + "nameLocation": "3896:8:4", + "parameters": { + "id": 3238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3237, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "3913:7:4", + "nodeType": "VariableDeclaration", + "scope": 3292, + "src": "3905:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3905:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3904:17:4" + }, + "returnParameters": { + "id": 3242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3241, + "mutability": "mutable", + "name": "chain", + "nameLocation": "3961:5:4", + "nodeType": "VariableDeclaration", + "scope": 3292, + "src": "3948:18:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain" + }, + "typeName": { + "id": 3240, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3239, + "name": "Chain", + "nameLocations": [ + "3948:5:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3170, + "src": "3948:5:4" + }, + "referencedDeclaration": 3170, + "src": "3948:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage_ptr", + "typeString": "struct StdChains.Chain" + } + }, + "visibility": "internal" + } + ], + "src": "3947:20:4" + }, + "scope": 3793, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 3402, + "nodeType": "FunctionDefinition", + "src": "4490:1164:4", + "nodes": [], + "body": { + "id": 3401, + "nodeType": "Block", + "src": "4575:1079:4", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 3303, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3294, + "src": "4612:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3302, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4606:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3301, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4606:5:4", + "typeDescriptions": {} + } + }, + "id": 3304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4606:17:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4624:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4606:24:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 3306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4634:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4606:29:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e", + "id": 3308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4649:79:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354", + "typeString": "literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\"" + }, + "value": "StdChains setChain(string,ChainData): Chain alias cannot be the empty string." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354", + "typeString": "literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\"" + } + ], + "id": 3300, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4585:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4585:153:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3310, + "nodeType": "ExpressionStatement", + "src": "4585:153:4" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3312, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "4757:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4763:7:4", + "memberName": "chainId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3158, + "src": "4757:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 3314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4774:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4757:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e2049442063616e6e6f7420626520302e", + "id": 3316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4777:61:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4", + "typeString": "literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\"" + }, + "value": "StdChains setChain(string,ChainData): Chain ID cannot be 0." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4", + "typeString": "literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\"" + } + ], + "id": 3311, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4749:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4749:90:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3318, + "nodeType": "ExpressionStatement", + "src": "4749:90:4" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3319, + "name": "initialize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3755, + "src": "4850:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 3320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4850:12:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3321, + "nodeType": "ExpressionStatement", + "src": "4850:12:4" + }, + { + "assignments": [ + 3323 + ], + "declarations": [ + { + "constant": false, + "id": 3323, + "mutability": "mutable", + "name": "foundAlias", + "nameLocation": "4886:10:4", + "nodeType": "VariableDeclaration", + "scope": 3401, + "src": "4872:24:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3322, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4872:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 3328, + "initialValue": { + "baseExpression": { + "id": 3324, + "name": "idToAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "4899:9:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 3327, + "indexExpression": { + "expression": { + "id": 3325, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "4909:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3326, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4915:7:4", + "memberName": "chainId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3158, + "src": "4909:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4899:24:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4872:51:4" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 3332, + "name": "foundAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "4961:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3331, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4955:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3330, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4955:5:4", + "typeDescriptions": {} + } + }, + "id": 3333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4955:17:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4973:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4955:24:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4983:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4955:29:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 3349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 3340, + "name": "foundAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "5004:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4998:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3338, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4998:5:4", + "typeDescriptions": {} + } + }, + "id": 3341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4998:17:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3337, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4988:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4988:28:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 3346, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3294, + "src": "5036:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5030:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3344, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5030:5:4", + "typeDescriptions": {} + } + }, + "id": 3347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5030:17:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3343, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5020:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5020:28:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4988:60:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4955:93:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20494420", + "id": 3355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5124:49:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0", + "typeString": "literal_string \"StdChains setChain(string,ChainData): Chain ID \"" + }, + "value": "StdChains setChain(string,ChainData): Chain ID " + }, + { + "arguments": [ + { + "expression": { + "id": 3358, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "5207:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3359, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5213:7:4", + "memberName": "chainId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3158, + "src": "5207:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3356, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "5195:2:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 3357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5198:8:4", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 9462, + "src": "5195:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure external returns (string memory)" + } + }, + "id": 3360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5195:26:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "20616c726561647920757365642062792022", + "id": 3361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5243:21:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077", + "typeString": "literal_string \" already used by \"\"" + }, + "value": " already used by \"" + }, + { + "id": 3362, + "name": "foundAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "5286:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "222e", + "id": 3363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5318:5:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193", + "typeString": "literal_string \"\".\"" + }, + "value": "\"." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0", + "typeString": "literal_string \"StdChains setChain(string,ChainData): Chain ID \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077", + "typeString": "literal_string \" already used by \"\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193", + "typeString": "literal_string \"\".\"" + } + ], + "expression": { + "id": 3353, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5086:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5090:12:4", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5086:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5086:255:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5062:6:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3351, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5062:6:4", + "typeDescriptions": {} + } + }, + "id": 3365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5062:293:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3329, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4934:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4934:431:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3367, + "nodeType": "ExpressionStatement", + "src": "4934:431:4" + }, + { + "assignments": [ + 3369 + ], + "declarations": [ + { + "constant": false, + "id": 3369, + "mutability": "mutable", + "name": "oldChainId", + "nameLocation": "5384:10:4", + "nodeType": "VariableDeclaration", + "scope": 3401, + "src": "5376:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5376:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3374, + "initialValue": { + "expression": { + "baseExpression": { + "id": 3370, + "name": "chains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3175, + "src": "5397:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3170_storage_$", + "typeString": "mapping(string memory => struct StdChains.Chain storage ref)" + } + }, + "id": 3372, + "indexExpression": { + "id": 3371, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3294, + "src": "5404:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5397:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage", + "typeString": "struct StdChains.Chain storage ref" + } + }, + "id": 3373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5416:7:4", + "memberName": "chainId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3165, + "src": "5397:26:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5376:47:4" + }, + { + "expression": { + "id": 3378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5433:28:4", + "subExpression": { + "baseExpression": { + "id": 3375, + "name": "idToAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "5440:9:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 3377, + "indexExpression": { + "id": 3376, + "name": "oldChainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3369, + "src": "5450:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5440:21:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3379, + "nodeType": "ExpressionStatement", + "src": "5433:28:4" + }, + { + "expression": { + "id": 3392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3380, + "name": "chains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3175, + "src": "5472:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3170_storage_$", + "typeString": "mapping(string memory => struct StdChains.Chain storage ref)" + } + }, + "id": 3382, + "indexExpression": { + "id": 3381, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3294, + "src": "5479:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5472:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage", + "typeString": "struct StdChains.Chain storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 3384, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "5518:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3385, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5524:4:4", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 3156, + "src": "5518:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 3386, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "5539:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3387, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5545:7:4", + "memberName": "chainId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3158, + "src": "5539:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3388, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3294, + "src": "5566:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 3389, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "5586:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3390, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5592:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 3160, + "src": "5586:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3383, + "name": "Chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "5505:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Chain_$3170_storage_ptr_$", + "typeString": "type(struct StdChains.Chain storage pointer)" + } + }, + "id": 3391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "5512:4:4", + "5530:7:4", + "5554:10:4", + "5578:6:4" + ], + "names": [ + "name", + "chainId", + "chainAlias", + "rpcUrl" + ], + "nodeType": "FunctionCall", + "src": "5505:95:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "src": "5472:128:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage", + "typeString": "struct StdChains.Chain storage ref" + } + }, + "id": 3393, + "nodeType": "ExpressionStatement", + "src": "5472:128:4" + }, + { + "expression": { + "id": 3399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3394, + "name": "idToAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "5610:9:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 3397, + "indexExpression": { + "expression": { + "id": 3395, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "5620:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5626:7:4", + "memberName": "chainId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3158, + "src": "5620:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5610:24:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3398, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3294, + "src": "5637:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5610:37:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 3400, + "nodeType": "ExpressionStatement", + "src": "5610:37:4" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setChain", + "nameLocation": "4499:8:4", + "parameters": { + "id": 3298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3294, + "mutability": "mutable", + "name": "chainAlias", + "nameLocation": "4522:10:4", + "nodeType": "VariableDeclaration", + "scope": 3402, + "src": "4508:24:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3293, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4508:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3297, + "mutability": "mutable", + "name": "chain", + "nameLocation": "4551:5:4", + "nodeType": "VariableDeclaration", + "scope": 3402, + "src": "4534:22:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData" + }, + "typeName": { + "id": 3296, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3295, + "name": "ChainData", + "nameLocations": [ + "4534:9:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3161, + "src": "4534:9:4" + }, + "referencedDeclaration": 3161, + "src": "4534:9:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_storage_ptr", + "typeString": "struct StdChains.ChainData" + } + }, + "visibility": "internal" + } + ], + "src": "4507:50:4" + }, + "returnParameters": { + "id": 3299, + "nodeType": "ParameterList", + "parameters": [], + "src": "4575:0:4" + }, + "scope": 3793, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 3423, + "nodeType": "FunctionDefinition", + "src": "5725:195:4", + "nodes": [], + "body": { + "id": 3422, + "nodeType": "Block", + "src": "5806:114:4", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3411, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3404, + "src": "5825:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "expression": { + "id": 3413, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "5854:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3414, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5860:4:4", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 3163, + "src": "5854:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 3415, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "5875:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5881:7:4", + "memberName": "chainId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3165, + "src": "5875:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 3417, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "5898:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3418, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5904:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 3169, + "src": "5898:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3412, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "5837:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "5848:4:4", + "5866:7:4", + "5890:6:4" + ], + "names": [ + "name", + "chainId", + "rpcUrl" + ], + "nodeType": "FunctionCall", + "src": "5837:75:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3410, + "name": "setChain", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3402, + 3423 + ], + "referencedDeclaration": 3402, + "src": "5816:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5816:97:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3421, + "nodeType": "ExpressionStatement", + "src": "5816:97:4" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setChain", + "nameLocation": "5734:8:4", + "parameters": { + "id": 3408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3404, + "mutability": "mutable", + "name": "chainAlias", + "nameLocation": "5757:10:4", + "nodeType": "VariableDeclaration", + "scope": 3423, + "src": "5743:24:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3403, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5743:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3407, + "mutability": "mutable", + "name": "chain", + "nameLocation": "5782:5:4", + "nodeType": "VariableDeclaration", + "scope": 3423, + "src": "5769:18:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain" + }, + "typeName": { + "id": 3406, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3405, + "name": "Chain", + "nameLocations": [ + "5769:5:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3170, + "src": "5769:5:4" + }, + "referencedDeclaration": 3170, + "src": "5769:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage_ptr", + "typeString": "struct StdChains.Chain" + } + }, + "visibility": "internal" + } + ], + "src": "5742:46:4" + }, + "returnParameters": { + "id": 3409, + "nodeType": "ParameterList", + "parameters": [], + "src": "5806:0:4" + }, + "scope": 3793, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 3500, + "nodeType": "FunctionDefinition", + "src": "5926:451:4", + "nodes": [], + "body": { + "id": 3499, + "nodeType": "Block", + "src": "6000:377:4", + "nodes": [], + "statements": [ + { + "assignments": [ + 3431 + ], + "declarations": [ + { + "constant": false, + "id": 3431, + "mutability": "mutable", + "name": "strb", + "nameLocation": "6023:4:4", + "nodeType": "VariableDeclaration", + "scope": 3499, + "src": "6010:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3430, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6010:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3436, + "initialValue": { + "arguments": [ + { + "id": 3434, + "name": "str", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3425, + "src": "6036:3:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6030:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3432, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6030:5:4", + "typeDescriptions": {} + } + }, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6030:10:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6010:30:4" + }, + { + "assignments": [ + 3438 + ], + "declarations": [ + { + "constant": false, + "id": 3438, + "mutability": "mutable", + "name": "copy", + "nameLocation": "6063:4:4", + "nodeType": "VariableDeclaration", + "scope": 3499, + "src": "6050:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3437, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6050:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3444, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 3441, + "name": "strb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3431, + "src": "6080:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6085:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6080:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6070:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 3439, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6074:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 3443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6070:22:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6050:42:4" + }, + { + "body": { + "id": 3492, + "nodeType": "Block", + "src": "6144:198:4", + "statements": [ + { + "assignments": [ + 3457 + ], + "declarations": [ + { + "constant": false, + "id": 3457, + "mutability": "mutable", + "name": "b", + "nameLocation": "6165:1:4", + "nodeType": "VariableDeclaration", + "scope": 3492, + "src": "6158:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 3456, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "6158:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + } + ], + "id": 3461, + "initialValue": { + "baseExpression": { + "id": 3458, + "name": "strb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3431, + "src": "6169:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3460, + "indexExpression": { + "id": 3459, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3446, + "src": "6174:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6169:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6158:18:4" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 3464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3462, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3457, + "src": "6194:1:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "30783631", + "id": 3463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6199:4:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_97_by_1", + "typeString": "int_const 97" + }, + "value": "0x61" + }, + "src": "6194:9:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 3467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3465, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3457, + "src": "6207:1:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "30783741", + "id": 3466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6212:4:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_122_by_1", + "typeString": "int_const 122" + }, + "value": "0x7A" + }, + "src": "6207:9:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6194:22:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3490, + "nodeType": "Block", + "src": "6288:44:4", + "statements": [ + { + "expression": { + "id": 3488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3484, + "name": "copy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3438, + "src": "6306:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3486, + "indexExpression": { + "id": 3485, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3446, + "src": "6311:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6306:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3487, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3457, + "src": "6316:1:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "6306:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 3489, + "nodeType": "ExpressionStatement", + "src": "6306:11:4" + } + ] + }, + "id": 3491, + "nodeType": "IfStatement", + "src": "6190:142:4", + "trueBody": { + "id": 3483, + "nodeType": "Block", + "src": "6218:64:4", + "statements": [ + { + "expression": { + "id": 3481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3469, + "name": "copy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3438, + "src": "6236:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3471, + "indexExpression": { + "id": 3470, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3446, + "src": "6241:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6236:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3476, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3457, + "src": "6259:1:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 3475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6253:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 3474, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6253:5:4", + "typeDescriptions": {} + } + }, + "id": 3477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6253:8:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "3332", + "id": 3478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6264:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "6253:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 3473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6246:6:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 3472, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "6246:6:4", + "typeDescriptions": {} + } + }, + "id": 3480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6246:21:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "6236:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 3482, + "nodeType": "ExpressionStatement", + "src": "6236:31:4" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3449, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3446, + "src": "6122:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 3450, + "name": "strb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3431, + "src": "6126:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6131:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6126:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6122:15:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3493, + "initializationExpression": { + "assignments": [ + 3446 + ], + "declarations": [ + { + "constant": false, + "id": 3446, + "mutability": "mutable", + "name": "i", + "nameLocation": "6115:1:4", + "nodeType": "VariableDeclaration", + "scope": 3493, + "src": "6107:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3445, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6107:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3448, + "initialValue": { + "hexValue": "30", + "id": 3447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6119:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6107:13:4" + }, + "loopExpression": { + "expression": { + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6139:3:4", + "subExpression": { + "id": 3453, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3446, + "src": "6139:1:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3455, + "nodeType": "ExpressionStatement", + "src": "6139:3:4" + }, + "nodeType": "ForStatement", + "src": "6102:240:4" + }, + { + "expression": { + "arguments": [ + { + "id": 3496, + "name": "copy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3438, + "src": "6365:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6358:6:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3494, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6358:6:4", + "typeDescriptions": {} + } + }, + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6358:12:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3429, + "id": 3498, + "nodeType": "Return", + "src": "6351:19:4" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_toUpper", + "nameLocation": "5935:8:4", + "parameters": { + "id": 3426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3425, + "mutability": "mutable", + "name": "str", + "nameLocation": "5958:3:4", + "nodeType": "VariableDeclaration", + "scope": 3500, + "src": "5944:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3424, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5944:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5943:19:4" + }, + "returnParameters": { + "id": 3429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3428, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3500, + "src": "5985:13:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3427, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5985:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5984:15:4" + }, + "scope": 3793, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 3600, + "nodeType": "FunctionDefinition", + "src": "6513:1036:4", + "nodes": [], + "body": { + "id": 3599, + "nodeType": "Block", + "src": "6625:924:4", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "expression": { + "id": 3513, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3505, + "src": "6645:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3514, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6651:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 3169, + "src": "6645:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6639:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3511, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6639:5:4", + "typeDescriptions": {} + } + }, + "id": 3515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6639:19:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6659:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6639:26:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6669:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6639:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3596, + "nodeType": "IfStatement", + "src": "6635:886:4", + "trueBody": { + "id": 3595, + "nodeType": "Block", + "src": "6672:849:4", + "statements": [ + { + "clauses": [ + { + "block": { + "id": 3532, + "nodeType": "Block", + "src": "6749:60:4", + "statements": [ + { + "expression": { + "id": 3530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 3526, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3505, + "src": "6767:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6773:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 3169, + "src": "6767:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3529, + "name": "configRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3524, + "src": "6782:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "6767:27:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 3531, + "nodeType": "ExpressionStatement", + "src": "6767:27:4" + } + ] + }, + "errorName": "", + "id": 3533, + "nodeType": "TryCatchClause", + "parameters": { + "id": 3525, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3524, + "mutability": "mutable", + "name": "configRpcUrl", + "nameLocation": "6735:12:4", + "nodeType": "VariableDeclaration", + "scope": 3533, + "src": "6721:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3523, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6721:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6720:28:4" + }, + "src": "6712:97:4" + }, + { + "block": { + "id": 3592, + "nodeType": "Block", + "src": "6835:676:4", + "statements": [ + { + "expression": { + "id": 3556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 3537, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3505, + "src": "6853:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3539, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6859:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 3169, + "src": "6853:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 3547, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3502, + "src": "6930:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3546, + "name": "_toUpper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3500, + "src": "6921:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (string memory)" + } + }, + "id": 3548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6921:20:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "5f5250435f55524c", + "id": 3549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6943:10:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9", + "typeString": "literal_string \"_RPC_URL\"" + }, + "value": "_RPC_URL" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9", + "typeString": "literal_string \"_RPC_URL\"" + } + ], + "expression": { + "id": 3544, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6904:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6908:12:4", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "6904:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6904:50:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6897:6:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3542, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6897:6:4", + "typeDescriptions": {} + } + }, + "id": 3551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6897:58:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 3552, + "name": "defaultRpcUrls", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3179, + "src": "6957:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", + "typeString": "mapping(string memory => string storage ref)" + } + }, + "id": 3554, + "indexExpression": { + "id": 3553, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3502, + "src": "6972:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6957:26:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 3540, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "6888:2:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 3541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6891:5:4", + "memberName": "envOr", + "nodeType": "MemberAccess", + "referencedDeclaration": 9198, + "src": "6888:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) external returns (string memory)" + } + }, + "id": 3555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6888:96:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "6853:131:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 3557, + "nodeType": "ExpressionStatement", + "src": "6853:131:4" + }, + { + "assignments": [ + 3559 + ], + "declarations": [ + { + "constant": false, + "id": 3559, + "mutability": "mutable", + "name": "notFoundError", + "nameLocation": "7077:13:4", + "nodeType": "VariableDeclaration", + "scope": 3592, + "src": "7064:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3558, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7064:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3572, + "initialValue": { + "arguments": [ + { + "hexValue": "4368656174436f64654572726f72", + "id": 3562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7137:16:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf", + "typeString": "literal_string \"CheatCodeError\"" + }, + "value": "CheatCodeError" + }, + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "696e76616c6964207270632075726c20", + "id": 3567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7179:18:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed", + "typeString": "literal_string \"invalid rpc url \"" + }, + "value": "invalid rpc url " + }, + { + "id": 3568, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3502, + "src": "7199:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed", + "typeString": "literal_string \"invalid rpc url \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 3565, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7162:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7166:12:4", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7162:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7162:48:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7155:6:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3563, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7155:6:4", + "typeDescriptions": {} + } + }, + "id": 3570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7155:56:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf", + "typeString": "literal_string \"CheatCodeError\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 3560, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7113:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7117:19:4", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7113:23:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7113:99:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7064:148:4" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3574, + "name": "notFoundError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "7244:13:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3573, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "7234:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7234:24:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "id": 3577, + "name": "err", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3535, + "src": "7272:3:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3576, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "7262:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7262:14:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7234:42:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "expression": { + "id": 3582, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3505, + "src": "7286:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "id": 3583, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7292:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 3169, + "src": "7286:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7280:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 3580, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7280:5:4", + "typeDescriptions": {} + } + }, + "id": 3584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7280:19:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7300:6:4", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7280:26:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7310:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7280:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7234:77:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3591, + "nodeType": "IfStatement", + "src": "7230:267:4", + "trueBody": { + "id": 3590, + "nodeType": "Block", + "src": "7313:184:4", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "7399:80:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7436:2:4", + "type": "", + "value": "32" + }, + { + "name": "err", + "nodeType": "YulIdentifier", + "src": "7440:3:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7432:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "7432:12:4" + }, + { + "arguments": [ + { + "name": "err", + "nodeType": "YulIdentifier", + "src": "7452:3:4" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7446:5:4" + }, + "nodeType": "YulFunctionCall", + "src": "7446:10:4" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7425:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "7425:32:4" + }, + "nodeType": "YulExpressionStatement", + "src": "7425:32:4" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 3535, + "isOffset": false, + "isSlot": false, + "src": "7440:3:4", + "valueSize": 1 + }, + { + "declaration": 3535, + "isOffset": false, + "isSlot": false, + "src": "7452:3:4", + "valueSize": 1 + } + ], + "id": 3589, + "nodeType": "InlineAssembly", + "src": "7390:89:4" + } + ] + } + } + ] + }, + "errorName": "", + "id": 3593, + "nodeType": "TryCatchClause", + "parameters": { + "id": 3536, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3535, + "mutability": "mutable", + "name": "err", + "nameLocation": "6830:3:4", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "6817:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3534, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6817:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6816:18:4" + }, + "src": "6810:701:4" + } + ], + "externalCall": { + "arguments": [ + { + "id": 3521, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3502, + "src": "6700:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 3519, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "6690:2:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 3520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6693:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 9881, + "src": "6690:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) view external returns (string memory)" + } + }, + "id": 3522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6690:21:4", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 3594, + "nodeType": "TryStatement", + "src": "6686:825:4" + } + ] + } + }, + { + "expression": { + "id": 3597, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3505, + "src": "7537:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain memory" + } + }, + "functionReturnParameters": 3510, + "id": 3598, + "nodeType": "Return", + "src": "7530:12:4" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getChainWithUpdatedRpcUrl", + "nameLocation": "6522:25:4", + "parameters": { + "id": 3506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3502, + "mutability": "mutable", + "name": "chainAlias", + "nameLocation": "6562:10:4", + "nodeType": "VariableDeclaration", + "scope": 3600, + "src": "6548:24:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3501, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6548:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3505, + "mutability": "mutable", + "name": "chain", + "nameLocation": "6587:5:4", + "nodeType": "VariableDeclaration", + "scope": 3600, + "src": "6574:18:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain" + }, + "typeName": { + "id": 3504, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3503, + "name": "Chain", + "nameLocations": [ + "6574:5:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3170, + "src": "6574:5:4" + }, + "referencedDeclaration": 3170, + "src": "6574:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage_ptr", + "typeString": "struct StdChains.Chain" + } + }, + "visibility": "internal" + } + ], + "src": "6547:46:4" + }, + "returnParameters": { + "id": 3510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3509, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3600, + "src": "6611:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_memory_ptr", + "typeString": "struct StdChains.Chain" + }, + "typeName": { + "id": 3508, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3507, + "name": "Chain", + "nameLocations": [ + "6611:5:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3170, + "src": "6611:5:4" + }, + "referencedDeclaration": 3170, + "src": "6611:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Chain_$3170_storage_ptr", + "typeString": "struct StdChains.Chain" + } + }, + "visibility": "internal" + } + ], + "src": "6610:14:4" + }, + "scope": 3793, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "id": 3755, + "nodeType": "FunctionDefinition", + "src": "7555:2350:4", + "nodes": [], + "body": { + "id": 3754, + "nodeType": "Block", + "src": "7585:2320:4", + "nodes": [], + "statements": [ + { + "condition": { + "id": 3603, + "name": "initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3154, + "src": "7599:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3605, + "nodeType": "IfStatement", + "src": "7595:24:4", + "trueBody": { + "functionReturnParameters": 3602, + "id": 3604, + "nodeType": "Return", + "src": "7612:7:4" + } + }, + { + "expression": { + "id": 3608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3606, + "name": "initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3154, + "src": "7629:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 3607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7643:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "7629:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3609, + "nodeType": "ExpressionStatement", + "src": "7629:18:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "616e76696c", + "id": 3611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7770:7:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b", + "typeString": "literal_string \"anvil\"" + }, + "value": "anvil" + }, + { + "arguments": [ + { + "hexValue": "416e76696c", + "id": 3613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7789:7:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4", + "typeString": "literal_string \"Anvil\"" + }, + "value": "Anvil" + }, + { + "hexValue": "3331333337", + "id": 3614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7798:5:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_31337_by_1", + "typeString": "int_const 31337" + }, + "value": "31337" + }, + { + "hexValue": "687474703a2f2f3132372e302e302e313a38353435", + "id": 3615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7805:23:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0", + "typeString": "literal_string \"http://127.0.0.1:8545\"" + }, + "value": "http://127.0.0.1:8545" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4", + "typeString": "literal_string \"Anvil\"" + }, + { + "typeIdentifier": "t_rational_31337_by_1", + "typeString": "int_const 31337" + }, + { + "typeIdentifier": "t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0", + "typeString": "literal_string \"http://127.0.0.1:8545\"" + } + ], + "id": 3612, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "7779:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3616, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7779:50:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b", + "typeString": "literal_string \"anvil\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3610, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "7744:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7744:86:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3618, + "nodeType": "ExpressionStatement", + "src": "7744:86:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "6d61696e6e6574", + "id": 3620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7879:9:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff", + "typeString": "literal_string \"mainnet\"" + }, + "value": "mainnet" + }, + { + "arguments": [ + { + "hexValue": "4d61696e6e6574", + "id": 3622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7900:9:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26", + "typeString": "literal_string \"Mainnet\"" + }, + "value": "Mainnet" + }, + { + "hexValue": "31", + "id": 3623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7911:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "hexValue": "68747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f3637373034353462633665613432633538616163313239373835333162393366", + "id": 3624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7914:63:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_774ec9114c424c27016dfcccca26cbc2c56169b7a41cad2545127f33ebee4c93", + "typeString": "literal_string \"https://mainnet.infura.io/v3/6770454bc6ea42c58aac12978531b93f\"" + }, + "value": "https://mainnet.infura.io/v3/6770454bc6ea42c58aac12978531b93f" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26", + "typeString": "literal_string \"Mainnet\"" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_stringliteral_774ec9114c424c27016dfcccca26cbc2c56169b7a41cad2545127f33ebee4c93", + "typeString": "literal_string \"https://mainnet.infura.io/v3/6770454bc6ea42c58aac12978531b93f\"" + } + ], + "id": 3621, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "7890:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7890:88:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff", + "typeString": "literal_string \"mainnet\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3619, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "7840:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7840:148:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3627, + "nodeType": "ExpressionStatement", + "src": "7840:148:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "676f65726c69", + "id": 3629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8037:8:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a", + "typeString": "literal_string \"goerli\"" + }, + "value": "goerli" + }, + { + "arguments": [ + { + "hexValue": "476f65726c69", + "id": 3631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8057:8:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e", + "typeString": "literal_string \"Goerli\"" + }, + "value": "Goerli" + }, + { + "hexValue": "35", + "id": 3632, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8067:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + { + "hexValue": "68747470733a2f2f676f65726c692e696e667572612e696f2f76332f3637373034353462633665613432633538616163313239373835333162393366", + "id": 3633, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8070:62:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_809fa20d080608d8b6f3c6e91a70a9f82ae99920a2a463c52efd4970f7138a82", + "typeString": "literal_string \"https://goerli.infura.io/v3/6770454bc6ea42c58aac12978531b93f\"" + }, + "value": "https://goerli.infura.io/v3/6770454bc6ea42c58aac12978531b93f" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e", + "typeString": "literal_string \"Goerli\"" + }, + { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + { + "typeIdentifier": "t_stringliteral_809fa20d080608d8b6f3c6e91a70a9f82ae99920a2a463c52efd4970f7138a82", + "typeString": "literal_string \"https://goerli.infura.io/v3/6770454bc6ea42c58aac12978531b93f\"" + } + ], + "id": 3630, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "8047:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8047:86:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a", + "typeString": "literal_string \"goerli\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3628, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "7998:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7998:145:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3636, + "nodeType": "ExpressionStatement", + "src": "7998:145:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "7365706f6c6961", + "id": 3638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8192:9:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a", + "typeString": "literal_string \"sepolia\"" + }, + "value": "sepolia" + }, + { + "arguments": [ + { + "hexValue": "5365706f6c6961", + "id": 3640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8213:9:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27", + "typeString": "literal_string \"Sepolia\"" + }, + "value": "Sepolia" + }, + { + "hexValue": "3131313535313131", + "id": 3641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8224:8:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_11155111_by_1", + "typeString": "int_const 11155111" + }, + "value": "11155111" + }, + { + "hexValue": "68747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f3637373034353462633665613432633538616163313239373835333162393366", + "id": 3642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8234:63:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5313b0eedeb4c276f1c587a739e98451ec2a65fc7c99390b9b7a46c530c86559", + "typeString": "literal_string \"https://sepolia.infura.io/v3/6770454bc6ea42c58aac12978531b93f\"" + }, + "value": "https://sepolia.infura.io/v3/6770454bc6ea42c58aac12978531b93f" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27", + "typeString": "literal_string \"Sepolia\"" + }, + { + "typeIdentifier": "t_rational_11155111_by_1", + "typeString": "int_const 11155111" + }, + { + "typeIdentifier": "t_stringliteral_5313b0eedeb4c276f1c587a739e98451ec2a65fc7c99390b9b7a46c530c86559", + "typeString": "literal_string \"https://sepolia.infura.io/v3/6770454bc6ea42c58aac12978531b93f\"" + } + ], + "id": 3639, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "8203:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8203:95:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a", + "typeString": "literal_string \"sepolia\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3637, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8153:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8153:155:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3645, + "nodeType": "ExpressionStatement", + "src": "8153:155:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "6f7074696d69736d", + "id": 3647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8344:10:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05", + "typeString": "literal_string \"optimism\"" + }, + "value": "optimism" + }, + { + "arguments": [ + { + "hexValue": "4f7074696d69736d", + "id": 3649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8366:10:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec", + "typeString": "literal_string \"Optimism\"" + }, + "value": "Optimism" + }, + { + "hexValue": "3130", + "id": 3650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8378:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f", + "id": 3651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8382:29:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e", + "typeString": "literal_string \"https://mainnet.optimism.io\"" + }, + "value": "https://mainnet.optimism.io" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec", + "typeString": "literal_string \"Optimism\"" + }, + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + { + "typeIdentifier": "t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e", + "typeString": "literal_string \"https://mainnet.optimism.io\"" + } + ], + "id": 3648, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "8356:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8356:56:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05", + "typeString": "literal_string \"optimism\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3646, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8318:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8318:95:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3654, + "nodeType": "ExpressionStatement", + "src": "8318:95:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "6f7074696d69736d5f676f65726c69", + "id": 3656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8449:17:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c", + "typeString": "literal_string \"optimism_goerli\"" + }, + "value": "optimism_goerli" + }, + { + "arguments": [ + { + "hexValue": "4f7074696d69736d20476f65726c69", + "id": 3658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8478:17:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6271e061a2d4ce1b6e267081a40c4dca996efe738d092d650bcfa23669d2fd24", + "typeString": "literal_string \"Optimism Goerli\"" + }, + "value": "Optimism Goerli" + }, + { + "hexValue": "343230", + "id": 3659, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8497:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_420_by_1", + "typeString": "int_const 420" + }, + "value": "420" + }, + { + "hexValue": "68747470733a2f2f676f65726c692e6f7074696d69736d2e696f", + "id": 3660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8502:28:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad", + "typeString": "literal_string \"https://goerli.optimism.io\"" + }, + "value": "https://goerli.optimism.io" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6271e061a2d4ce1b6e267081a40c4dca996efe738d092d650bcfa23669d2fd24", + "typeString": "literal_string \"Optimism Goerli\"" + }, + { + "typeIdentifier": "t_rational_420_by_1", + "typeString": "int_const 420" + }, + { + "typeIdentifier": "t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad", + "typeString": "literal_string \"https://goerli.optimism.io\"" + } + ], + "id": 3657, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "8468:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8468:63:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c", + "typeString": "literal_string \"optimism_goerli\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3655, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8423:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8423:109:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3663, + "nodeType": "ExpressionStatement", + "src": "8423:109:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "617262697472756d5f6f6e65", + "id": 3665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8568:14:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4", + "typeString": "literal_string \"arbitrum_one\"" + }, + "value": "arbitrum_one" + }, + { + "arguments": [ + { + "hexValue": "417262697472756d204f6e65", + "id": 3667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8594:14:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004", + "typeString": "literal_string \"Arbitrum One\"" + }, + "value": "Arbitrum One" + }, + { + "hexValue": "3432313631", + "id": 3668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8610:5:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_42161_by_1", + "typeString": "int_const 42161" + }, + "value": "42161" + }, + { + "hexValue": "68747470733a2f2f617262312e617262697472756d2e696f2f727063", + "id": 3669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8617:30:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126", + "typeString": "literal_string \"https://arb1.arbitrum.io/rpc\"" + }, + "value": "https://arb1.arbitrum.io/rpc" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004", + "typeString": "literal_string \"Arbitrum One\"" + }, + { + "typeIdentifier": "t_rational_42161_by_1", + "typeString": "int_const 42161" + }, + { + "typeIdentifier": "t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126", + "typeString": "literal_string \"https://arb1.arbitrum.io/rpc\"" + } + ], + "id": 3666, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "8584:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8584:64:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4", + "typeString": "literal_string \"arbitrum_one\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3664, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8542:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8542:107:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3672, + "nodeType": "ExpressionStatement", + "src": "8542:107:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "617262697472756d5f6f6e655f676f65726c69", + "id": 3674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8698:21:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4", + "typeString": "literal_string \"arbitrum_one_goerli\"" + }, + "value": "arbitrum_one_goerli" + }, + { + "arguments": [ + { + "hexValue": "417262697472756d204f6e6520476f65726c69", + "id": 3676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8731:21:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_57f7b6894161eb541e81676f15adf1e65eee36bdcfd592f252d22d4394480f21", + "typeString": "literal_string \"Arbitrum One Goerli\"" + }, + "value": "Arbitrum One Goerli" + }, + { + "hexValue": "343231363133", + "id": 3677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8754:6:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_421613_by_1", + "typeString": "int_const 421613" + }, + "value": "421613" + }, + { + "hexValue": "68747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f727063", + "id": 3678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8762:39:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea", + "typeString": "literal_string \"https://goerli-rollup.arbitrum.io/rpc\"" + }, + "value": "https://goerli-rollup.arbitrum.io/rpc" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_57f7b6894161eb541e81676f15adf1e65eee36bdcfd592f252d22d4394480f21", + "typeString": "literal_string \"Arbitrum One Goerli\"" + }, + { + "typeIdentifier": "t_rational_421613_by_1", + "typeString": "int_const 421613" + }, + { + "typeIdentifier": "t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea", + "typeString": "literal_string \"https://goerli-rollup.arbitrum.io/rpc\"" + } + ], + "id": 3675, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "8721:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8721:81:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4", + "typeString": "literal_string \"arbitrum_one_goerli\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3673, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8659:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8659:153:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3681, + "nodeType": "ExpressionStatement", + "src": "8659:153:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "617262697472756d5f6e6f7661", + "id": 3683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8848:15:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac", + "typeString": "literal_string \"arbitrum_nova\"" + }, + "value": "arbitrum_nova" + }, + { + "arguments": [ + { + "hexValue": "417262697472756d204e6f7661", + "id": 3685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8875:15:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21", + "typeString": "literal_string \"Arbitrum Nova\"" + }, + "value": "Arbitrum Nova" + }, + { + "hexValue": "3432313730", + "id": 3686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8892:5:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_42170_by_1", + "typeString": "int_const 42170" + }, + "value": "42170" + }, + { + "hexValue": "68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063", + "id": 3687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8899:30:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac", + "typeString": "literal_string \"https://nova.arbitrum.io/rpc\"" + }, + "value": "https://nova.arbitrum.io/rpc" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21", + "typeString": "literal_string \"Arbitrum Nova\"" + }, + { + "typeIdentifier": "t_rational_42170_by_1", + "typeString": "int_const 42170" + }, + { + "typeIdentifier": "t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac", + "typeString": "literal_string \"https://nova.arbitrum.io/rpc\"" + } + ], + "id": 3684, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "8865:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8865:65:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac", + "typeString": "literal_string \"arbitrum_nova\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3682, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8822:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8822:109:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3690, + "nodeType": "ExpressionStatement", + "src": "8822:109:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "706f6c79676f6e", + "id": 3692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8967:9:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408", + "typeString": "literal_string \"polygon\"" + }, + "value": "polygon" + }, + { + "arguments": [ + { + "hexValue": "506f6c79676f6e", + "id": 3694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8988:9:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71", + "typeString": "literal_string \"Polygon\"" + }, + "value": "Polygon" + }, + { + "hexValue": "313337", + "id": 3695, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8999:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_137_by_1", + "typeString": "int_const 137" + }, + "value": "137" + }, + { + "hexValue": "68747470733a2f2f706f6c79676f6e2d7270632e636f6d", + "id": 3696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9004:25:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0", + "typeString": "literal_string \"https://polygon-rpc.com\"" + }, + "value": "https://polygon-rpc.com" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71", + "typeString": "literal_string \"Polygon\"" + }, + { + "typeIdentifier": "t_rational_137_by_1", + "typeString": "int_const 137" + }, + { + "typeIdentifier": "t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0", + "typeString": "literal_string \"https://polygon-rpc.com\"" + } + ], + "id": 3693, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "8978:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8978:52:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408", + "typeString": "literal_string \"polygon\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3691, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8941:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8941:90:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3699, + "nodeType": "ExpressionStatement", + "src": "8941:90:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "706f6c79676f6e5f6d756d626169", + "id": 3701, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9080:16:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0", + "typeString": "literal_string \"polygon_mumbai\"" + }, + "value": "polygon_mumbai" + }, + { + "arguments": [ + { + "hexValue": "506f6c79676f6e204d756d626169", + "id": 3703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9108:16:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_173b0df64039e25119e26da4408dbd53da69bf06543516209ecc66f21e0c9725", + "typeString": "literal_string \"Polygon Mumbai\"" + }, + "value": "Polygon Mumbai" + }, + { + "hexValue": "3830303031", + "id": 3704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9126:5:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_80001_by_1", + "typeString": "int_const 80001" + }, + "value": "80001" + }, + { + "hexValue": "68747470733a2f2f7270632d6d756d6261692e6d61746963766967696c2e636f6d", + "id": 3705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9133:35:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_73b526a6131ddfd959c21485254bd24a6ab94de746e87b78a515c1d42c7ee121", + "typeString": "literal_string \"https://rpc-mumbai.maticvigil.com\"" + }, + "value": "https://rpc-mumbai.maticvigil.com" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_173b0df64039e25119e26da4408dbd53da69bf06543516209ecc66f21e0c9725", + "typeString": "literal_string \"Polygon Mumbai\"" + }, + { + "typeIdentifier": "t_rational_80001_by_1", + "typeString": "int_const 80001" + }, + { + "typeIdentifier": "t_stringliteral_73b526a6131ddfd959c21485254bd24a6ab94de746e87b78a515c1d42c7ee121", + "typeString": "literal_string \"https://rpc-mumbai.maticvigil.com\"" + } + ], + "id": 3702, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "9098:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9098:71:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0", + "typeString": "literal_string \"polygon_mumbai\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3700, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9041:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9041:138:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3708, + "nodeType": "ExpressionStatement", + "src": "9041:138:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "6176616c616e636865", + "id": 3710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9215:11:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55", + "typeString": "literal_string \"avalanche\"" + }, + "value": "avalanche" + }, + { + "arguments": [ + { + "hexValue": "4176616c616e636865", + "id": 3712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9238:11:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40", + "typeString": "literal_string \"Avalanche\"" + }, + "value": "Avalanche" + }, + { + "hexValue": "3433313134", + "id": 3713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9251:5:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_43114_by_1", + "typeString": "int_const 43114" + }, + "value": "43114" + }, + { + "hexValue": "68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f727063", + "id": 3714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9258:39:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a", + "typeString": "literal_string \"https://api.avax.network/ext/bc/C/rpc\"" + }, + "value": "https://api.avax.network/ext/bc/C/rpc" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40", + "typeString": "literal_string \"Avalanche\"" + }, + { + "typeIdentifier": "t_rational_43114_by_1", + "typeString": "int_const 43114" + }, + { + "typeIdentifier": "t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a", + "typeString": "literal_string \"https://api.avax.network/ext/bc/C/rpc\"" + } + ], + "id": 3711, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "9228:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9228:70:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55", + "typeString": "literal_string \"avalanche\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3709, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9189:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9189:110:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3717, + "nodeType": "ExpressionStatement", + "src": "9189:110:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "6176616c616e6368655f66756a69", + "id": 3719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9348:16:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692", + "typeString": "literal_string \"avalanche_fuji\"" + }, + "value": "avalanche_fuji" + }, + { + "arguments": [ + { + "hexValue": "4176616c616e6368652046756a69", + "id": 3721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9376:16:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b", + "typeString": "literal_string \"Avalanche Fuji\"" + }, + "value": "Avalanche Fuji" + }, + { + "hexValue": "3433313133", + "id": 3722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9394:5:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_43113_by_1", + "typeString": "int_const 43113" + }, + "value": "43113" + }, + { + "hexValue": "68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f727063", + "id": 3723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9401:44:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d", + "typeString": "literal_string \"https://api.avax-test.network/ext/bc/C/rpc\"" + }, + "value": "https://api.avax-test.network/ext/bc/C/rpc" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b", + "typeString": "literal_string \"Avalanche Fuji\"" + }, + { + "typeIdentifier": "t_rational_43113_by_1", + "typeString": "int_const 43113" + }, + { + "typeIdentifier": "t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d", + "typeString": "literal_string \"https://api.avax-test.network/ext/bc/C/rpc\"" + } + ], + "id": 3720, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "9366:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9366:80:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692", + "typeString": "literal_string \"avalanche_fuji\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3718, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9309:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9309:147:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3726, + "nodeType": "ExpressionStatement", + "src": "9309:147:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "626e625f736d6172745f636861696e", + "id": 3728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9505:17:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e", + "typeString": "literal_string \"bnb_smart_chain\"" + }, + "value": "bnb_smart_chain" + }, + { + "arguments": [ + { + "hexValue": "424e4220536d61727420436861696e", + "id": 3730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9534:17:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f", + "typeString": "literal_string \"BNB Smart Chain\"" + }, + "value": "BNB Smart Chain" + }, + { + "hexValue": "3536", + "id": 3731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9553:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + "value": "56" + }, + { + "hexValue": "68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267", + "id": 3732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9557:35:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719", + "typeString": "literal_string \"https://bsc-dataseed1.binance.org\"" + }, + "value": "https://bsc-dataseed1.binance.org" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f", + "typeString": "literal_string \"BNB Smart Chain\"" + }, + { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + { + "typeIdentifier": "t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719", + "typeString": "literal_string \"https://bsc-dataseed1.binance.org\"" + } + ], + "id": 3729, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "9524:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9524:69:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e", + "typeString": "literal_string \"bnb_smart_chain\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3727, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9466:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9466:137:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3735, + "nodeType": "ExpressionStatement", + "src": "9466:137:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "626e625f736d6172745f636861696e5f746573746e6574", + "id": 3737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9652:25:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29", + "typeString": "literal_string \"bnb_smart_chain_testnet\"" + }, + "value": "bnb_smart_chain_testnet" + }, + { + "arguments": [ + { + "hexValue": "424e4220536d61727420436861696e20546573746e6574", + "id": 3739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9701:25:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c", + "typeString": "literal_string \"BNB Smart Chain Testnet\"" + }, + "value": "BNB Smart Chain Testnet" + }, + { + "hexValue": "3937", + "id": 3740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9728:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_97_by_1", + "typeString": "int_const 97" + }, + "value": "97" + }, + { + "hexValue": "68747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c", + "id": 3741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9732:41:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960", + "typeString": "literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\"" + }, + "value": "https://rpc.ankr.com/bsc_testnet_chapel" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c", + "typeString": "literal_string \"BNB Smart Chain Testnet\"" + }, + { + "typeIdentifier": "t_rational_97_by_1", + "typeString": "int_const 97" + }, + { + "typeIdentifier": "t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960", + "typeString": "literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\"" + } + ], + "id": 3738, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "9691:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9691:83:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29", + "typeString": "literal_string \"bnb_smart_chain_testnet\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3736, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9613:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9613:171:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3744, + "nodeType": "ExpressionStatement", + "src": "9613:171:4" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "676e6f7369735f636861696e", + "id": 3746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9820:14:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595", + "typeString": "literal_string \"gnosis_chain\"" + }, + "value": "gnosis_chain" + }, + { + "arguments": [ + { + "hexValue": "476e6f73697320436861696e", + "id": 3748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9846:14:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02", + "typeString": "literal_string \"Gnosis Chain\"" + }, + "value": "Gnosis Chain" + }, + { + "hexValue": "313030", + "id": 3749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9862:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + { + "hexValue": "68747470733a2f2f7270632e676e6f736973636861696e2e636f6d", + "id": 3750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9867:29:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df", + "typeString": "literal_string \"https://rpc.gnosischain.com\"" + }, + "value": "https://rpc.gnosischain.com" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02", + "typeString": "literal_string \"Gnosis Chain\"" + }, + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + { + "typeIdentifier": "t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df", + "typeString": "literal_string \"https://rpc.gnosischain.com\"" + } + ], + "id": 3747, + "name": "ChainData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3161, + "src": "9836:9:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ChainData_$3161_storage_ptr_$", + "typeString": "type(struct StdChains.ChainData storage pointer)" + } + }, + "id": 3751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9836:61:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595", + "typeString": "literal_string \"gnosis_chain\"" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3745, + "name": "setChainWithDefaultRpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9794:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9794:104:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3753, + "nodeType": "ExpressionStatement", + "src": "9794:104:4" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "initialize", + "nameLocation": "7564:10:4", + "parameters": { + "id": 3601, + "nodeType": "ParameterList", + "parameters": [], + "src": "7574:2:4" + }, + "returnParameters": { + "id": 3602, + "nodeType": "ParameterList", + "parameters": [], + "src": "7585:0:4" + }, + "scope": 3793, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "id": 3792, + "nodeType": "FunctionDefinition", + "src": "9987:305:4", + "nodes": [], + "body": { + "id": 3791, + "nodeType": "Block", + "src": "10080:212:4", + "nodes": [], + "statements": [ + { + "assignments": [ + 3764 + ], + "declarations": [ + { + "constant": false, + "id": 3764, + "mutability": "mutable", + "name": "rpcUrl", + "nameLocation": "10104:6:4", + "nodeType": "VariableDeclaration", + "scope": 3791, + "src": "10090:20:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3763, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10090:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 3767, + "initialValue": { + "expression": { + "id": 3765, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "10113:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3766, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10119:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 3160, + "src": "10113:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10090:35:4" + }, + { + "expression": { + "id": 3772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3768, + "name": "defaultRpcUrls", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3179, + "src": "10135:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", + "typeString": "mapping(string memory => string storage ref)" + } + }, + "id": 3770, + "indexExpression": { + "id": 3769, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3757, + "src": "10150:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10135:26:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3771, + "name": "rpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3764, + "src": "10164:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "10135:35:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 3773, + "nodeType": "ExpressionStatement", + "src": "10135:35:4" + }, + { + "expression": { + "id": 3778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 3774, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "10180:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10186:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 3160, + "src": "10180:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "", + "id": 3777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10195:2:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "10180:17:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 3779, + "nodeType": "ExpressionStatement", + "src": "10180:17:4" + }, + { + "expression": { + "arguments": [ + { + "id": 3781, + "name": "chainAlias", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3757, + "src": "10216:10:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3782, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "10228:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + ], + "id": 3780, + "name": "setChain", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3402, + 3423 + ], + "referencedDeclaration": 3402, + "src": "10207:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3161_memory_ptr_$returns$__$", + "typeString": "function (string memory,struct StdChains.ChainData memory)" + } + }, + "id": 3783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10207:27:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3784, + "nodeType": "ExpressionStatement", + "src": "10207:27:4" + }, + { + "expression": { + "id": 3789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 3785, + "name": "chain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "10244:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData memory" + } + }, + "id": 3787, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10250:6:4", + "memberName": "rpcUrl", + "nodeType": "MemberAccess", + "referencedDeclaration": 3160, + "src": "10244:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3788, + "name": "rpcUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3764, + "src": "10259:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "10244:21:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 3790, + "nodeType": "ExpressionStatement", + "src": "10244:21:4" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setChainWithDefaultRpcUrl", + "nameLocation": "9996:25:4", + "parameters": { + "id": 3761, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3757, + "mutability": "mutable", + "name": "chainAlias", + "nameLocation": "10036:10:4", + "nodeType": "VariableDeclaration", + "scope": 3792, + "src": "10022:24:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3756, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10022:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3760, + "mutability": "mutable", + "name": "chain", + "nameLocation": "10065:5:4", + "nodeType": "VariableDeclaration", + "scope": 3792, + "src": "10048:22:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_memory_ptr", + "typeString": "struct StdChains.ChainData" + }, + "typeName": { + "id": 3759, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3758, + "name": "ChainData", + "nameLocations": [ + "10048:9:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3161, + "src": "10048:9:4" + }, + "referencedDeclaration": 3161, + "src": "10048:9:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ChainData_$3161_storage_ptr", + "typeString": "struct StdChains.ChainData" + } + }, + "visibility": "internal" + } + ], + "src": "10021:50:4" + }, + "returnParameters": { + "id": 3762, + "nodeType": "ParameterList", + "parameters": [], + "src": "10080:0:4" + }, + "scope": 3793, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + } + ], + "abstract": true, + "baseContracts": [], + "canonicalName": "StdChains", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 3135, + "nodeType": "StructuredDocumentation", + "src": "134:1935:4", + "text": " StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n alias used in this contract, which can be found as the first argument to the\n `setChainWithDefaultRpcUrl` call in the `initialize` function.\n There are two main ways to use this contract:\n 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n `setChain(string memory chainAlias, Chain memory chain)`\n 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n The first time either of those are used, chains are initialized with the default set of RPC URLs.\n This is done in `initialize`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n `defaultRpcUrls`.\n The `setChain` function is straightforward, and it simply saves off the given chain data.\n The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n we want to retrieve `mainnet`'s RPC URL:\n - If you haven't set any mainnet chain info with `setChain`, you haven't specified that\n chain in `foundry.toml` and no env var is set, the default data and RPC URL will be returned.\n - If you have set a mainnet RPC URL in `foundry.toml` it will return that, if valid (e.g. if\n a URL is given or if an environment variable is given and that environment variable exists).\n Otherwise, the default data is returned.\n - If you specified data with `setChain` it will return that.\n Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 3793 + ], + "name": "StdChains", + "nameLocation": "2088:9:4", + "scope": 3794, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/StdCheats.sol": { + "id": 5, + "ast": { + "absolutePath": "lib/forge-std/src/StdCheats.sol", + "id": 5755, + "exportedSymbols": { + "StdCheats": [ + 5754 + ], + "StdCheatsSafe": [ + 5365 + ], + "StdStorage": [ + 6661 + ], + "Vm": [ + 10233 + ], + "stdStorage": [ + 8094 + ] + }, + "nodeType": "SourceUnit", + "src": "32:20803:5", + "nodes": [ + { + "id": 3795, + "nodeType": "PragmaDirective", + "src": "32:31:5", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 3796, + "nodeType": "PragmaDirective", + "src": "65:33:5", + "nodes": [], + "literals": [ + "experimental", + "ABIEncoderV2" + ] + }, + { + "id": 3799, + "nodeType": "ImportDirective", + "src": "100:56:5", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdStorage.sol", + "file": "./StdStorage.sol", + "nameLocation": "-1:-1:-1", + "scope": 5755, + "sourceUnit": 8095, + "symbolAliases": [ + { + "foreign": { + "id": 3797, + "name": "StdStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6661, + "src": "108:10:5", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 3798, + "name": "stdStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8094, + "src": "120:10:5", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 3801, + "nodeType": "ImportDirective", + "src": "157:28:5", + "nodes": [], + "absolutePath": "lib/forge-std/src/Vm.sol", + "file": "./Vm.sol", + "nameLocation": "-1:-1:-1", + "scope": 5755, + "sourceUnit": 10234, + "symbolAliases": [ + { + "foreign": { + "id": 3800, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "165:2:5", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 5365, + "nodeType": "ContractDefinition", + "src": "187:17285:5", + "nodes": [ + { + "id": 3818, + "nodeType": "VariableDeclaration", + "src": "225:84:5", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "vm", + "nameLocation": "245:2:5", + "scope": 5365, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + }, + "typeName": { + "id": 3803, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3802, + "name": "Vm", + "nameLocations": [ + "225:2:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10233, + "src": "225:2:5" + }, + "referencedDeclaration": 10233, + "src": "225:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6865766d20636865617420636f6465", + "id": 3812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "287:17:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + }, + "value": "hevm cheat code" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + } + ], + "id": 3811, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "277:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "277:28:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "269:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 3809, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "269:7:5", + "typeDescriptions": {} + } + }, + "id": 3814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "269:37:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "261:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 3807, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "261:7:5", + "typeDescriptions": {} + } + }, + "id": 3815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "261:46:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 3806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "253:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3805, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "253:7:5", + "typeDescriptions": {} + } + }, + "id": 3816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "253:55:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3804, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "250:2:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Vm_$10233_$", + "typeString": "type(contract Vm)" + } + }, + "id": 3817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "250:59:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "visibility": "private" + }, + { + "id": 3820, + "nodeType": "VariableDeclaration", + "src": "316:27:5", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "gasMeteringOff", + "nameLocation": "329:14:5", + "scope": 5365, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3819, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "316:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "id": 3837, + "nodeType": "StructDefinition", + "src": "588:325:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.RawTx1559", + "members": [ + { + "constant": false, + "id": 3823, + "mutability": "mutable", + "name": "arguments", + "nameLocation": "624:9:5", + "nodeType": "VariableDeclaration", + "scope": 3837, + "src": "615:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 3821, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "615:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 3822, + "nodeType": "ArrayTypeName", + "src": "615:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3825, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "651:15:5", + "nodeType": "VariableDeclaration", + "scope": 3837, + "src": "643:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3824, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "643:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3827, + "mutability": "mutable", + "name": "contractName", + "nameLocation": "683:12:5", + "nodeType": "VariableDeclaration", + "scope": 3837, + "src": "676:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3826, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "676:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3829, + "mutability": "mutable", + "name": "functionSig", + "nameLocation": "750:11:5", + "nodeType": "VariableDeclaration", + "scope": 3837, + "src": "743:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3828, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "743:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3831, + "mutability": "mutable", + "name": "hash", + "nameLocation": "779:4:5", + "nodeType": "VariableDeclaration", + "scope": 3837, + "src": "771:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3830, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "771:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3834, + "mutability": "mutable", + "name": "txDetail", + "nameLocation": "841:8:5", + "nodeType": "VariableDeclaration", + "scope": 3837, + "src": "825:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail" + }, + "typeName": { + "id": 3833, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3832, + "name": "RawTx1559Detail", + "nameLocations": [ + "825:15:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3856, + "src": "825:15:5" + }, + "referencedDeclaration": 3856, + "src": "825:15:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3836, + "mutability": "mutable", + "name": "opcode", + "nameLocation": "900:6:5", + "nodeType": "VariableDeclaration", + "scope": 3837, + "src": "893:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3835, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "893:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "RawTx1559", + "nameLocation": "595:9:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 3856, + "nodeType": "StructDefinition", + "src": "919:208:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.RawTx1559Detail", + "members": [ + { + "constant": false, + "id": 3841, + "mutability": "mutable", + "name": "accessList", + "nameLocation": "965:10:5", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "952:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AccessList_$3948_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.AccessList[]" + }, + "typeName": { + "baseType": { + "id": 3839, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3838, + "name": "AccessList", + "nameLocations": [ + "952:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3948, + "src": "952:10:5" + }, + "referencedDeclaration": 3948, + "src": "952:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AccessList_$3948_storage_ptr", + "typeString": "struct StdCheatsSafe.AccessList" + } + }, + "id": 3840, + "nodeType": "ArrayTypeName", + "src": "952:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AccessList_$3948_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.AccessList[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3843, + "mutability": "mutable", + "name": "data", + "nameLocation": "991:4:5", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "985:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3842, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "985:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3845, + "mutability": "mutable", + "name": "from", + "nameLocation": "1013:4:5", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "1005:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3844, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1005:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3847, + "mutability": "mutable", + "name": "gas", + "nameLocation": "1033:3:5", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "1027:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3846, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1027:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3849, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1052:5:5", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "1046:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3848, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1046:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3851, + "mutability": "mutable", + "name": "to", + "nameLocation": "1075:2:5", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "1067:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1067:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3853, + "mutability": "mutable", + "name": "txType", + "nameLocation": "1093:6:5", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "1087:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3852, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1087:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3855, + "mutability": "mutable", + "name": "value", + "nameLocation": "1115:5:5", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "1109:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3854, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1109:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "RawTx1559Detail", + "nameLocation": "926:15:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 3873, + "nodeType": "StructDefinition", + "src": "1133:215:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.Tx1559", + "members": [ + { + "constant": false, + "id": 3859, + "mutability": "mutable", + "name": "arguments", + "nameLocation": "1166:9:5", + "nodeType": "VariableDeclaration", + "scope": 3873, + "src": "1157:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 3857, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1157:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 3858, + "nodeType": "ArrayTypeName", + "src": "1157:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3861, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "1193:15:5", + "nodeType": "VariableDeclaration", + "scope": 3873, + "src": "1185:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3860, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1185:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3863, + "mutability": "mutable", + "name": "contractName", + "nameLocation": "1225:12:5", + "nodeType": "VariableDeclaration", + "scope": 3873, + "src": "1218:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3862, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1218:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3865, + "mutability": "mutable", + "name": "functionSig", + "nameLocation": "1254:11:5", + "nodeType": "VariableDeclaration", + "scope": 3873, + "src": "1247:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3864, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1247:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3867, + "mutability": "mutable", + "name": "hash", + "nameLocation": "1283:4:5", + "nodeType": "VariableDeclaration", + "scope": 3873, + "src": "1275:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3866, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1275:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3870, + "mutability": "mutable", + "name": "txDetail", + "nameLocation": "1310:8:5", + "nodeType": "VariableDeclaration", + "scope": 3873, + "src": "1297:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail" + }, + "typeName": { + "id": 3869, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3868, + "name": "Tx1559Detail", + "nameLocations": [ + "1297:12:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3892, + "src": "1297:12:5" + }, + "referencedDeclaration": 3892, + "src": "1297:12:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3872, + "mutability": "mutable", + "name": "opcode", + "nameLocation": "1335:6:5", + "nodeType": "VariableDeclaration", + "scope": 3873, + "src": "1328:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3871, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1328:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "Tx1559", + "nameLocation": "1140:6:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 3892, + "nodeType": "StructDefinition", + "src": "1354:213:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.Tx1559Detail", + "members": [ + { + "constant": false, + "id": 3877, + "mutability": "mutable", + "name": "accessList", + "nameLocation": "1397:10:5", + "nodeType": "VariableDeclaration", + "scope": 3892, + "src": "1384:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AccessList_$3948_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.AccessList[]" + }, + "typeName": { + "baseType": { + "id": 3875, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3874, + "name": "AccessList", + "nameLocations": [ + "1384:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3948, + "src": "1384:10:5" + }, + "referencedDeclaration": 3948, + "src": "1384:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AccessList_$3948_storage_ptr", + "typeString": "struct StdCheatsSafe.AccessList" + } + }, + "id": 3876, + "nodeType": "ArrayTypeName", + "src": "1384:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AccessList_$3948_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.AccessList[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3879, + "mutability": "mutable", + "name": "data", + "nameLocation": "1423:4:5", + "nodeType": "VariableDeclaration", + "scope": 3892, + "src": "1417:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3878, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1417:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3881, + "mutability": "mutable", + "name": "from", + "nameLocation": "1445:4:5", + "nodeType": "VariableDeclaration", + "scope": 3892, + "src": "1437:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3880, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1437:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3883, + "mutability": "mutable", + "name": "gas", + "nameLocation": "1467:3:5", + "nodeType": "VariableDeclaration", + "scope": 3892, + "src": "1459:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3882, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1459:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3885, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1488:5:5", + "nodeType": "VariableDeclaration", + "scope": 3892, + "src": "1480:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1480:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3887, + "mutability": "mutable", + "name": "to", + "nameLocation": "1511:2:5", + "nodeType": "VariableDeclaration", + "scope": 3892, + "src": "1503:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3886, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1503:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3889, + "mutability": "mutable", + "name": "txType", + "nameLocation": "1531:6:5", + "nodeType": "VariableDeclaration", + "scope": 3892, + "src": "1523:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3888, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1523:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3891, + "mutability": "mutable", + "name": "value", + "nameLocation": "1555:5:5", + "nodeType": "VariableDeclaration", + "scope": 3892, + "src": "1547:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1547:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "Tx1559Detail", + "nameLocation": "1361:12:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 3909, + "nodeType": "StructDefinition", + "src": "1818:221:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.TxLegacy", + "members": [ + { + "constant": false, + "id": 3895, + "mutability": "mutable", + "name": "arguments", + "nameLocation": "1853:9:5", + "nodeType": "VariableDeclaration", + "scope": 3909, + "src": "1844:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 3893, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1844:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 3894, + "nodeType": "ArrayTypeName", + "src": "1844:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3897, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "1880:15:5", + "nodeType": "VariableDeclaration", + "scope": 3909, + "src": "1872:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3896, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3899, + "mutability": "mutable", + "name": "contractName", + "nameLocation": "1912:12:5", + "nodeType": "VariableDeclaration", + "scope": 3909, + "src": "1905:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3898, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1905:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3901, + "mutability": "mutable", + "name": "functionSig", + "nameLocation": "1941:11:5", + "nodeType": "VariableDeclaration", + "scope": 3909, + "src": "1934:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3900, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1934:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3903, + "mutability": "mutable", + "name": "hash", + "nameLocation": "1969:4:5", + "nodeType": "VariableDeclaration", + "scope": 3909, + "src": "1962:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3902, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1962:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3905, + "mutability": "mutable", + "name": "opcode", + "nameLocation": "1990:6:5", + "nodeType": "VariableDeclaration", + "scope": 3909, + "src": "1983:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3904, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1983:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3908, + "mutability": "mutable", + "name": "transaction", + "nameLocation": "2021:11:5", + "nodeType": "VariableDeclaration", + "scope": 3909, + "src": "2006:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxDetailLegacy_$3942_storage_ptr", + "typeString": "struct StdCheatsSafe.TxDetailLegacy" + }, + "typeName": { + "id": 3907, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3906, + "name": "TxDetailLegacy", + "nameLocations": [ + "2006:14:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3942, + "src": "2006:14:5" + }, + "referencedDeclaration": 3942, + "src": "2006:14:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxDetailLegacy_$3942_storage_ptr", + "typeString": "struct StdCheatsSafe.TxDetailLegacy" + } + }, + "visibility": "internal" + } + ], + "name": "TxLegacy", + "nameLocation": "1825:8:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 3942, + "nodeType": "StructDefinition", + "src": "2045:366:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.TxDetailLegacy", + "members": [ + { + "constant": false, + "id": 3913, + "mutability": "mutable", + "name": "accessList", + "nameLocation": "2090:10:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2077:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AccessList_$3948_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.AccessList[]" + }, + "typeName": { + "baseType": { + "id": 3911, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3910, + "name": "AccessList", + "nameLocations": [ + "2077:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3948, + "src": "2077:10:5" + }, + "referencedDeclaration": 3948, + "src": "2077:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AccessList_$3948_storage_ptr", + "typeString": "struct StdCheatsSafe.AccessList" + } + }, + "id": 3912, + "nodeType": "ArrayTypeName", + "src": "2077:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AccessList_$3948_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.AccessList[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3915, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "2118:7:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2110:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2110:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3917, + "mutability": "mutable", + "name": "data", + "nameLocation": "2141:4:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2135:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3916, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2135:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3919, + "mutability": "mutable", + "name": "from", + "nameLocation": "2163:4:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2155:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3918, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2155:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3921, + "mutability": "mutable", + "name": "gas", + "nameLocation": "2185:3:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2177:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3920, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2177:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3923, + "mutability": "mutable", + "name": "gasPrice", + "nameLocation": "2206:8:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2198:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3922, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2198:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3925, + "mutability": "mutable", + "name": "hash", + "nameLocation": "2232:4:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2224:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3924, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2224:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3927, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "2254:5:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2246:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3926, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2246:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3929, + "mutability": "mutable", + "name": "opcode", + "nameLocation": "2276:6:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2269:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 3928, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "2269:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3931, + "mutability": "mutable", + "name": "r", + "nameLocation": "2300:1:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2292:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3930, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2292:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3933, + "mutability": "mutable", + "name": "s", + "nameLocation": "2319:1:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2311:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3932, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2311:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3935, + "mutability": "mutable", + "name": "txType", + "nameLocation": "2338:6:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2330:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3934, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2330:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3937, + "mutability": "mutable", + "name": "to", + "nameLocation": "2362:2:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2354:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3936, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2354:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3939, + "mutability": "mutable", + "name": "v", + "nameLocation": "2380:1:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2374:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 3938, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2374:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3941, + "mutability": "mutable", + "name": "value", + "nameLocation": "2399:5:5", + "nodeType": "VariableDeclaration", + "scope": 3942, + "src": "2391:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2391:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "TxDetailLegacy", + "nameLocation": "2052:14:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 3948, + "nodeType": "StructDefinition", + "src": "2417:87:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.AccessList", + "members": [ + { + "constant": false, + "id": 3944, + "mutability": "mutable", + "name": "accessAddress", + "nameLocation": "2453:13:5", + "nodeType": "VariableDeclaration", + "scope": 3948, + "src": "2445:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3943, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2445:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3947, + "mutability": "mutable", + "name": "storageKeys", + "nameLocation": "2486:11:5", + "nodeType": "VariableDeclaration", + "scope": 3948, + "src": "2476:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2476:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3946, + "nodeType": "ArrayTypeName", + "src": "2476:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "name": "AccessList", + "nameLocation": "2424:10:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 3977, + "nodeType": "StructDefinition", + "src": "2720:385:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.RawReceipt", + "members": [ + { + "constant": false, + "id": 3950, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "2756:9:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "2748:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3949, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2748:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3952, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "2781:11:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "2775:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3951, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2775:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3954, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "2810:15:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "2802:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3953, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2802:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3956, + "mutability": "mutable", + "name": "cumulativeGasUsed", + "nameLocation": "2841:17:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "2835:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3955, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2835:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3958, + "mutability": "mutable", + "name": "effectiveGasPrice", + "nameLocation": "2874:17:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "2868:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3957, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2868:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3960, + "mutability": "mutable", + "name": "from", + "nameLocation": "2909:4:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "2901:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3959, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2901:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3962, + "mutability": "mutable", + "name": "gasUsed", + "nameLocation": "2929:7:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "2923:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3961, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2923:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3966, + "mutability": "mutable", + "name": "logs", + "nameLocation": "2962:4:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "2946:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog[]" + }, + "typeName": { + "baseType": { + "id": 3964, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3963, + "name": "RawReceiptLog", + "nameLocations": [ + "2946:13:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4074, + "src": "2946:13:5" + }, + "referencedDeclaration": 4074, + "src": "2946:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog" + } + }, + "id": 3965, + "nodeType": "ArrayTypeName", + "src": "2946:15:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3968, + "mutability": "mutable", + "name": "logsBloom", + "nameLocation": "2982:9:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "2976:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3967, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2976:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3970, + "mutability": "mutable", + "name": "status", + "nameLocation": "3007:6:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "3001:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3969, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3001:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3972, + "mutability": "mutable", + "name": "to", + "nameLocation": "3031:2:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "3023:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3971, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3023:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3974, + "mutability": "mutable", + "name": "transactionHash", + "nameLocation": "3051:15:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "3043:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3973, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3043:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3976, + "mutability": "mutable", + "name": "transactionIndex", + "nameLocation": "3082:16:5", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "3076:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3975, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3076:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "RawReceipt", + "nameLocation": "2727:10:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 4006, + "nodeType": "StructDefinition", + "src": "3111:391:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.Receipt", + "members": [ + { + "constant": false, + "id": 3979, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "3144:9:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3136:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3978, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3136:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3981, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "3171:11:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3163:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3980, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3163:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3983, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "3200:15:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3192:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3192:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3985, + "mutability": "mutable", + "name": "cumulativeGasUsed", + "nameLocation": "3233:17:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3225:25:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3984, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3225:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3987, + "mutability": "mutable", + "name": "effectiveGasPrice", + "nameLocation": "3268:17:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3260:25:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3986, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3260:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3989, + "mutability": "mutable", + "name": "from", + "nameLocation": "3303:4:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3295:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3988, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3295:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3991, + "mutability": "mutable", + "name": "gasUsed", + "nameLocation": "3325:7:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3317:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3990, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3317:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3995, + "mutability": "mutable", + "name": "logs", + "nameLocation": "3355:4:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3342:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog[]" + }, + "typeName": { + "baseType": { + "id": 3993, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3992, + "name": "ReceiptLog", + "nameLocations": [ + "3342:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4094, + "src": "3342:10:5" + }, + "referencedDeclaration": 4094, + "src": "3342:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_storage_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog" + } + }, + "id": 3994, + "nodeType": "ArrayTypeName", + "src": "3342:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3997, + "mutability": "mutable", + "name": "logsBloom", + "nameLocation": "3375:9:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3369:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3996, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3369:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3999, + "mutability": "mutable", + "name": "status", + "nameLocation": "3402:6:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3394:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3998, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3394:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4001, + "mutability": "mutable", + "name": "to", + "nameLocation": "3426:2:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3418:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4000, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3418:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4003, + "mutability": "mutable", + "name": "transactionHash", + "nameLocation": "3446:15:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3438:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4002, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3438:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4005, + "mutability": "mutable", + "name": "transactionIndex", + "nameLocation": "3479:16:5", + "nodeType": "VariableDeclaration", + "scope": 4006, + "src": "3471:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3471:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "Receipt", + "nameLocation": "3118:7:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 4029, + "nodeType": "StructDefinition", + "src": "3625:227:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.EIP1559ScriptArtifact", + "members": [ + { + "constant": false, + "id": 4009, + "mutability": "mutable", + "name": "libraries", + "nameLocation": "3673:9:5", + "nodeType": "VariableDeclaration", + "scope": 4029, + "src": "3664:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 4007, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3664:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 4008, + "nodeType": "ArrayTypeName", + "src": "3664:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4011, + "mutability": "mutable", + "name": "path", + "nameLocation": "3699:4:5", + "nodeType": "VariableDeclaration", + "scope": 4029, + "src": "3692:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4010, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3692:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4014, + "mutability": "mutable", + "name": "pending", + "nameLocation": "3722:7:5", + "nodeType": "VariableDeclaration", + "scope": 4029, + "src": "3713:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 4012, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3713:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 4013, + "nodeType": "ArrayTypeName", + "src": "3713:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4018, + "mutability": "mutable", + "name": "receipts", + "nameLocation": "3749:8:5", + "nodeType": "VariableDeclaration", + "scope": 4029, + "src": "3739:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt[]" + }, + "typeName": { + "baseType": { + "id": 4016, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4015, + "name": "Receipt", + "nameLocations": [ + "3739:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4006, + "src": "3739:7:5" + }, + "referencedDeclaration": 4006, + "src": "3739:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + } + }, + "id": 4017, + "nodeType": "ArrayTypeName", + "src": "3739:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4020, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "3775:9:5", + "nodeType": "VariableDeclaration", + "scope": 4029, + "src": "3767:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3767:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4024, + "mutability": "mutable", + "name": "transactions", + "nameLocation": "3803:12:5", + "nodeType": "VariableDeclaration", + "scope": 4029, + "src": "3794:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559[]" + }, + "typeName": { + "baseType": { + "id": 4022, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4021, + "name": "Tx1559", + "nameLocations": [ + "3794:6:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3873, + "src": "3794:6:5" + }, + "referencedDeclaration": 3873, + "src": "3794:6:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + } + }, + "id": 4023, + "nodeType": "ArrayTypeName", + "src": "3794:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4028, + "mutability": "mutable", + "name": "txReturns", + "nameLocation": "3836:9:5", + "nodeType": "VariableDeclaration", + "scope": 4029, + "src": "3825:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxReturn_$4099_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.TxReturn[]" + }, + "typeName": { + "baseType": { + "id": 4026, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4025, + "name": "TxReturn", + "nameLocations": [ + "3825:8:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4099, + "src": "3825:8:5" + }, + "referencedDeclaration": 4099, + "src": "3825:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxReturn_$4099_storage_ptr", + "typeString": "struct StdCheatsSafe.TxReturn" + } + }, + "id": 4027, + "nodeType": "ArrayTypeName", + "src": "3825:10:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxReturn_$4099_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.TxReturn[]" + } + }, + "visibility": "internal" + } + ], + "name": "EIP1559ScriptArtifact", + "nameLocation": "3632:21:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 4052, + "nodeType": "StructDefinition", + "src": "3858:236:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.RawEIP1559ScriptArtifact", + "members": [ + { + "constant": false, + "id": 4032, + "mutability": "mutable", + "name": "libraries", + "nameLocation": "3909:9:5", + "nodeType": "VariableDeclaration", + "scope": 4052, + "src": "3900:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 4030, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3900:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 4031, + "nodeType": "ArrayTypeName", + "src": "3900:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4034, + "mutability": "mutable", + "name": "path", + "nameLocation": "3935:4:5", + "nodeType": "VariableDeclaration", + "scope": 4052, + "src": "3928:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4033, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3928:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4037, + "mutability": "mutable", + "name": "pending", + "nameLocation": "3958:7:5", + "nodeType": "VariableDeclaration", + "scope": 4052, + "src": "3949:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 4035, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3949:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 4036, + "nodeType": "ArrayTypeName", + "src": "3949:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4041, + "mutability": "mutable", + "name": "receipts", + "nameLocation": "3988:8:5", + "nodeType": "VariableDeclaration", + "scope": 4052, + "src": "3975:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt[]" + }, + "typeName": { + "baseType": { + "id": 4039, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4038, + "name": "RawReceipt", + "nameLocations": [ + "3975:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3977, + "src": "3975:10:5" + }, + "referencedDeclaration": 3977, + "src": "3975:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt" + } + }, + "id": 4040, + "nodeType": "ArrayTypeName", + "src": "3975:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4045, + "mutability": "mutable", + "name": "txReturns", + "nameLocation": "4017:9:5", + "nodeType": "VariableDeclaration", + "scope": 4052, + "src": "4006:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxReturn_$4099_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.TxReturn[]" + }, + "typeName": { + "baseType": { + "id": 4043, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4042, + "name": "TxReturn", + "nameLocations": [ + "4006:8:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4099, + "src": "4006:8:5" + }, + "referencedDeclaration": 4099, + "src": "4006:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxReturn_$4099_storage_ptr", + "typeString": "struct StdCheatsSafe.TxReturn" + } + }, + "id": 4044, + "nodeType": "ArrayTypeName", + "src": "4006:10:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxReturn_$4099_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.TxReturn[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4047, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "4044:9:5", + "nodeType": "VariableDeclaration", + "scope": 4052, + "src": "4036:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4046, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4036:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4051, + "mutability": "mutable", + "name": "transactions", + "nameLocation": "4075:12:5", + "nodeType": "VariableDeclaration", + "scope": 4052, + "src": "4063:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559[]" + }, + "typeName": { + "baseType": { + "id": 4049, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4048, + "name": "RawTx1559", + "nameLocations": [ + "4063:9:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3837, + "src": "4063:9:5" + }, + "referencedDeclaration": 3837, + "src": "4063:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559" + } + }, + "id": 4050, + "nodeType": "ArrayTypeName", + "src": "4063:11:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559[]" + } + }, + "visibility": "internal" + } + ], + "name": "RawEIP1559ScriptArtifact", + "nameLocation": "3865:24:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 4074, + "nodeType": "StructDefinition", + "src": "4100:334:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.RawReceiptLog", + "members": [ + { + "constant": false, + "id": 4054, + "mutability": "mutable", + "name": "logAddress", + "nameLocation": "4171:10:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4163:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4053, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4163:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4056, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "4199:9:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4191:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4055, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4191:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4058, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "4224:11:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4218:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4057, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4218:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4060, + "mutability": "mutable", + "name": "data", + "nameLocation": "4251:4:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4245:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4059, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4245:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4062, + "mutability": "mutable", + "name": "logIndex", + "nameLocation": "4271:8:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4265:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4061, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4265:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4064, + "mutability": "mutable", + "name": "removed", + "nameLocation": "4294:7:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4289:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4063, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4289:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4067, + "mutability": "mutable", + "name": "topics", + "nameLocation": "4321:6:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4311:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4065, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4311:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4066, + "nodeType": "ArrayTypeName", + "src": "4311:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4069, + "mutability": "mutable", + "name": "transactionHash", + "nameLocation": "4345:15:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4337:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4068, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4337:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4071, + "mutability": "mutable", + "name": "transactionIndex", + "nameLocation": "4376:16:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4370:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4070, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4370:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4073, + "mutability": "mutable", + "name": "transactionLogIndex", + "nameLocation": "4408:19:5", + "nodeType": "VariableDeclaration", + "scope": 4074, + "src": "4402:25:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4072, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4402:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "RawReceiptLog", + "nameLocation": "4107:13:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 4094, + "nodeType": "StructDefinition", + "src": "4440:306:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.ReceiptLog", + "members": [ + { + "constant": false, + "id": 4076, + "mutability": "mutable", + "name": "logAddress", + "nameLocation": "4508:10:5", + "nodeType": "VariableDeclaration", + "scope": 4094, + "src": "4500:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4075, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4500:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4078, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "4536:9:5", + "nodeType": "VariableDeclaration", + "scope": 4094, + "src": "4528:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4077, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4528:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4080, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "4563:11:5", + "nodeType": "VariableDeclaration", + "scope": 4094, + "src": "4555:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4555:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4082, + "mutability": "mutable", + "name": "data", + "nameLocation": "4590:4:5", + "nodeType": "VariableDeclaration", + "scope": 4094, + "src": "4584:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4081, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4584:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4084, + "mutability": "mutable", + "name": "logIndex", + "nameLocation": "4612:8:5", + "nodeType": "VariableDeclaration", + "scope": 4094, + "src": "4604:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4083, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4604:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4087, + "mutability": "mutable", + "name": "topics", + "nameLocation": "4640:6:5", + "nodeType": "VariableDeclaration", + "scope": 4094, + "src": "4630:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4085, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4630:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4086, + "nodeType": "ArrayTypeName", + "src": "4630:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4089, + "mutability": "mutable", + "name": "transactionIndex", + "nameLocation": "4664:16:5", + "nodeType": "VariableDeclaration", + "scope": 4094, + "src": "4656:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4088, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4656:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4091, + "mutability": "mutable", + "name": "transactionLogIndex", + "nameLocation": "4698:19:5", + "nodeType": "VariableDeclaration", + "scope": 4094, + "src": "4690:27:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4690:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4093, + "mutability": "mutable", + "name": "removed", + "nameLocation": "4732:7:5", + "nodeType": "VariableDeclaration", + "scope": 4094, + "src": "4727:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4092, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4727:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "ReceiptLog", + "nameLocation": "4447:10:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 4099, + "nodeType": "StructDefinition", + "src": "4752:74:5", + "nodes": [], + "canonicalName": "StdCheatsSafe.TxReturn", + "members": [ + { + "constant": false, + "id": 4096, + "mutability": "mutable", + "name": "internalType", + "nameLocation": "4785:12:5", + "nodeType": "VariableDeclaration", + "scope": 4099, + "src": "4778:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4095, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4778:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4098, + "mutability": "mutable", + "name": "value", + "nameLocation": "4814:5:5", + "nodeType": "VariableDeclaration", + "scope": 4099, + "src": "4807:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4097, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4807:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "TxReturn", + "nameLocation": "4759:8:5", + "scope": 5365, + "visibility": "public" + }, + { + "id": 4114, + "nodeType": "FunctionDefinition", + "src": "4832:274:5", + "nodes": [], + "body": { + "id": 4113, + "nodeType": "Block", + "src": "4892:214:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4105 + ], + "declarations": [ + { + "constant": false, + "id": 4105, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "4986:7:5", + "nodeType": "VariableDeclaration", + "scope": 4113, + "src": "4978:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4104, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4978:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4106, + "nodeType": "VariableDeclarationStatement", + "src": "4978:15:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "5012:44:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5026:20:5", + "value": { + "arguments": [], + "functionName": { + "name": "chainid", + "nodeType": "YulIdentifier", + "src": "5037:7:5" + }, + "nodeType": "YulFunctionCall", + "src": "5037:9:5" + }, + "variableNames": [ + { + "name": "chainId", + "nodeType": "YulIdentifier", + "src": "5026:7:5" + } + ] + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 4105, + "isOffset": false, + "isSlot": false, + "src": "5026:7:5", + "valueSize": 1 + } + ], + "id": 4107, + "nodeType": "InlineAssembly", + "src": "5003:53:5" + }, + { + "expression": { + "arguments": [ + { + "id": 4109, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4101, + "src": "5085:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4110, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4105, + "src": "5091:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4108, + "name": "assumeNoPrecompiles", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4114, + 4257 + ], + "referencedDeclaration": 4257, + "src": "5065:19:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) pure" + } + }, + "id": 4111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5065:34:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4112, + "nodeType": "ExpressionStatement", + "src": "5065:34:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assumeNoPrecompiles", + "nameLocation": "4841:19:5", + "parameters": { + "id": 4102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4101, + "mutability": "mutable", + "name": "addr", + "nameLocation": "4869:4:5", + "nodeType": "VariableDeclaration", + "scope": 4114, + "src": "4861:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4861:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4860:14:5" + }, + "returnParameters": { + "id": 4103, + "nodeType": "ParameterList", + "parameters": [], + "src": "4892:0:5" + }, + "scope": 5365, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4257, + "nodeType": "FunctionDefinition", + "src": "5112:1788:5", + "nodes": [], + "body": { + "id": 4256, + "nodeType": "Block", + "src": "5194:1706:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4124, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "5492:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "hexValue": "307831", + "id": 4127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5507:3:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 4126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5499:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5499:7:5", + "typeDescriptions": {} + } + }, + "id": 4128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5499:12:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5492:19:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4130, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "5515:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "hexValue": "307839", + "id": 4133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5530:3:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "0x9" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + } + ], + "id": 4132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5522:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5522:7:5", + "typeDescriptions": {} + } + }, + "id": 4134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5522:12:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5515:19:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5492:42:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 4121, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "5482:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5485:6:5", + "memberName": "assume", + "nodeType": "MemberAccess", + "referencedDeclaration": 9901, + "src": "5482:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure external" + } + }, + "id": 4137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5482:53:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4138, + "nodeType": "ExpressionStatement", + "src": "5482:53:5" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4139, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "5585:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3130", + "id": 4140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5596:2:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "5585:13:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4142, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "5602:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "343230", + "id": 4143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5613:3:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_420_by_1", + "typeString": "int_const 420" + }, + "value": "420" + }, + "src": "5602:14:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5585:31:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4165, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "5934:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3432313631", + "id": 4166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5945:5:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_42161_by_1", + "typeString": "int_const 42161" + }, + "value": "42161" + }, + "src": "5934:16:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4168, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "5954:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "343231363133", + "id": 4169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5965:6:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_421613_by_1", + "typeString": "int_const 421613" + }, + "value": "421613" + }, + "src": "5954:17:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5934:37:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4191, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "6248:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3433313134", + "id": 4192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6259:5:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_43114_by_1", + "typeString": "int_const 43114" + }, + "value": "43114" + }, + "src": "6248:16:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4194, + "name": "chainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "6268:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3433313133", + "id": 4195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6279:5:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_43113_by_1", + "typeString": "int_const 43113" + }, + "value": "43113" + }, + "src": "6268:16:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6248:36:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4253, + "nodeType": "IfStatement", + "src": "6244:617:5", + "trueBody": { + "id": 4252, + "nodeType": "Block", + "src": "6286:575:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4201, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "6439:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830313030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 4204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6454:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x0100000000000000000000000000000000000000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6446:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6446:7:5", + "typeDescriptions": {} + } + }, + "id": 4205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6446:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6439:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4207, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "6501:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830313030303030303030303030303030303030303030303030303030303030303030303030306666", + "id": 4210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6516:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x01000000000000000000000000000000000000ff" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6508:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6508:7:5", + "typeDescriptions": {} + } + }, + "id": 4211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6508:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6501:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6439:120:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 4198, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "6429:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6432:6:5", + "memberName": "assume", + "nodeType": "MemberAccess", + "referencedDeclaration": 9901, + "src": "6429:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure external" + } + }, + "id": 4214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6429:131:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4215, + "nodeType": "ExpressionStatement", + "src": "6429:131:5" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4219, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "6584:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830323030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 4222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6599:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x0200000000000000000000000000000000000000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6591:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6591:7:5", + "typeDescriptions": {} + } + }, + "id": 4223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6591:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6584:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4225, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "6646:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830323030303030303030303030303030303030303030303030303030303030303030303030304646", + "id": 4228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6661:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x02000000000000000000000000000000000000FF" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6653:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4226, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6653:7:5", + "typeDescriptions": {} + } + }, + "id": 4229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6653:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6646:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6584:120:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 4216, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "6574:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6577:6:5", + "memberName": "assume", + "nodeType": "MemberAccess", + "referencedDeclaration": 9901, + "src": "6574:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure external" + } + }, + "id": 4232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6574:131:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4233, + "nodeType": "ExpressionStatement", + "src": "6574:131:5" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4237, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "6729:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830333030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 4240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6744:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x0300000000000000000000000000000000000000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4239, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6736:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4238, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6736:7:5", + "typeDescriptions": {} + } + }, + "id": 4241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6736:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6729:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4243, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "6791:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830333030303030303030303030303030303030303030303030303030303030303030303030304666", + "id": 4246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6806:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x03000000000000000000000000000000000000Ff" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6798:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4244, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6798:7:5", + "typeDescriptions": {} + } + }, + "id": 4247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6798:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6791:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6729:120:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 4234, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "6719:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6722:6:5", + "memberName": "assume", + "nodeType": "MemberAccess", + "referencedDeclaration": 9901, + "src": "6719:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure external" + } + }, + "id": 4250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6719:131:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4251, + "nodeType": "ExpressionStatement", + "src": "6719:131:5" + } + ] + } + }, + "id": 4254, + "nodeType": "IfStatement", + "src": "5930:931:5", + "trueBody": { + "id": 4190, + "nodeType": "Block", + "src": "5973:265:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4175, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "6106:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303634", + "id": 4178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6121:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x0000000000000000000000000000000000000064" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6113:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4176, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6113:7:5", + "typeDescriptions": {} + } + }, + "id": 4179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6113:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6106:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4181, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "6168:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303638", + "id": 4184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6183:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x0000000000000000000000000000000000000068" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6175:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6175:7:5", + "typeDescriptions": {} + } + }, + "id": 4185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6175:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6168:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6106:120:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 4172, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "6096:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6099:6:5", + "memberName": "assume", + "nodeType": "MemberAccess", + "referencedDeclaration": 9901, + "src": "6096:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure external" + } + }, + "id": 4188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6096:131:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4189, + "nodeType": "ExpressionStatement", + "src": "6096:131:5" + } + ] + } + }, + "id": 4255, + "nodeType": "IfStatement", + "src": "5581:1280:5", + "trueBody": { + "id": 4164, + "nodeType": "Block", + "src": "5618:306:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4149, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "5792:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "hexValue": "307834323030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 4152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5807:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x4200000000000000000000000000000000000000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5799:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4150, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5799:7:5", + "typeDescriptions": {} + } + }, + "id": 4153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5799:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5792:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4155, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4116, + "src": "5854:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "hexValue": "307834323030303030303030303030303030303030303030303030303030303030303030303030383030", + "id": 4158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5869:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x4200000000000000000000000000000000000800" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5861:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5861:7:5", + "typeDescriptions": {} + } + }, + "id": 4159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5861:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5854:58:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5792:120:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 4146, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "5782:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5785:6:5", + "memberName": "assume", + "nodeType": "MemberAccess", + "referencedDeclaration": 9901, + "src": "5782:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure external" + } + }, + "id": 4162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5782:131:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4163, + "nodeType": "ExpressionStatement", + "src": "5782:131:5" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assumeNoPrecompiles", + "nameLocation": "5121:19:5", + "parameters": { + "id": 4119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4116, + "mutability": "mutable", + "name": "addr", + "nameLocation": "5149:4:5", + "nodeType": "VariableDeclaration", + "scope": 4257, + "src": "5141:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4115, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5141:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4118, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "5163:7:5", + "nodeType": "VariableDeclaration", + "scope": 4257, + "src": "5155:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5155:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5140:31:5" + }, + "returnParameters": { + "id": 4120, + "nodeType": "ParameterList", + "parameters": [], + "src": "5194:0:5" + }, + "scope": 5365, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4349, + "nodeType": "FunctionDefinition", + "src": "6906:843:5", + "nodes": [], + "body": { + "id": 4348, + "nodeType": "Block", + "src": "7058:691:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4266 + ], + "declarations": [ + { + "constant": false, + "id": 4266, + "mutability": "mutable", + "name": "data", + "nameLocation": "7082:4:5", + "nodeType": "VariableDeclaration", + "scope": 4348, + "src": "7068:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4265, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7068:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 4271, + "initialValue": { + "arguments": [ + { + "id": 4269, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4259, + "src": "7101:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4267, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "7089:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7092:8:5", + "memberName": "readFile", + "nodeType": "MemberAccess", + "referencedDeclaration": 9369, + "src": "7089:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) view external returns (string memory)" + } + }, + "id": 4270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7089:17:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7068:38:5" + }, + { + "assignments": [ + 4273 + ], + "declarations": [ + { + "constant": false, + "id": 4273, + "mutability": "mutable", + "name": "parsedData", + "nameLocation": "7129:10:5", + "nodeType": "VariableDeclaration", + "scope": 4348, + "src": "7116:23:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4272, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7116:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4278, + "initialValue": { + "arguments": [ + { + "id": 4276, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4266, + "src": "7155:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4274, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "7142:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7145:9:5", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9564, + "src": "7142:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure external returns (bytes memory)" + } + }, + "id": 4277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7142:18:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7116:44:5" + }, + { + "assignments": [ + 4281 + ], + "declarations": [ + { + "constant": false, + "id": 4281, + "mutability": "mutable", + "name": "rawArtifact", + "nameLocation": "7202:11:5", + "nodeType": "VariableDeclaration", + "scope": 4348, + "src": "7170:43:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_memory_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact" + }, + "typeName": { + "id": 4280, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4279, + "name": "RawEIP1559ScriptArtifact", + "nameLocations": [ + "7170:24:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4052, + "src": "7170:24:5" + }, + "referencedDeclaration": 4052, + "src": "7170:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_storage_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact" + } + }, + "visibility": "internal" + } + ], + "id": 4288, + "initialValue": { + "arguments": [ + { + "id": 4284, + "name": "parsedData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4273, + "src": "7227:10:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 4285, + "name": "RawEIP1559ScriptArtifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4052, + "src": "7240:24:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_RawEIP1559ScriptArtifact_$4052_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)" + } + } + ], + "id": 4286, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7239:26:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_RawEIP1559ScriptArtifact_$4052_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_struct$_RawEIP1559ScriptArtifact_$4052_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)" + } + ], + "expression": { + "id": 4282, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7216:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7220:6:5", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "7216:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 4287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7216:50:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_memory_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7170:96:5" + }, + { + "assignments": [ + 4291 + ], + "declarations": [ + { + "constant": false, + "id": 4291, + "mutability": "mutable", + "name": "artifact", + "nameLocation": "7305:8:5", + "nodeType": "VariableDeclaration", + "scope": 4348, + "src": "7276:37:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact" + }, + "typeName": { + "id": 4290, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4289, + "name": "EIP1559ScriptArtifact", + "nameLocations": [ + "7276:21:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4029, + "src": "7276:21:5" + }, + "referencedDeclaration": 4029, + "src": "7276:21:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_storage_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact" + } + }, + "visibility": "internal" + } + ], + "id": 4292, + "nodeType": "VariableDeclarationStatement", + "src": "7276:37:5" + }, + { + "expression": { + "id": 4298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4293, + "name": "artifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "7323:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory" + } + }, + "id": 4295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7332:9:5", + "memberName": "libraries", + "nodeType": "MemberAccess", + "referencedDeclaration": 4009, + "src": "7323:18:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4296, + "name": "rawArtifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4281, + "src": "7344:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_memory_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory" + } + }, + "id": 4297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7356:9:5", + "memberName": "libraries", + "nodeType": "MemberAccess", + "referencedDeclaration": 4032, + "src": "7344:21:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "src": "7323:42:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 4299, + "nodeType": "ExpressionStatement", + "src": "7323:42:5" + }, + { + "expression": { + "id": 4305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4300, + "name": "artifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "7375:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory" + } + }, + "id": 4302, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7384:4:5", + "memberName": "path", + "nodeType": "MemberAccess", + "referencedDeclaration": 4011, + "src": "7375:13:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4303, + "name": "rawArtifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4281, + "src": "7391:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_memory_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory" + } + }, + "id": 4304, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7403:4:5", + "memberName": "path", + "nodeType": "MemberAccess", + "referencedDeclaration": 4034, + "src": "7391:16:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "7375:32:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4306, + "nodeType": "ExpressionStatement", + "src": "7375:32:5" + }, + { + "expression": { + "id": 4312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4307, + "name": "artifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "7417:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory" + } + }, + "id": 4309, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7426:9:5", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 4020, + "src": "7417:18:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4310, + "name": "rawArtifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4281, + "src": "7438:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_memory_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory" + } + }, + "id": 4311, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7450:9:5", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 4047, + "src": "7438:21:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7417:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4313, + "nodeType": "ExpressionStatement", + "src": "7417:42:5" + }, + { + "expression": { + "id": 4319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4314, + "name": "artifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "7469:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory" + } + }, + "id": 4316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7478:7:5", + "memberName": "pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 4014, + "src": "7469:16:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4317, + "name": "rawArtifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4281, + "src": "7488:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_memory_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory" + } + }, + "id": 4318, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7500:7:5", + "memberName": "pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 4037, + "src": "7488:19:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "src": "7469:38:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 4320, + "nodeType": "ExpressionStatement", + "src": "7469:38:5" + }, + { + "expression": { + "id": 4326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4321, + "name": "artifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "7517:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory" + } + }, + "id": 4323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7526:9:5", + "memberName": "txReturns", + "nodeType": "MemberAccess", + "referencedDeclaration": 4028, + "src": "7517:18:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxReturn_$4099_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.TxReturn memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4324, + "name": "rawArtifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4281, + "src": "7538:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_memory_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory" + } + }, + "id": 4325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7550:9:5", + "memberName": "txReturns", + "nodeType": "MemberAccess", + "referencedDeclaration": 4045, + "src": "7538:21:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxReturn_$4099_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.TxReturn memory[] memory" + } + }, + "src": "7517:42:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxReturn_$4099_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.TxReturn memory[] memory" + } + }, + "id": 4327, + "nodeType": "ExpressionStatement", + "src": "7517:42:5" + }, + { + "expression": { + "id": 4335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4328, + "name": "artifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "7569:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory" + } + }, + "id": 4330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7578:8:5", + "memberName": "receipts", + "nodeType": "MemberAccess", + "referencedDeclaration": 4018, + "src": "7569:17:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4332, + "name": "rawArtifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4281, + "src": "7612:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_memory_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory" + } + }, + "id": 4333, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7624:8:5", + "memberName": "receipts", + "nodeType": "MemberAccess", + "referencedDeclaration": 4041, + "src": "7612:20:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory" + } + ], + "id": 4331, + "name": "rawToConvertedReceipts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4781, + "src": "7589:22:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)" + } + }, + "id": 4334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7589:44:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory[] memory" + } + }, + "src": "7569:64:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory[] memory" + } + }, + "id": 4336, + "nodeType": "ExpressionStatement", + "src": "7569:64:5" + }, + { + "expression": { + "id": 4344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4337, + "name": "artifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "7643:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory" + } + }, + "id": 4339, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7652:12:5", + "memberName": "transactions", + "nodeType": "MemberAccess", + "referencedDeclaration": 4024, + "src": "7643:21:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4341, + "name": "rawArtifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4281, + "src": "7692:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4052_memory_ptr", + "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory" + } + }, + "id": 4342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7704:12:5", + "memberName": "transactions", + "nodeType": "MemberAccess", + "referencedDeclaration": 4051, + "src": "7692:24:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory" + } + ], + "id": 4340, + "name": "rawToConvertedEIPTx1559s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4398, + "src": "7667:24:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)" + } + }, + "id": 4343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7667:50:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory" + } + }, + "src": "7643:74:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory" + } + }, + "id": 4345, + "nodeType": "ExpressionStatement", + "src": "7643:74:5" + }, + { + "expression": { + "id": 4346, + "name": "artifact", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "7734:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory" + } + }, + "functionReturnParameters": 4264, + "id": 4347, + "nodeType": "Return", + "src": "7727:15:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readEIP1559ScriptArtifact", + "nameLocation": "6915:25:5", + "parameters": { + "id": 4260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4259, + "mutability": "mutable", + "name": "path", + "nameLocation": "6955:4:5", + "nodeType": "VariableDeclaration", + "scope": 4349, + "src": "6941:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4258, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6941:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6940:20:5" + }, + "returnParameters": { + "id": 4264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4263, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4349, + "src": "7024:28:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_memory_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact" + }, + "typeName": { + "id": 4262, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4261, + "name": "EIP1559ScriptArtifact", + "nameLocations": [ + "7024:21:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4029, + "src": "7024:21:5" + }, + "referencedDeclaration": 4029, + "src": "7024:21:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4029_storage_ptr", + "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact" + } + }, + "visibility": "internal" + } + ], + "src": "7023:30:5" + }, + "scope": 5365, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4398, + "nodeType": "FunctionDefinition", + "src": "7755:312:5", + "nodes": [], + "body": { + "id": 4397, + "nodeType": "Block", + "src": "7864:203:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4364 + ], + "declarations": [ + { + "constant": false, + "id": 4364, + "mutability": "mutable", + "name": "txs", + "nameLocation": "7890:3:5", + "nodeType": "VariableDeclaration", + "scope": 4397, + "src": "7874:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559[]" + }, + "typeName": { + "baseType": { + "id": 4362, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4361, + "name": "Tx1559", + "nameLocations": [ + "7874:6:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3873, + "src": "7874:6:5" + }, + "referencedDeclaration": 3873, + "src": "7874:6:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + } + }, + "id": 4363, + "nodeType": "ArrayTypeName", + "src": "7874:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559[]" + } + }, + "visibility": "internal" + } + ], + "id": 4372, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 4369, + "name": "rawTxs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4353, + "src": "7909:6:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory" + } + }, + "id": 4370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7916:6:5", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7909:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "7896:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 4366, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4365, + "name": "Tx1559", + "nameLocations": [ + "7900:6:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3873, + "src": "7900:6:5" + }, + "referencedDeclaration": 3873, + "src": "7900:6:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + } + }, + "id": 4367, + "nodeType": "ArrayTypeName", + "src": "7900:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559[]" + } + } + }, + "id": 4371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7896:27:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7874:49:5" + }, + { + "body": { + "id": 4393, + "nodeType": "Block", + "src": "7973:68:5", + "statements": [ + { + "expression": { + "id": 4391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4383, + "name": "txs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4364, + "src": "7987:3:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory" + } + }, + "id": 4385, + "indexExpression": { + "id": 4384, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "7991:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7987:6:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 4387, + "name": "rawTxs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4353, + "src": "8020:6:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory" + } + }, + "id": 4389, + "indexExpression": { + "id": 4388, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "8027:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8020:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + ], + "id": 4386, + "name": "rawToConvertedEIPTx1559", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4458, + "src": "7996:23:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_RawTx1559_$3837_memory_ptr_$returns$_t_struct$_Tx1559_$3873_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)" + } + }, + "id": 4390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7996:34:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "src": "7987:43:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "id": 4392, + "nodeType": "ExpressionStatement", + "src": "7987:43:5" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4376, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "7949:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 4377, + "name": "rawTxs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4353, + "src": "7953:6:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory" + } + }, + "id": 4378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7960:6:5", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7953:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7949:17:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4394, + "initializationExpression": { + "assignments": [ + 4374 + ], + "declarations": [ + { + "constant": false, + "id": 4374, + "mutability": "mutable", + "name": "i", + "nameLocation": "7946:1:5", + "nodeType": "VariableDeclaration", + "scope": 4394, + "src": "7938:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7938:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4375, + "nodeType": "VariableDeclarationStatement", + "src": "7938:9:5" + }, + "loopExpression": { + "expression": { + "id": 4381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7968:3:5", + "subExpression": { + "id": 4380, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4374, + "src": "7968:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4382, + "nodeType": "ExpressionStatement", + "src": "7968:3:5" + }, + "nodeType": "ForStatement", + "src": "7933:108:5" + }, + { + "expression": { + "id": 4395, + "name": "txs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4364, + "src": "8057:3:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory" + } + }, + "functionReturnParameters": 4359, + "id": 4396, + "nodeType": "Return", + "src": "8050:10:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rawToConvertedEIPTx1559s", + "nameLocation": "7764:24:5", + "parameters": { + "id": 4354, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4353, + "mutability": "mutable", + "name": "rawTxs", + "nameLocation": "7808:6:5", + "nodeType": "VariableDeclaration", + "scope": 4398, + "src": "7789:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559[]" + }, + "typeName": { + "baseType": { + "id": 4351, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4350, + "name": "RawTx1559", + "nameLocations": [ + "7789:9:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3837, + "src": "7789:9:5" + }, + "referencedDeclaration": 3837, + "src": "7789:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559" + } + }, + "id": 4352, + "nodeType": "ArrayTypeName", + "src": "7789:11:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559[]" + } + }, + "visibility": "internal" + } + ], + "src": "7788:27:5" + }, + "returnParameters": { + "id": 4359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4358, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4398, + "src": "7847:15:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559[]" + }, + "typeName": { + "baseType": { + "id": 4356, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4355, + "name": "Tx1559", + "nameLocations": [ + "7847:6:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3873, + "src": "7847:6:5" + }, + "referencedDeclaration": 3873, + "src": "7847:6:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + } + }, + "id": 4357, + "nodeType": "ArrayTypeName", + "src": "7847:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559[]" + } + }, + "visibility": "internal" + } + ], + "src": "7846:17:5" + }, + "scope": 5365, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4458, + "nodeType": "FunctionDefinition", + "src": "8073:488:5", + "nodes": [], + "body": { + "id": 4457, + "nodeType": "Block", + "src": "8176:385:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4409 + ], + "declarations": [ + { + "constant": false, + "id": 4409, + "mutability": "mutable", + "name": "transaction", + "nameLocation": "8200:11:5", + "nodeType": "VariableDeclaration", + "scope": 4457, + "src": "8186:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + }, + "typeName": { + "id": 4408, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4407, + "name": "Tx1559", + "nameLocations": [ + "8186:6:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3873, + "src": "8186:6:5" + }, + "referencedDeclaration": 3873, + "src": "8186:6:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + } + }, + "visibility": "internal" + } + ], + "id": 4410, + "nodeType": "VariableDeclarationStatement", + "src": "8186:25:5" + }, + { + "expression": { + "id": 4416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4411, + "name": "transaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4409, + "src": "8221:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "id": 4413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8233:9:5", + "memberName": "arguments", + "nodeType": "MemberAccess", + "referencedDeclaration": 3859, + "src": "8221:21:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4414, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "8245:5:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + }, + "id": 4415, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8251:9:5", + "memberName": "arguments", + "nodeType": "MemberAccess", + "referencedDeclaration": 3823, + "src": "8245:15:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "src": "8221:39:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 4417, + "nodeType": "ExpressionStatement", + "src": "8221:39:5" + }, + { + "expression": { + "id": 4423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4418, + "name": "transaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4409, + "src": "8270:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "id": 4420, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8282:12:5", + "memberName": "contractName", + "nodeType": "MemberAccess", + "referencedDeclaration": 3863, + "src": "8270:24:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4421, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "8297:5:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + }, + "id": 4422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8303:12:5", + "memberName": "contractName", + "nodeType": "MemberAccess", + "referencedDeclaration": 3827, + "src": "8297:18:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "8270:45:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4424, + "nodeType": "ExpressionStatement", + "src": "8270:45:5" + }, + { + "expression": { + "id": 4430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4425, + "name": "transaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4409, + "src": "8325:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "id": 4427, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8337:11:5", + "memberName": "functionSig", + "nodeType": "MemberAccess", + "referencedDeclaration": 3865, + "src": "8325:23:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4428, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "8351:5:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + }, + "id": 4429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8357:11:5", + "memberName": "functionSig", + "nodeType": "MemberAccess", + "referencedDeclaration": 3829, + "src": "8351:17:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "8325:43:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4431, + "nodeType": "ExpressionStatement", + "src": "8325:43:5" + }, + { + "expression": { + "id": 4437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4432, + "name": "transaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4409, + "src": "8378:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "id": 4434, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8390:4:5", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 3867, + "src": "8378:16:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4435, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "8397:5:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + }, + "id": 4436, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8403:4:5", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 3831, + "src": "8397:10:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8378:29:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4438, + "nodeType": "ExpressionStatement", + "src": "8378:29:5" + }, + { + "expression": { + "id": 4446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4439, + "name": "transaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4409, + "src": "8417:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "id": 4441, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8429:8:5", + "memberName": "txDetail", + "nodeType": "MemberAccess", + "referencedDeclaration": 3870, + "src": "8417:20:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4443, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "8468:5:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + }, + "id": 4444, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8474:8:5", + "memberName": "txDetail", + "nodeType": "MemberAccess", + "referencedDeclaration": 3834, + "src": "8468:14:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + ], + "id": 4442, + "name": "rawToConvertedEIP1559Detail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4538, + "src": "8440:27:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_RawTx1559Detail_$3856_memory_ptr_$returns$_t_struct$_Tx1559Detail_$3892_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawTx1559Detail memory) pure returns (struct StdCheatsSafe.Tx1559Detail memory)" + } + }, + "id": 4445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8440:43:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "src": "8417:66:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "id": 4447, + "nodeType": "ExpressionStatement", + "src": "8417:66:5" + }, + { + "expression": { + "id": 4453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4448, + "name": "transaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4409, + "src": "8493:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "id": 4450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8505:6:5", + "memberName": "opcode", + "nodeType": "MemberAccess", + "referencedDeclaration": 3872, + "src": "8493:18:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4451, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "8514:5:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + }, + "id": 4452, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8520:6:5", + "memberName": "opcode", + "nodeType": "MemberAccess", + "referencedDeclaration": 3836, + "src": "8514:12:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "8493:33:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4454, + "nodeType": "ExpressionStatement", + "src": "8493:33:5" + }, + { + "expression": { + "id": 4455, + "name": "transaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4409, + "src": "8543:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "functionReturnParameters": 4406, + "id": 4456, + "nodeType": "Return", + "src": "8536:18:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rawToConvertedEIPTx1559", + "nameLocation": "8082:23:5", + "parameters": { + "id": 4402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4401, + "mutability": "mutable", + "name": "rawTx", + "nameLocation": "8123:5:5", + "nodeType": "VariableDeclaration", + "scope": 4458, + "src": "8106:22:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559" + }, + "typeName": { + "id": 4400, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4399, + "name": "RawTx1559", + "nameLocations": [ + "8106:9:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3837, + "src": "8106:9:5" + }, + "referencedDeclaration": 3837, + "src": "8106:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559" + } + }, + "visibility": "internal" + } + ], + "src": "8105:24:5" + }, + "returnParameters": { + "id": 4406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4405, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4458, + "src": "8161:13:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + }, + "typeName": { + "id": 4404, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4403, + "name": "Tx1559", + "nameLocations": [ + "8161:6:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3873, + "src": "8161:6:5" + }, + "referencedDeclaration": 3873, + "src": "8161:6:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + } + }, + "visibility": "internal" + } + ], + "src": "8160:15:5" + }, + "scope": 5365, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4538, + "nodeType": "FunctionDefinition", + "src": "8567:619:5", + "nodes": [], + "body": { + "id": 4537, + "nodeType": "Block", + "src": "8726:460:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4469 + ], + "declarations": [ + { + "constant": false, + "id": 4469, + "mutability": "mutable", + "name": "txDetail", + "nameLocation": "8756:8:5", + "nodeType": "VariableDeclaration", + "scope": 4537, + "src": "8736:28:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail" + }, + "typeName": { + "id": 4468, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4467, + "name": "Tx1559Detail", + "nameLocations": [ + "8736:12:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3892, + "src": "8736:12:5" + }, + "referencedDeclaration": 3892, + "src": "8736:12:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail" + } + }, + "visibility": "internal" + } + ], + "id": 4470, + "nodeType": "VariableDeclarationStatement", + "src": "8736:28:5" + }, + { + "expression": { + "id": 4476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4471, + "name": "txDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "8774:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "id": 4473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8783:4:5", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 3879, + "src": "8774:13:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4474, + "name": "rawDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "8790:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + }, + "id": 4475, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8800:4:5", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 3843, + "src": "8790:14:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "8774:30:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4477, + "nodeType": "ExpressionStatement", + "src": "8774:30:5" + }, + { + "expression": { + "id": 4483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4478, + "name": "txDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "8814:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "id": 4480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8823:4:5", + "memberName": "from", + "nodeType": "MemberAccess", + "referencedDeclaration": 3881, + "src": "8814:13:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4481, + "name": "rawDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "8830:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + }, + "id": 4482, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8840:4:5", + "memberName": "from", + "nodeType": "MemberAccess", + "referencedDeclaration": 3845, + "src": "8830:14:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8814:30:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4484, + "nodeType": "ExpressionStatement", + "src": "8814:30:5" + }, + { + "expression": { + "id": 4490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4485, + "name": "txDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "8854:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "id": 4487, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8863:2:5", + "memberName": "to", + "nodeType": "MemberAccess", + "referencedDeclaration": 3887, + "src": "8854:11:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4488, + "name": "rawDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "8868:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + }, + "id": 4489, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8878:2:5", + "memberName": "to", + "nodeType": "MemberAccess", + "referencedDeclaration": 3851, + "src": "8868:12:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8854:26:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4491, + "nodeType": "ExpressionStatement", + "src": "8854:26:5" + }, + { + "expression": { + "id": 4499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4492, + "name": "txDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "8890:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "id": 4494, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8899:5:5", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 3885, + "src": "8890:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4496, + "name": "rawDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "8920:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + }, + "id": 4497, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8930:5:5", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 3849, + "src": "8920:15:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4495, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "8907:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8907:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8890:46:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4500, + "nodeType": "ExpressionStatement", + "src": "8890:46:5" + }, + { + "expression": { + "id": 4508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4501, + "name": "txDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "8946:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "id": 4503, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8955:6:5", + "memberName": "txType", + "nodeType": "MemberAccess", + "referencedDeclaration": 3889, + "src": "8946:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4505, + "name": "rawDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "8977:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + }, + "id": 4506, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8987:6:5", + "memberName": "txType", + "nodeType": "MemberAccess", + "referencedDeclaration": 3853, + "src": "8977:16:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4504, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "8964:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8964:30:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8946:48:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4509, + "nodeType": "ExpressionStatement", + "src": "8946:48:5" + }, + { + "expression": { + "id": 4517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4510, + "name": "txDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "9004:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "id": 4512, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "9013:5:5", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3891, + "src": "9004:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4514, + "name": "rawDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "9034:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + }, + "id": 4515, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9044:5:5", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 3855, + "src": "9034:15:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4513, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "9021:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9021:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9004:46:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4518, + "nodeType": "ExpressionStatement", + "src": "9004:46:5" + }, + { + "expression": { + "id": 4526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4519, + "name": "txDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "9060:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "id": 4521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "9069:3:5", + "memberName": "gas", + "nodeType": "MemberAccess", + "referencedDeclaration": 3883, + "src": "9060:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4523, + "name": "rawDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "9088:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + }, + "id": 4524, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9098:3:5", + "memberName": "gas", + "nodeType": "MemberAccess", + "referencedDeclaration": 3847, + "src": "9088:13:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4522, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "9075:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9075:27:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9060:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4527, + "nodeType": "ExpressionStatement", + "src": "9060:42:5" + }, + { + "expression": { + "id": 4533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4528, + "name": "txDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "9112:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "id": 4530, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "9121:10:5", + "memberName": "accessList", + "nodeType": "MemberAccess", + "referencedDeclaration": 3877, + "src": "9112:19:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AccessList_$3948_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.AccessList memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4531, + "name": "rawDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4461, + "src": "9134:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail memory" + } + }, + "id": 4532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9144:10:5", + "memberName": "accessList", + "nodeType": "MemberAccess", + "referencedDeclaration": 3841, + "src": "9134:20:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AccessList_$3948_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.AccessList memory[] memory" + } + }, + "src": "9112:42:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AccessList_$3948_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.AccessList memory[] memory" + } + }, + "id": 4534, + "nodeType": "ExpressionStatement", + "src": "9112:42:5" + }, + { + "expression": { + "id": 4535, + "name": "txDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "9171:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail memory" + } + }, + "functionReturnParameters": 4466, + "id": 4536, + "nodeType": "Return", + "src": "9164:15:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rawToConvertedEIP1559Detail", + "nameLocation": "8576:27:5", + "parameters": { + "id": 4462, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4461, + "mutability": "mutable", + "name": "rawDetail", + "nameLocation": "8627:9:5", + "nodeType": "VariableDeclaration", + "scope": 4538, + "src": "8604:32:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail" + }, + "typeName": { + "id": 4460, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4459, + "name": "RawTx1559Detail", + "nameLocations": [ + "8604:15:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3856, + "src": "8604:15:5" + }, + "referencedDeclaration": 3856, + "src": "8604:15:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559Detail_$3856_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559Detail" + } + }, + "visibility": "internal" + } + ], + "src": "8603:34:5" + }, + "returnParameters": { + "id": 4466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4465, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4538, + "src": "8701:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail" + }, + "typeName": { + "id": 4464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4463, + "name": "Tx1559Detail", + "nameLocations": [ + "8701:12:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3892, + "src": "8701:12:5" + }, + "referencedDeclaration": 3892, + "src": "8701:12:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559Detail_$3892_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559Detail" + } + }, + "visibility": "internal" + } + ], + "src": "8700:21:5" + }, + "scope": 5365, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4580, + "nodeType": "FunctionDefinition", + "src": "9192:363:5", + "nodes": [], + "body": { + "id": 4579, + "nodeType": "Block", + "src": "9281:274:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4548 + ], + "declarations": [ + { + "constant": false, + "id": 4548, + "mutability": "mutable", + "name": "deployData", + "nameLocation": "9305:10:5", + "nodeType": "VariableDeclaration", + "scope": 4579, + "src": "9291:24:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4547, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9291:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 4553, + "initialValue": { + "arguments": [ + { + "id": 4551, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4540, + "src": "9330:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4549, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "9318:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9321:8:5", + "memberName": "readFile", + "nodeType": "MemberAccess", + "referencedDeclaration": 9369, + "src": "9318:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) view external returns (string memory)" + } + }, + "id": 4552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9318:17:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9291:44:5" + }, + { + "assignments": [ + 4555 + ], + "declarations": [ + { + "constant": false, + "id": 4555, + "mutability": "mutable", + "name": "parsedDeployData", + "nameLocation": "9358:16:5", + "nodeType": "VariableDeclaration", + "scope": 4579, + "src": "9345:29:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4554, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9345:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4561, + "initialValue": { + "arguments": [ + { + "id": 4558, + "name": "deployData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4548, + "src": "9390:10:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2e7472616e73616374696f6e73", + "id": 4559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9402:15:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049", + "typeString": "literal_string \".transactions\"" + }, + "value": ".transactions" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049", + "typeString": "literal_string \".transactions\"" + } + ], + "expression": { + "id": 4556, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "9377:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9380:9:5", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "9377:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 4560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9377:41:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9345:73:5" + }, + { + "assignments": [ + 4566 + ], + "declarations": [ + { + "constant": false, + "id": 4566, + "mutability": "mutable", + "name": "rawTxs", + "nameLocation": "9447:6:5", + "nodeType": "VariableDeclaration", + "scope": 4579, + "src": "9428:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559[]" + }, + "typeName": { + "baseType": { + "id": 4564, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4563, + "name": "RawTx1559", + "nameLocations": [ + "9428:9:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3837, + "src": "9428:9:5" + }, + "referencedDeclaration": 3837, + "src": "9428:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559" + } + }, + "id": 4565, + "nodeType": "ArrayTypeName", + "src": "9428:11:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559[]" + } + }, + "visibility": "internal" + } + ], + "id": 4574, + "initialValue": { + "arguments": [ + { + "id": 4569, + "name": "parsedDeployData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4555, + "src": "9467:16:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 4570, + "name": "RawTx1559", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3837, + "src": "9486:9:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_RawTx1559_$3837_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)" + } + }, + "id": 4571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9486:11:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawTx1559 memory[] memory)" + } + } + ], + "id": 4572, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9485:13:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawTx1559 memory[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawTx1559 memory[] memory)" + } + ], + "expression": { + "id": 4567, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9456:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9460:6:5", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "9456:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 4573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9456:43:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9428:71:5" + }, + { + "expression": { + "arguments": [ + { + "id": 4576, + "name": "rawTxs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4566, + "src": "9541:6:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory" + } + ], + "id": 4575, + "name": "rawToConvertedEIPTx1559s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4398, + "src": "9516:24:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$3837_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)" + } + }, + "id": 4577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9516:32:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory" + } + }, + "functionReturnParameters": 4546, + "id": 4578, + "nodeType": "Return", + "src": "9509:39:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readTx1559s", + "nameLocation": "9201:11:5", + "parameters": { + "id": 4541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4540, + "mutability": "mutable", + "name": "path", + "nameLocation": "9227:4:5", + "nodeType": "VariableDeclaration", + "scope": 4580, + "src": "9213:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4539, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9213:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9212:20:5" + }, + "returnParameters": { + "id": 4546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4545, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4580, + "src": "9264:15:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559[]" + }, + "typeName": { + "baseType": { + "id": 4543, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4542, + "name": "Tx1559", + "nameLocations": [ + "9264:6:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3873, + "src": "9264:6:5" + }, + "referencedDeclaration": 3873, + "src": "9264:6:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + } + }, + "id": 4544, + "nodeType": "ArrayTypeName", + "src": "9264:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Tx1559_$3873_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559[]" + } + }, + "visibility": "internal" + } + ], + "src": "9263:17:5" + }, + "scope": 5365, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4635, + "nodeType": "FunctionDefinition", + "src": "9561:453:5", + "nodes": [], + "body": { + "id": 4634, + "nodeType": "Block", + "src": "9662:352:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4591 + ], + "declarations": [ + { + "constant": false, + "id": 4591, + "mutability": "mutable", + "name": "deployData", + "nameLocation": "9686:10:5", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "9672:24:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4590, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9672:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 4596, + "initialValue": { + "arguments": [ + { + "id": 4594, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4582, + "src": "9711:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4592, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "9699:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9702:8:5", + "memberName": "readFile", + "nodeType": "MemberAccess", + "referencedDeclaration": 9369, + "src": "9699:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) view external returns (string memory)" + } + }, + "id": 4595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9699:17:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9672:44:5" + }, + { + "assignments": [ + 4598 + ], + "declarations": [ + { + "constant": false, + "id": 4598, + "mutability": "mutable", + "name": "key", + "nameLocation": "9740:3:5", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "9726:17:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4597, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9726:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 4611, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "2e7472616e73616374696f6e735b", + "id": 4603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9770:16:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c", + "typeString": "literal_string \".transactions[\"" + }, + "value": ".transactions[" + }, + { + "arguments": [ + { + "id": 4606, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4584, + "src": "9800:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 4604, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "9788:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9791:8:5", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 9462, + "src": "9788:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure external returns (string memory)" + } + }, + "id": 4607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9788:18:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "5d", + "id": 4608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9808:3:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29", + "typeString": "literal_string \"]\"" + }, + "value": "]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c", + "typeString": "literal_string \".transactions[\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29", + "typeString": "literal_string \"]\"" + } + ], + "expression": { + "id": 4601, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9753:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9757:12:5", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "9753:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9753:59:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9746:6:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 4599, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9746:6:5", + "typeDescriptions": {} + } + }, + "id": 4610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9746:67:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9726:87:5" + }, + { + "assignments": [ + 4613 + ], + "declarations": [ + { + "constant": false, + "id": 4613, + "mutability": "mutable", + "name": "parsedDeployData", + "nameLocation": "9836:16:5", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "9823:29:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4612, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9823:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4619, + "initialValue": { + "arguments": [ + { + "id": 4616, + "name": "deployData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4591, + "src": "9868:10:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4617, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4598, + "src": "9880:3:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4614, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "9855:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9858:9:5", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "9855:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 4618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9855:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9823:61:5" + }, + { + "assignments": [ + 4622 + ], + "declarations": [ + { + "constant": false, + "id": 4622, + "mutability": "mutable", + "name": "rawTx", + "nameLocation": "9911:5:5", + "nodeType": "VariableDeclaration", + "scope": 4634, + "src": "9894:22:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559" + }, + "typeName": { + "id": 4621, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4620, + "name": "RawTx1559", + "nameLocations": [ + "9894:9:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3837, + "src": "9894:9:5" + }, + "referencedDeclaration": 3837, + "src": "9894:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_storage_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559" + } + }, + "visibility": "internal" + } + ], + "id": 4629, + "initialValue": { + "arguments": [ + { + "id": 4625, + "name": "parsedDeployData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4613, + "src": "9930:16:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 4626, + "name": "RawTx1559", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3837, + "src": "9949:9:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_RawTx1559_$3837_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)" + } + } + ], + "id": 4627, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9948:11:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_RawTx1559_$3837_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_struct$_RawTx1559_$3837_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)" + } + ], + "expression": { + "id": 4623, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9919:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9923:6:5", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "9919:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 4628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9919:41:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9894:66:5" + }, + { + "expression": { + "arguments": [ + { + "id": 4631, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4622, + "src": "10001:5:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_RawTx1559_$3837_memory_ptr", + "typeString": "struct StdCheatsSafe.RawTx1559 memory" + } + ], + "id": 4630, + "name": "rawToConvertedEIPTx1559", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4458, + "src": "9977:23:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_RawTx1559_$3837_memory_ptr_$returns$_t_struct$_Tx1559_$3873_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)" + } + }, + "id": 4632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9977:30:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559 memory" + } + }, + "functionReturnParameters": 4589, + "id": 4633, + "nodeType": "Return", + "src": "9970:37:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readTx1559", + "nameLocation": "9570:10:5", + "parameters": { + "id": 4585, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4582, + "mutability": "mutable", + "name": "path", + "nameLocation": "9595:4:5", + "nodeType": "VariableDeclaration", + "scope": 4635, + "src": "9581:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4581, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9581:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4584, + "mutability": "mutable", + "name": "index", + "nameLocation": "9609:5:5", + "nodeType": "VariableDeclaration", + "scope": 4635, + "src": "9601:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4583, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9601:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9580:35:5" + }, + "returnParameters": { + "id": 4589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4588, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4635, + "src": "9647:13:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_memory_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + }, + "typeName": { + "id": 4587, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4586, + "name": "Tx1559", + "nameLocations": [ + "9647:6:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3873, + "src": "9647:6:5" + }, + "referencedDeclaration": 3873, + "src": "9647:6:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Tx1559_$3873_storage_ptr", + "typeString": "struct StdCheatsSafe.Tx1559" + } + }, + "visibility": "internal" + } + ], + "src": "9646:15:5" + }, + "scope": 5365, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4677, + "nodeType": "FunctionDefinition", + "src": "10076:371:5", + "nodes": [], + "body": { + "id": 4676, + "nodeType": "Block", + "src": "10167:280:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4645 + ], + "declarations": [ + { + "constant": false, + "id": 4645, + "mutability": "mutable", + "name": "deployData", + "nameLocation": "10191:10:5", + "nodeType": "VariableDeclaration", + "scope": 4676, + "src": "10177:24:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4644, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10177:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 4650, + "initialValue": { + "arguments": [ + { + "id": 4648, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4637, + "src": "10216:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4646, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "10204:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10207:8:5", + "memberName": "readFile", + "nodeType": "MemberAccess", + "referencedDeclaration": 9369, + "src": "10204:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) view external returns (string memory)" + } + }, + "id": 4649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10204:17:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10177:44:5" + }, + { + "assignments": [ + 4652 + ], + "declarations": [ + { + "constant": false, + "id": 4652, + "mutability": "mutable", + "name": "parsedDeployData", + "nameLocation": "10244:16:5", + "nodeType": "VariableDeclaration", + "scope": 4676, + "src": "10231:29:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4651, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10231:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4658, + "initialValue": { + "arguments": [ + { + "id": 4655, + "name": "deployData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4645, + "src": "10276:10:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2e7265636569707473", + "id": 4656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10288:11:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261", + "typeString": "literal_string \".receipts\"" + }, + "value": ".receipts" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261", + "typeString": "literal_string \".receipts\"" + } + ], + "expression": { + "id": 4653, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "10263:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10266:9:5", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "10263:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 4657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10263:37:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10231:69:5" + }, + { + "assignments": [ + 4663 + ], + "declarations": [ + { + "constant": false, + "id": 4663, + "mutability": "mutable", + "name": "rawReceipts", + "nameLocation": "10330:11:5", + "nodeType": "VariableDeclaration", + "scope": 4676, + "src": "10310:31:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt[]" + }, + "typeName": { + "baseType": { + "id": 4661, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4660, + "name": "RawReceipt", + "nameLocations": [ + "10310:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3977, + "src": "10310:10:5" + }, + "referencedDeclaration": 3977, + "src": "10310:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt" + } + }, + "id": 4662, + "nodeType": "ArrayTypeName", + "src": "10310:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt[]" + } + }, + "visibility": "internal" + } + ], + "id": 4671, + "initialValue": { + "arguments": [ + { + "id": 4666, + "name": "parsedDeployData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4652, + "src": "10355:16:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 4667, + "name": "RawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3977, + "src": "10374:10:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_RawReceipt_$3977_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)" + } + }, + "id": 4668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10374:12:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawReceipt memory[] memory)" + } + } + ], + "id": 4669, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10373:14:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawReceipt memory[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawReceipt memory[] memory)" + } + ], + "expression": { + "id": 4664, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10344:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10348:6:5", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "10344:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 4670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10344:44:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10310:78:5" + }, + { + "expression": { + "arguments": [ + { + "id": 4673, + "name": "rawReceipts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4663, + "src": "10428:11:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory" + } + ], + "id": 4672, + "name": "rawToConvertedReceipts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4781, + "src": "10405:22:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)" + } + }, + "id": 4674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10405:35:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory[] memory" + } + }, + "functionReturnParameters": 4643, + "id": 4675, + "nodeType": "Return", + "src": "10398:42:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readReceipts", + "nameLocation": "10085:12:5", + "parameters": { + "id": 4638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4637, + "mutability": "mutable", + "name": "path", + "nameLocation": "10112:4:5", + "nodeType": "VariableDeclaration", + "scope": 4677, + "src": "10098:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4636, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10098:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10097:20:5" + }, + "returnParameters": { + "id": 4643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4642, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4677, + "src": "10149:16:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt[]" + }, + "typeName": { + "baseType": { + "id": 4640, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4639, + "name": "Receipt", + "nameLocations": [ + "10149:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4006, + "src": "10149:7:5" + }, + "referencedDeclaration": 4006, + "src": "10149:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + } + }, + "id": 4641, + "nodeType": "ArrayTypeName", + "src": "10149:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt[]" + } + }, + "visibility": "internal" + } + ], + "src": "10148:18:5" + }, + "scope": 5365, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4732, + "nodeType": "FunctionDefinition", + "src": "10453:461:5", + "nodes": [], + "body": { + "id": 4731, + "nodeType": "Block", + "src": "10556:358:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4688 + ], + "declarations": [ + { + "constant": false, + "id": 4688, + "mutability": "mutable", + "name": "deployData", + "nameLocation": "10580:10:5", + "nodeType": "VariableDeclaration", + "scope": 4731, + "src": "10566:24:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4687, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10566:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 4693, + "initialValue": { + "arguments": [ + { + "id": 4691, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4679, + "src": "10605:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4689, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "10593:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10596:8:5", + "memberName": "readFile", + "nodeType": "MemberAccess", + "referencedDeclaration": 9369, + "src": "10593:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) view external returns (string memory)" + } + }, + "id": 4692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10593:17:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10566:44:5" + }, + { + "assignments": [ + 4695 + ], + "declarations": [ + { + "constant": false, + "id": 4695, + "mutability": "mutable", + "name": "key", + "nameLocation": "10634:3:5", + "nodeType": "VariableDeclaration", + "scope": 4731, + "src": "10620:17:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4694, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10620:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 4708, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "2e72656365697074735b", + "id": 4700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10664:12:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170", + "typeString": "literal_string \".receipts[\"" + }, + "value": ".receipts[" + }, + { + "arguments": [ + { + "id": 4703, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4681, + "src": "10690:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 4701, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "10678:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10681:8:5", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 9462, + "src": "10678:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure external returns (string memory)" + } + }, + "id": 4704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10678:18:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "5d", + "id": 4705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10698:3:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29", + "typeString": "literal_string \"]\"" + }, + "value": "]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170", + "typeString": "literal_string \".receipts[\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29", + "typeString": "literal_string \"]\"" + } + ], + "expression": { + "id": 4698, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10647:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10651:12:5", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "10647:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10647:55:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10640:6:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 4696, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10640:6:5", + "typeDescriptions": {} + } + }, + "id": 4707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10640:63:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10620:83:5" + }, + { + "assignments": [ + 4710 + ], + "declarations": [ + { + "constant": false, + "id": 4710, + "mutability": "mutable", + "name": "parsedDeployData", + "nameLocation": "10726:16:5", + "nodeType": "VariableDeclaration", + "scope": 4731, + "src": "10713:29:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4709, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10713:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4716, + "initialValue": { + "arguments": [ + { + "id": 4713, + "name": "deployData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4688, + "src": "10758:10:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4714, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4695, + "src": "10770:3:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4711, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "10745:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 4712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10748:9:5", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "10745:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 4715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10745:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10713:61:5" + }, + { + "assignments": [ + 4719 + ], + "declarations": [ + { + "constant": false, + "id": 4719, + "mutability": "mutable", + "name": "rawReceipt", + "nameLocation": "10802:10:5", + "nodeType": "VariableDeclaration", + "scope": 4731, + "src": "10784:28:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt" + }, + "typeName": { + "id": 4718, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4717, + "name": "RawReceipt", + "nameLocations": [ + "10784:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3977, + "src": "10784:10:5" + }, + "referencedDeclaration": 3977, + "src": "10784:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt" + } + }, + "visibility": "internal" + } + ], + "id": 4726, + "initialValue": { + "arguments": [ + { + "id": 4722, + "name": "parsedDeployData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4710, + "src": "10826:16:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 4723, + "name": "RawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3977, + "src": "10845:10:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_RawReceipt_$3977_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)" + } + } + ], + "id": 4724, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10844:12:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_RawReceipt_$3977_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_struct$_RawReceipt_$3977_storage_ptr_$", + "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)" + } + ], + "expression": { + "id": 4720, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10815:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10819:6:5", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "10815:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 4725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10815:42:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10784:73:5" + }, + { + "expression": { + "arguments": [ + { + "id": 4728, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4719, + "src": "10896:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + ], + "id": 4727, + "name": "rawToConvertedReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4902, + "src": "10874:21:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_RawReceipt_$3977_memory_ptr_$returns$_t_struct$_Receipt_$4006_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)" + } + }, + "id": 4729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10874:33:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "functionReturnParameters": 4686, + "id": 4730, + "nodeType": "Return", + "src": "10867:40:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readReceipt", + "nameLocation": "10462:11:5", + "parameters": { + "id": 4682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4679, + "mutability": "mutable", + "name": "path", + "nameLocation": "10488:4:5", + "nodeType": "VariableDeclaration", + "scope": 4732, + "src": "10474:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4678, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10474:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4681, + "mutability": "mutable", + "name": "index", + "nameLocation": "10502:5:5", + "nodeType": "VariableDeclaration", + "scope": 4732, + "src": "10494:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4680, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10494:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10473:35:5" + }, + "returnParameters": { + "id": 4686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4685, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4732, + "src": "10540:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + }, + "typeName": { + "id": 4684, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4683, + "name": "Receipt", + "nameLocations": [ + "10540:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4006, + "src": "10540:7:5" + }, + "referencedDeclaration": 4006, + "src": "10540:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + } + }, + "visibility": "internal" + } + ], + "src": "10539:16:5" + }, + "scope": 5365, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4781, + "nodeType": "FunctionDefinition", + "src": "10920:347:5", + "nodes": [], + "body": { + "id": 4780, + "nodeType": "Block", + "src": "11034:233:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4747 + ], + "declarations": [ + { + "constant": false, + "id": 4747, + "mutability": "mutable", + "name": "receipts", + "nameLocation": "11061:8:5", + "nodeType": "VariableDeclaration", + "scope": 4780, + "src": "11044:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt[]" + }, + "typeName": { + "baseType": { + "id": 4745, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4744, + "name": "Receipt", + "nameLocations": [ + "11044:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4006, + "src": "11044:7:5" + }, + "referencedDeclaration": 4006, + "src": "11044:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + } + }, + "id": 4746, + "nodeType": "ArrayTypeName", + "src": "11044:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt[]" + } + }, + "visibility": "internal" + } + ], + "id": 4755, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 4752, + "name": "rawReceipts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4736, + "src": "11086:11:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory" + } + }, + "id": 4753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11098:6:5", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11086:18:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "11072:13:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct StdCheatsSafe.Receipt memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 4749, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4748, + "name": "Receipt", + "nameLocations": [ + "11076:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4006, + "src": "11076:7:5" + }, + "referencedDeclaration": 4006, + "src": "11076:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + } + }, + "id": 4750, + "nodeType": "ArrayTypeName", + "src": "11076:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt[]" + } + } + }, + "id": 4754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11072:33:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11044:61:5" + }, + { + "body": { + "id": 4776, + "nodeType": "Block", + "src": "11160:76:5", + "statements": [ + { + "expression": { + "id": 4774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4766, + "name": "receipts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4747, + "src": "11174:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory[] memory" + } + }, + "id": 4768, + "indexExpression": { + "id": 4767, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4757, + "src": "11183:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11174:11:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 4770, + "name": "rawReceipts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4736, + "src": "11210:11:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory" + } + }, + "id": 4772, + "indexExpression": { + "id": 4771, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4757, + "src": "11222:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11210:14:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + ], + "id": 4769, + "name": "rawToConvertedReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4902, + "src": "11188:21:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_RawReceipt_$3977_memory_ptr_$returns$_t_struct$_Receipt_$4006_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)" + } + }, + "id": 4773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11188:37:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "src": "11174:51:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4775, + "nodeType": "ExpressionStatement", + "src": "11174:51:5" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4759, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4757, + "src": "11131:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 4760, + "name": "rawReceipts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4736, + "src": "11135:11:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory" + } + }, + "id": 4761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11147:6:5", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11135:18:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11131:22:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4777, + "initializationExpression": { + "assignments": [ + 4757 + ], + "declarations": [ + { + "constant": false, + "id": 4757, + "mutability": "mutable", + "name": "i", + "nameLocation": "11128:1:5", + "nodeType": "VariableDeclaration", + "scope": 4777, + "src": "11120:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4756, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11120:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4758, + "nodeType": "VariableDeclarationStatement", + "src": "11120:9:5" + }, + "loopExpression": { + "expression": { + "id": 4764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11155:3:5", + "subExpression": { + "id": 4763, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4757, + "src": "11155:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4765, + "nodeType": "ExpressionStatement", + "src": "11155:3:5" + }, + "nodeType": "ForStatement", + "src": "11115:121:5" + }, + { + "expression": { + "id": 4778, + "name": "receipts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4747, + "src": "11252:8:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory[] memory" + } + }, + "functionReturnParameters": 4742, + "id": 4779, + "nodeType": "Return", + "src": "11245:15:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rawToConvertedReceipts", + "nameLocation": "10929:22:5", + "parameters": { + "id": 4737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4736, + "mutability": "mutable", + "name": "rawReceipts", + "nameLocation": "10972:11:5", + "nodeType": "VariableDeclaration", + "scope": 4781, + "src": "10952:31:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt[]" + }, + "typeName": { + "baseType": { + "id": 4734, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4733, + "name": "RawReceipt", + "nameLocations": [ + "10952:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3977, + "src": "10952:10:5" + }, + "referencedDeclaration": 3977, + "src": "10952:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt" + } + }, + "id": 4735, + "nodeType": "ArrayTypeName", + "src": "10952:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceipt_$3977_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt[]" + } + }, + "visibility": "internal" + } + ], + "src": "10951:33:5" + }, + "returnParameters": { + "id": 4742, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4741, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4781, + "src": "11016:16:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt[]" + }, + "typeName": { + "baseType": { + "id": 4739, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4738, + "name": "Receipt", + "nameLocations": [ + "11016:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4006, + "src": "11016:7:5" + }, + "referencedDeclaration": 4006, + "src": "11016:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + } + }, + "id": 4740, + "nodeType": "ArrayTypeName", + "src": "11016:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Receipt_$4006_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt[]" + } + }, + "visibility": "internal" + } + ], + "src": "11015:18:5" + }, + "scope": 5365, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 4902, + "nodeType": "FunctionDefinition", + "src": "11273:962:5", + "nodes": [], + "body": { + "id": 4901, + "nodeType": "Block", + "src": "11381:854:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4792 + ], + "declarations": [ + { + "constant": false, + "id": 4792, + "mutability": "mutable", + "name": "receipt", + "nameLocation": "11406:7:5", + "nodeType": "VariableDeclaration", + "scope": 4901, + "src": "11391:22:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + }, + "typeName": { + "id": 4791, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4790, + "name": "Receipt", + "nameLocations": [ + "11391:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4006, + "src": "11391:7:5" + }, + "referencedDeclaration": 4006, + "src": "11391:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + } + }, + "visibility": "internal" + } + ], + "id": 4793, + "nodeType": "VariableDeclarationStatement", + "src": "11391:22:5" + }, + { + "expression": { + "id": 4799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4794, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11423:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4796, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11431:9:5", + "memberName": "blockHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 3979, + "src": "11423:17:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4797, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "11443:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4798, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11454:9:5", + "memberName": "blockHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 3950, + "src": "11443:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11423:40:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4800, + "nodeType": "ExpressionStatement", + "src": "11423:40:5" + }, + { + "expression": { + "id": 4806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4801, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11473:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11481:2:5", + "memberName": "to", + "nodeType": "MemberAccess", + "referencedDeclaration": 4001, + "src": "11473:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4804, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "11486:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4805, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11497:2:5", + "memberName": "to", + "nodeType": "MemberAccess", + "referencedDeclaration": 3972, + "src": "11486:13:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11473:26:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4807, + "nodeType": "ExpressionStatement", + "src": "11473:26:5" + }, + { + "expression": { + "id": 4813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4808, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11509:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11517:4:5", + "memberName": "from", + "nodeType": "MemberAccess", + "referencedDeclaration": 3989, + "src": "11509:12:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4811, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "11524:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4812, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11535:4:5", + "memberName": "from", + "nodeType": "MemberAccess", + "referencedDeclaration": 3960, + "src": "11524:15:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11509:30:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4814, + "nodeType": "ExpressionStatement", + "src": "11509:30:5" + }, + { + "expression": { + "id": 4820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4815, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11549:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4817, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11557:15:5", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3983, + "src": "11549:23:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4818, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "11575:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4819, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11586:15:5", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3954, + "src": "11575:26:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11549:52:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4821, + "nodeType": "ExpressionStatement", + "src": "11549:52:5" + }, + { + "expression": { + "id": 4829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4822, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11611:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4824, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11619:17:5", + "memberName": "effectiveGasPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 3987, + "src": "11611:25:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4826, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "11652:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4827, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11663:17:5", + "memberName": "effectiveGasPrice", + "nodeType": "MemberAccess", + "referencedDeclaration": 3958, + "src": "11652:28:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4825, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "11639:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11639:42:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11611:70:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4830, + "nodeType": "ExpressionStatement", + "src": "11611:70:5" + }, + { + "expression": { + "id": 4838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4831, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11691:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11699:17:5", + "memberName": "cumulativeGasUsed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3985, + "src": "11691:25:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4835, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "11732:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4836, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11743:17:5", + "memberName": "cumulativeGasUsed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3956, + "src": "11732:28:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4834, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "11719:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11719:42:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11691:70:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4839, + "nodeType": "ExpressionStatement", + "src": "11691:70:5" + }, + { + "expression": { + "id": 4847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4840, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11771:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11779:7:5", + "memberName": "gasUsed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3991, + "src": "11771:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4844, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "11802:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4845, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11813:7:5", + "memberName": "gasUsed", + "nodeType": "MemberAccess", + "referencedDeclaration": 3962, + "src": "11802:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4843, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "11789:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11789:32:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11771:50:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4848, + "nodeType": "ExpressionStatement", + "src": "11771:50:5" + }, + { + "expression": { + "id": 4856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4849, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11831:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4851, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11839:6:5", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3999, + "src": "11831:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4853, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "11861:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4854, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11872:6:5", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 3970, + "src": "11861:17:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4852, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "11848:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11848:31:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11831:48:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4857, + "nodeType": "ExpressionStatement", + "src": "11831:48:5" + }, + { + "expression": { + "id": 4865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4858, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11889:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4860, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11897:16:5", + "memberName": "transactionIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 4005, + "src": "11889:24:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4862, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "11929:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4863, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11940:16:5", + "memberName": "transactionIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 3976, + "src": "11929:27:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4861, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "11916:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11916:41:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11889:68:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4866, + "nodeType": "ExpressionStatement", + "src": "11889:68:5" + }, + { + "expression": { + "id": 4874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4867, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "11967:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11975:11:5", + "memberName": "blockNumber", + "nodeType": "MemberAccess", + "referencedDeclaration": 3981, + "src": "11967:19:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4871, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "12002:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4872, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12013:11:5", + "memberName": "blockNumber", + "nodeType": "MemberAccess", + "referencedDeclaration": 3952, + "src": "12002:22:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4870, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "11989:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11989:36:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11967:58:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4875, + "nodeType": "ExpressionStatement", + "src": "11967:58:5" + }, + { + "expression": { + "id": 4883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4876, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "12035:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4878, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12043:4:5", + "memberName": "logs", + "nodeType": "MemberAccess", + "referencedDeclaration": 3995, + "src": "12035:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 4880, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "12076:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4881, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12087:4:5", + "memberName": "logs", + "nodeType": "MemberAccess", + "referencedDeclaration": 3966, + "src": "12076:15:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + ], + "id": 4879, + "name": "rawToConvertedReceiptLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5039, + "src": "12050:25:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (struct StdCheatsSafe.RawReceiptLog memory[] memory) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)" + } + }, + "id": 4882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12050:42:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "src": "12035:57:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 4884, + "nodeType": "ExpressionStatement", + "src": "12035:57:5" + }, + { + "expression": { + "id": 4890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4885, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "12102:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4887, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12110:9:5", + "memberName": "logsBloom", + "nodeType": "MemberAccess", + "referencedDeclaration": 3997, + "src": "12102:17:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4888, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "12122:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4889, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12133:9:5", + "memberName": "logsBloom", + "nodeType": "MemberAccess", + "referencedDeclaration": 3968, + "src": "12122:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "12102:40:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4891, + "nodeType": "ExpressionStatement", + "src": "12102:40:5" + }, + { + "expression": { + "id": 4897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 4892, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "12152:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "id": 4894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12160:15:5", + "memberName": "transactionHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 4003, + "src": "12152:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4895, + "name": "rawReceipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "12178:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt memory" + } + }, + "id": 4896, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12189:15:5", + "memberName": "transactionHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 3974, + "src": "12178:26:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12152:52:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4898, + "nodeType": "ExpressionStatement", + "src": "12152:52:5" + }, + { + "expression": { + "id": 4899, + "name": "receipt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4792, + "src": "12221:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt memory" + } + }, + "functionReturnParameters": 4789, + "id": 4900, + "nodeType": "Return", + "src": "12214:14:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rawToConvertedReceipt", + "nameLocation": "11282:21:5", + "parameters": { + "id": 4785, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4784, + "mutability": "mutable", + "name": "rawReceipt", + "nameLocation": "11322:10:5", + "nodeType": "VariableDeclaration", + "scope": 4902, + "src": "11304:28:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt" + }, + "typeName": { + "id": 4783, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4782, + "name": "RawReceipt", + "nameLocations": [ + "11304:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3977, + "src": "11304:10:5" + }, + "referencedDeclaration": 3977, + "src": "11304:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceipt_$3977_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceipt" + } + }, + "visibility": "internal" + } + ], + "src": "11303:30:5" + }, + "returnParameters": { + "id": 4789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4788, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4902, + "src": "11365:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_memory_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + }, + "typeName": { + "id": 4787, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4786, + "name": "Receipt", + "nameLocations": [ + "11365:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4006, + "src": "11365:7:5" + }, + "referencedDeclaration": 4006, + "src": "11365:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Receipt_$4006_storage_ptr", + "typeString": "struct StdCheatsSafe.Receipt" + } + }, + "visibility": "internal" + } + ], + "src": "11364:16:5" + }, + "scope": 5365, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5039, + "nodeType": "FunctionDefinition", + "src": "12241:873:5", + "nodes": [], + "body": { + "id": 5038, + "nodeType": "Block", + "src": "12396:718:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 4917 + ], + "declarations": [ + { + "constant": false, + "id": 4917, + "mutability": "mutable", + "name": "logs", + "nameLocation": "12426:4:5", + "nodeType": "VariableDeclaration", + "scope": 5038, + "src": "12406:24:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog[]" + }, + "typeName": { + "baseType": { + "id": 4915, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4914, + "name": "ReceiptLog", + "nameLocations": [ + "12406:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4094, + "src": "12406:10:5" + }, + "referencedDeclaration": 4094, + "src": "12406:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_storage_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog" + } + }, + "id": 4916, + "nodeType": "ArrayTypeName", + "src": "12406:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog[]" + } + }, + "visibility": "internal" + } + ], + "id": 4925, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 4922, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12450:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 4923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12458:6:5", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12450:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "12433:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 4919, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4918, + "name": "ReceiptLog", + "nameLocations": [ + "12437:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4094, + "src": "12437:10:5" + }, + "referencedDeclaration": 4094, + "src": "12437:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_storage_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog" + } + }, + "id": 4920, + "nodeType": "ArrayTypeName", + "src": "12437:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog[]" + } + } + }, + "id": 4924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12433:32:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12406:59:5" + }, + { + "body": { + "id": 5034, + "nodeType": "Block", + "src": "12516:571:5", + "statements": [ + { + "expression": { + "id": 4944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 4936, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "12530:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 4938, + "indexExpression": { + "id": 4937, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12535:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12530:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory" + } + }, + "id": 4939, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12538:10:5", + "memberName": "logAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 4076, + "src": "12530:18:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "baseExpression": { + "id": 4940, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12551:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 4942, + "indexExpression": { + "id": 4941, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12559:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12551:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory" + } + }, + "id": 4943, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12562:10:5", + "memberName": "logAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 4054, + "src": "12551:21:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12530:42:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4945, + "nodeType": "ExpressionStatement", + "src": "12530:42:5" + }, + { + "expression": { + "id": 4954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 4946, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "12586:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 4948, + "indexExpression": { + "id": 4947, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12591:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12586:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory" + } + }, + "id": 4949, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12594:9:5", + "memberName": "blockHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 4078, + "src": "12586:17:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "baseExpression": { + "id": 4950, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12606:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 4952, + "indexExpression": { + "id": 4951, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12614:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12606:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory" + } + }, + "id": 4953, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12617:9:5", + "memberName": "blockHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 4056, + "src": "12606:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12586:40:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4955, + "nodeType": "ExpressionStatement", + "src": "12586:40:5" + }, + { + "expression": { + "id": 4966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 4956, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "12640:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 4958, + "indexExpression": { + "id": 4957, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12645:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12640:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory" + } + }, + "id": 4959, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12648:11:5", + "memberName": "blockNumber", + "nodeType": "MemberAccess", + "referencedDeclaration": 4080, + "src": "12640:19:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 4961, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12675:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 4963, + "indexExpression": { + "id": 4962, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12683:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12675:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory" + } + }, + "id": 4964, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12686:11:5", + "memberName": "blockNumber", + "nodeType": "MemberAccess", + "referencedDeclaration": 4058, + "src": "12675:22:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4960, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "12662:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12662:36:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12640:58:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4967, + "nodeType": "ExpressionStatement", + "src": "12640:58:5" + }, + { + "expression": { + "id": 4976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 4968, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "12712:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 4970, + "indexExpression": { + "id": 4969, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12717:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12712:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory" + } + }, + "id": 4971, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12720:4:5", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 4082, + "src": "12712:12:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "baseExpression": { + "id": 4972, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12727:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 4974, + "indexExpression": { + "id": 4973, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12735:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12727:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory" + } + }, + "id": 4975, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12738:4:5", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 4060, + "src": "12727:15:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "12712:30:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4977, + "nodeType": "ExpressionStatement", + "src": "12712:30:5" + }, + { + "expression": { + "id": 4988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 4978, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "12756:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 4980, + "indexExpression": { + "id": 4979, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12761:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12756:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory" + } + }, + "id": 4981, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12764:8:5", + "memberName": "logIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 4084, + "src": "12756:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 4983, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12788:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 4985, + "indexExpression": { + "id": 4984, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12796:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12788:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory" + } + }, + "id": 4986, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12799:8:5", + "memberName": "logIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 4062, + "src": "12788:19:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4982, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "12775:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 4987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12775:33:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12756:52:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4989, + "nodeType": "ExpressionStatement", + "src": "12756:52:5" + }, + { + "expression": { + "id": 4998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 4990, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "12822:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 4992, + "indexExpression": { + "id": 4991, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12827:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12822:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory" + } + }, + "id": 4993, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12830:6:5", + "memberName": "topics", + "nodeType": "MemberAccess", + "referencedDeclaration": 4087, + "src": "12822:14:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "baseExpression": { + "id": 4994, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12839:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 4996, + "indexExpression": { + "id": 4995, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12847:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12839:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory" + } + }, + "id": 4997, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12850:6:5", + "memberName": "topics", + "nodeType": "MemberAccess", + "referencedDeclaration": 4067, + "src": "12839:17:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "12822:34:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 4999, + "nodeType": "ExpressionStatement", + "src": "12822:34:5" + }, + { + "expression": { + "id": 5010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 5000, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "12870:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 5002, + "indexExpression": { + "id": 5001, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12875:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12870:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory" + } + }, + "id": 5003, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12878:16:5", + "memberName": "transactionIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 4089, + "src": "12870:24:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 5005, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12910:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 5007, + "indexExpression": { + "id": 5006, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12918:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12910:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory" + } + }, + "id": 5008, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12921:16:5", + "memberName": "transactionIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 4071, + "src": "12910:27:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5004, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "12897:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 5009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12897:41:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12870:68:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5011, + "nodeType": "ExpressionStatement", + "src": "12870:68:5" + }, + { + "expression": { + "id": 5022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 5012, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "12952:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 5014, + "indexExpression": { + "id": 5013, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12957:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12952:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory" + } + }, + "id": 5015, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12960:19:5", + "memberName": "transactionLogIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 4091, + "src": "12952:27:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 5017, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12995:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 5019, + "indexExpression": { + "id": 5018, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "13003:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12995:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory" + } + }, + "id": 5020, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13006:19:5", + "memberName": "transactionLogIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 4073, + "src": "12995:30:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5016, + "name": "_bytesToUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "12982:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 5021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12982:44:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12952:74:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5023, + "nodeType": "ExpressionStatement", + "src": "12952:74:5" + }, + { + "expression": { + "id": 5032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 5024, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "13040:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "id": 5026, + "indexExpression": { + "id": 5025, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "13045:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13040:7:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory" + } + }, + "id": 5027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "13048:7:5", + "memberName": "removed", + "nodeType": "MemberAccess", + "referencedDeclaration": 4093, + "src": "13040:15:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "baseExpression": { + "id": 5028, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "13058:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 5030, + "indexExpression": { + "id": 5029, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "13066:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13058:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory" + } + }, + "id": 5031, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13069:7:5", + "memberName": "removed", + "nodeType": "MemberAccess", + "referencedDeclaration": 4064, + "src": "13058:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13040:36:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5033, + "nodeType": "ExpressionStatement", + "src": "13040:36:5" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4929, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12491:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 4930, + "name": "rawLogs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4906, + "src": "12495:7:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory" + } + }, + "id": 4931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12503:6:5", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12495:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12491:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5035, + "initializationExpression": { + "assignments": [ + 4927 + ], + "declarations": [ + { + "constant": false, + "id": 4927, + "mutability": "mutable", + "name": "i", + "nameLocation": "12488:1:5", + "nodeType": "VariableDeclaration", + "scope": 5035, + "src": "12480:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4926, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12480:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4928, + "nodeType": "VariableDeclarationStatement", + "src": "12480:9:5" + }, + "loopExpression": { + "expression": { + "id": 4934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12511:3:5", + "subExpression": { + "id": 4933, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4927, + "src": "12511:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4935, + "nodeType": "ExpressionStatement", + "src": "12511:3:5" + }, + "nodeType": "ForStatement", + "src": "12475:612:5" + }, + { + "expression": { + "id": 5036, + "name": "logs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4917, + "src": "13103:4:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory" + } + }, + "functionReturnParameters": 4912, + "id": 5037, + "nodeType": "Return", + "src": "13096:11:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rawToConvertedReceiptLogs", + "nameLocation": "12250:25:5", + "parameters": { + "id": 4907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4906, + "mutability": "mutable", + "name": "rawLogs", + "nameLocation": "12299:7:5", + "nodeType": "VariableDeclaration", + "scope": 5039, + "src": "12276:30:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog[]" + }, + "typeName": { + "baseType": { + "id": 4904, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4903, + "name": "RawReceiptLog", + "nameLocations": [ + "12276:13:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4074, + "src": "12276:13:5" + }, + "referencedDeclaration": 4074, + "src": "12276:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RawReceiptLog_$4074_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog" + } + }, + "id": 4905, + "nodeType": "ArrayTypeName", + "src": "12276:15:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4074_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.RawReceiptLog[]" + } + }, + "visibility": "internal" + } + ], + "src": "12275:32:5" + }, + "returnParameters": { + "id": 4912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4911, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5039, + "src": "12371:19:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_memory_ptr_$dyn_memory_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog[]" + }, + "typeName": { + "baseType": { + "id": 4909, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4908, + "name": "ReceiptLog", + "nameLocations": [ + "12371:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4094, + "src": "12371:10:5" + }, + "referencedDeclaration": 4094, + "src": "12371:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReceiptLog_$4094_storage_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog" + } + }, + "id": 4910, + "nodeType": "ArrayTypeName", + "src": "12371:12:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4094_storage_$dyn_storage_ptr", + "typeString": "struct StdCheatsSafe.ReceiptLog[]" + } + }, + "visibility": "internal" + } + ], + "src": "12370:21:5" + }, + "scope": 5365, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5071, + "nodeType": "FunctionDefinition", + "src": "13274:416:5", + "nodes": [], + "body": { + "id": 5070, + "nodeType": "Block", + "src": "13373:317:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 5049 + ], + "declarations": [ + { + "constant": false, + "id": 5049, + "mutability": "mutable", + "name": "bytecode", + "nameLocation": "13396:8:5", + "nodeType": "VariableDeclaration", + "scope": 5070, + "src": "13383:21:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5048, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13383:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 5058, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 5054, + "name": "what", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5041, + "src": "13435:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5052, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "13424:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13427:7:5", + "memberName": "getCode", + "nodeType": "MemberAccess", + "referencedDeclaration": 9319, + "src": "13424:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) view external returns (bytes memory)" + } + }, + "id": 5055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13424:16:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5056, + "name": "args", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5043, + "src": "13442:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 5050, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13407:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13411:12:5", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "13407:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 5057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13407:40:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13383:64:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "13509:79:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13523:55:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13538:1:5", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "name": "bytecode", + "nodeType": "YulIdentifier", + "src": "13545:8:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13555:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13541:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13541:19:5" + }, + { + "arguments": [ + { + "name": "bytecode", + "nodeType": "YulIdentifier", + "src": "13568:8:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13562:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "13562:15:5" + } + ], + "functionName": { + "name": "create", + "nodeType": "YulIdentifier", + "src": "13531:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13531:47:5" + }, + "variableNames": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "13523:4:5" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 5046, + "isOffset": false, + "isSlot": false, + "src": "13523:4:5", + "valueSize": 1 + }, + { + "declaration": 5049, + "isOffset": false, + "isSlot": false, + "src": "13545:8:5", + "valueSize": 1 + }, + { + "declaration": 5049, + "isOffset": false, + "isSlot": false, + "src": "13568:8:5", + "valueSize": 1 + } + ], + "id": 5059, + "nodeType": "InlineAssembly", + "src": "13500:88:5" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5061, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5046, + "src": "13606:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5064, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13622:1:5", + "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": 5063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13614:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5062, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13614:7:5", + "typeDescriptions": {} + } + }, + "id": 5065, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13614:10:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13606:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537464436865617473206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e", + "id": 5067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13626:56:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce", + "typeString": "literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\"" + }, + "value": "StdCheats deployCode(string,bytes): Deployment failed." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce", + "typeString": "literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\"" + } + ], + "id": 5060, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "13598:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13598:85:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5069, + "nodeType": "ExpressionStatement", + "src": "13598:85:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployCode", + "nameLocation": "13283:10:5", + "parameters": { + "id": 5044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5041, + "mutability": "mutable", + "name": "what", + "nameLocation": "13308:4:5", + "nodeType": "VariableDeclaration", + "scope": 5071, + "src": "13294:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5040, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13294:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5043, + "mutability": "mutable", + "name": "args", + "nameLocation": "13327:4:5", + "nodeType": "VariableDeclaration", + "scope": 5071, + "src": "13314:17:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5042, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13314:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "13293:39:5" + }, + "returnParameters": { + "id": 5047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5046, + "mutability": "mutable", + "name": "addr", + "nameLocation": "13367:4:5", + "nodeType": "VariableDeclaration", + "scope": 5071, + "src": "13359:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13359:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13358:14:5" + }, + "scope": 5365, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5097, + "nodeType": "FunctionDefinition", + "src": "13696:367:5", + "nodes": [], + "body": { + "id": 5096, + "nodeType": "Block", + "src": "13776:287:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 5079 + ], + "declarations": [ + { + "constant": false, + "id": 5079, + "mutability": "mutable", + "name": "bytecode", + "nameLocation": "13799:8:5", + "nodeType": "VariableDeclaration", + "scope": 5096, + "src": "13786:21:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5078, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13786:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 5084, + "initialValue": { + "arguments": [ + { + "id": 5082, + "name": "what", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5073, + "src": "13821:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5080, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "13810:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13813:7:5", + "memberName": "getCode", + "nodeType": "MemberAccess", + "referencedDeclaration": 9319, + "src": "13810:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) view external returns (bytes memory)" + } + }, + "id": 5083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13810:16:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13786:40:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "13888:79:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13902:55:5", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13917:1:5", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "name": "bytecode", + "nodeType": "YulIdentifier", + "src": "13924:8:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13934:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13920:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "13920:19:5" + }, + { + "arguments": [ + { + "name": "bytecode", + "nodeType": "YulIdentifier", + "src": "13947:8:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13941:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "13941:15:5" + } + ], + "functionName": { + "name": "create", + "nodeType": "YulIdentifier", + "src": "13910:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "13910:47:5" + }, + "variableNames": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "13902:4:5" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 5076, + "isOffset": false, + "isSlot": false, + "src": "13902:4:5", + "valueSize": 1 + }, + { + "declaration": 5079, + "isOffset": false, + "isSlot": false, + "src": "13924:8:5", + "valueSize": 1 + }, + { + "declaration": 5079, + "isOffset": false, + "isSlot": false, + "src": "13947:8:5", + "valueSize": 1 + } + ], + "id": 5085, + "nodeType": "InlineAssembly", + "src": "13879:88:5" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5087, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5076, + "src": "13985:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14001:1:5", + "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": 5089, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13993:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5088, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13993:7:5", + "typeDescriptions": {} + } + }, + "id": 5091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13993:10:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13985:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537464436865617473206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e", + "id": 5093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14005:50:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371", + "typeString": "literal_string \"StdCheats deployCode(string): Deployment failed.\"" + }, + "value": "StdCheats deployCode(string): Deployment failed." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371", + "typeString": "literal_string \"StdCheats deployCode(string): Deployment failed.\"" + } + ], + "id": 5086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "13977:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13977:79:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5095, + "nodeType": "ExpressionStatement", + "src": "13977:79:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployCode", + "nameLocation": "13705:10:5", + "parameters": { + "id": 5074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5073, + "mutability": "mutable", + "name": "what", + "nameLocation": "13730:4:5", + "nodeType": "VariableDeclaration", + "scope": 5097, + "src": "13716:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5072, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13716:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13715:20:5" + }, + "returnParameters": { + "id": 5077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5076, + "mutability": "mutable", + "name": "addr", + "nameLocation": "13770:4:5", + "nodeType": "VariableDeclaration", + "scope": 5097, + "src": "13762:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5075, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13762:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13761:14:5" + }, + "scope": 5365, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5132, + "nodeType": "FunctionDefinition", + "src": "14125:439:5", + "nodes": [], + "body": { + "id": 5131, + "nodeType": "Block", + "src": "14237:327:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 5110 + ], + "declarations": [ + { + "constant": false, + "id": 5110, + "mutability": "mutable", + "name": "bytecode", + "nameLocation": "14260:8:5", + "nodeType": "VariableDeclaration", + "scope": 5131, + "src": "14247:21:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5109, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14247:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 5119, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 5115, + "name": "what", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5100, + "src": "14299:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5113, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "14288:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14291:7:5", + "memberName": "getCode", + "nodeType": "MemberAccess", + "referencedDeclaration": 9319, + "src": "14288:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) view external returns (bytes memory)" + } + }, + "id": 5116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14288:16:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5117, + "name": "args", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5102, + "src": "14306:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 5111, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14271:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14275:12:5", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "14271:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 5118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14271:40:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14247:64:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "14373:81:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14387:57:5", + "value": { + "arguments": [ + { + "name": "val", + "nodeType": "YulIdentifier", + "src": "14402:3:5" + }, + { + "arguments": [ + { + "name": "bytecode", + "nodeType": "YulIdentifier", + "src": "14411:8:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14421:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14407:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14407:19:5" + }, + { + "arguments": [ + { + "name": "bytecode", + "nodeType": "YulIdentifier", + "src": "14434:8:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14428:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "14428:15:5" + } + ], + "functionName": { + "name": "create", + "nodeType": "YulIdentifier", + "src": "14395:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "14395:49:5" + }, + "variableNames": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "14387:4:5" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 5107, + "isOffset": false, + "isSlot": false, + "src": "14387:4:5", + "valueSize": 1 + }, + { + "declaration": 5110, + "isOffset": false, + "isSlot": false, + "src": "14411:8:5", + "valueSize": 1 + }, + { + "declaration": 5110, + "isOffset": false, + "isSlot": false, + "src": "14434:8:5", + "valueSize": 1 + }, + { + "declaration": 5104, + "isOffset": false, + "isSlot": false, + "src": "14402:3:5", + "valueSize": 1 + } + ], + "id": 5120, + "nodeType": "InlineAssembly", + "src": "14364:90:5" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5122, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "14472:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14488:1:5", + "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": 5124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14480:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5123, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14480:7:5", + "typeDescriptions": {} + } + }, + "id": 5126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14480:10:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14472:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537464436865617473206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e", + "id": 5128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14492:64:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0", + "typeString": "literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\"" + }, + "value": "StdCheats deployCode(string,bytes,uint256): Deployment failed." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0", + "typeString": "literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\"" + } + ], + "id": 5121, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "14464:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14464:93:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5130, + "nodeType": "ExpressionStatement", + "src": "14464:93:5" + } + ] + }, + "documentation": { + "id": 5098, + "nodeType": "StructuredDocumentation", + "src": "14069:51:5", + "text": "@dev deploy contract with value on construction" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployCode", + "nameLocation": "14134:10:5", + "parameters": { + "id": 5105, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5100, + "mutability": "mutable", + "name": "what", + "nameLocation": "14159:4:5", + "nodeType": "VariableDeclaration", + "scope": 5132, + "src": "14145:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5099, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14145:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5102, + "mutability": "mutable", + "name": "args", + "nameLocation": "14178:4:5", + "nodeType": "VariableDeclaration", + "scope": 5132, + "src": "14165:17:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5101, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14165:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5104, + "mutability": "mutable", + "name": "val", + "nameLocation": "14192:3:5", + "nodeType": "VariableDeclaration", + "scope": 5132, + "src": "14184:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5103, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14184:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14144:52:5" + }, + "returnParameters": { + "id": 5108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5107, + "mutability": "mutable", + "name": "addr", + "nameLocation": "14231:4:5", + "nodeType": "VariableDeclaration", + "scope": 5132, + "src": "14223:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5106, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14223:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14222:14:5" + }, + "scope": 5365, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5160, + "nodeType": "FunctionDefinition", + "src": "14570:390:5", + "nodes": [], + "body": { + "id": 5159, + "nodeType": "Block", + "src": "14663:297:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 5142 + ], + "declarations": [ + { + "constant": false, + "id": 5142, + "mutability": "mutable", + "name": "bytecode", + "nameLocation": "14686:8:5", + "nodeType": "VariableDeclaration", + "scope": 5159, + "src": "14673:21:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5141, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14673:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 5147, + "initialValue": { + "arguments": [ + { + "id": 5145, + "name": "what", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "14708:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5143, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "14697:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14700:7:5", + "memberName": "getCode", + "nodeType": "MemberAccess", + "referencedDeclaration": 9319, + "src": "14697:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) view external returns (bytes memory)" + } + }, + "id": 5146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14697:16:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14673:40:5" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "14775:81:5", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14789:57:5", + "value": { + "arguments": [ + { + "name": "val", + "nodeType": "YulIdentifier", + "src": "14804:3:5" + }, + { + "arguments": [ + { + "name": "bytecode", + "nodeType": "YulIdentifier", + "src": "14813:8:5" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14823:4:5", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14809:3:5" + }, + "nodeType": "YulFunctionCall", + "src": "14809:19:5" + }, + { + "arguments": [ + { + "name": "bytecode", + "nodeType": "YulIdentifier", + "src": "14836:8:5" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14830:5:5" + }, + "nodeType": "YulFunctionCall", + "src": "14830:15:5" + } + ], + "functionName": { + "name": "create", + "nodeType": "YulIdentifier", + "src": "14797:6:5" + }, + "nodeType": "YulFunctionCall", + "src": "14797:49:5" + }, + "variableNames": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "14789:4:5" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 5139, + "isOffset": false, + "isSlot": false, + "src": "14789:4:5", + "valueSize": 1 + }, + { + "declaration": 5142, + "isOffset": false, + "isSlot": false, + "src": "14813:8:5", + "valueSize": 1 + }, + { + "declaration": 5142, + "isOffset": false, + "isSlot": false, + "src": "14836:8:5", + "valueSize": 1 + }, + { + "declaration": 5136, + "isOffset": false, + "isSlot": false, + "src": "14804:3:5", + "valueSize": 1 + } + ], + "id": 5148, + "nodeType": "InlineAssembly", + "src": "14766:90:5" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5150, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5139, + "src": "14874:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14890:1:5", + "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": 5152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14882:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5151, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14882:7:5", + "typeDescriptions": {} + } + }, + "id": 5154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14882:10:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14874:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537464436865617473206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e", + "id": 5156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14894:58:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2", + "typeString": "literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\"" + }, + "value": "StdCheats deployCode(string,uint256): Deployment failed." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2", + "typeString": "literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\"" + } + ], + "id": 5149, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "14866:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14866:87:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5158, + "nodeType": "ExpressionStatement", + "src": "14866:87:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployCode", + "nameLocation": "14579:10:5", + "parameters": { + "id": 5137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5134, + "mutability": "mutable", + "name": "what", + "nameLocation": "14604:4:5", + "nodeType": "VariableDeclaration", + "scope": 5160, + "src": "14590:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5133, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14590:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5136, + "mutability": "mutable", + "name": "val", + "nameLocation": "14618:3:5", + "nodeType": "VariableDeclaration", + "scope": 5160, + "src": "14610:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14610:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14589:33:5" + }, + "returnParameters": { + "id": 5140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5139, + "mutability": "mutable", + "name": "addr", + "nameLocation": "14657:4:5", + "nodeType": "VariableDeclaration", + "scope": 5160, + "src": "14649:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14649:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14648:14:5" + }, + "scope": 5365, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5196, + "nodeType": "FunctionDefinition", + "src": "15033:242:5", + "nodes": [], + "body": { + "id": 5195, + "nodeType": "Block", + "src": "15137:138:5", + "nodes": [], + "statements": [ + { + "expression": { + "id": 5179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5169, + "name": "privateKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5167, + "src": "15147:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 5175, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5162, + "src": "15195:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5173, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15178:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15182:12:5", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "15178:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 5176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15178:22:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5172, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "15168:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15168:33:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15160:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5170, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15160:7:5", + "typeDescriptions": {} + } + }, + "id": 5178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15160:42:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15147:55:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5180, + "nodeType": "ExpressionStatement", + "src": "15147:55:5" + }, + { + "expression": { + "id": 5186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5181, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5165, + "src": "15212:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5184, + "name": "privateKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5167, + "src": "15227:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5182, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "15219:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15222:4:5", + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 9003, + "src": "15219:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) pure external returns (address)" + } + }, + "id": 5185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15219:19:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15212:26:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5187, + "nodeType": "ExpressionStatement", + "src": "15212:26:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5191, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5165, + "src": "15257:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5192, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5162, + "src": "15263:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5188, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "15248:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15251:5:5", + "memberName": "label", + "nodeType": "MemberAccess", + "referencedDeclaration": 9333, + "src": "15248:8:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory) external" + } + }, + "id": 5193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15248:20:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5194, + "nodeType": "ExpressionStatement", + "src": "15248:20:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "makeAddrAndKey", + "nameLocation": "15042:14:5", + "parameters": { + "id": 5163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5162, + "mutability": "mutable", + "name": "name", + "nameLocation": "15071:4:5", + "nodeType": "VariableDeclaration", + "scope": 5196, + "src": "15057:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5161, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15057:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15056:20:5" + }, + "returnParameters": { + "id": 5168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5165, + "mutability": "mutable", + "name": "addr", + "nameLocation": "15111:4:5", + "nodeType": "VariableDeclaration", + "scope": 5196, + "src": "15103:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15103:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5167, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "15125:10:5", + "nodeType": "VariableDeclaration", + "scope": 5196, + "src": "15117:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15117:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15102:34:5" + }, + "scope": 5365, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5211, + "nodeType": "FunctionDefinition", + "src": "15314:125:5", + "nodes": [], + "body": { + "id": 5210, + "nodeType": "Block", + "src": "15392:47:5", + "nodes": [], + "statements": [ + { + "expression": { + "id": 5208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 5203, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "15403:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + null + ], + "id": 5204, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "15402:7:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$__$", + "typeString": "tuple(address,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5206, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5198, + "src": "15427:4:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 5205, + "name": "makeAddrAndKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5196, + "src": "15412:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$", + "typeString": "function (string memory) returns (address,uint256)" + } + }, + "id": 5207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15412:20:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", + "typeString": "tuple(address,uint256)" + } + }, + "src": "15402:30:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5209, + "nodeType": "ExpressionStatement", + "src": "15402:30:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "makeAddr", + "nameLocation": "15323:8:5", + "parameters": { + "id": 5199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5198, + "mutability": "mutable", + "name": "name", + "nameLocation": "15346:4:5", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "15332:18:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5197, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15332:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15331:20:5" + }, + "returnParameters": { + "id": 5202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5201, + "mutability": "mutable", + "name": "addr", + "nameLocation": "15386:4:5", + "nodeType": "VariableDeclaration", + "scope": 5211, + "src": "15378:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15378:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "15377:14:5" + }, + "scope": 5365, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5238, + "nodeType": "FunctionDefinition", + "src": "15445:253:5", + "nodes": [], + "body": { + "id": 5237, + "nodeType": "Block", + "src": "15597:101:5", + "nodes": [], + "statements": [ + { + "expression": { + "id": 5228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5222, + "name": "privateKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "15607:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5225, + "name": "mnemonic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5213, + "src": "15633:8:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5226, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5215, + "src": "15643:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "expression": { + "id": 5223, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "15620:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15623:9:5", + "memberName": "deriveKey", + "nodeType": "MemberAccess", + "referencedDeclaration": 9530, + "src": "15620:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$", + "typeString": "function (string memory,uint32) pure external returns (uint256)" + } + }, + "id": 5227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15620:29:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15607:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5229, + "nodeType": "ExpressionStatement", + "src": "15607:42:5" + }, + { + "expression": { + "id": 5235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5230, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5218, + "src": "15659:3:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5233, + "name": "privateKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "15680:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5231, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "15665:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15668:11:5", + "memberName": "rememberKey", + "nodeType": "MemberAccess", + "referencedDeclaration": 9548, + "src": "15665:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) external returns (address)" + } + }, + "id": 5234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15665:26:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15659:32:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5236, + "nodeType": "ExpressionStatement", + "src": "15659:32:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deriveRememberKey", + "nameLocation": "15454:17:5", + "parameters": { + "id": 5216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5213, + "mutability": "mutable", + "name": "mnemonic", + "nameLocation": "15486:8:5", + "nodeType": "VariableDeclaration", + "scope": 5238, + "src": "15472:22:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5212, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15472:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5215, + "mutability": "mutable", + "name": "index", + "nameLocation": "15503:5:5", + "nodeType": "VariableDeclaration", + "scope": 5238, + "src": "15496:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 5214, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "15496:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "15471:38:5" + }, + "returnParameters": { + "id": 5221, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5218, + "mutability": "mutable", + "name": "who", + "nameLocation": "15568:3:5", + "nodeType": "VariableDeclaration", + "scope": 5238, + "src": "15560:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5217, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15560:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5220, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "15581:10:5", + "nodeType": "VariableDeclaration", + "scope": 5238, + "src": "15573:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15573:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15559:33:5" + }, + "scope": 5365, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5272, + "nodeType": "FunctionDefinition", + "src": "15704:253:5", + "nodes": [], + "body": { + "id": 5271, + "nodeType": "Block", + "src": "15773:184:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5246, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5240, + "src": "15791:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15793:6:5", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15791:8:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3332", + "id": 5248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15803:2:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "15791:14:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537464436865617473205f6279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e", + "id": 5250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15807:57:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71", + "typeString": "literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\"" + }, + "value": "StdCheats _bytesToUint(bytes): Bytes length exceeds 32." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71", + "typeString": "literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\"" + } + ], + "id": 5245, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "15783:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15783:82:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5252, + "nodeType": "ExpressionStatement", + "src": "15783:82:5" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3332", + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15920:2:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 5260, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5240, + "src": "15925:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 5261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15927:6:5", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15925:8:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15920:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "15910:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 5257, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15914:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 5263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15910:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5264, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5240, + "src": "15936:1:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 5255, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15893:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15897:12:5", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "15893:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 5265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15893:45:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 5267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15941:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15941:7:5", + "typeDescriptions": {} + } + } + ], + "id": 5268, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15940:9:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "expression": { + "id": 5253, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15882:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15886:6:5", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "15882:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15882:68:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5244, + "id": 5270, + "nodeType": "Return", + "src": "15875:75:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_bytesToUint", + "nameLocation": "15713:12:5", + "parameters": { + "id": 5241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5240, + "mutability": "mutable", + "name": "b", + "nameLocation": "15739:1:5", + "nodeType": "VariableDeclaration", + "scope": 5272, + "src": "15726:14:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5239, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15726:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "15725:16:5" + }, + "returnParameters": { + "id": 5244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5243, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5272, + "src": "15764:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5242, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15764:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15763:9:5" + }, + "scope": 5365, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 5293, + "nodeType": "FunctionDefinition", + "src": "15963:160:5", + "nodes": [], + "body": { + "id": 5292, + "nodeType": "Block", + "src": "16025:98:5", + "nodes": [], + "statements": [ + { + "clauses": [ + { + "block": { + "id": 5284, + "nodeType": "Block", + "src": "16055:38:5", + "statements": [ + { + "expression": { + "id": 5282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5280, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5275, + "src": "16069:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 5281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16078:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16069:13:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5283, + "nodeType": "ExpressionStatement", + "src": "16069:13:5" + } + ] + }, + "errorName": "", + "id": 5285, + "nodeType": "TryCatchClause", + "src": "16055:38:5" + }, + { + "block": { + "id": 5289, + "nodeType": "Block", + "src": "16115:2:5", + "statements": [] + }, + "errorName": "", + "id": 5290, + "nodeType": "TryCatchClause", + "parameters": { + "id": 5288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5287, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5290, + "src": "16101:12:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5286, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16101:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "16100:14:5" + }, + "src": "16094:23:5" + } + ], + "externalCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 5277, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "16039:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16042:10:5", + "memberName": "activeFork", + "nodeType": "MemberAccess", + "referencedDeclaration": 10146, + "src": "16039:13:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 5279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16039:15:5", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5291, + "nodeType": "TryStatement", + "src": "16035:82:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isFork", + "nameLocation": "15972:6:5", + "parameters": { + "id": 5273, + "nodeType": "ParameterList", + "parameters": [], + "src": "15978:2:5" + }, + "returnParameters": { + "id": 5276, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5275, + "mutability": "mutable", + "name": "status", + "nameLocation": "16017:6:5", + "nodeType": "VariableDeclaration", + "scope": 5293, + "src": "16012:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5274, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16012:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16011:13:5" + }, + "scope": 5365, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5302, + "nodeType": "ModifierDefinition", + "src": "16129:84:5", + "nodes": [], + "body": { + "id": 5301, + "nodeType": "Block", + "src": "16156:57:5", + "nodes": [], + "statements": [ + { + "condition": { + "id": 5297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "16170:9:5", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5295, + "name": "isFork", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5293, + "src": "16171:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 5296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16171:8:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5300, + "nodeType": "IfStatement", + "src": "16166:41:5", + "trueBody": { + "id": 5299, + "nodeType": "Block", + "src": "16181:26:5", + "statements": [ + { + "id": 5298, + "nodeType": "PlaceholderStatement", + "src": "16195:1:5" + } + ] + } + } + ] + }, + "name": "skipWhenForking", + "nameLocation": "16138:15:5", + "parameters": { + "id": 5294, + "nodeType": "ParameterList", + "parameters": [], + "src": "16153:2:5" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 5310, + "nodeType": "ModifierDefinition", + "src": "16219:86:5", + "nodes": [], + "body": { + "id": 5309, + "nodeType": "Block", + "src": "16249:56:5", + "nodes": [], + "statements": [ + { + "condition": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5304, + "name": "isFork", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5293, + "src": "16263:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 5305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16263:8:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5308, + "nodeType": "IfStatement", + "src": "16259:40:5", + "trueBody": { + "id": 5307, + "nodeType": "Block", + "src": "16273:26:5", + "statements": [ + { + "id": 5306, + "nodeType": "PlaceholderStatement", + "src": "16287:1:5" + } + ] + } + } + ] + }, + "name": "skipWhenNotForking", + "nameLocation": "16228:18:5", + "parameters": { + "id": 5303, + "nodeType": "ParameterList", + "parameters": [], + "src": "16246:2:5" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 5340, + "nodeType": "ModifierDefinition", + "src": "16311:884:5", + "nodes": [], + "body": { + "id": 5339, + "nodeType": "Block", + "src": "16336:859:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 5312, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "16346:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16349:16:5", + "memberName": "pauseGasMetering", + "nodeType": "MemberAccess", + "referencedDeclaration": 9904, + "src": "16346:19:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 5315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16346:21:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5316, + "nodeType": "ExpressionStatement", + "src": "16346:21:5" + }, + { + "assignments": [ + 5318 + ], + "declarations": [ + { + "constant": false, + "id": 5318, + "mutability": "mutable", + "name": "gasStartedOff", + "nameLocation": "16910:13:5", + "nodeType": "VariableDeclaration", + "scope": 5339, + "src": "16905:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5317, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16905:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 5320, + "initialValue": { + "id": 5319, + "name": "gasMeteringOff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3820, + "src": "16926:14:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16905:35:5" + }, + { + "expression": { + "id": 5323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5321, + "name": "gasMeteringOff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3820, + "src": "16950:14:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 5322, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16967:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16950:21:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5324, + "nodeType": "ExpressionStatement", + "src": "16950:21:5" + }, + { + "id": 5325, + "nodeType": "PlaceholderStatement", + "src": "16982:1:5" + }, + { + "condition": { + "id": 5327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "17090:14:5", + "subExpression": { + "id": 5326, + "name": "gasStartedOff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5318, + "src": "17091:13:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5338, + "nodeType": "IfStatement", + "src": "17086:103:5", + "trueBody": { + "id": 5337, + "nodeType": "Block", + "src": "17106:83:5", + "statements": [ + { + "expression": { + "id": 5330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5328, + "name": "gasMeteringOff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3820, + "src": "17120:14:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 5329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17137:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "17120:22:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5331, + "nodeType": "ExpressionStatement", + "src": "17120:22:5" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 5332, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "17156:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17159:17:5", + "memberName": "resumeGasMetering", + "nodeType": "MemberAccess", + "referencedDeclaration": 9907, + "src": "17156:20:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 5335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17156:22:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5336, + "nodeType": "ExpressionStatement", + "src": "17156:22:5" + } + ] + } + } + ] + }, + "name": "noGasMetering", + "nameLocation": "16320:13:5", + "parameters": { + "id": 5311, + "nodeType": "ParameterList", + "parameters": [], + "src": "16333:2:5" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 5364, + "nodeType": "FunctionDefinition", + "src": "17321:149:5", + "nodes": [], + "body": { + "id": 5363, + "nodeType": "Block", + "src": "17375:95:5", + "nodes": [], + "statements": [ + { + "assignments": [ + 5346, + null + ], + "declarations": [ + { + "constant": false, + "id": 5346, + "mutability": "mutable", + "name": "success", + "nameLocation": "17391:7:5", + "nodeType": "VariableDeclaration", + "scope": 5363, + "src": "17386:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5345, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17386:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 5356, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 5354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17432:2:5", + "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": [ + { + "id": 5349, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5342, + "src": "17411:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17403:8:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 5347, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17403:8:5", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 5350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17403:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 5351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17417:4:5", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "17403:18:5", + "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": 5353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "hexValue": "30", + "id": 5352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17429:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "src": "17403:28:5", + "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": 5355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17403:32:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17385:50:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5360, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5346, + "src": "17455:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 5357, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "17445:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17448:6:5", + "memberName": "assume", + "nodeType": "MemberAccess", + "referencedDeclaration": 9901, + "src": "17445:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure external" + } + }, + "id": 5361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17445:18:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5362, + "nodeType": "ExpressionStatement", + "src": "17445:18:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assumePayable", + "nameLocation": "17330:13:5", + "parameters": { + "id": 5343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5342, + "mutability": "mutable", + "name": "addr", + "nameLocation": "17352:4:5", + "nodeType": "VariableDeclaration", + "scope": 5364, + "src": "17344:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5341, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17344:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "17343:14:5" + }, + "returnParameters": { + "id": 5344, + "nodeType": "ParameterList", + "parameters": [], + "src": "17375:0:5" + }, + "scope": 5365, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "abstract": true, + "baseContracts": [], + "canonicalName": "StdCheatsSafe", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 5365 + ], + "name": "StdCheatsSafe", + "nameLocation": "205:13:5", + "scope": 5755, + "usedErrors": [] + }, + { + "id": 5754, + "nodeType": "ContractDefinition", + "src": "17522:3312:5", + "nodes": [ + { + "id": 5371, + "nodeType": "UsingForDirective", + "src": "17573:32:5", + "nodes": [], + "global": false, + "libraryName": { + "id": 5368, + "name": "stdStorage", + "nameLocations": [ + "17579:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8094, + "src": "17579:10:5" + }, + "typeName": { + "id": 5370, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5369, + "name": "StdStorage", + "nameLocations": [ + "17594:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "17594:10:5" + }, + "referencedDeclaration": 6661, + "src": "17594:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + } + }, + { + "id": 5374, + "nodeType": "VariableDeclaration", + "src": "17611:27:5", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "stdstore", + "nameLocation": "17630:8:5", + "scope": 5754, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 5373, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5372, + "name": "StdStorage", + "nameLocations": [ + "17611:10:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "17611:10:5" + }, + "referencedDeclaration": 6661, + "src": "17611:10:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "private" + }, + { + "id": 5391, + "nodeType": "VariableDeclaration", + "src": "17644:84:5", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "vm", + "nameLocation": "17664:2:5", + "scope": 5754, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + }, + "typeName": { + "id": 5376, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5375, + "name": "Vm", + "nameLocations": [ + "17644:2:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10233, + "src": "17644:2:5" + }, + "referencedDeclaration": 10233, + "src": "17644:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6865766d20636865617420636f6465", + "id": 5385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17706:17:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + }, + "value": "hevm cheat code" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + } + ], + "id": 5384, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "17696:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17696:28:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17688:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17688:7:5", + "typeDescriptions": {} + } + }, + "id": 5387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17688:37:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17680:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 5380, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "17680:7:5", + "typeDescriptions": {} + } + }, + "id": 5388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17680:46:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 5379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17672:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17672:7:5", + "typeDescriptions": {} + } + }, + "id": 5389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17672:55:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5377, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "17669:2:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Vm_$10233_$", + "typeString": "type(contract Vm)" + } + }, + "id": 5390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17669:59:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "visibility": "private" + }, + { + "id": 5406, + "nodeType": "FunctionDefinition", + "src": "17805:93:5", + "nodes": [], + "body": { + "id": 5405, + "nodeType": "Block", + "src": "17850:48:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5399, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "17868:5:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17874:9:5", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "17868:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 5401, + "name": "time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5393, + "src": "17886:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17868:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5396, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "17860:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17863:4:5", + "memberName": "warp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9915, + "src": "17860:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 5403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17860:31:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5404, + "nodeType": "ExpressionStatement", + "src": "17860:31:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "skip", + "nameLocation": "17814:4:5", + "parameters": { + "id": 5394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5393, + "mutability": "mutable", + "name": "time", + "nameLocation": "17827:4:5", + "nodeType": "VariableDeclaration", + "scope": 5406, + "src": "17819:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17819:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17818:14:5" + }, + "returnParameters": { + "id": 5395, + "nodeType": "ParameterList", + "parameters": [], + "src": "17850:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5421, + "nodeType": "FunctionDefinition", + "src": "17904:95:5", + "nodes": [], + "body": { + "id": 5420, + "nodeType": "Block", + "src": "17951:48:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5414, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "17969:5:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17975:9:5", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "17969:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 5416, + "name": "time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5408, + "src": "17987:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17969:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5411, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "17961:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17964:4:5", + "memberName": "warp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9915, + "src": "17961:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 5418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17961:31:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5419, + "nodeType": "ExpressionStatement", + "src": "17961:31:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rewind", + "nameLocation": "17913:6:5", + "parameters": { + "id": 5409, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5408, + "mutability": "mutable", + "name": "time", + "nameLocation": "17928:4:5", + "nodeType": "VariableDeclaration", + "scope": 5421, + "src": "17920:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5407, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17920:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17919:14:5" + }, + "returnParameters": { + "id": 5410, + "nodeType": "ParameterList", + "parameters": [], + "src": "17951:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5442, + "nodeType": "FunctionDefinition", + "src": "18062:124:5", + "nodes": [], + "body": { + "id": 5441, + "nodeType": "Block", + "src": "18112:74:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5429, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5423, + "src": "18130:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + }, + "id": 5432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 5430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18141:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313238", + "id": 5431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18146:3:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "18141:8:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + ], + "expression": { + "id": 5426, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18122:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18125:4:5", + "memberName": "deal", + "nodeType": "MemberAccess", + "referencedDeclaration": 9985, + "src": "18122:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18122:28:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5434, + "nodeType": "ExpressionStatement", + "src": "18122:28:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5438, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5423, + "src": "18169:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5435, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18160:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18163:5:5", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "18160:8:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18160:19:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5440, + "nodeType": "ExpressionStatement", + "src": "18160:19:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hoax", + "nameLocation": "18071:4:5", + "parameters": { + "id": 5424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5423, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "18084:9:5", + "nodeType": "VariableDeclaration", + "scope": 5442, + "src": "18076:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5422, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18076:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "18075:19:5" + }, + "returnParameters": { + "id": 5425, + "nodeType": "ParameterList", + "parameters": [], + "src": "18112:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5463, + "nodeType": "FunctionDefinition", + "src": "18192:134:5", + "nodes": [], + "body": { + "id": 5462, + "nodeType": "Block", + "src": "18256:70:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5452, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5444, + "src": "18274:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5453, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5446, + "src": "18285:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5449, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18266:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18269:4:5", + "memberName": "deal", + "nodeType": "MemberAccess", + "referencedDeclaration": 9985, + "src": "18266:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18266:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5455, + "nodeType": "ExpressionStatement", + "src": "18266:24:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5459, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5444, + "src": "18309:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5456, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18300:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18303:5:5", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "18300:8:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18300:19:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5461, + "nodeType": "ExpressionStatement", + "src": "18300:19:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hoax", + "nameLocation": "18201:4:5", + "parameters": { + "id": 5447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5444, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "18214:9:5", + "nodeType": "VariableDeclaration", + "scope": 5463, + "src": "18206:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5443, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18206:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5446, + "mutability": "mutable", + "name": "give", + "nameLocation": "18233:4:5", + "nodeType": "VariableDeclaration", + "scope": 5463, + "src": "18225:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5445, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18225:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18205:33:5" + }, + "returnParameters": { + "id": 5448, + "nodeType": "ParameterList", + "parameters": [], + "src": "18256:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5487, + "nodeType": "FunctionDefinition", + "src": "18332:148:5", + "nodes": [], + "body": { + "id": 5486, + "nodeType": "Block", + "src": "18398:82:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5473, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5465, + "src": "18416:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + }, + "id": 5476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 5474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18427:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313238", + "id": 5475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18432:3:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "18427:8:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + ], + "expression": { + "id": 5470, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18408:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18411:4:5", + "memberName": "deal", + "nodeType": "MemberAccess", + "referencedDeclaration": 9985, + "src": "18408:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18408:28:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5478, + "nodeType": "ExpressionStatement", + "src": "18408:28:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5482, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5465, + "src": "18455:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5483, + "name": "origin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5467, + "src": "18466:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5479, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18446:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18449:5:5", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9968, + "src": "18446:8:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 5484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18446:27:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5485, + "nodeType": "ExpressionStatement", + "src": "18446:27:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hoax", + "nameLocation": "18341:4:5", + "parameters": { + "id": 5468, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5465, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "18354:9:5", + "nodeType": "VariableDeclaration", + "scope": 5487, + "src": "18346:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5464, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18346:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5467, + "mutability": "mutable", + "name": "origin", + "nameLocation": "18373:6:5", + "nodeType": "VariableDeclaration", + "scope": 5487, + "src": "18365:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18365:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "18345:35:5" + }, + "returnParameters": { + "id": 5469, + "nodeType": "ParameterList", + "parameters": [], + "src": "18398:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5511, + "nodeType": "FunctionDefinition", + "src": "18486:158:5", + "nodes": [], + "body": { + "id": 5510, + "nodeType": "Block", + "src": "18566:78:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5499, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5489, + "src": "18584:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5500, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5493, + "src": "18595:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5496, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18576:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18579:4:5", + "memberName": "deal", + "nodeType": "MemberAccess", + "referencedDeclaration": 9985, + "src": "18576:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18576:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5502, + "nodeType": "ExpressionStatement", + "src": "18576:24:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5506, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5489, + "src": "18619:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5507, + "name": "origin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5491, + "src": "18630:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5503, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18610:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18613:5:5", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9968, + "src": "18610:8:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 5508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18610:27:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5509, + "nodeType": "ExpressionStatement", + "src": "18610:27:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hoax", + "nameLocation": "18495:4:5", + "parameters": { + "id": 5494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5489, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "18508:9:5", + "nodeType": "VariableDeclaration", + "scope": 5511, + "src": "18500:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18500:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5491, + "mutability": "mutable", + "name": "origin", + "nameLocation": "18527:6:5", + "nodeType": "VariableDeclaration", + "scope": 5511, + "src": "18519:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18519:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5493, + "mutability": "mutable", + "name": "give", + "nameLocation": "18543:4:5", + "nodeType": "VariableDeclaration", + "scope": 5511, + "src": "18535:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18535:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18499:49:5" + }, + "returnParameters": { + "id": 5495, + "nodeType": "ParameterList", + "parameters": [], + "src": "18566:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5532, + "nodeType": "FunctionDefinition", + "src": "18715:134:5", + "nodes": [], + "body": { + "id": 5531, + "nodeType": "Block", + "src": "18770:79:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5519, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5513, + "src": "18788:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + }, + "id": 5522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 5520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18799:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313238", + "id": 5521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18804:3:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "18799:8:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + ], + "expression": { + "id": 5516, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18780:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18783:4:5", + "memberName": "deal", + "nodeType": "MemberAccess", + "referencedDeclaration": 9985, + "src": "18780:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18780:28:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5524, + "nodeType": "ExpressionStatement", + "src": "18780:28:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5528, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5513, + "src": "18832:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5525, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18818:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18821:10:5", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9961, + "src": "18818:13:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18818:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5530, + "nodeType": "ExpressionStatement", + "src": "18818:24:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startHoax", + "nameLocation": "18724:9:5", + "parameters": { + "id": 5514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5513, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "18742:9:5", + "nodeType": "VariableDeclaration", + "scope": 5532, + "src": "18734:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18734:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "18733:19:5" + }, + "returnParameters": { + "id": 5515, + "nodeType": "ParameterList", + "parameters": [], + "src": "18770:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5553, + "nodeType": "FunctionDefinition", + "src": "18855:144:5", + "nodes": [], + "body": { + "id": 5552, + "nodeType": "Block", + "src": "18924:75:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5542, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5534, + "src": "18942:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5543, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5536, + "src": "18953:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5539, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18934:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18937:4:5", + "memberName": "deal", + "nodeType": "MemberAccess", + "referencedDeclaration": 9985, + "src": "18934:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18934:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5545, + "nodeType": "ExpressionStatement", + "src": "18934:24:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5549, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5534, + "src": "18982:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5546, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "18968:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18971:10:5", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9961, + "src": "18968:13:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18968:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5551, + "nodeType": "ExpressionStatement", + "src": "18968:24:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startHoax", + "nameLocation": "18864:9:5", + "parameters": { + "id": 5537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5534, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "18882:9:5", + "nodeType": "VariableDeclaration", + "scope": 5553, + "src": "18874:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5533, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18874:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5536, + "mutability": "mutable", + "name": "give", + "nameLocation": "18901:4:5", + "nodeType": "VariableDeclaration", + "scope": 5553, + "src": "18893:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18893:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18873:33:5" + }, + "returnParameters": { + "id": 5538, + "nodeType": "ParameterList", + "parameters": [], + "src": "18924:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5577, + "nodeType": "FunctionDefinition", + "src": "19118:158:5", + "nodes": [], + "body": { + "id": 5576, + "nodeType": "Block", + "src": "19189:87:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5563, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "19207:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + }, + "id": 5566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 5564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19218:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313238", + "id": 5565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19223:3:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "19218:8:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + ], + "expression": { + "id": 5560, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "19199:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19202:4:5", + "memberName": "deal", + "nodeType": "MemberAccess", + "referencedDeclaration": 9985, + "src": "19199:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19199:28:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5568, + "nodeType": "ExpressionStatement", + "src": "19199:28:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5572, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "19251:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5573, + "name": "origin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5557, + "src": "19262:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5569, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "19237:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19240:10:5", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9975, + "src": "19237:13:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 5574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19237:32:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5575, + "nodeType": "ExpressionStatement", + "src": "19237:32:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startHoax", + "nameLocation": "19127:9:5", + "parameters": { + "id": 5558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5555, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "19145:9:5", + "nodeType": "VariableDeclaration", + "scope": 5577, + "src": "19137:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19137:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5557, + "mutability": "mutable", + "name": "origin", + "nameLocation": "19164:6:5", + "nodeType": "VariableDeclaration", + "scope": 5577, + "src": "19156:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5556, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19156:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19136:35:5" + }, + "returnParameters": { + "id": 5559, + "nodeType": "ParameterList", + "parameters": [], + "src": "19189:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5601, + "nodeType": "FunctionDefinition", + "src": "19282:168:5", + "nodes": [], + "body": { + "id": 5600, + "nodeType": "Block", + "src": "19367:83:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5589, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5579, + "src": "19385:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5590, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5583, + "src": "19396:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5586, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "19377:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19380:4:5", + "memberName": "deal", + "nodeType": "MemberAccess", + "referencedDeclaration": 9985, + "src": "19377:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19377:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5592, + "nodeType": "ExpressionStatement", + "src": "19377:24:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5596, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5579, + "src": "19425:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5597, + "name": "origin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5581, + "src": "19436:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5593, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "19411:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19414:10:5", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9975, + "src": "19411:13:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" + } + }, + "id": 5598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19411:32:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5599, + "nodeType": "ExpressionStatement", + "src": "19411:32:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "startHoax", + "nameLocation": "19291:9:5", + "parameters": { + "id": 5584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5579, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "19309:9:5", + "nodeType": "VariableDeclaration", + "scope": 5601, + "src": "19301:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5578, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19301:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5581, + "mutability": "mutable", + "name": "origin", + "nameLocation": "19328:6:5", + "nodeType": "VariableDeclaration", + "scope": 5601, + "src": "19320:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19320:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5583, + "mutability": "mutable", + "name": "give", + "nameLocation": "19344:4:5", + "nodeType": "VariableDeclaration", + "scope": 5601, + "src": "19336:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19336:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19300:49:5" + }, + "returnParameters": { + "id": 5585, + "nodeType": "ParameterList", + "parameters": [], + "src": "19367:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5618, + "nodeType": "FunctionDefinition", + "src": "19456:122:5", + "nodes": [], + "body": { + "id": 5617, + "nodeType": "Block", + "src": "19513:65:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 5606, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "19523:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19526:9:5", + "memberName": "stopPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9978, + "src": "19523:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 5609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19523:14:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5610, + "nodeType": "ExpressionStatement", + "src": "19523:14:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5614, + "name": "msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5603, + "src": "19561:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5611, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "19547:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19550:10:5", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9961, + "src": "19547:13:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19547:24:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5616, + "nodeType": "ExpressionStatement", + "src": "19547:24:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "changePrank", + "nameLocation": "19465:11:5", + "parameters": { + "id": 5604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5603, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "19485:9:5", + "nodeType": "VariableDeclaration", + "scope": 5618, + "src": "19477:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5602, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19477:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19476:19:5" + }, + "returnParameters": { + "id": 5605, + "nodeType": "ParameterList", + "parameters": [], + "src": "19513:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5633, + "nodeType": "FunctionDefinition", + "src": "19669:91:5", + "nodes": [], + "body": { + "id": 5632, + "nodeType": "Block", + "src": "19726:34:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5628, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "19744:2:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5629, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5622, + "src": "19748:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5625, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5391, + "src": "19736:2:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 5627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19739:4:5", + "memberName": "deal", + "nodeType": "MemberAccess", + "referencedDeclaration": 9985, + "src": "19736:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19736:17:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5631, + "nodeType": "ExpressionStatement", + "src": "19736:17:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deal", + "nameLocation": "19678:4:5", + "parameters": { + "id": 5623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5620, + "mutability": "mutable", + "name": "to", + "nameLocation": "19691:2:5", + "nodeType": "VariableDeclaration", + "scope": 5633, + "src": "19683:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5619, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19683:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5622, + "mutability": "mutable", + "name": "give", + "nameLocation": "19703:4:5", + "nodeType": "VariableDeclaration", + "scope": 5633, + "src": "19695:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19695:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19682:26:5" + }, + "returnParameters": { + "id": 5624, + "nodeType": "ParameterList", + "parameters": [], + "src": "19726:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5650, + "nodeType": "FunctionDefinition", + "src": "19884:117:5", + "nodes": [], + "body": { + "id": 5649, + "nodeType": "Block", + "src": "19956:45:5", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5643, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5635, + "src": "19971:5:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5644, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5637, + "src": "19978:2:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5645, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5639, + "src": "19982:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "66616c7365", + "id": 5646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19988:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5642, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5633, + 5650, + 5753 + ], + "referencedDeclaration": 5753, + "src": "19966:4:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (address,address,uint256,bool)" + } + }, + "id": 5647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19966:28:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5648, + "nodeType": "ExpressionStatement", + "src": "19966:28:5" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deal", + "nameLocation": "19893:4:5", + "parameters": { + "id": 5640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5635, + "mutability": "mutable", + "name": "token", + "nameLocation": "19906:5:5", + "nodeType": "VariableDeclaration", + "scope": 5650, + "src": "19898:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19898:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5637, + "mutability": "mutable", + "name": "to", + "nameLocation": "19921:2:5", + "nodeType": "VariableDeclaration", + "scope": 5650, + "src": "19913:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19913:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5639, + "mutability": "mutable", + "name": "give", + "nameLocation": "19933:4:5", + "nodeType": "VariableDeclaration", + "scope": 5650, + "src": "19925:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5638, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19925:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19897:41:5" + }, + "returnParameters": { + "id": 5641, + "nodeType": "ParameterList", + "parameters": [], + "src": "19956:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 5753, + "nodeType": "FunctionDefinition", + "src": "20007:825:5", + "nodes": [], + "body": { + "id": 5752, + "nodeType": "Block", + "src": "20092:740:5", + "nodes": [], + "statements": [ + { + "assignments": [ + null, + 5662 + ], + "declarations": [ + null, + { + "constant": false, + "id": 5662, + "mutability": "mutable", + "name": "balData", + "nameLocation": "20149:7:5", + "nodeType": "VariableDeclaration", + "scope": 5752, + "src": "20136:20:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5661, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "20136:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 5671, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30783730613038323331", + "id": 5667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20194:10:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1889567281_by_1", + "typeString": "int_const 1889567281" + }, + "value": "0x70a08231" + }, + { + "id": 5668, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5654, + "src": "20206:2:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1889567281_by_1", + "typeString": "int_const 1889567281" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5665, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20171:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20175:18:5", + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "20171:22:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20171:38:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 5663, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5652, + "src": "20160:5:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20166:4:5", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "20160:10:5", + "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": 5670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20160:50:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20133:77:5" + }, + { + "assignments": [ + 5673 + ], + "declarations": [ + { + "constant": false, + "id": 5673, + "mutability": "mutable", + "name": "prevBal", + "nameLocation": "20228:7:5", + "nodeType": "VariableDeclaration", + "scope": 5752, + "src": "20220:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5672, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20220:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5681, + "initialValue": { + "arguments": [ + { + "id": 5676, + "name": "balData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5662, + "src": "20249:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 5678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20259:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5677, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20259:7:5", + "typeDescriptions": {} + } + } + ], + "id": 5679, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "20258:9:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "expression": { + "id": 5674, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20238:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20242:6:5", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "20238:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20238:30:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20220:48:5" + }, + { + "expression": { + "arguments": [ + { + "id": 5694, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "20371:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 5691, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5654, + "src": "20353:2:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "hexValue": "30783730613038323331", + "id": 5688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20332:10:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1889567281_by_1", + "typeString": "int_const 1889567281" + }, + "value": "0x70a08231" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1889567281_by_1", + "typeString": "int_const 1889567281" + } + ], + "expression": { + "arguments": [ + { + "id": 5685, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5652, + "src": "20321:5:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5682, + "name": "stdstore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5374, + "src": "20305:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage", + "typeString": "struct StdStorage storage ref" + } + }, + "id": 5684, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20314:6:5", + "memberName": "target", + "nodeType": "MemberAccess", + "referencedDeclaration": 7615, + "src": "20305:15:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$bound_to$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" + } + }, + "id": 5686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20305:22:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 5687, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20328:3:5", + "memberName": "sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 7633, + "src": "20305:26:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$bound_to$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)" + } + }, + "id": 5689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20305:38:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 5690, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20344:8:5", + "memberName": "with_key", + "nodeType": "MemberAccess", + "referencedDeclaration": 7669, + "src": "20305:47:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$bound_to$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" + } + }, + "id": 5692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20305:51:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 5693, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20357:13:5", + "memberName": "checked_write", + "nodeType": "MemberAccess", + "referencedDeclaration": 7763, + "src": "20305:65:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,uint256)" + } + }, + "id": 5695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20305:71:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5696, + "nodeType": "ExpressionStatement", + "src": "20305:71:5" + }, + { + "condition": { + "id": 5697, + "name": "adjust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5658, + "src": "20422:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5751, + "nodeType": "IfStatement", + "src": "20418:408:5", + "trueBody": { + "id": 5750, + "nodeType": "Block", + "src": "20430:396:5", + "statements": [ + { + "assignments": [ + null, + 5699 + ], + "declarations": [ + null, + { + "constant": false, + "id": 5699, + "mutability": "mutable", + "name": "totSupData", + "nameLocation": "20460:10:5", + "nodeType": "VariableDeclaration", + "scope": 5750, + "src": "20447:23:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5698, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "20447:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 5707, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30783138313630646464", + "id": 5704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20508:10:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_404098525_by_1", + "typeString": "int_const 404098525" + }, + "value": "0x18160ddd" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_404098525_by_1", + "typeString": "int_const 404098525" + } + ], + "expression": { + "id": 5702, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20485:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20489:18:5", + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "20485:22:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 5705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20485:34:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 5700, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5652, + "src": "20474:5:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20480:4:5", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "20474:10:5", + "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": 5706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20474:46:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20444:76:5" + }, + { + "assignments": [ + 5709 + ], + "declarations": [ + { + "constant": false, + "id": 5709, + "mutability": "mutable", + "name": "totSup", + "nameLocation": "20542:6:5", + "nodeType": "VariableDeclaration", + "scope": 5750, + "src": "20534:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5708, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20534:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5717, + "initialValue": { + "arguments": [ + { + "id": 5712, + "name": "totSupData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5699, + "src": "20562:10:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 5714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20575:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5713, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20575:7:5", + "typeDescriptions": {} + } + } + ], + "id": 5715, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "20574:9:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "expression": { + "id": 5710, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20551:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20555:6:5", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "20551:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20551:33:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20534:50:5" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5718, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "20602:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5719, + "name": "prevBal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "20609:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20602:14:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5736, + "nodeType": "Block", + "src": "20683:59:5", + "statements": [ + { + "expression": { + "id": 5734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5729, + "name": "totSup", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5709, + "src": "20701:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5730, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "20712:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 5731, + "name": "prevBal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "20719:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20712:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5733, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "20711:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20701:26:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5735, + "nodeType": "ExpressionStatement", + "src": "20701:26:5" + } + ] + }, + "id": 5737, + "nodeType": "IfStatement", + "src": "20598:144:5", + "trueBody": { + "id": 5728, + "nodeType": "Block", + "src": "20618:59:5", + "statements": [ + { + "expression": { + "id": 5726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5721, + "name": "totSup", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5709, + "src": "20636:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5722, + "name": "prevBal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5673, + "src": "20647:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 5723, + "name": "give", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5656, + "src": "20657:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20647:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5725, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "20646:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20636:26:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5727, + "nodeType": "ExpressionStatement", + "src": "20636:26:5" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 5747, + "name": "totSup", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5709, + "src": "20808:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "hexValue": "30783138313630646464", + "id": 5744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20782:10:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_404098525_by_1", + "typeString": "int_const 404098525" + }, + "value": "0x18160ddd" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_404098525_by_1", + "typeString": "int_const 404098525" + } + ], + "expression": { + "arguments": [ + { + "id": 5741, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5652, + "src": "20771:5:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 5738, + "name": "stdstore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5374, + "src": "20755:8:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage", + "typeString": "struct StdStorage storage ref" + } + }, + "id": 5740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20764:6:5", + "memberName": "target", + "nodeType": "MemberAccess", + "referencedDeclaration": 7615, + "src": "20755:15:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$bound_to$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" + } + }, + "id": 5742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20755:22:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 5743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20778:3:5", + "memberName": "sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 7633, + "src": "20755:26:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$bound_to$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)" + } + }, + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20755:38:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 5746, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20794:13:5", + "memberName": "checked_write", + "nodeType": "MemberAccess", + "referencedDeclaration": 7763, + "src": "20755:52:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,uint256)" + } + }, + "id": 5748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20755:60:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5749, + "nodeType": "ExpressionStatement", + "src": "20755:60:5" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deal", + "nameLocation": "20016:4:5", + "parameters": { + "id": 5659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5652, + "mutability": "mutable", + "name": "token", + "nameLocation": "20029:5:5", + "nodeType": "VariableDeclaration", + "scope": 5753, + "src": "20021:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5651, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20021:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5654, + "mutability": "mutable", + "name": "to", + "nameLocation": "20044:2:5", + "nodeType": "VariableDeclaration", + "scope": 5753, + "src": "20036:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5653, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20036:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5656, + "mutability": "mutable", + "name": "give", + "nameLocation": "20056:4:5", + "nodeType": "VariableDeclaration", + "scope": 5753, + "src": "20048:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5655, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20048:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5658, + "mutability": "mutable", + "name": "adjust", + "nameLocation": "20067:6:5", + "nodeType": "VariableDeclaration", + "scope": 5753, + "src": "20062:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20062:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "20020:54:5" + }, + "returnParameters": { + "id": 5660, + "nodeType": "ParameterList", + "parameters": [], + "src": "20092:0:5" + }, + "scope": 5754, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5366, + "name": "StdCheatsSafe", + "nameLocations": [ + "17553:13:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 5365, + "src": "17553:13:5" + }, + "id": 5367, + "nodeType": "InheritanceSpecifier", + "src": "17553:13:5" + } + ], + "canonicalName": "StdCheats", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 5754, + 5365 + ], + "name": "StdCheats", + "nameLocation": "17540:9:5", + "scope": 5755, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/StdError.sol": { + "id": 6, + "ast": { + "absolutePath": "lib/forge-std/src/StdError.sol", + "id": 5821, + "exportedSymbols": { + "stdError": [ + 5820 + ] + }, + "nodeType": "SourceUnit", + "src": "129:884:6", + "nodes": [ + { + "id": 5756, + "nodeType": "PragmaDirective", + "src": "129:31:6", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 5820, + "nodeType": "ContractDefinition", + "src": "162:850:6", + "nodes": [ + { + "id": 5763, + "nodeType": "VariableDeclaration", + "src": "185:86:6", + "nodes": [], + "constant": true, + "functionSelector": "10332977", + "mutability": "constant", + "name": "assertionError", + "nameLocation": "207:14:6", + "scope": 5820, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5757, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "185:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50616e69632875696e7432353629", + "id": 5760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "248:16:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + "value": "Panic(uint256)" + }, + { + "hexValue": "30783031", + "id": 5761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "266:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x01" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "id": 5758, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "224:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "228:19:6", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "224:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "224:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "visibility": "public" + }, + { + "id": 5770, + "nodeType": "VariableDeclaration", + "src": "277:87:6", + "nodes": [], + "constant": true, + "functionSelector": "8995290f", + "mutability": "constant", + "name": "arithmeticError", + "nameLocation": "299:15:6", + "scope": 5820, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5764, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "277:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50616e69632875696e7432353629", + "id": 5767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "341:16:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + "value": "Panic(uint256)" + }, + { + "hexValue": "30783131", + "id": 5768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "359:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "0x11" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + } + ], + "expression": { + "id": 5765, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "317:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "321:19:6", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "317:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "317:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "visibility": "public" + }, + { + "id": 5777, + "nodeType": "VariableDeclaration", + "src": "370:85:6", + "nodes": [], + "constant": true, + "functionSelector": "fa784a44", + "mutability": "constant", + "name": "divisionError", + "nameLocation": "392:13:6", + "scope": 5820, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5771, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "370:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50616e69632875696e7432353629", + "id": 5774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "432:16:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + "value": "Panic(uint256)" + }, + { + "hexValue": "30783132", + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "450:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "0x12" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "expression": { + "id": 5772, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "408:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "412:19:6", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "408:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "408:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "visibility": "public" + }, + { + "id": 5784, + "nodeType": "VariableDeclaration", + "src": "461:91:6", + "nodes": [], + "constant": true, + "functionSelector": "1de45560", + "mutability": "constant", + "name": "enumConversionError", + "nameLocation": "483:19:6", + "scope": 5820, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5778, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "461:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50616e69632875696e7432353629", + "id": 5781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "529:16:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + "value": "Panic(uint256)" + }, + { + "hexValue": "30783231", + "id": 5782, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "547:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + }, + "value": "0x21" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + } + ], + "expression": { + "id": 5779, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "505:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "509:19:6", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "505:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "505:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "visibility": "public" + }, + { + "id": 5791, + "nodeType": "VariableDeclaration", + "src": "558:90:6", + "nodes": [], + "constant": true, + "functionSelector": "d160e4de", + "mutability": "constant", + "name": "encodeStorageError", + "nameLocation": "580:18:6", + "scope": 5820, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5785, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "558:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50616e69632875696e7432353629", + "id": 5788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "625:16:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + "value": "Panic(uint256)" + }, + { + "hexValue": "30783232", + "id": 5789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "643:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_34_by_1", + "typeString": "int_const 34" + }, + "value": "0x22" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + { + "typeIdentifier": "t_rational_34_by_1", + "typeString": "int_const 34" + } + ], + "expression": { + "id": 5786, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "601:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "605:19:6", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "601:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "601:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "visibility": "public" + }, + { + "id": 5798, + "nodeType": "VariableDeclaration", + "src": "654:80:6", + "nodes": [], + "constant": true, + "functionSelector": "b22dc54d", + "mutability": "constant", + "name": "popError", + "nameLocation": "676:8:6", + "scope": 5820, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5792, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "654:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50616e69632875696e7432353629", + "id": 5795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "711:16:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + "value": "Panic(uint256)" + }, + { + "hexValue": "30783331", + "id": 5796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "729:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_49_by_1", + "typeString": "int_const 49" + }, + "value": "0x31" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + { + "typeIdentifier": "t_rational_49_by_1", + "typeString": "int_const 49" + } + ], + "expression": { + "id": 5793, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "687:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "691:19:6", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "687:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "687:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "visibility": "public" + }, + { + "id": 5805, + "nodeType": "VariableDeclaration", + "src": "740:85:6", + "nodes": [], + "constant": true, + "functionSelector": "05ee8612", + "mutability": "constant", + "name": "indexOOBError", + "nameLocation": "762:13:6", + "scope": 5820, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5799, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "740:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50616e69632875696e7432353629", + "id": 5802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "802:16:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + "value": "Panic(uint256)" + }, + { + "hexValue": "30783332", + "id": 5803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "820:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "0x32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + } + ], + "expression": { + "id": 5800, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "778:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "782:19:6", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "778:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "778:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "visibility": "public" + }, + { + "id": 5812, + "nodeType": "VariableDeclaration", + "src": "831:88:6", + "nodes": [], + "constant": true, + "functionSelector": "986c5f68", + "mutability": "constant", + "name": "memOverflowError", + "nameLocation": "853:16:6", + "scope": 5820, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5806, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "831:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50616e69632875696e7432353629", + "id": 5809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "896:16:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + "value": "Panic(uint256)" + }, + { + "hexValue": "30783431", + "id": 5810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "914:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "0x41" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + } + ], + "expression": { + "id": 5807, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "872:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "876:19:6", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "872:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "872:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "visibility": "public" + }, + { + "id": 5819, + "nodeType": "VariableDeclaration", + "src": "925:84:6", + "nodes": [], + "constant": true, + "functionSelector": "b67689da", + "mutability": "constant", + "name": "zeroVarError", + "nameLocation": "947:12:6", + "scope": 5820, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5813, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "925:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50616e69632875696e7432353629", + "id": 5816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "986:16:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + "value": "Panic(uint256)" + }, + { + "hexValue": "30783531", + "id": 5817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1004:4:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_81_by_1", + "typeString": "int_const 81" + }, + "value": "0x51" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", + "typeString": "literal_string \"Panic(uint256)\"" + }, + { + "typeIdentifier": "t_rational_81_by_1", + "typeString": "int_const 81" + } + ], + "expression": { + "id": 5814, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "962:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "966:19:6", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "962:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "962:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "stdError", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 5820 + ], + "name": "stdError", + "nameLocation": "170:8:6", + "scope": 5821, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/StdJson.sol": { + "id": 7, + "ast": { + "absolutePath": "lib/forge-std/src/StdJson.sol", + "id": 6488, + "exportedSymbols": { + "VmSafe": [ + 9908 + ], + "stdJson": [ + 6487 + ] + }, + "nodeType": "SourceUnit", + "src": "32:6458:7", + "nodes": [ + { + "id": 5822, + "nodeType": "PragmaDirective", + "src": "32:31:7", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.9", + ".0" + ] + }, + { + "id": 5823, + "nodeType": "PragmaDirective", + "src": "65:33:7", + "nodes": [], + "literals": [ + "experimental", + "ABIEncoderV2" + ] + }, + { + "id": 5825, + "nodeType": "ImportDirective", + "src": "100:32:7", + "nodes": [], + "absolutePath": "lib/forge-std/src/Vm.sol", + "file": "./Vm.sol", + "nameLocation": "-1:-1:-1", + "scope": 6488, + "sourceUnit": 10234, + "symbolAliases": [ + { + "foreign": { + "id": 5824, + "name": "VmSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9908, + "src": "108:6:7", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 6487, + "nodeType": "ContractDefinition", + "src": "830:5659:7", + "nodes": [ + { + "id": 5842, + "nodeType": "VariableDeclaration", + "src": "852:92:7", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "vm", + "nameLocation": "876:2:7", + "scope": 6487, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + }, + "typeName": { + "id": 5827, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5826, + "name": "VmSafe", + "nameLocations": [ + "852:6:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9908, + "src": "852:6:7" + }, + "referencedDeclaration": 9908, + "src": "852:6:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6865766d20636865617420636f6465", + "id": 5836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "922:17:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + }, + "value": "hevm cheat code" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + } + ], + "id": 5835, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "912:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "912:28:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5834, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "904:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "904:7:7", + "typeDescriptions": {} + } + }, + "id": 5838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "904:37:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "896:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 5831, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "896:7:7", + "typeDescriptions": {} + } + }, + "id": 5839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "896:46:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 5830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "888:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "888:7:7", + "typeDescriptions": {} + } + }, + "id": 5840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "888:55:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5828, + "name": "VmSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9908, + "src": "881:6:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_VmSafe_$9908_$", + "typeString": "type(contract VmSafe)" + } + }, + "id": 5841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "881:63:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "visibility": "private" + }, + { + "id": 5858, + "nodeType": "FunctionDefinition", + "src": "951:141:7", + "nodes": [], + "body": { + "id": 5857, + "nodeType": "Block", + "src": "1045:47:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5853, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "1075:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5854, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5846, + "src": "1081:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5851, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "1062:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 5852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1065:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "1062:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 5855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1062:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 5850, + "id": 5856, + "nodeType": "Return", + "src": "1055:30:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "parseRaw", + "nameLocation": "960:8:7", + "parameters": { + "id": 5847, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5844, + "mutability": "mutable", + "name": "json", + "nameLocation": "983:4:7", + "nodeType": "VariableDeclaration", + "scope": 5858, + "src": "969:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5843, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "969:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5846, + "mutability": "mutable", + "name": "key", + "nameLocation": "1003:3:7", + "nodeType": "VariableDeclaration", + "scope": 5858, + "src": "989:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5845, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "989:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "968:39:7" + }, + "returnParameters": { + "id": 5850, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5849, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5858, + "src": "1031:12:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5848, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1031:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1030:14:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 5880, + "nodeType": "FunctionDefinition", + "src": "1098:159:7", + "nodes": [], + "body": { + "id": 5879, + "nodeType": "Block", + "src": "1187:70:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5871, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5860, + "src": "1228:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5872, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5862, + "src": "1234:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5869, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "1215:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 5870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1218:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "1215:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 5873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1215:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 5875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1241:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5874, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1241:7:7", + "typeDescriptions": {} + } + } + ], + "id": 5876, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1240:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "expression": { + "id": 5867, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1204:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1208:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1204:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1204:46:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5866, + "id": 5878, + "nodeType": "Return", + "src": "1197:53:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readUint", + "nameLocation": "1107:8:7", + "parameters": { + "id": 5863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5860, + "mutability": "mutable", + "name": "json", + "nameLocation": "1130:4:7", + "nodeType": "VariableDeclaration", + "scope": 5880, + "src": "1116:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5859, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1116:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5862, + "mutability": "mutable", + "name": "key", + "nameLocation": "1150:3:7", + "nodeType": "VariableDeclaration", + "scope": 5880, + "src": "1136:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5861, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1136:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1115:39:7" + }, + "returnParameters": { + "id": 5866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5865, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5880, + "src": "1178:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5864, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1178:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1177:9:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 5904, + "nodeType": "FunctionDefinition", + "src": "1263:175:7", + "nodes": [], + "body": { + "id": 5903, + "nodeType": "Block", + "src": "1366:72:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5894, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5882, + "src": "1407:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5895, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5884, + "src": "1413:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5892, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "1394:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 5893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1397:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "1394:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 5896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1394:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 5898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1420:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5897, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1420:7:7", + "typeDescriptions": {} + } + }, + "id": 5899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1420:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "type(uint256[] memory)" + } + } + ], + "id": 5900, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1419:11:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "type(uint256[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "type(uint256[] memory)" + } + ], + "expression": { + "id": 5890, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1383:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1387:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1383:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1383:48:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 5889, + "id": 5902, + "nodeType": "Return", + "src": "1376:55:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readUintArray", + "nameLocation": "1272:13:7", + "parameters": { + "id": 5885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5882, + "mutability": "mutable", + "name": "json", + "nameLocation": "1300:4:7", + "nodeType": "VariableDeclaration", + "scope": 5904, + "src": "1286:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5881, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1286:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5884, + "mutability": "mutable", + "name": "key", + "nameLocation": "1320:3:7", + "nodeType": "VariableDeclaration", + "scope": 5904, + "src": "1306:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5883, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1306:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1285:39:7" + }, + "returnParameters": { + "id": 5889, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5888, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5904, + "src": "1348:16:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5886, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1348:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5887, + "nodeType": "ArrayTypeName", + "src": "1348:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1347:18:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 5926, + "nodeType": "FunctionDefinition", + "src": "1444:156:7", + "nodes": [], + "body": { + "id": 5925, + "nodeType": "Block", + "src": "1531:69:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5917, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5906, + "src": "1572:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5918, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5908, + "src": "1578:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5915, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "1559:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 5916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1562:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "1559:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 5919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1559:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 5921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1585:6:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 5920, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1585:6:7", + "typeDescriptions": {} + } + } + ], + "id": 5922, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1584:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + } + ], + "expression": { + "id": 5913, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1548:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1552:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1548:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1548:45:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 5912, + "id": 5924, + "nodeType": "Return", + "src": "1541:52:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readInt", + "nameLocation": "1453:7:7", + "parameters": { + "id": 5909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5906, + "mutability": "mutable", + "name": "json", + "nameLocation": "1475:4:7", + "nodeType": "VariableDeclaration", + "scope": 5926, + "src": "1461:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5905, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1461:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5908, + "mutability": "mutable", + "name": "key", + "nameLocation": "1495:3:7", + "nodeType": "VariableDeclaration", + "scope": 5926, + "src": "1481:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5907, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1481:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1460:39:7" + }, + "returnParameters": { + "id": 5912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5911, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5926, + "src": "1523:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 5910, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1523:6:7", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1522:8:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 5950, + "nodeType": "FunctionDefinition", + "src": "1606:172:7", + "nodes": [], + "body": { + "id": 5949, + "nodeType": "Block", + "src": "1707:71:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5940, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5928, + "src": "1748:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5941, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5930, + "src": "1754:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5938, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "1735:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 5939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1738:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "1735:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 5942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1735:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 5944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1761:6:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 5943, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1761:6:7", + "typeDescriptions": {} + } + }, + "id": 5945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1761:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_int256_$dyn_memory_ptr_$", + "typeString": "type(int256[] memory)" + } + } + ], + "id": 5946, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1760:10:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_int256_$dyn_memory_ptr_$", + "typeString": "type(int256[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_int256_$dyn_memory_ptr_$", + "typeString": "type(int256[] memory)" + } + ], + "expression": { + "id": 5936, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1724:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1728:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1724:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1724:47:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + }, + "functionReturnParameters": 5935, + "id": 5948, + "nodeType": "Return", + "src": "1717:54:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readIntArray", + "nameLocation": "1615:12:7", + "parameters": { + "id": 5931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5928, + "mutability": "mutable", + "name": "json", + "nameLocation": "1642:4:7", + "nodeType": "VariableDeclaration", + "scope": 5950, + "src": "1628:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5927, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1628:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5930, + "mutability": "mutable", + "name": "key", + "nameLocation": "1662:3:7", + "nodeType": "VariableDeclaration", + "scope": 5950, + "src": "1648:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5929, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1648:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1627:39:7" + }, + "returnParameters": { + "id": 5935, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5934, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5950, + "src": "1690:15:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 5932, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1690:6:7", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 5933, + "nodeType": "ArrayTypeName", + "src": "1690:8:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1689:17:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 5972, + "nodeType": "FunctionDefinition", + "src": "1784:162:7", + "nodes": [], + "body": { + "id": 5971, + "nodeType": "Block", + "src": "1876:70:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5963, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5952, + "src": "1917:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5964, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5954, + "src": "1923:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5961, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "1904:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 5962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1907:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "1904:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 5965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1904:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 5967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1930:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 5966, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1930:7:7", + "typeDescriptions": {} + } + } + ], + "id": 5968, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1929:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + ], + "expression": { + "id": 5959, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1893:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1897:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1893:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1893:46:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 5958, + "id": 5970, + "nodeType": "Return", + "src": "1886:53:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytes32", + "nameLocation": "1793:11:7", + "parameters": { + "id": 5955, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5952, + "mutability": "mutable", + "name": "json", + "nameLocation": "1819:4:7", + "nodeType": "VariableDeclaration", + "scope": 5972, + "src": "1805:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5951, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1805:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5954, + "mutability": "mutable", + "name": "key", + "nameLocation": "1839:3:7", + "nodeType": "VariableDeclaration", + "scope": 5972, + "src": "1825:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5953, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1825:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1804:39:7" + }, + "returnParameters": { + "id": 5958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5957, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5972, + "src": "1867:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5956, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1867:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1866:9:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 5996, + "nodeType": "FunctionDefinition", + "src": "1952:178:7", + "nodes": [], + "body": { + "id": 5995, + "nodeType": "Block", + "src": "2058:72:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5986, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5974, + "src": "2099:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5987, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5976, + "src": "2105:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 5984, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "2086:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 5985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2089:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "2086:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 5988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2086:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2112:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 5989, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2112:7:7", + "typeDescriptions": {} + } + }, + "id": 5991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2112:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "type(bytes32[] memory)" + } + } + ], + "id": 5992, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2111:11:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "type(bytes32[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "type(bytes32[] memory)" + } + ], + "expression": { + "id": 5982, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2075:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2079:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "2075:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2075:48:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "functionReturnParameters": 5981, + "id": 5994, + "nodeType": "Return", + "src": "2068:55:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytes32Array", + "nameLocation": "1961:16:7", + "parameters": { + "id": 5977, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5974, + "mutability": "mutable", + "name": "json", + "nameLocation": "1992:4:7", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "1978:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5973, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1978:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5976, + "mutability": "mutable", + "name": "key", + "nameLocation": "2012:3:7", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "1998:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5975, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1998:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1977:39:7" + }, + "returnParameters": { + "id": 5981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5980, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5996, + "src": "2040:16:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5978, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2040:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5979, + "nodeType": "ArrayTypeName", + "src": "2040:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "2039:18:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6018, + "nodeType": "FunctionDefinition", + "src": "2136:166:7", + "nodes": [], + "body": { + "id": 6017, + "nodeType": "Block", + "src": "2233:69:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6009, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5998, + "src": "2274:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6010, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6000, + "src": "2280:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6007, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "2261:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2264:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "2261:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 6011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2261:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 6013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2287:6:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 6012, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2287:6:7", + "typeDescriptions": {} + } + } + ], + "id": 6014, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2286:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + } + ], + "expression": { + "id": 6005, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2250:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2254:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "2250:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2250:45:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6004, + "id": 6016, + "nodeType": "Return", + "src": "2243:52:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readString", + "nameLocation": "2145:10:7", + "parameters": { + "id": 6001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5998, + "mutability": "mutable", + "name": "json", + "nameLocation": "2170:4:7", + "nodeType": "VariableDeclaration", + "scope": 6018, + "src": "2156:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5997, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2156:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6000, + "mutability": "mutable", + "name": "key", + "nameLocation": "2190:3:7", + "nodeType": "VariableDeclaration", + "scope": 6018, + "src": "2176:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5999, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2176:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2155:39:7" + }, + "returnParameters": { + "id": 6004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6003, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6018, + "src": "2218:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6002, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2218:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2217:15:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6042, + "nodeType": "FunctionDefinition", + "src": "2308:175:7", + "nodes": [], + "body": { + "id": 6041, + "nodeType": "Block", + "src": "2412:71:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6032, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6020, + "src": "2453:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6033, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6022, + "src": "2459:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6030, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "2440:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2443:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "2440:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 6034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2440:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 6036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2466:6:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 6035, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2466:6:7", + "typeDescriptions": {} + } + }, + "id": 6037, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2466:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(string memory[] memory)" + } + } + ], + "id": 6038, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2465:10:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(string memory[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(string memory[] memory)" + } + ], + "expression": { + "id": 6028, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2429:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2433:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "2429:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2429:47:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "functionReturnParameters": 6027, + "id": 6040, + "nodeType": "Return", + "src": "2422:54:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readStringArray", + "nameLocation": "2317:15:7", + "parameters": { + "id": 6023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6020, + "mutability": "mutable", + "name": "json", + "nameLocation": "2347:4:7", + "nodeType": "VariableDeclaration", + "scope": 6042, + "src": "2333:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6019, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2333:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6022, + "mutability": "mutable", + "name": "key", + "nameLocation": "2367:3:7", + "nodeType": "VariableDeclaration", + "scope": 6042, + "src": "2353:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6021, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2353:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2332:39:7" + }, + "returnParameters": { + "id": 6027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6026, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6042, + "src": "2395:15:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 6024, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2395:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 6025, + "nodeType": "ArrayTypeName", + "src": "2395:8:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "2394:17:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6064, + "nodeType": "FunctionDefinition", + "src": "2489:162:7", + "nodes": [], + "body": { + "id": 6063, + "nodeType": "Block", + "src": "2581:70:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6055, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6044, + "src": "2622:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6056, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6046, + "src": "2628:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6053, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "2609:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2612:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "2609:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 6057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2609:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 6059, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2635:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2635:7:7", + "typeDescriptions": {} + } + } + ], + "id": 6060, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2634:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 6051, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2598:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2602:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "2598:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2598:46:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 6050, + "id": 6062, + "nodeType": "Return", + "src": "2591:53:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readAddress", + "nameLocation": "2498:11:7", + "parameters": { + "id": 6047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6044, + "mutability": "mutable", + "name": "json", + "nameLocation": "2524:4:7", + "nodeType": "VariableDeclaration", + "scope": 6064, + "src": "2510:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6043, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2510:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6046, + "mutability": "mutable", + "name": "key", + "nameLocation": "2544:3:7", + "nodeType": "VariableDeclaration", + "scope": 6064, + "src": "2530:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6045, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2530:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2509:39:7" + }, + "returnParameters": { + "id": 6050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6049, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6064, + "src": "2572:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6048, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2572:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2571:9:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6088, + "nodeType": "FunctionDefinition", + "src": "2657:178:7", + "nodes": [], + "body": { + "id": 6087, + "nodeType": "Block", + "src": "2763:72:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6078, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6066, + "src": "2804:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6079, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6068, + "src": "2810:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6076, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "2791:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2794:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "2791:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 6080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2791:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 6082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2817:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2817:7:7", + "typeDescriptions": {} + } + }, + "id": 6083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2817:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "type(address[] memory)" + } + } + ], + "id": 6084, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2816:11:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "type(address[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "type(address[] memory)" + } + ], + "expression": { + "id": 6074, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2780:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2784:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "2780:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2780:48:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "functionReturnParameters": 6073, + "id": 6086, + "nodeType": "Return", + "src": "2773:55:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readAddressArray", + "nameLocation": "2666:16:7", + "parameters": { + "id": 6069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6066, + "mutability": "mutable", + "name": "json", + "nameLocation": "2697:4:7", + "nodeType": "VariableDeclaration", + "scope": 6088, + "src": "2683:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2683:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6068, + "mutability": "mutable", + "name": "key", + "nameLocation": "2717:3:7", + "nodeType": "VariableDeclaration", + "scope": 6088, + "src": "2703:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6067, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2703:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2682:39:7" + }, + "returnParameters": { + "id": 6073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6072, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6088, + "src": "2745:16:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 6070, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2745:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6071, + "nodeType": "ArrayTypeName", + "src": "2745:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2744:18:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6110, + "nodeType": "FunctionDefinition", + "src": "2841:153:7", + "nodes": [], + "body": { + "id": 6109, + "nodeType": "Block", + "src": "2927:67:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6101, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6090, + "src": "2968:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6102, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6092, + "src": "2974:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6099, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "2955:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2958:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "2955:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 6103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2955:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 6105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2981:4:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + }, + "typeName": { + "id": 6104, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2981:4:7", + "typeDescriptions": {} + } + } + ], + "id": 6106, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2980:6:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + } + ], + "expression": { + "id": 6097, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2944:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2948:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "2944:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2944:43:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6096, + "id": 6108, + "nodeType": "Return", + "src": "2937:50:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBool", + "nameLocation": "2850:8:7", + "parameters": { + "id": 6093, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6090, + "mutability": "mutable", + "name": "json", + "nameLocation": "2873:4:7", + "nodeType": "VariableDeclaration", + "scope": 6110, + "src": "2859:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6089, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2859:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6092, + "mutability": "mutable", + "name": "key", + "nameLocation": "2893:3:7", + "nodeType": "VariableDeclaration", + "scope": 6110, + "src": "2879:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6091, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2879:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2858:39:7" + }, + "returnParameters": { + "id": 6096, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6095, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6110, + "src": "2921:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6094, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2921:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2920:6:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6134, + "nodeType": "FunctionDefinition", + "src": "3000:169:7", + "nodes": [], + "body": { + "id": 6133, + "nodeType": "Block", + "src": "3100:69:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6124, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6112, + "src": "3141:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6125, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6114, + "src": "3147:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6122, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "3128:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3131:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "3128:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 6126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3128:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 6128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3154:4:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + }, + "typeName": { + "id": 6127, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3154:4:7", + "typeDescriptions": {} + } + }, + "id": 6129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3154:6:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bool_$dyn_memory_ptr_$", + "typeString": "type(bool[] memory)" + } + } + ], + "id": 6130, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3153:8:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bool_$dyn_memory_ptr_$", + "typeString": "type(bool[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_bool_$dyn_memory_ptr_$", + "typeString": "type(bool[] memory)" + } + ], + "expression": { + "id": 6120, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3117:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3121:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "3117:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3117:45:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "functionReturnParameters": 6119, + "id": 6132, + "nodeType": "Return", + "src": "3110:52:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBoolArray", + "nameLocation": "3009:13:7", + "parameters": { + "id": 6115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6112, + "mutability": "mutable", + "name": "json", + "nameLocation": "3037:4:7", + "nodeType": "VariableDeclaration", + "scope": 6134, + "src": "3023:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6111, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3023:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6114, + "mutability": "mutable", + "name": "key", + "nameLocation": "3057:3:7", + "nodeType": "VariableDeclaration", + "scope": 6134, + "src": "3043:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6113, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3043:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3022:39:7" + }, + "returnParameters": { + "id": 6119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6118, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6134, + "src": "3085:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 6116, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3085:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6117, + "nodeType": "ArrayTypeName", + "src": "3085:6:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "src": "3084:15:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6156, + "nodeType": "FunctionDefinition", + "src": "3175:163:7", + "nodes": [], + "body": { + "id": 6155, + "nodeType": "Block", + "src": "3270:68:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6147, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "3311:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6148, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6138, + "src": "3317:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6145, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "3298:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3301:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "3298:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 6149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3298:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 6151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3324:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 6150, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3324:5:7", + "typeDescriptions": {} + } + } + ], + "id": 6152, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3323:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + } + ], + "expression": { + "id": 6143, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3287:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3291:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "3287:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3287:44:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6142, + "id": 6154, + "nodeType": "Return", + "src": "3280:51:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytes", + "nameLocation": "3184:9:7", + "parameters": { + "id": 6139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6136, + "mutability": "mutable", + "name": "json", + "nameLocation": "3208:4:7", + "nodeType": "VariableDeclaration", + "scope": 6156, + "src": "3194:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6135, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3194:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6138, + "mutability": "mutable", + "name": "key", + "nameLocation": "3228:3:7", + "nodeType": "VariableDeclaration", + "scope": 6156, + "src": "3214:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6137, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3214:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3193:39:7" + }, + "returnParameters": { + "id": 6142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6141, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6156, + "src": "3256:12:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6140, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3256:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3255:14:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6180, + "nodeType": "FunctionDefinition", + "src": "3344:172:7", + "nodes": [], + "body": { + "id": 6179, + "nodeType": "Block", + "src": "3446:70:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6170, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6158, + "src": "3487:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6171, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6160, + "src": "3493:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6168, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "3474:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3477:9:7", + "memberName": "parseJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9557, + "src": "3474:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory,string memory) pure external returns (bytes memory)" + } + }, + "id": 6172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3474:23:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 6174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3500:5:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 6173, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3500:5:7", + "typeDescriptions": {} + } + }, + "id": 6175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3500:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + } + ], + "id": 6176, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3499:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + ], + "expression": { + "id": 6166, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3463:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3467:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "3463:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3463:46:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "functionReturnParameters": 6165, + "id": 6178, + "nodeType": "Return", + "src": "3456:53:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytesArray", + "nameLocation": "3353:14:7", + "parameters": { + "id": 6161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6158, + "mutability": "mutable", + "name": "json", + "nameLocation": "3382:4:7", + "nodeType": "VariableDeclaration", + "scope": 6180, + "src": "3368:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6157, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3368:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6160, + "mutability": "mutable", + "name": "key", + "nameLocation": "3402:3:7", + "nodeType": "VariableDeclaration", + "scope": 6180, + "src": "3388:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6159, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3388:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3367:39:7" + }, + "returnParameters": { + "id": 6165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6164, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6180, + "src": "3430:14:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 6162, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3430:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 6163, + "nodeType": "ArrayTypeName", + "src": "3430:7:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "3429:16:7" + }, + "scope": 6487, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6199, + "nodeType": "FunctionDefinition", + "src": "3522:167:7", + "nodes": [], + "body": { + "id": 6198, + "nodeType": "Block", + "src": "3628:61:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6193, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6182, + "src": "3662:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6194, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6184, + "src": "3671:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6195, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6186, + "src": "3676:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 6191, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "3645:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3648:13:7", + "memberName": "serializeBool", + "nodeType": "MemberAccess", + "referencedDeclaration": 9708, + "src": "3645:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,bool) external returns (string memory)" + } + }, + "id": 6196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3645:37:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6190, + "id": 6197, + "nodeType": "Return", + "src": "3638:44:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "3531:9:7", + "parameters": { + "id": 6187, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6182, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "3555:7:7", + "nodeType": "VariableDeclaration", + "scope": 6199, + "src": "3541:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6181, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3541:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6184, + "mutability": "mutable", + "name": "key", + "nameLocation": "3578:3:7", + "nodeType": "VariableDeclaration", + "scope": 6199, + "src": "3564:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6183, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3564:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6186, + "mutability": "mutable", + "name": "value", + "nameLocation": "3588:5:7", + "nodeType": "VariableDeclaration", + "scope": 6199, + "src": "3583:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6185, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3583:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3540:54:7" + }, + "returnParameters": { + "id": 6190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6189, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6199, + "src": "3613:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6188, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3613:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3612:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6219, + "nodeType": "FunctionDefinition", + "src": "3695:196:7", + "nodes": [], + "body": { + "id": 6218, + "nodeType": "Block", + "src": "3830:61:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6213, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "3864:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6214, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "3873:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6215, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "3878:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + ], + "expression": { + "id": 6211, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "3847:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3850:13:7", + "memberName": "serializeBool", + "nodeType": "MemberAccess", + "referencedDeclaration": 9786, + "src": "3847:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,bool[] memory) external returns (string memory)" + } + }, + "id": 6216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3847:37:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6210, + "id": 6217, + "nodeType": "Return", + "src": "3840:44:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "3704:9:7", + "parameters": { + "id": 6207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6201, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "3728:7:7", + "nodeType": "VariableDeclaration", + "scope": 6219, + "src": "3714:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6200, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3714:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6203, + "mutability": "mutable", + "name": "key", + "nameLocation": "3751:3:7", + "nodeType": "VariableDeclaration", + "scope": 6219, + "src": "3737:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6202, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3737:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6206, + "mutability": "mutable", + "name": "value", + "nameLocation": "3770:5:7", + "nodeType": "VariableDeclaration", + "scope": 6219, + "src": "3756:19:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 6204, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3756:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6205, + "nodeType": "ArrayTypeName", + "src": "3756:6:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "src": "3713:63:7" + }, + "returnParameters": { + "id": 6210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6209, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6219, + "src": "3811:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6208, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3811:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3810:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6238, + "nodeType": "FunctionDefinition", + "src": "3897:170:7", + "nodes": [], + "body": { + "id": 6237, + "nodeType": "Block", + "src": "4006:61:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6232, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6221, + "src": "4040:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6233, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6223, + "src": "4049:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6234, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6225, + "src": "4054:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6230, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "4023:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4026:13:7", + "memberName": "serializeUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9719, + "src": "4023:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,uint256) external returns (string memory)" + } + }, + "id": 6235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4023:37:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6229, + "id": 6236, + "nodeType": "Return", + "src": "4016:44:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "3906:9:7", + "parameters": { + "id": 6226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6221, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "3930:7:7", + "nodeType": "VariableDeclaration", + "scope": 6238, + "src": "3916:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6220, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3916:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6223, + "mutability": "mutable", + "name": "key", + "nameLocation": "3953:3:7", + "nodeType": "VariableDeclaration", + "scope": 6238, + "src": "3939:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6222, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3939:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6225, + "mutability": "mutable", + "name": "value", + "nameLocation": "3966:5:7", + "nodeType": "VariableDeclaration", + "scope": 6238, + "src": "3958:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6224, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3958:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3915:57:7" + }, + "returnParameters": { + "id": 6229, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6228, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6238, + "src": "3991:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6227, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3991:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3990:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6258, + "nodeType": "FunctionDefinition", + "src": "4073:199:7", + "nodes": [], + "body": { + "id": 6257, + "nodeType": "Block", + "src": "4211:61:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6252, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6240, + "src": "4245:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6253, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6242, + "src": "4254:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6254, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6245, + "src": "4259:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "id": 6250, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "4228:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4231:13:7", + "memberName": "serializeUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9798, + "src": "4228:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,uint256[] memory) external returns (string memory)" + } + }, + "id": 6255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4228:37:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6249, + "id": 6256, + "nodeType": "Return", + "src": "4221:44:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "4082:9:7", + "parameters": { + "id": 6246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6240, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "4106:7:7", + "nodeType": "VariableDeclaration", + "scope": 6258, + "src": "4092:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6239, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4092:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6242, + "mutability": "mutable", + "name": "key", + "nameLocation": "4129:3:7", + "nodeType": "VariableDeclaration", + "scope": 6258, + "src": "4115:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6241, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4115:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6245, + "mutability": "mutable", + "name": "value", + "nameLocation": "4151:5:7", + "nodeType": "VariableDeclaration", + "scope": 6258, + "src": "4134:22:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4134:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6244, + "nodeType": "ArrayTypeName", + "src": "4134:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "4091:66:7" + }, + "returnParameters": { + "id": 6249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6248, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6258, + "src": "4192:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6247, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4192:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4191:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6277, + "nodeType": "FunctionDefinition", + "src": "4278:168:7", + "nodes": [], + "body": { + "id": 6276, + "nodeType": "Block", + "src": "4386:60:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6271, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6260, + "src": "4419:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6272, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6262, + "src": "4428:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6273, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6264, + "src": "4433:5:7", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 6269, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "4403:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4406:12:7", + "memberName": "serializeInt", + "nodeType": "MemberAccess", + "referencedDeclaration": 9730, + "src": "4403:15:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,int256) external returns (string memory)" + } + }, + "id": 6274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4403:36:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6268, + "id": 6275, + "nodeType": "Return", + "src": "4396:43:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "4287:9:7", + "parameters": { + "id": 6265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6260, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "4311:7:7", + "nodeType": "VariableDeclaration", + "scope": 6277, + "src": "4297:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6259, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4297:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6262, + "mutability": "mutable", + "name": "key", + "nameLocation": "4334:3:7", + "nodeType": "VariableDeclaration", + "scope": 6277, + "src": "4320:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6261, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4320:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6264, + "mutability": "mutable", + "name": "value", + "nameLocation": "4346:5:7", + "nodeType": "VariableDeclaration", + "scope": 6277, + "src": "4339:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6263, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4339:6:7", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4296:56:7" + }, + "returnParameters": { + "id": 6268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6267, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6277, + "src": "4371:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6266, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4371:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4370:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6297, + "nodeType": "FunctionDefinition", + "src": "4452:197:7", + "nodes": [], + "body": { + "id": 6296, + "nodeType": "Block", + "src": "4589:60:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6291, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6279, + "src": "4622:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6292, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6281, + "src": "4631:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6293, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "4636:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[] memory" + } + ], + "expression": { + "id": 6289, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "4606:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4609:12:7", + "memberName": "serializeInt", + "nodeType": "MemberAccess", + "referencedDeclaration": 9810, + "src": "4606:15:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,int256[] memory) external returns (string memory)" + } + }, + "id": 6294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4606:36:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6288, + "id": 6295, + "nodeType": "Return", + "src": "4599:43:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "4461:9:7", + "parameters": { + "id": 6285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6279, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "4485:7:7", + "nodeType": "VariableDeclaration", + "scope": 6297, + "src": "4471:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6278, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4471:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6281, + "mutability": "mutable", + "name": "key", + "nameLocation": "4508:3:7", + "nodeType": "VariableDeclaration", + "scope": 6297, + "src": "4494:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6280, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4494:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6284, + "mutability": "mutable", + "name": "value", + "nameLocation": "4529:5:7", + "nodeType": "VariableDeclaration", + "scope": 6297, + "src": "4513:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 6282, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4513:6:7", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 6283, + "nodeType": "ArrayTypeName", + "src": "4513:8:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "4470:65:7" + }, + "returnParameters": { + "id": 6288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6287, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6297, + "src": "4570:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6286, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4570:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4569:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6316, + "nodeType": "FunctionDefinition", + "src": "4655:173:7", + "nodes": [], + "body": { + "id": 6315, + "nodeType": "Block", + "src": "4764:64:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6310, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6299, + "src": "4801:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6311, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6301, + "src": "4810:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6312, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6303, + "src": "4815:5:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 6308, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "4781:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4784:16:7", + "memberName": "serializeAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9741, + "src": "4781:19:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,address) external returns (string memory)" + } + }, + "id": 6313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4781:40:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6307, + "id": 6314, + "nodeType": "Return", + "src": "4774:47:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "4664:9:7", + "parameters": { + "id": 6304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6299, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "4688:7:7", + "nodeType": "VariableDeclaration", + "scope": 6316, + "src": "4674:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6298, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4674:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6301, + "mutability": "mutable", + "name": "key", + "nameLocation": "4711:3:7", + "nodeType": "VariableDeclaration", + "scope": 6316, + "src": "4697:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6300, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4697:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6303, + "mutability": "mutable", + "name": "value", + "nameLocation": "4724:5:7", + "nodeType": "VariableDeclaration", + "scope": 6316, + "src": "4716:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4716:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4673:57:7" + }, + "returnParameters": { + "id": 6307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6306, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6316, + "src": "4749:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6305, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4749:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4748:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6336, + "nodeType": "FunctionDefinition", + "src": "4834:202:7", + "nodes": [], + "body": { + "id": 6335, + "nodeType": "Block", + "src": "4972:64:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6330, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6318, + "src": "5009:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6331, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6320, + "src": "5018:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6332, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6323, + "src": "5023:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "id": 6328, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "4989:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4992:16:7", + "memberName": "serializeAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9822, + "src": "4989:19:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,address[] memory) external returns (string memory)" + } + }, + "id": 6333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4989:40:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6327, + "id": 6334, + "nodeType": "Return", + "src": "4982:47:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "4843:9:7", + "parameters": { + "id": 6324, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6318, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "4867:7:7", + "nodeType": "VariableDeclaration", + "scope": 6336, + "src": "4853:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6317, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4853:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6320, + "mutability": "mutable", + "name": "key", + "nameLocation": "4890:3:7", + "nodeType": "VariableDeclaration", + "scope": 6336, + "src": "4876:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6319, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4876:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6323, + "mutability": "mutable", + "name": "value", + "nameLocation": "4912:5:7", + "nodeType": "VariableDeclaration", + "scope": 6336, + "src": "4895:22:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 6321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4895:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6322, + "nodeType": "ArrayTypeName", + "src": "4895:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "4852:66:7" + }, + "returnParameters": { + "id": 6327, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6326, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6336, + "src": "4953:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6325, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4953:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4952:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6355, + "nodeType": "FunctionDefinition", + "src": "5042:173:7", + "nodes": [], + "body": { + "id": 6354, + "nodeType": "Block", + "src": "5151:64:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6349, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6338, + "src": "5188:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6350, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6340, + "src": "5197:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6351, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6342, + "src": "5202:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 6347, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "5168:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5171:16:7", + "memberName": "serializeBytes32", + "nodeType": "MemberAccess", + "referencedDeclaration": 9752, + "src": "5168:19:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,bytes32) external returns (string memory)" + } + }, + "id": 6352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5168:40:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6346, + "id": 6353, + "nodeType": "Return", + "src": "5161:47:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "5051:9:7", + "parameters": { + "id": 6343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6338, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "5075:7:7", + "nodeType": "VariableDeclaration", + "scope": 6355, + "src": "5061:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6337, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5061:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6340, + "mutability": "mutable", + "name": "key", + "nameLocation": "5098:3:7", + "nodeType": "VariableDeclaration", + "scope": 6355, + "src": "5084:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6339, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5084:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6342, + "mutability": "mutable", + "name": "value", + "nameLocation": "5111:5:7", + "nodeType": "VariableDeclaration", + "scope": 6355, + "src": "5103:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6341, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5103:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5060:57:7" + }, + "returnParameters": { + "id": 6346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6345, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6355, + "src": "5136:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6344, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5136:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5135:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6375, + "nodeType": "FunctionDefinition", + "src": "5221:202:7", + "nodes": [], + "body": { + "id": 6374, + "nodeType": "Block", + "src": "5359:64:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6369, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6357, + "src": "5396:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6370, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6359, + "src": "5405:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6371, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6362, + "src": "5410:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "expression": { + "id": 6367, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "5376:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5379:16:7", + "memberName": "serializeBytes32", + "nodeType": "MemberAccess", + "referencedDeclaration": 9834, + "src": "5376:19:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,bytes32[] memory) external returns (string memory)" + } + }, + "id": 6372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5376:40:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6366, + "id": 6373, + "nodeType": "Return", + "src": "5369:47:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "5230:9:7", + "parameters": { + "id": 6363, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6357, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "5254:7:7", + "nodeType": "VariableDeclaration", + "scope": 6375, + "src": "5240:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6356, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5240:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6359, + "mutability": "mutable", + "name": "key", + "nameLocation": "5277:3:7", + "nodeType": "VariableDeclaration", + "scope": 6375, + "src": "5263:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6358, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5263:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6362, + "mutability": "mutable", + "name": "value", + "nameLocation": "5299:5:7", + "nodeType": "VariableDeclaration", + "scope": 6375, + "src": "5282:22:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 6360, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5282:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6361, + "nodeType": "ArrayTypeName", + "src": "5282:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "5239:66:7" + }, + "returnParameters": { + "id": 6366, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6365, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6375, + "src": "5340:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6364, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5340:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5339:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6394, + "nodeType": "FunctionDefinition", + "src": "5429:176:7", + "nodes": [], + "body": { + "id": 6393, + "nodeType": "Block", + "src": "5543:62:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6388, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6377, + "src": "5578:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6389, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6379, + "src": "5587:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6390, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6381, + "src": "5592:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6386, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "5560:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5563:14:7", + "memberName": "serializeBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 9774, + "src": "5560:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,bytes memory) external returns (string memory)" + } + }, + "id": 6391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5560:38:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6385, + "id": 6392, + "nodeType": "Return", + "src": "5553:45:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "5438:9:7", + "parameters": { + "id": 6382, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6377, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "5462:7:7", + "nodeType": "VariableDeclaration", + "scope": 6394, + "src": "5448:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6376, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5448:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6379, + "mutability": "mutable", + "name": "key", + "nameLocation": "5485:3:7", + "nodeType": "VariableDeclaration", + "scope": 6394, + "src": "5471:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6378, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5471:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6381, + "mutability": "mutable", + "name": "value", + "nameLocation": "5503:5:7", + "nodeType": "VariableDeclaration", + "scope": 6394, + "src": "5490:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6380, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5490:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5447:62:7" + }, + "returnParameters": { + "id": 6385, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6384, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6394, + "src": "5528:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6383, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5528:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5527:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6414, + "nodeType": "FunctionDefinition", + "src": "5611:198:7", + "nodes": [], + "body": { + "id": 6413, + "nodeType": "Block", + "src": "5747:62:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6408, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6396, + "src": "5782:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6409, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6398, + "src": "5791:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6410, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6401, + "src": "5796:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + ], + "expression": { + "id": 6406, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "5764:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5767:14:7", + "memberName": "serializeBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 9858, + "src": "5764:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,bytes memory[] memory) external returns (string memory)" + } + }, + "id": 6411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5764:38:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6405, + "id": 6412, + "nodeType": "Return", + "src": "5757:45:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "5620:9:7", + "parameters": { + "id": 6402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6396, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "5644:7:7", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "5630:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6395, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5630:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6398, + "mutability": "mutable", + "name": "key", + "nameLocation": "5667:3:7", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "5653:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6397, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5653:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6401, + "mutability": "mutable", + "name": "value", + "nameLocation": "5687:5:7", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "5672:20:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 6399, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5672:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 6400, + "nodeType": "ArrayTypeName", + "src": "5672:7:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "5629:64:7" + }, + "returnParameters": { + "id": 6405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6404, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6414, + "src": "5728:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6403, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5728:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5727:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6433, + "nodeType": "FunctionDefinition", + "src": "5815:198:7", + "nodes": [], + "body": { + "id": 6432, + "nodeType": "Block", + "src": "5950:63:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6427, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6416, + "src": "5986:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6428, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6418, + "src": "5995:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6429, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6420, + "src": "6000:5:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6425, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "5967:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5970:15:7", + "memberName": "serializeString", + "nodeType": "MemberAccess", + "referencedDeclaration": 9763, + "src": "5967:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,string memory) external returns (string memory)" + } + }, + "id": 6430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5967:39:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6424, + "id": 6431, + "nodeType": "Return", + "src": "5960:46:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "5824:9:7", + "parameters": { + "id": 6421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6416, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "5848:7:7", + "nodeType": "VariableDeclaration", + "scope": 6433, + "src": "5834:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6415, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5834:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6418, + "mutability": "mutable", + "name": "key", + "nameLocation": "5871:3:7", + "nodeType": "VariableDeclaration", + "scope": 6433, + "src": "5857:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6417, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5857:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6420, + "mutability": "mutable", + "name": "value", + "nameLocation": "5890:5:7", + "nodeType": "VariableDeclaration", + "scope": 6433, + "src": "5876:19:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6419, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5876:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5833:63:7" + }, + "returnParameters": { + "id": 6424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6423, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6433, + "src": "5931:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6422, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5931:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5930:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6453, + "nodeType": "FunctionDefinition", + "src": "6019:200:7", + "nodes": [], + "body": { + "id": 6452, + "nodeType": "Block", + "src": "6156:63:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6447, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "6192:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6448, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "6201:3:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6449, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6440, + "src": "6206:5:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + ], + "expression": { + "id": 6445, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "6173:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6176:15:7", + "memberName": "serializeString", + "nodeType": "MemberAccess", + "referencedDeclaration": 9846, + "src": "6173:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory,string memory[] memory) external returns (string memory)" + } + }, + "id": 6450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6173:39:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6444, + "id": 6451, + "nodeType": "Return", + "src": "6166:46:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "serialize", + "nameLocation": "6028:9:7", + "parameters": { + "id": 6441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6435, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "6052:7:7", + "nodeType": "VariableDeclaration", + "scope": 6453, + "src": "6038:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6434, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6038:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6437, + "mutability": "mutable", + "name": "key", + "nameLocation": "6075:3:7", + "nodeType": "VariableDeclaration", + "scope": 6453, + "src": "6061:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6436, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6061:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6440, + "mutability": "mutable", + "name": "value", + "nameLocation": "6096:5:7", + "nodeType": "VariableDeclaration", + "scope": 6453, + "src": "6080:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 6438, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6080:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 6439, + "nodeType": "ArrayTypeName", + "src": "6080:8:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "6037:65:7" + }, + "returnParameters": { + "id": 6444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6443, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6453, + "src": "6137:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6442, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6137:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6136:15:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6468, + "nodeType": "FunctionDefinition", + "src": "6225:111:7", + "nodes": [], + "body": { + "id": 6467, + "nodeType": "Block", + "src": "6292:44:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6463, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6455, + "src": "6315:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6464, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6457, + "src": "6324:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6460, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "6302:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6305:9:7", + "memberName": "writeJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9865, + "src": "6302:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory) external" + } + }, + "id": 6465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6302:27:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6466, + "nodeType": "ExpressionStatement", + "src": "6302:27:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "write", + "nameLocation": "6234:5:7", + "parameters": { + "id": 6458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6455, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "6254:7:7", + "nodeType": "VariableDeclaration", + "scope": 6468, + "src": "6240:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6454, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6240:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6457, + "mutability": "mutable", + "name": "path", + "nameLocation": "6277:4:7", + "nodeType": "VariableDeclaration", + "scope": 6468, + "src": "6263:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6456, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6263:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6239:43:7" + }, + "returnParameters": { + "id": 6459, + "nodeType": "ParameterList", + "parameters": [], + "src": "6292:0:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6486, + "nodeType": "FunctionDefinition", + "src": "6342:145:7", + "nodes": [], + "body": { + "id": 6485, + "nodeType": "Block", + "src": "6433:54:7", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6480, + "name": "jsonKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6470, + "src": "6456:7:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6481, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6472, + "src": "6465:4:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6482, + "name": "valueKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6474, + "src": "6471:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 6477, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "6443:2:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 6479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6446:9:7", + "memberName": "writeJson", + "nodeType": "MemberAccess", + "referencedDeclaration": 9874, + "src": "6443:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory,string memory) external" + } + }, + "id": 6483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6443:37:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6484, + "nodeType": "ExpressionStatement", + "src": "6443:37:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "write", + "nameLocation": "6351:5:7", + "parameters": { + "id": 6475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6470, + "mutability": "mutable", + "name": "jsonKey", + "nameLocation": "6371:7:7", + "nodeType": "VariableDeclaration", + "scope": 6486, + "src": "6357:21:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6469, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6357:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6472, + "mutability": "mutable", + "name": "path", + "nameLocation": "6394:4:7", + "nodeType": "VariableDeclaration", + "scope": 6486, + "src": "6380:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6471, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6380:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6474, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "6414:8:7", + "nodeType": "VariableDeclaration", + "scope": 6486, + "src": "6400:22:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6473, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6400:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6356:67:7" + }, + "returnParameters": { + "id": 6476, + "nodeType": "ParameterList", + "parameters": [], + "src": "6433:0:7" + }, + "scope": 6487, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "stdJson", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 6487 + ], + "name": "stdJson", + "nameLocation": "838:7:7", + "scope": 6488, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/StdMath.sol": { + "id": 8, + "ast": { + "absolutePath": "lib/forge-std/src/StdMath.sol", + "id": 6630, + "exportedSymbols": { + "stdMath": [ + 6629 + ] + }, + "nodeType": "SourceUnit", + "src": "32:1328:8", + "nodes": [ + { + "id": 6489, + "nodeType": "PragmaDirective", + "src": "32:31:8", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 6629, + "nodeType": "ContractDefinition", + "src": "65:1294:8", + "nodes": [ + { + "id": 6493, + "nodeType": "VariableDeclaration", + "src": "87:115:8", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "INT256_MIN", + "nameLocation": "111:10:8", + "scope": 6629, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6490, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "87:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "value": { + "id": 6492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "124:78:8", + "subExpression": { + "hexValue": "3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638", + "id": 6491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "125:77:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", + "typeString": "int_const 5789...(69 digits omitted)...9968" + }, + "value": "57896044618658097711785492504343953926634992332820282019728792003956564819968" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", + "typeString": "int_const -578...(70 digits omitted)...9968" + } + }, + "visibility": "private" + }, + { + "id": 6519, + "nodeType": "FunctionDefinition", + "src": "209:306:8", + "nodes": [], + "body": { + "id": 6518, + "nodeType": "Block", + "src": "264:251:8", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 6502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6500, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6495, + "src": "342:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6501, + "name": "INT256_MIN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "347:10:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "342:15:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6506, + "nodeType": "IfStatement", + "src": "338:130:8", + "trueBody": { + "id": 6505, + "nodeType": "Block", + "src": "359:109:8", + "statements": [ + { + "expression": { + "hexValue": "3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638", + "id": 6503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "380:77:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", + "typeString": "int_const 5789...(69 digits omitted)...9968" + }, + "value": "57896044618658097711785492504343953926634992332820282019728792003956564819968" + }, + "functionReturnParameters": 6499, + "id": 6504, + "nodeType": "Return", + "src": "373:84:8" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 6511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6509, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6495, + "src": "493:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "497:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "493:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 6514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "505:2:8", + "subExpression": { + "id": 6513, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6495, + "src": "506:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 6515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "493:14:8", + "trueExpression": { + "id": 6512, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6495, + "src": "501:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "485:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "485:7:8", + "typeDescriptions": {} + } + }, + "id": 6516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "485:23:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6499, + "id": 6517, + "nodeType": "Return", + "src": "478:30:8" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "abs", + "nameLocation": "218:3:8", + "parameters": { + "id": 6496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6495, + "mutability": "mutable", + "name": "a", + "nameLocation": "229:1:8", + "nodeType": "VariableDeclaration", + "scope": 6519, + "src": "222:8:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6494, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "222:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "221:10:8" + }, + "returnParameters": { + "id": 6499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6498, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6519, + "src": "255:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6497, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "255:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "254:9:8" + }, + "scope": 6629, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6540, + "nodeType": "FunctionDefinition", + "src": "521:114:8", + "nodes": [], + "body": { + "id": 6539, + "nodeType": "Block", + "src": "590:45:8", + "nodes": [], + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6528, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6521, + "src": "607:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 6529, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "611:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "607:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6534, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "623:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 6535, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6521, + "src": "627:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "623:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "607:21:8", + "trueExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6531, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6521, + "src": "615:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 6532, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6523, + "src": "619:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "615:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6527, + "id": 6538, + "nodeType": "Return", + "src": "600:28:8" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delta", + "nameLocation": "530:5:8", + "parameters": { + "id": 6524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6521, + "mutability": "mutable", + "name": "a", + "nameLocation": "544:1:8", + "nodeType": "VariableDeclaration", + "scope": 6540, + "src": "536:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6520, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "536:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6523, + "mutability": "mutable", + "name": "b", + "nameLocation": "555:1:8", + "nodeType": "VariableDeclaration", + "scope": 6540, + "src": "547:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "547:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "535:22:8" + }, + "returnParameters": { + "id": 6527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6526, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6540, + "src": "581:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "581:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "580:9:8" + }, + "scope": 6629, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6576, + "nodeType": "FunctionDefinition", + "src": "641:352:8", + "nodes": [], + "body": { + "id": 6575, + "nodeType": "Block", + "src": "708:285:8", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 6555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 6551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6549, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6542, + "src": "847:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 6550, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6544, + "src": "851:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "847:5:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 6552, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "846:7:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 6554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "856:2:8", + "subExpression": { + "hexValue": "31", + "id": 6553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "857:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_1_by_1", + "typeString": "int_const -1" + } + }, + "src": "846:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6566, + "nodeType": "IfStatement", + "src": "842:71:8", + "trueBody": { + "id": 6565, + "nodeType": "Block", + "src": "860:53:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6558, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6542, + "src": "891:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6557, + "name": "abs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6519, + "src": "887:3:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256) pure returns (uint256)" + } + }, + "id": 6559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "887:6:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 6561, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6544, + "src": "899:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6560, + "name": "abs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6519, + "src": "895:3:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256) pure returns (uint256)" + } + }, + "id": 6562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "895:6:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6556, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6540, + 6576 + ], + "referencedDeclaration": 6540, + "src": "881:5:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "881:21:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6548, + "id": 6564, + "nodeType": "Return", + "src": "874:28:8" + } + ] + } + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 6568, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6542, + "src": "975:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6567, + "name": "abs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6519, + "src": "971:3:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256) pure returns (uint256)" + } + }, + "id": 6569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "971:6:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "id": 6571, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6544, + "src": "984:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6570, + "name": "abs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6519, + "src": "980:3:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256) pure returns (uint256)" + } + }, + "id": 6572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "980:6:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "971:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6548, + "id": 6574, + "nodeType": "Return", + "src": "964:22:8" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delta", + "nameLocation": "650:5:8", + "parameters": { + "id": 6545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6542, + "mutability": "mutable", + "name": "a", + "nameLocation": "663:1:8", + "nodeType": "VariableDeclaration", + "scope": 6576, + "src": "656:8:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6541, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "656:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6544, + "mutability": "mutable", + "name": "b", + "nameLocation": "673:1:8", + "nodeType": "VariableDeclaration", + "scope": 6576, + "src": "666:8:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6543, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "666:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "655:20:8" + }, + "returnParameters": { + "id": 6548, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6547, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6576, + "src": "699:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6546, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "699:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "698:9:8" + }, + "scope": 6629, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6599, + "nodeType": "FunctionDefinition", + "src": "999:160:8", + "nodes": [], + "body": { + "id": 6598, + "nodeType": "Block", + "src": "1075:84:8", + "nodes": [], + "statements": [ + { + "assignments": [ + 6586 + ], + "declarations": [ + { + "constant": false, + "id": 6586, + "mutability": "mutable", + "name": "absDelta", + "nameLocation": "1093:8:8", + "nodeType": "VariableDeclaration", + "scope": 6598, + "src": "1085:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6585, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1085:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6591, + "initialValue": { + "arguments": [ + { + "id": 6588, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6578, + "src": "1110:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6589, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6580, + "src": "1113:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6587, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6540, + 6576 + ], + "referencedDeclaration": 6540, + "src": "1104:5:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1104:11:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1085:30:8" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6592, + "name": "absDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6586, + "src": "1133:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "31653138", + "id": 6593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1144:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "value": "1e18" + }, + "src": "1133:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6595, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6580, + "src": "1151:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1133:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6584, + "id": 6597, + "nodeType": "Return", + "src": "1126:26:8" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "percentDelta", + "nameLocation": "1008:12:8", + "parameters": { + "id": 6581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6578, + "mutability": "mutable", + "name": "a", + "nameLocation": "1029:1:8", + "nodeType": "VariableDeclaration", + "scope": 6599, + "src": "1021:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6577, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1021:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6580, + "mutability": "mutable", + "name": "b", + "nameLocation": "1040:1:8", + "nodeType": "VariableDeclaration", + "scope": 6599, + "src": "1032:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1032:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1020:22:8" + }, + "returnParameters": { + "id": 6584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6583, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6599, + "src": "1066:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1066:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1065:9:8" + }, + "scope": 6629, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6628, + "nodeType": "FunctionDefinition", + "src": "1165:192:8", + "nodes": [], + "body": { + "id": 6627, + "nodeType": "Block", + "src": "1239:118:8", + "nodes": [], + "statements": [ + { + "assignments": [ + 6609 + ], + "declarations": [ + { + "constant": false, + "id": 6609, + "mutability": "mutable", + "name": "absDelta", + "nameLocation": "1257:8:8", + "nodeType": "VariableDeclaration", + "scope": 6627, + "src": "1249:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1249:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6614, + "initialValue": { + "arguments": [ + { + "id": 6611, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6601, + "src": "1274:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 6612, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6603, + "src": "1277:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6610, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6540, + 6576 + ], + "referencedDeclaration": 6576, + "src": "1268:5:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256,int256) pure returns (uint256)" + } + }, + "id": 6613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1268:11:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1249:30:8" + }, + { + "assignments": [ + 6616 + ], + "declarations": [ + { + "constant": false, + "id": 6616, + "mutability": "mutable", + "name": "absB", + "nameLocation": "1297:4:8", + "nodeType": "VariableDeclaration", + "scope": 6627, + "src": "1289:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6615, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1289:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6620, + "initialValue": { + "arguments": [ + { + "id": 6618, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6603, + "src": "1308:1:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6617, + "name": "abs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6519, + "src": "1304:3:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256) pure returns (uint256)" + } + }, + "id": 6619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1304:6:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1289:21:8" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6621, + "name": "absDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6609, + "src": "1328:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "31653138", + "id": 6622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1339:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "value": "1e18" + }, + "src": "1328:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 6624, + "name": "absB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6616, + "src": "1346:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1328:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6607, + "id": 6626, + "nodeType": "Return", + "src": "1321:29:8" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "percentDelta", + "nameLocation": "1174:12:8", + "parameters": { + "id": 6604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6601, + "mutability": "mutable", + "name": "a", + "nameLocation": "1194:1:8", + "nodeType": "VariableDeclaration", + "scope": 6628, + "src": "1187:8:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6600, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1187:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6603, + "mutability": "mutable", + "name": "b", + "nameLocation": "1204:1:8", + "nodeType": "VariableDeclaration", + "scope": 6628, + "src": "1197:8:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6602, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1197:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1186:20:8" + }, + "returnParameters": { + "id": 6607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6606, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6628, + "src": "1230:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1230:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1229:9:8" + }, + "scope": 6629, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "stdMath", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 6629 + ], + "name": "stdMath", + "nameLocation": "73:7:8", + "scope": 6630, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/StdStorage.sol": { + "id": 9, + "ast": { + "absolutePath": "lib/forge-std/src/StdStorage.sol", + "id": 8095, + "exportedSymbols": { + "StdStorage": [ + 6661 + ], + "Vm": [ + 10233 + ], + "stdStorage": [ + 8094 + ], + "stdStorageSafe": [ + 7553 + ] + }, + "nodeType": "SourceUnit", + "src": "32:11835:9", + "nodes": [ + { + "id": 6631, + "nodeType": "PragmaDirective", + "src": "32:31:9", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 6633, + "nodeType": "ImportDirective", + "src": "65:28:9", + "nodes": [], + "absolutePath": "lib/forge-std/src/Vm.sol", + "file": "./Vm.sol", + "nameLocation": "-1:-1:-1", + "scope": 8095, + "sourceUnit": 10234, + "symbolAliases": [ + { + "foreign": { + "id": 6632, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "73:2:9", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 6661, + "nodeType": "StructDefinition", + "src": "95:271:9", + "nodes": [], + "canonicalName": "StdStorage", + "members": [ + { + "constant": false, + "id": 6641, + "mutability": "mutable", + "name": "slots", + "nameLocation": "186:5:9", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "119:72:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" + }, + "typeName": { + "id": 6640, + "keyType": { + "id": 6634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "127:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "119:66:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" + }, + "valueType": { + "id": 6639, + "keyType": { + "id": 6635, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "146:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "Mapping", + "src": "138:46:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" + }, + "valueType": { + "id": 6638, + "keyType": { + "id": 6636, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "164:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "156:27:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 6637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "175:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6649, + "mutability": "mutable", + "name": "finds", + "nameLocation": "261:5:9", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "197:69:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" + }, + "typeName": { + "id": 6648, + "keyType": { + "id": 6642, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "205:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "197:63:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" + }, + "valueType": { + "id": 6647, + "keyType": { + "id": 6643, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "224:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "Mapping", + "src": "216:43:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" + }, + "valueType": { + "id": 6646, + "keyType": { + "id": 6644, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "242:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "234:24:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueType": { + "id": 6645, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "253:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6652, + "mutability": "mutable", + "name": "_keys", + "nameLocation": "282:5:9", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "272:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 6650, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "272:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6651, + "nodeType": "ArrayTypeName", + "src": "272:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6654, + "mutability": "mutable", + "name": "_sig", + "nameLocation": "300:4:9", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "293:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6653, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "293:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6656, + "mutability": "mutable", + "name": "_depth", + "nameLocation": "318:6:9", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "310:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6655, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "310:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6658, + "mutability": "mutable", + "name": "_target", + "nameLocation": "338:7:9", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "330:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6657, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "330:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6660, + "mutability": "mutable", + "name": "_set", + "nameLocation": "359:4:9", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "351:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6659, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "351:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "StdStorage", + "nameLocation": "102:10:9", + "scope": 8095, + "visibility": "public" + }, + { + "id": 7553, + "nodeType": "ContractDefinition", + "src": "368:6969:9", + "nodes": [ + { + "id": 6671, + "nodeType": "EventDefinition", + "src": "397:74:9", + "nodes": [], + "anonymous": false, + "eventSelector": "9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed", + "name": "SlotFound", + "nameLocation": "403:9:9", + "parameters": { + "id": 6670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6663, + "indexed": false, + "mutability": "mutable", + "name": "who", + "nameLocation": "421:3:9", + "nodeType": "VariableDeclaration", + "scope": 6671, + "src": "413:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6662, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "413:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6665, + "indexed": false, + "mutability": "mutable", + "name": "fsig", + "nameLocation": "433:4:9", + "nodeType": "VariableDeclaration", + "scope": 6671, + "src": "426:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6664, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "426:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6667, + "indexed": false, + "mutability": "mutable", + "name": "keysHash", + "nameLocation": "447:8:9", + "nodeType": "VariableDeclaration", + "scope": 6671, + "src": "439:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6666, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "439:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6669, + "indexed": false, + "mutability": "mutable", + "name": "slot", + "nameLocation": "465:4:9", + "nodeType": "VariableDeclaration", + "scope": 6671, + "src": "457:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "457:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "412:58:9" + } + }, + { + "id": 6677, + "nodeType": "EventDefinition", + "src": "476:54:9", + "nodes": [], + "anonymous": false, + "eventSelector": "080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5", + "name": "WARNING_UninitedSlot", + "nameLocation": "482:20:9", + "parameters": { + "id": 6676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6673, + "indexed": false, + "mutability": "mutable", + "name": "who", + "nameLocation": "511:3:9", + "nodeType": "VariableDeclaration", + "scope": 6677, + "src": "503:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6672, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "503:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6675, + "indexed": false, + "mutability": "mutable", + "name": "slot", + "nameLocation": "524:4:9", + "nodeType": "VariableDeclaration", + "scope": 6677, + "src": "516:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6674, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "516:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "502:27:9" + } + }, + { + "id": 6694, + "nodeType": "VariableDeclaration", + "src": "536:84:9", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "vm", + "nameLocation": "556:2:9", + "scope": 7553, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + }, + "typeName": { + "id": 6679, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6678, + "name": "Vm", + "nameLocations": [ + "536:2:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10233, + "src": "536:2:9" + }, + "referencedDeclaration": 10233, + "src": "536:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6865766d20636865617420636f6465", + "id": 6688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "598:17:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + }, + "value": "hevm cheat code" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + } + ], + "id": 6687, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "588:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "588:28:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "580:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6685, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "580:7:9", + "typeDescriptions": {} + } + }, + "id": 6690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "580:37:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "572:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 6683, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "572:7:9", + "typeDescriptions": {} + } + }, + "id": 6691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "572:46:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 6682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "564:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6681, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "564:7:9", + "typeDescriptions": {} + } + }, + "id": 6692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "564:55:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6680, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "561:2:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Vm_$10233_$", + "typeString": "type(contract Vm)" + } + }, + "id": 6693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "561:59:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "visibility": "private" + }, + { + "id": 6712, + "nodeType": "FunctionDefinition", + "src": "627:123:9", + "nodes": [], + "body": { + "id": 6711, + "nodeType": "Block", + "src": "694:56:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6706, + "name": "sigStr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6696, + "src": "734:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "728:5:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 6704, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "728:5:9", + "typeDescriptions": {} + } + }, + "id": 6707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "728:13:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6703, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "718:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "718:24:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "711:6:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 6701, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "711:6:9", + "typeDescriptions": {} + } + }, + "id": 6709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "711:32:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "functionReturnParameters": 6700, + "id": 6710, + "nodeType": "Return", + "src": "704:39:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sigs", + "nameLocation": "636:4:9", + "parameters": { + "id": 6697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6696, + "mutability": "mutable", + "name": "sigStr", + "nameLocation": "655:6:9", + "nodeType": "VariableDeclaration", + "scope": 6712, + "src": "641:20:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6695, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "641:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "640:22:9" + }, + "returnParameters": { + "id": 6700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6699, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6712, + "src": "686:6:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6698, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "686:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "685:8:9" + }, + "scope": 7553, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7156, + "nodeType": "FunctionDefinition", + "src": "1264:3197:9", + "nodes": [], + "body": { + "id": 7155, + "nodeType": "Block", + "src": "1330:3131:9", + "nodes": [], + "statements": [ + { + "assignments": [ + 6722 + ], + "declarations": [ + { + "constant": false, + "id": 6722, + "mutability": "mutable", + "name": "who", + "nameLocation": "1348:3:9", + "nodeType": "VariableDeclaration", + "scope": 7155, + "src": "1340:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6721, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1340:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6725, + "initialValue": { + "expression": { + "id": 6723, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "1354:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 6724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1359:7:9", + "memberName": "_target", + "nodeType": "MemberAccess", + "referencedDeclaration": 6658, + "src": "1354:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1340:26:9" + }, + { + "assignments": [ + 6727 + ], + "declarations": [ + { + "constant": false, + "id": 6727, + "mutability": "mutable", + "name": "fsig", + "nameLocation": "1383:4:9", + "nodeType": "VariableDeclaration", + "scope": 7155, + "src": "1376:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6726, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1376:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "id": 6730, + "initialValue": { + "expression": { + "id": 6728, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "1390:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 6729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1395:4:9", + "memberName": "_sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 6654, + "src": "1390:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1376:23:9" + }, + { + "assignments": [ + 6732 + ], + "declarations": [ + { + "constant": false, + "id": 6732, + "mutability": "mutable", + "name": "field_depth", + "nameLocation": "1417:11:9", + "nodeType": "VariableDeclaration", + "scope": 7155, + "src": "1409:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1409:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6735, + "initialValue": { + "expression": { + "id": 6733, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "1431:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 6734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1436:6:9", + "memberName": "_depth", + "nodeType": "MemberAccess", + "referencedDeclaration": 6656, + "src": "1431:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1409:33:9" + }, + { + "assignments": [ + 6740 + ], + "declarations": [ + { + "constant": false, + "id": 6740, + "mutability": "mutable", + "name": "ins", + "nameLocation": "1469:3:9", + "nodeType": "VariableDeclaration", + "scope": 7155, + "src": "1452:20:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 6738, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1452:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6739, + "nodeType": "ArrayTypeName", + "src": "1452:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 6743, + "initialValue": { + "expression": { + "id": 6741, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "1475:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 6742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1480:5:9", + "memberName": "_keys", + "nodeType": "MemberAccess", + "referencedDeclaration": 6652, + "src": "1475:10:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1452:33:9" + }, + { + "condition": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 6744, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "1536:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 6745, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1541:5:9", + "memberName": "finds", + "nodeType": "MemberAccess", + "referencedDeclaration": 6649, + "src": "1536:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" + } + }, + "id": 6747, + "indexExpression": { + "id": 6746, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "1547:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1536:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" + } + }, + "id": 6749, + "indexExpression": { + "id": 6748, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "1552:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1536:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 6757, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 6753, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "1585:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 6754, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "1590:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6751, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1568:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1572:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1568:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1568:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6750, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1558:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1558:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1536:68:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6774, + "nodeType": "IfStatement", + "src": "1532:174:9", + "trueBody": { + "id": 6773, + "nodeType": "Block", + "src": "1606:100:9", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 6758, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "1627:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 6759, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1632:5:9", + "memberName": "slots", + "nodeType": "MemberAccess", + "referencedDeclaration": 6641, + "src": "1627:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" + } + }, + "id": 6761, + "indexExpression": { + "id": 6760, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "1638:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1627:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" + } + }, + "id": 6763, + "indexExpression": { + "id": 6762, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "1643:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1627:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6771, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 6767, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "1676:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 6768, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "1681:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6765, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1659:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1663:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1659:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1659:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6764, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1649:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1649:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1627:68:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6720, + "id": 6772, + "nodeType": "Return", + "src": "1620:75:9" + } + ] + } + }, + { + "assignments": [ + 6776 + ], + "declarations": [ + { + "constant": false, + "id": 6776, + "mutability": "mutable", + "name": "cald", + "nameLocation": "1728:4:9", + "nodeType": "VariableDeclaration", + "scope": 7155, + "src": "1715:17:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6775, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1715:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6784, + "initialValue": { + "arguments": [ + { + "id": 6779, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "1752:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "arguments": [ + { + "id": 6781, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "1766:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 6780, + "name": "flatten", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7552, + "src": "1758:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32[] memory) pure returns (bytes memory)" + } + }, + "id": 6782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1758:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6777, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1735:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1739:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1735:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1735:36:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1715:56:9" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 6785, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6694, + "src": "1781:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 6787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1784:6:9", + "memberName": "record", + "nodeType": "MemberAccess", + "referencedDeclaration": 9301, + "src": "1781:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 6788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1781:11:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6789, + "nodeType": "ExpressionStatement", + "src": "1781:11:9" + }, + { + "assignments": [ + 6791 + ], + "declarations": [ + { + "constant": false, + "id": 6791, + "mutability": "mutable", + "name": "fdat", + "nameLocation": "1810:4:9", + "nodeType": "VariableDeclaration", + "scope": 7155, + "src": "1802:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6790, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1802:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6792, + "nodeType": "VariableDeclarationStatement", + "src": "1802:12:9" + }, + { + "id": 6809, + "nodeType": "Block", + "src": "1824:128:9", + "statements": [ + { + "assignments": [ + null, + 6794 + ], + "declarations": [ + null, + { + "constant": false, + "id": 6794, + "mutability": "mutable", + "name": "rdat", + "nameLocation": "1854:4:9", + "nodeType": "VariableDeclaration", + "scope": 6809, + "src": "1841:17:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6793, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1841:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6799, + "initialValue": { + "arguments": [ + { + "id": 6797, + "name": "cald", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6776, + "src": "1877:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6795, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "1862:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1866:10:9", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "1862:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 6798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1862:20:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1838:44:9" + }, + { + "expression": { + "id": 6807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6800, + "name": "fdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6791, + "src": "1896:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 6802, + "name": "rdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6794, + "src": "1918:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3332", + "id": 6803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1924:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6804, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "1929:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1924:16:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6801, + "name": "bytesToBytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7511, + "src": "1903:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256) pure returns (bytes32)" + } + }, + "id": 6806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1903:38:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1896:45:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6808, + "nodeType": "ExpressionStatement", + "src": "1896:45:9" + } + ] + }, + { + "assignments": [ + 6814, + null + ], + "declarations": [ + { + "constant": false, + "id": 6814, + "mutability": "mutable", + "name": "reads", + "nameLocation": "1980:5:9", + "nodeType": "VariableDeclaration", + "scope": 7155, + "src": "1963:22:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 6812, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1963:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6813, + "nodeType": "ArrayTypeName", + "src": "1963:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + null + ], + "id": 6822, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 6819, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "2010:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2002:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2002:7:9", + "typeDescriptions": {} + } + }, + "id": 6820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2002:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 6815, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6694, + "src": "1990:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 6816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1993:8:9", + "memberName": "accesses", + "nodeType": "MemberAccess", + "referencedDeclaration": 9312, + "src": "1990:11:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (address) external returns (bytes32[] memory,bytes32[] memory)" + } + }, + "id": 6821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1990:25:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "tuple(bytes32[] memory,bytes32[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1962:53:9" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6823, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "2029:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2035:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2029:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 6825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2045:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2029:17:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6925, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "2786:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2792:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2786:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 6927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2801:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2786:16:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7103, + "nodeType": "Block", + "src": "3986:99:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e", + "id": 7100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4007:66:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283", + "typeString": "literal_string \"stdStorage find(StdStorage): No storage use detected for target.\"" + }, + "value": "stdStorage find(StdStorage): No storage use detected for target." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283", + "typeString": "literal_string \"stdStorage find(StdStorage): No storage use detected for target.\"" + } + ], + "id": 7099, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "4000:6:9", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 7101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4000:74:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7102, + "nodeType": "ExpressionStatement", + "src": "4000:74:9" + } + ] + }, + "id": 7104, + "nodeType": "IfStatement", + "src": "2782:1303:9", + "trueBody": { + "id": 7098, + "nodeType": "Block", + "src": "2804:1176:9", + "statements": [ + { + "body": { + "id": 7096, + "nodeType": "Block", + "src": "2861:1109:9", + "statements": [ + { + "assignments": [ + 6941 + ], + "declarations": [ + { + "constant": false, + "id": 6941, + "mutability": "mutable", + "name": "prev", + "nameLocation": "2887:4:9", + "nodeType": "VariableDeclaration", + "scope": 7096, + "src": "2879:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6940, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2879:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6949, + "initialValue": { + "arguments": [ + { + "id": 6944, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "2902:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { + "id": 6945, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "2907:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6947, + "indexExpression": { + "id": 6946, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "2913:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2907:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 6942, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6694, + "src": "2894:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 6943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2897:4:9", + "memberName": "load", + "nodeType": "MemberAccess", + "referencedDeclaration": 8983, + "src": "2894:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (address,bytes32) view external returns (bytes32)" + } + }, + "id": 6948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2894:22:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2879:37:9" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6950, + "name": "prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6941, + "src": "2938:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 6953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2954:1:9", + "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": 6952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2946:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 6951, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2946:7:9", + "typeDescriptions": {} + } + }, + "id": 6954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2946:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2938:18:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6967, + "nodeType": "IfStatement", + "src": "2934:114:9", + "trueBody": { + "id": 6966, + "nodeType": "Block", + "src": "2958:90:9", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 6957, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "3006:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "baseExpression": { + "id": 6960, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "3019:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6962, + "indexExpression": { + "id": 6961, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "3025:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3019:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3011:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3011:7:9", + "typeDescriptions": {} + } + }, + "id": 6963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3011:17:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6956, + "name": "WARNING_UninitedSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6677, + "src": "2985:20:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 6964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2985:44:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6965, + "nodeType": "EmitStatement", + "src": "2980:49:9" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 6971, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "3099:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { + "id": 6972, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "3104:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6974, + "indexExpression": { + "id": 6973, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "3110:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3104:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "hexValue": "1337", + "id": 6977, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3122:9:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", + "typeString": "literal_string hex\"1337\"" + }, + "value": "\u00137" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", + "typeString": "literal_string hex\"1337\"" + } + ], + "id": 6976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3114:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 6975, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3114:7:9", + "typeDescriptions": {} + } + }, + "id": 6978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3114:18:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 6968, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6694, + "src": "3090:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 6970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3093:5:9", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 9944, + "src": "3090:8:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32,bytes32) external" + } + }, + "id": 6979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3090:43:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6980, + "nodeType": "ExpressionStatement", + "src": "3090:43:9" + }, + { + "assignments": [ + 6982 + ], + "declarations": [ + { + "constant": false, + "id": 6982, + "mutability": "mutable", + "name": "success", + "nameLocation": "3156:7:9", + "nodeType": "VariableDeclaration", + "scope": 7096, + "src": "3151:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6981, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3151:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 6983, + "nodeType": "VariableDeclarationStatement", + "src": "3151:12:9" + }, + { + "assignments": [ + 6985 + ], + "declarations": [ + { + "constant": false, + "id": 6985, + "mutability": "mutable", + "name": "rdat", + "nameLocation": "3194:4:9", + "nodeType": "VariableDeclaration", + "scope": 7096, + "src": "3181:17:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6984, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3181:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6986, + "nodeType": "VariableDeclarationStatement", + "src": "3181:17:9" + }, + { + "id": 7005, + "nodeType": "Block", + "src": "3216:146:9", + "statements": [ + { + "expression": { + "id": 6994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 6987, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6982, + "src": "3239:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6988, + "name": "rdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6985, + "src": "3248:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 6989, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3238:15:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 6992, + "name": "cald", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6776, + "src": "3271:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6990, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "3256:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3260:10:9", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3256:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 6993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3256:20:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "src": "3238:38:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6995, + "nodeType": "ExpressionStatement", + "src": "3238:38:9" + }, + { + "expression": { + "id": 7003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6996, + "name": "fdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6791, + "src": "3298:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 6998, + "name": "rdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6985, + "src": "3320:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3332", + "id": 6999, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3326:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 7000, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "3331:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3326:16:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6997, + "name": "bytesToBytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7511, + "src": "3305:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256) pure returns (bytes32)" + } + }, + "id": 7002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3305:38:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3298:45:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7004, + "nodeType": "ExpressionStatement", + "src": "3298:45:9" + } + ] + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7006, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6982, + "src": "3384:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7007, + "name": "fdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6791, + "src": "3395:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "1337", + "id": 7010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3411:9:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", + "typeString": "literal_string hex\"1337\"" + }, + "value": "\u00137" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", + "typeString": "literal_string hex\"1337\"" + } + ], + "id": 7009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3403:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 7008, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3403:7:9", + "typeDescriptions": {} + } + }, + "id": 7011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3403:18:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3395:26:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3384:37:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7085, + "nodeType": "IfStatement", + "src": "3380:529:9", + "trueBody": { + "id": 7084, + "nodeType": "Block", + "src": "3423:486:9", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 7015, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "3529:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7016, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "3534:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 7020, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "3567:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 7021, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "3572:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7018, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3550:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3554:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3550:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3550:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7017, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3540:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3540:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "baseExpression": { + "id": 7026, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "3595:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 7028, + "indexExpression": { + "id": 7027, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "3601:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3595:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3587:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 7024, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3587:7:9", + "typeDescriptions": {} + } + }, + "id": 7029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3587:17:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7014, + "name": "SlotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "3519:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes4,bytes32,uint256)" + } + }, + "id": 7030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3519:86:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7031, + "nodeType": "EmitStatement", + "src": "3514:91:9" + }, + { + "expression": { + "id": 7053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 7032, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "3627:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7043, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3632:5:9", + "memberName": "slots", + "nodeType": "MemberAccess", + "referencedDeclaration": 6641, + "src": "3627:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" + } + }, + "id": 7044, + "indexExpression": { + "id": 7034, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "3638:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3627:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" + } + }, + "id": 7045, + "indexExpression": { + "id": 7035, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "3643:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3627:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 7046, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7039, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "3676:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 7040, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "3681:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7037, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3659:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3663:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3659:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3659:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7036, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3649:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3649:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3627:68:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 7049, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "3706:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 7051, + "indexExpression": { + "id": 7050, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "3712:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3706:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3698:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 7047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3698:7:9", + "typeDescriptions": {} + } + }, + "id": 7052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3698:17:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3627:88:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7054, + "nodeType": "ExpressionStatement", + "src": "3627:88:9" + }, + { + "expression": { + "id": 7071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 7055, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "3737:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3742:5:9", + "memberName": "finds", + "nodeType": "MemberAccess", + "referencedDeclaration": 6649, + "src": "3737:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" + } + }, + "id": 7067, + "indexExpression": { + "id": 7057, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "3748:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3737:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" + } + }, + "id": 7068, + "indexExpression": { + "id": 7058, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "3753:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3737:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 7069, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7062, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "3786:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 7063, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "3791:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7060, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3769:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3773:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3769:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3769:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7059, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3759:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3759:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3737:68:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 7070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3808:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3737:75:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7072, + "nodeType": "ExpressionStatement", + "src": "3737:75:9" + }, + { + "expression": { + "arguments": [ + { + "id": 7076, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "3843:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { + "id": 7077, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "3848:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 7079, + "indexExpression": { + "id": 7078, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "3854:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3848:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 7080, + "name": "prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6941, + "src": "3858:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 7073, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6694, + "src": "3834:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 7075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3837:5:9", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 9944, + "src": "3834:8:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32,bytes32) external" + } + }, + "id": 7081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3834:29:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7082, + "nodeType": "ExpressionStatement", + "src": "3834:29:9" + }, + { + "id": 7083, + "nodeType": "Break", + "src": "3885:5:9" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7089, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "3935:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { + "id": 7090, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "3940:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 7092, + "indexExpression": { + "id": 7091, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "3946:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3940:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 7093, + "name": "prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6941, + "src": "3950:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 7086, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6694, + "src": "3926:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 7088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3929:5:9", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 9944, + "src": "3926:8:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32,bytes32) external" + } + }, + "id": 7094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3926:29:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7095, + "nodeType": "ExpressionStatement", + "src": "3926:29:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6933, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "2838:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 6934, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "2842:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2848:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2842:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2838:16:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7097, + "initializationExpression": { + "assignments": [ + 6930 + ], + "declarations": [ + { + "constant": false, + "id": 6930, + "mutability": "mutable", + "name": "i", + "nameLocation": "2831:1:9", + "nodeType": "VariableDeclaration", + "scope": 7097, + "src": "2823:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6929, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2823:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6932, + "initialValue": { + "hexValue": "30", + "id": 6931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2835:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2823:13:9" + }, + "loopExpression": { + "expression": { + "id": 6938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2856:3:9", + "subExpression": { + "id": 6937, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "2856:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6939, + "nodeType": "ExpressionStatement", + "src": "2856:3:9" + }, + "nodeType": "ForStatement", + "src": "2818:1152:9" + } + ] + } + }, + "id": 7105, + "nodeType": "IfStatement", + "src": "2025:2060:9", + "trueBody": { + "id": 6924, + "nodeType": "Block", + "src": "2048:728:9", + "statements": [ + { + "assignments": [ + 6828 + ], + "declarations": [ + { + "constant": false, + "id": 6828, + "mutability": "mutable", + "name": "curr", + "nameLocation": "2070:4:9", + "nodeType": "VariableDeclaration", + "scope": 6924, + "src": "2062:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2062:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6836, + "initialValue": { + "arguments": [ + { + "id": 6831, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "2085:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { + "id": 6832, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "2090:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6834, + "indexExpression": { + "hexValue": "30", + "id": 6833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2096:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2090:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 6829, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6694, + "src": "2077:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 6830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2080:4:9", + "memberName": "load", + "nodeType": "MemberAccess", + "referencedDeclaration": 8983, + "src": "2077:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (address,bytes32) view external returns (bytes32)" + } + }, + "id": 6835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2077:22:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2062:37:9" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6837, + "name": "curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6828, + "src": "2117:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 6840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2133:1:9", + "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": 6839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2125:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 6838, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2125:7:9", + "typeDescriptions": {} + } + }, + "id": 6841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2125:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2117:18:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6854, + "nodeType": "IfStatement", + "src": "2113:106:9", + "trueBody": { + "id": 6853, + "nodeType": "Block", + "src": "2137:82:9", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 6844, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "2181:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "baseExpression": { + "id": 6847, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "2194:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6849, + "indexExpression": { + "hexValue": "30", + "id": 6848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2200:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2194:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2186:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2186:7:9", + "typeDescriptions": {} + } + }, + "id": 6850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2186:17:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6843, + "name": "WARNING_UninitedSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6677, + "src": "2160:20:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 6851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2160:44:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6852, + "nodeType": "EmitStatement", + "src": "2155:49:9" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6855, + "name": "fdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6791, + "src": "2236:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 6856, + "name": "curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6828, + "src": "2244:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2236:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6864, + "nodeType": "IfStatement", + "src": "2232:238:9", + "trueBody": { + "id": 6863, + "nodeType": "Block", + "src": "2250:220:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "66616c7365", + "id": 6859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2297:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e", + "id": 6860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2324:113:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", + "typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" + }, + "value": "stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", + "typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" + } + ], + "id": 6858, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2268:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2268:187:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6862, + "nodeType": "ExpressionStatement", + "src": "2268:187:9" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "id": 6866, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "2498:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6867, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "2503:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 6871, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "2536:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 6872, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "2541:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6869, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2519:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2523:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2519:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2519:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6868, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2509:9:9", + "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": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2509:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "baseExpression": { + "id": 6877, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "2564:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6879, + "indexExpression": { + "hexValue": "30", + "id": 6878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2570:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2564:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2556:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6875, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2556:7:9", + "typeDescriptions": {} + } + }, + "id": 6880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2556:17:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6865, + "name": "SlotFound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "2488:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes4,bytes32,uint256)" + } + }, + "id": 6881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2488:86:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6882, + "nodeType": "EmitStatement", + "src": "2483:91:9" + }, + { + "expression": { + "id": 6904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 6883, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "2588:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 6894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2593:5:9", + "memberName": "slots", + "nodeType": "MemberAccess", + "referencedDeclaration": 6641, + "src": "2588:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" + } + }, + "id": 6895, + "indexExpression": { + "id": 6885, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "2599:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2588:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" + } + }, + "id": 6896, + "indexExpression": { + "id": 6886, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "2604:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2588:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6897, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 6890, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "2637:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 6891, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "2642:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6888, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2620:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2624:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2620:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2620:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6887, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2610:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2610:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2588:68:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 6900, + "name": "reads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6814, + "src": "2667:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 6902, + "indexExpression": { + "hexValue": "30", + "id": 6901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2673:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2667:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2659:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6898, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2659:7:9", + "typeDescriptions": {} + } + }, + "id": 6903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2659:17:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2588:88:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6905, + "nodeType": "ExpressionStatement", + "src": "2588:88:9" + }, + { + "expression": { + "id": 6922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 6906, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "2690:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 6917, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2695:5:9", + "memberName": "finds", + "nodeType": "MemberAccess", + "referencedDeclaration": 6649, + "src": "2690:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" + } + }, + "id": 6918, + "indexExpression": { + "id": 6908, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "2701:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2690:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" + } + }, + "id": 6919, + "indexExpression": { + "id": 6909, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "2706:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2690:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 6920, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 6913, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "2739:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 6914, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "2744:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6911, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2722:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2726:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2722:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2722:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6910, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2712:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2712:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2690:68:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 6921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2690:75:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6923, + "nodeType": "ExpressionStatement", + "src": "2690:75:9" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 7107, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "4116:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7108, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4121:5:9", + "memberName": "finds", + "nodeType": "MemberAccess", + "referencedDeclaration": 6649, + "src": "4116:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" + } + }, + "id": 7110, + "indexExpression": { + "id": 7109, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "4127:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4116:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" + } + }, + "id": 7112, + "indexExpression": { + "id": 7111, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "4132:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4116:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 7120, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7116, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "4165:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 7117, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "4170:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7114, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4148:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4152:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4148:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4148:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7113, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4138:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4138:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4116:68:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e", + "id": 7121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4198:49:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8", + "typeString": "literal_string \"stdStorage find(StdStorage): Slot(s) not found.\"" + }, + "value": "stdStorage find(StdStorage): Slot(s) not found." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8", + "typeString": "literal_string \"stdStorage find(StdStorage): Slot(s) not found.\"" + } + ], + "id": 7106, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4095:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4095:162:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7123, + "nodeType": "ExpressionStatement", + "src": "4095:162:9" + }, + { + "expression": { + "id": 7126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4268:19:9", + "subExpression": { + "expression": { + "id": 7124, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "4275:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7125, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4280:7:9", + "memberName": "_target", + "nodeType": "MemberAccess", + "referencedDeclaration": 6658, + "src": "4275:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7127, + "nodeType": "ExpressionStatement", + "src": "4268:19:9" + }, + { + "expression": { + "id": 7130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4297:16:9", + "subExpression": { + "expression": { + "id": 7128, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "4304:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7129, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4309:4:9", + "memberName": "_sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 6654, + "src": "4304:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7131, + "nodeType": "ExpressionStatement", + "src": "4297:16:9" + }, + { + "expression": { + "id": 7134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4323:17:9", + "subExpression": { + "expression": { + "id": 7132, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "4330:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4335:5:9", + "memberName": "_keys", + "nodeType": "MemberAccess", + "referencedDeclaration": 6652, + "src": "4330:10:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7135, + "nodeType": "ExpressionStatement", + "src": "4323:17:9" + }, + { + "expression": { + "id": 7138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4350:18:9", + "subExpression": { + "expression": { + "id": 7136, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "4357:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7137, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4362:6:9", + "memberName": "_depth", + "nodeType": "MemberAccess", + "referencedDeclaration": 6656, + "src": "4357:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7139, + "nodeType": "ExpressionStatement", + "src": "4350:18:9" + }, + { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 7140, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "4386:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4391:5:9", + "memberName": "slots", + "nodeType": "MemberAccess", + "referencedDeclaration": 6641, + "src": "4386:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" + } + }, + "id": 7143, + "indexExpression": { + "id": 7142, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6722, + "src": "4397:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4386:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" + } + }, + "id": 7145, + "indexExpression": { + "id": 7144, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6727, + "src": "4402:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4386:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 7153, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7149, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "4435:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 7150, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "4440:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7147, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4418:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4422:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4418:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4418:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7146, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4408:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4408:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4386:68:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6720, + "id": 7154, + "nodeType": "Return", + "src": "4379:75:9" + } + ] + }, + "documentation": { + "id": 6713, + "nodeType": "StructuredDocumentation", + "src": "756:129:9", + "text": "@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "find", + "nameLocation": "1273:4:9", + "parameters": { + "id": 6717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6716, + "mutability": "mutable", + "name": "self", + "nameLocation": "1297:4:9", + "nodeType": "VariableDeclaration", + "scope": 7156, + "src": "1278:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 6715, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6714, + "name": "StdStorage", + "nameLocations": [ + "1278:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "1278:10:9" + }, + "referencedDeclaration": 6661, + "src": "1278:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "1277:25:9" + }, + "returnParameters": { + "id": 6720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6719, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7156, + "src": "1321:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1321:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1320:9:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7176, + "nodeType": "FunctionDefinition", + "src": "4467:156:9", + "nodes": [], + "body": { + "id": 7175, + "nodeType": "Block", + "src": "4563:60:9", + "nodes": [], + "statements": [ + { + "expression": { + "id": 7171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7167, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7159, + "src": "4573:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7169, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4578:7:9", + "memberName": "_target", + "nodeType": "MemberAccess", + "referencedDeclaration": 6658, + "src": "4573:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7170, + "name": "_target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7161, + "src": "4588:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4573:22:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7172, + "nodeType": "ExpressionStatement", + "src": "4573:22:9" + }, + { + "expression": { + "id": 7173, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7159, + "src": "4612:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7166, + "id": 7174, + "nodeType": "Return", + "src": "4605:11:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "target", + "nameLocation": "4476:6:9", + "parameters": { + "id": 7162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7159, + "mutability": "mutable", + "name": "self", + "nameLocation": "4502:4:9", + "nodeType": "VariableDeclaration", + "scope": 7176, + "src": "4483:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7158, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7157, + "name": "StdStorage", + "nameLocations": [ + "4483:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "4483:10:9" + }, + "referencedDeclaration": 6661, + "src": "4483:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7161, + "mutability": "mutable", + "name": "_target", + "nameLocation": "4516:7:9", + "nodeType": "VariableDeclaration", + "scope": 7176, + "src": "4508:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4508:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4482:42:9" + }, + "returnParameters": { + "id": 7166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7165, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7176, + "src": "4543:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7164, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7163, + "name": "StdStorage", + "nameLocations": [ + "4543:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "4543:10:9" + }, + "referencedDeclaration": 6661, + "src": "4543:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "4542:20:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7196, + "nodeType": "FunctionDefinition", + "src": "4629:143:9", + "nodes": [], + "body": { + "id": 7195, + "nodeType": "Block", + "src": "4718:54:9", + "nodes": [], + "statements": [ + { + "expression": { + "id": 7191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7187, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7179, + "src": "4728:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7189, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4733:4:9", + "memberName": "_sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 6654, + "src": "4728:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7190, + "name": "_sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7181, + "src": "4740:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4728:16:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "id": 7192, + "nodeType": "ExpressionStatement", + "src": "4728:16:9" + }, + { + "expression": { + "id": 7193, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7179, + "src": "4761:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7186, + "id": 7194, + "nodeType": "Return", + "src": "4754:11:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sig", + "nameLocation": "4638:3:9", + "parameters": { + "id": 7182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7179, + "mutability": "mutable", + "name": "self", + "nameLocation": "4661:4:9", + "nodeType": "VariableDeclaration", + "scope": 7196, + "src": "4642:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7178, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7177, + "name": "StdStorage", + "nameLocations": [ + "4642:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "4642:10:9" + }, + "referencedDeclaration": 6661, + "src": "4642:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7181, + "mutability": "mutable", + "name": "_sig", + "nameLocation": "4674:4:9", + "nodeType": "VariableDeclaration", + "scope": 7196, + "src": "4667:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 7180, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4667:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4641:38:9" + }, + "returnParameters": { + "id": 7186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7185, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7196, + "src": "4698:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7184, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7183, + "name": "StdStorage", + "nameLocations": [ + "4698:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "4698:10:9" + }, + "referencedDeclaration": 6661, + "src": "4698:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "4697:20:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7218, + "nodeType": "FunctionDefinition", + "src": "4778:156:9", + "nodes": [], + "body": { + "id": 7217, + "nodeType": "Block", + "src": "4874:60:9", + "nodes": [], + "statements": [ + { + "expression": { + "id": 7213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7207, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "4884:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7209, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4889:4:9", + "memberName": "_sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 6654, + "src": "4884:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 7211, + "name": "_sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7201, + "src": "4901:4:9", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7210, + "name": "sigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6712, + "src": "4896:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (string memory) pure returns (bytes4)" + } + }, + "id": 7212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4896:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4884:22:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "id": 7214, + "nodeType": "ExpressionStatement", + "src": "4884:22:9" + }, + { + "expression": { + "id": 7215, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "4923:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7206, + "id": 7216, + "nodeType": "Return", + "src": "4916:11:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sig", + "nameLocation": "4787:3:9", + "parameters": { + "id": 7202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7199, + "mutability": "mutable", + "name": "self", + "nameLocation": "4810:4:9", + "nodeType": "VariableDeclaration", + "scope": 7218, + "src": "4791:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7198, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7197, + "name": "StdStorage", + "nameLocations": [ + "4791:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "4791:10:9" + }, + "referencedDeclaration": 6661, + "src": "4791:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7201, + "mutability": "mutable", + "name": "_sig", + "nameLocation": "4830:4:9", + "nodeType": "VariableDeclaration", + "scope": 7218, + "src": "4816:18:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7200, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4816:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4790:45:9" + }, + "returnParameters": { + "id": 7206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7205, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7218, + "src": "4854:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7204, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7203, + "name": "StdStorage", + "nameLocations": [ + "4854:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "4854:10:9" + }, + "referencedDeclaration": 6661, + "src": "4854:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "4853:20:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7249, + "nodeType": "FunctionDefinition", + "src": "4940:179:9", + "nodes": [], + "body": { + "id": 7248, + "nodeType": "Block", + "src": "5034:85:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 7240, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7223, + "src": "5084:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7239, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5076:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 7238, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "5076:7:9", + "typeDescriptions": {} + } + }, + "id": 7241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5076:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 7237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5068:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 7236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5068:7:9", + "typeDescriptions": {} + } + }, + "id": 7242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5068:21:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5060:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 7234, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5060:7:9", + "typeDescriptions": {} + } + }, + "id": 7243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5060:30:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "expression": { + "id": 7229, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7221, + "src": "5044:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7232, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5049:5:9", + "memberName": "_keys", + "nodeType": "MemberAccess", + "referencedDeclaration": 6652, + "src": "5044:10:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 7233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5055:4:9", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5044:15:9", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", + "typeString": "function (bytes32[] storage pointer,bytes32)" + } + }, + "id": 7244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5044:47:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7245, + "nodeType": "ExpressionStatement", + "src": "5044:47:9" + }, + { + "expression": { + "id": 7246, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7221, + "src": "5108:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7228, + "id": 7247, + "nodeType": "Return", + "src": "5101:11:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "with_key", + "nameLocation": "4949:8:9", + "parameters": { + "id": 7224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7221, + "mutability": "mutable", + "name": "self", + "nameLocation": "4977:4:9", + "nodeType": "VariableDeclaration", + "scope": 7249, + "src": "4958:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7220, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7219, + "name": "StdStorage", + "nameLocations": [ + "4958:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "4958:10:9" + }, + "referencedDeclaration": 6661, + "src": "4958:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7223, + "mutability": "mutable", + "name": "who", + "nameLocation": "4991:3:9", + "nodeType": "VariableDeclaration", + "scope": 7249, + "src": "4983:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4983:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4957:38:9" + }, + "returnParameters": { + "id": 7228, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7227, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7249, + "src": "5014:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7226, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7225, + "name": "StdStorage", + "nameLocations": [ + "5014:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5014:10:9" + }, + "referencedDeclaration": 6661, + "src": "5014:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "5013:20:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7274, + "nodeType": "FunctionDefinition", + "src": "5125:161:9", + "nodes": [], + "body": { + "id": 7273, + "nodeType": "Block", + "src": "5219:67:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7267, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "5253:3:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5245:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 7265, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5245:7:9", + "typeDescriptions": {} + } + }, + "id": 7268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5245:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "expression": { + "id": 7260, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7252, + "src": "5229:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7263, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5234:5:9", + "memberName": "_keys", + "nodeType": "MemberAccess", + "referencedDeclaration": 6652, + "src": "5229:10:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 7264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5240:4:9", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5229:15:9", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", + "typeString": "function (bytes32[] storage pointer,bytes32)" + } + }, + "id": 7269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5229:29:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7270, + "nodeType": "ExpressionStatement", + "src": "5229:29:9" + }, + { + "expression": { + "id": 7271, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7252, + "src": "5275:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7259, + "id": 7272, + "nodeType": "Return", + "src": "5268:11:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "with_key", + "nameLocation": "5134:8:9", + "parameters": { + "id": 7255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7252, + "mutability": "mutable", + "name": "self", + "nameLocation": "5162:4:9", + "nodeType": "VariableDeclaration", + "scope": 7274, + "src": "5143:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7251, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7250, + "name": "StdStorage", + "nameLocations": [ + "5143:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5143:10:9" + }, + "referencedDeclaration": 6661, + "src": "5143:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7254, + "mutability": "mutable", + "name": "amt", + "nameLocation": "5176:3:9", + "nodeType": "VariableDeclaration", + "scope": 7274, + "src": "5168:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5168:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5142:38:9" + }, + "returnParameters": { + "id": 7259, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7258, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7274, + "src": "5199:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7257, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7256, + "name": "StdStorage", + "nameLocations": [ + "5199:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5199:10:9" + }, + "referencedDeclaration": 6661, + "src": "5199:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "5198:20:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7296, + "nodeType": "FunctionDefinition", + "src": "5292:152:9", + "nodes": [], + "body": { + "id": 7295, + "nodeType": "Block", + "src": "5386:58:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7290, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7279, + "src": "5412:3:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "expression": { + "id": 7285, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7277, + "src": "5396:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7288, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5401:5:9", + "memberName": "_keys", + "nodeType": "MemberAccess", + "referencedDeclaration": 6652, + "src": "5396:10:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 7289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5407:4:9", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5396:15:9", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", + "typeString": "function (bytes32[] storage pointer,bytes32)" + } + }, + "id": 7291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5396:20:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7292, + "nodeType": "ExpressionStatement", + "src": "5396:20:9" + }, + { + "expression": { + "id": 7293, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7277, + "src": "5433:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7284, + "id": 7294, + "nodeType": "Return", + "src": "5426:11:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "with_key", + "nameLocation": "5301:8:9", + "parameters": { + "id": 7280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7277, + "mutability": "mutable", + "name": "self", + "nameLocation": "5329:4:9", + "nodeType": "VariableDeclaration", + "scope": 7296, + "src": "5310:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7276, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7275, + "name": "StdStorage", + "nameLocations": [ + "5310:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5310:10:9" + }, + "referencedDeclaration": 6661, + "src": "5310:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7279, + "mutability": "mutable", + "name": "key", + "nameLocation": "5343:3:9", + "nodeType": "VariableDeclaration", + "scope": 7296, + "src": "5335:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5335:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5309:38:9" + }, + "returnParameters": { + "id": 7284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7283, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7296, + "src": "5366:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7282, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7281, + "name": "StdStorage", + "nameLocations": [ + "5366:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5366:10:9" + }, + "referencedDeclaration": 6661, + "src": "5366:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "5365:20:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7316, + "nodeType": "FunctionDefinition", + "src": "5450:152:9", + "nodes": [], + "body": { + "id": 7315, + "nodeType": "Block", + "src": "5544:58:9", + "nodes": [], + "statements": [ + { + "expression": { + "id": 7311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7307, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7299, + "src": "5554:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7309, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5559:6:9", + "memberName": "_depth", + "nodeType": "MemberAccess", + "referencedDeclaration": 6656, + "src": "5554:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7310, + "name": "_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7301, + "src": "5568:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5554:20:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7312, + "nodeType": "ExpressionStatement", + "src": "5554:20:9" + }, + { + "expression": { + "id": 7313, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7299, + "src": "5591:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7306, + "id": 7314, + "nodeType": "Return", + "src": "5584:11:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "depth", + "nameLocation": "5459:5:9", + "parameters": { + "id": 7302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7299, + "mutability": "mutable", + "name": "self", + "nameLocation": "5484:4:9", + "nodeType": "VariableDeclaration", + "scope": 7316, + "src": "5465:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7298, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7297, + "name": "StdStorage", + "nameLocations": [ + "5465:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5465:10:9" + }, + "referencedDeclaration": 6661, + "src": "5465:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7301, + "mutability": "mutable", + "name": "_depth", + "nameLocation": "5498:6:9", + "nodeType": "VariableDeclaration", + "scope": 7316, + "src": "5490:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7300, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5490:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5464:41:9" + }, + "returnParameters": { + "id": 7306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7305, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7316, + "src": "5524:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7304, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7303, + "name": "StdStorage", + "nameLocations": [ + "5524:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5524:10:9" + }, + "referencedDeclaration": 6661, + "src": "5524:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "5523:20:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7348, + "nodeType": "FunctionDefinition", + "src": "5608:194:9", + "nodes": [], + "body": { + "id": 7347, + "nodeType": "Block", + "src": "5678:124:9", + "nodes": [], + "statements": [ + { + "assignments": [ + 7325 + ], + "declarations": [ + { + "constant": false, + "id": 7325, + "mutability": "mutable", + "name": "t", + "nameLocation": "5696:1:9", + "nodeType": "VariableDeclaration", + "scope": 7347, + "src": "5688:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5688:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 7328, + "initialValue": { + "expression": { + "id": 7326, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7319, + "src": "5700:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7327, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5705:7:9", + "memberName": "_target", + "nodeType": "MemberAccess", + "referencedDeclaration": 6658, + "src": "5700:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5688:24:9" + }, + { + "assignments": [ + 7330 + ], + "declarations": [ + { + "constant": false, + "id": 7330, + "mutability": "mutable", + "name": "s", + "nameLocation": "5730:1:9", + "nodeType": "VariableDeclaration", + "scope": 7347, + "src": "5722:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5722:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7334, + "initialValue": { + "arguments": [ + { + "id": 7332, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7319, + "src": "5739:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "id": 7331, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7156, + "src": "5734:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct StdStorage storage pointer) returns (uint256)" + } + }, + "id": 7333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5734:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5722:22:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7339, + "name": "t", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7325, + "src": "5780:1:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 7342, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7330, + "src": "5791:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5783:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 7340, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5783:7:9", + "typeDescriptions": {} + } + }, + "id": 7343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5783:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 7337, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6694, + "src": "5772:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 7338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5775:4:9", + "memberName": "load", + "nodeType": "MemberAccess", + "referencedDeclaration": 8983, + "src": "5772:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (address,bytes32) view external returns (bytes32)" + } + }, + "id": 7344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5772:22:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 7335, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5761:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5765:6:9", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5761:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5761:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 7323, + "id": 7346, + "nodeType": "Return", + "src": "5754:41:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read", + "nameLocation": "5617:4:9", + "parameters": { + "id": 7320, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7319, + "mutability": "mutable", + "name": "self", + "nameLocation": "5641:4:9", + "nodeType": "VariableDeclaration", + "scope": 7348, + "src": "5622:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7318, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7317, + "name": "StdStorage", + "nameLocations": [ + "5622:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5622:10:9" + }, + "referencedDeclaration": 6661, + "src": "5622:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "5621:25:9" + }, + "returnParameters": { + "id": 7323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7322, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7348, + "src": "5664:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7321, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5664:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5663:14:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "id": 7367, + "nodeType": "FunctionDefinition", + "src": "5808:131:9", + "nodes": [], + "body": { + "id": 7366, + "nodeType": "Block", + "src": "5882:57:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7359, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7351, + "src": "5915:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "id": 7358, + "name": "read", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "5910:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" + } + }, + "id": 7360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5910:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 7362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5923:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 7361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5923:7:9", + "typeDescriptions": {} + } + } + ], + "id": 7363, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5922:9:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + ], + "expression": { + "id": 7356, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5899:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5903:6:9", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "5899:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5899:33:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7355, + "id": 7365, + "nodeType": "Return", + "src": "5892:40:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_bytes32", + "nameLocation": "5817:12:9", + "parameters": { + "id": 7352, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7351, + "mutability": "mutable", + "name": "self", + "nameLocation": "5849:4:9", + "nodeType": "VariableDeclaration", + "scope": 7367, + "src": "5830:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7350, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7349, + "name": "StdStorage", + "nameLocations": [ + "5830:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5830:10:9" + }, + "referencedDeclaration": 6661, + "src": "5830:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "5829:25:9" + }, + "returnParameters": { + "id": 7355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7354, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7367, + "src": "5873:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5873:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5872:9:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7398, + "nodeType": "FunctionDefinition", + "src": "5945:279:9", + "nodes": [], + "body": { + "id": 7397, + "nodeType": "Block", + "src": "6013:211:9", + "nodes": [], + "statements": [ + { + "assignments": [ + 7376 + ], + "declarations": [ + { + "constant": false, + "id": 7376, + "mutability": "mutable", + "name": "v", + "nameLocation": "6030:1:9", + "nodeType": "VariableDeclaration", + "scope": 7397, + "src": "6023:8:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 7375, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6023:6:9", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 7380, + "initialValue": { + "arguments": [ + { + "id": 7378, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7370, + "src": "6043:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "id": 7377, + "name": "read_int", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7455, + "src": "6034:8:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_int256_$", + "typeString": "function (struct StdStorage storage pointer) returns (int256)" + } + }, + "id": 7379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6034:14:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6023:25:9" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 7383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7381, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7376, + "src": "6062:1:9", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 7382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6067:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6062:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7386, + "nodeType": "IfStatement", + "src": "6058:24:9", + "trueBody": { + "expression": { + "hexValue": "66616c7365", + "id": 7384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6077:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 7374, + "id": 7385, + "nodeType": "Return", + "src": "6070:12:9" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 7389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7387, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7376, + "src": "6096:1:9", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 7388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6101:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6096:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7392, + "nodeType": "IfStatement", + "src": "6092:23:9", + "trueBody": { + "expression": { + "hexValue": "74727565", + "id": 7390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6111:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 7374, + "id": 7391, + "nodeType": "Return", + "src": "6104:11:9" + } + }, + { + "expression": { + "arguments": [ + { + "hexValue": "73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e", + "id": 7394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6132:84:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5", + "typeString": "literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\"" + }, + "value": "stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5", + "typeString": "literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\"" + } + ], + "id": 7393, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "6125:6:9", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 7395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6125:92:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7396, + "nodeType": "ExpressionStatement", + "src": "6125:92:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_bool", + "nameLocation": "5954:9:9", + "parameters": { + "id": 7371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7370, + "mutability": "mutable", + "name": "self", + "nameLocation": "5983:4:9", + "nodeType": "VariableDeclaration", + "scope": 7398, + "src": "5964:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7369, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7368, + "name": "StdStorage", + "nameLocations": [ + "5964:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "5964:10:9" + }, + "referencedDeclaration": 6661, + "src": "5964:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "5963:25:9" + }, + "returnParameters": { + "id": 7374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7373, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7398, + "src": "6007:4:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7372, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6007:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6006:6:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7417, + "nodeType": "FunctionDefinition", + "src": "6230:131:9", + "nodes": [], + "body": { + "id": 7416, + "nodeType": "Block", + "src": "6304:57:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7409, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7401, + "src": "6337:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "id": 7408, + "name": "read", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "6332:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" + } + }, + "id": 7410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6332:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 7412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6345:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6345:7:9", + "typeDescriptions": {} + } + } + ], + "id": 7413, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6344:9:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 7406, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6321:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6325:6:9", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "6321:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6321:33:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 7405, + "id": 7415, + "nodeType": "Return", + "src": "6314:40:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_address", + "nameLocation": "6239:12:9", + "parameters": { + "id": 7402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7401, + "mutability": "mutable", + "name": "self", + "nameLocation": "6271:4:9", + "nodeType": "VariableDeclaration", + "scope": 7417, + "src": "6252:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7400, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7399, + "name": "StdStorage", + "nameLocations": [ + "6252:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "6252:10:9" + }, + "referencedDeclaration": 6661, + "src": "6252:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "6251:25:9" + }, + "returnParameters": { + "id": 7405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7404, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7417, + "src": "6295:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6295:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6294:9:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7436, + "nodeType": "FunctionDefinition", + "src": "6367:128:9", + "nodes": [], + "body": { + "id": 7435, + "nodeType": "Block", + "src": "6438:57:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7428, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7420, + "src": "6471:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "id": 7427, + "name": "read", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "6466:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" + } + }, + "id": 7429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6466:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 7431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6479:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 7430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6479:7:9", + "typeDescriptions": {} + } + } + ], + "id": 7432, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6478:9:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "expression": { + "id": 7425, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6455:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6459:6:9", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "6455:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6455:33:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7424, + "id": 7434, + "nodeType": "Return", + "src": "6448:40:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_uint", + "nameLocation": "6376:9:9", + "parameters": { + "id": 7421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7420, + "mutability": "mutable", + "name": "self", + "nameLocation": "6405:4:9", + "nodeType": "VariableDeclaration", + "scope": 7436, + "src": "6386:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7419, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7418, + "name": "StdStorage", + "nameLocations": [ + "6386:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "6386:10:9" + }, + "referencedDeclaration": 6661, + "src": "6386:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "6385:25:9" + }, + "returnParameters": { + "id": 7424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7423, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7436, + "src": "6429:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6429:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6428:9:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7455, + "nodeType": "FunctionDefinition", + "src": "6501:125:9", + "nodes": [], + "body": { + "id": 7454, + "nodeType": "Block", + "src": "6570:56:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7447, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7439, + "src": "6603:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "id": 7446, + "name": "read", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "6598:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" + } + }, + "id": 7448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6598:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 7450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6611:6:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 7449, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6611:6:9", + "typeDescriptions": {} + } + } + ], + "id": 7451, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6610:8:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + } + ], + "expression": { + "id": 7444, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6587:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6591:6:9", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "6587:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 7452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6587:32:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 7443, + "id": 7453, + "nodeType": "Return", + "src": "6580:39:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_int", + "nameLocation": "6510:8:9", + "parameters": { + "id": 7440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7439, + "mutability": "mutable", + "name": "self", + "nameLocation": "6538:4:9", + "nodeType": "VariableDeclaration", + "scope": 7455, + "src": "6519:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7438, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7437, + "name": "StdStorage", + "nameLocations": [ + "6519:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "6519:10:9" + }, + "referencedDeclaration": 6661, + "src": "6519:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "6518:25:9" + }, + "returnParameters": { + "id": 7443, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7442, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7455, + "src": "6562:6:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 7441, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6562:6:9", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6561:8:9" + }, + "scope": 7553, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7511, + "nodeType": "FunctionDefinition", + "src": "6632:304:9", + "nodes": [], + "body": { + "id": 7510, + "nodeType": "Block", + "src": "6719:217:9", + "nodes": [], + "statements": [ + { + "assignments": [ + 7465 + ], + "declarations": [ + { + "constant": false, + "id": 7465, + "mutability": "mutable", + "name": "out", + "nameLocation": "6737:3:9", + "nodeType": "VariableDeclaration", + "scope": 7510, + "src": "6729:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7464, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6729:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7466, + "nodeType": "VariableDeclarationStatement", + "src": "6729:11:9" + }, + { + "assignments": [ + 7468 + ], + "declarations": [ + { + "constant": false, + "id": 7468, + "mutability": "mutable", + "name": "max", + "nameLocation": "6759:3:9", + "nodeType": "VariableDeclaration", + "scope": 7510, + "src": "6751:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7467, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6751:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7477, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7469, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7457, + "src": "6765:1:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 7470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6767:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6765:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3332", + "id": 7471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6776:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "6765:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "expression": { + "id": 7474, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7457, + "src": "6786:1:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 7475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6788:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6786:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "6765:29:9", + "trueExpression": { + "hexValue": "3332", + "id": 7473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6781:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6751:43:9" + }, + { + "body": { + "id": 7506, + "nodeType": "Block", + "src": "6838:72:9", + "statements": [ + { + "expression": { + "id": 7504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7488, + "name": "out", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7465, + "src": "6852:3:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "|=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 7497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 7491, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7457, + "src": "6867:1:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 7495, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7492, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7459, + "src": "6869:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 7493, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7479, + "src": "6878:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6869:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6867:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "30784646", + "id": 7496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6883:4:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "0xFF" + }, + "src": "6867:20:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 7490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6859:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 7489, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6859:7:9", + "typeDescriptions": {} + } + }, + "id": 7498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6859:29:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7499, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7479, + "src": "6893:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "38", + "id": 7500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6897:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "6893:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7502, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6892:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6859:40:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6852:47:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7505, + "nodeType": "ExpressionStatement", + "src": "6852:47:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7482, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7479, + "src": "6824:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 7483, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7468, + "src": "6828:3:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6824:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7507, + "initializationExpression": { + "assignments": [ + 7479 + ], + "declarations": [ + { + "constant": false, + "id": 7479, + "mutability": "mutable", + "name": "i", + "nameLocation": "6817:1:9", + "nodeType": "VariableDeclaration", + "scope": 7507, + "src": "6809:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7478, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6809:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7481, + "initialValue": { + "hexValue": "30", + "id": 7480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6821:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6809:13:9" + }, + "loopExpression": { + "expression": { + "id": 7486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6833:3:9", + "subExpression": { + "id": 7485, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7479, + "src": "6833:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7487, + "nodeType": "ExpressionStatement", + "src": "6833:3:9" + }, + "nodeType": "ForStatement", + "src": "6804:106:9" + }, + { + "expression": { + "id": 7508, + "name": "out", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7465, + "src": "6926:3:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7463, + "id": 7509, + "nodeType": "Return", + "src": "6919:10:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bytesToBytes32", + "nameLocation": "6641:14:9", + "parameters": { + "id": 7460, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7457, + "mutability": "mutable", + "name": "b", + "nameLocation": "6669:1:9", + "nodeType": "VariableDeclaration", + "scope": 7511, + "src": "6656:14:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7456, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6656:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7459, + "mutability": "mutable", + "name": "offset", + "nameLocation": "6680:6:9", + "nodeType": "VariableDeclaration", + "scope": 7511, + "src": "6672:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7458, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6672:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6655:32:9" + }, + "returnParameters": { + "id": 7463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7462, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7511, + "src": "6710:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7461, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6710:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6709:9:9" + }, + "scope": 7553, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 7552, + "nodeType": "FunctionDefinition", + "src": "6942:393:9", + "nodes": [], + "body": { + "id": 7551, + "nodeType": "Block", + "src": "7015:320:9", + "nodes": [], + "statements": [ + { + "assignments": [ + 7520 + ], + "declarations": [ + { + "constant": false, + "id": 7520, + "mutability": "mutable", + "name": "result", + "nameLocation": "7038:6:9", + "nodeType": "VariableDeclaration", + "scope": 7551, + "src": "7025:19:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7519, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7025:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 7528, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7523, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7514, + "src": "7057:1:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 7524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7059:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7057:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "3332", + "id": 7525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7068:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "7057:13:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "7047:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 7521, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7051:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 7527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7047:24:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7025:46:9" + }, + { + "body": { + "id": 7547, + "nodeType": "Block", + "src": "7120:185:9", + "statements": [ + { + "assignments": [ + 7541 + ], + "declarations": [ + { + "constant": false, + "id": 7541, + "mutability": "mutable", + "name": "k", + "nameLocation": "7142:1:9", + "nodeType": "VariableDeclaration", + "scope": 7547, + "src": "7134:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7540, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7134:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7545, + "initialValue": { + "baseExpression": { + "id": 7542, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7514, + "src": "7146:1:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 7544, + "indexExpression": { + "id": 7543, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7530, + "src": "7148:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7146:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7134:16:9" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "7220:75:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "7249:6:9" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7261:2:9", + "type": "", + "value": "32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7269:2:9", + "type": "", + "value": "32" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7273:1:9" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "7265:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "7265:10:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7257:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "7257:19:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7245:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "7245:32:9" + }, + { + "name": "k", + "nodeType": "YulIdentifier", + "src": "7279:1:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7238:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "7238:43:9" + }, + "nodeType": "YulExpressionStatement", + "src": "7238:43:9" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 7530, + "isOffset": false, + "isSlot": false, + "src": "7273:1:9", + "valueSize": 1 + }, + { + "declaration": 7541, + "isOffset": false, + "isSlot": false, + "src": "7279:1:9", + "valueSize": 1 + }, + { + "declaration": 7520, + "isOffset": false, + "isSlot": false, + "src": "7249:6:9", + "valueSize": 1 + } + ], + "id": 7546, + "nodeType": "InlineAssembly", + "src": "7211:84:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7533, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7530, + "src": "7101:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 7534, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7514, + "src": "7105:1:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 7535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7107:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7105:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7101:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7548, + "initializationExpression": { + "assignments": [ + 7530 + ], + "declarations": [ + { + "constant": false, + "id": 7530, + "mutability": "mutable", + "name": "i", + "nameLocation": "7094:1:9", + "nodeType": "VariableDeclaration", + "scope": 7548, + "src": "7086:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7529, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7086:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7532, + "initialValue": { + "hexValue": "30", + "id": 7531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7098:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "7086:13:9" + }, + "loopExpression": { + "expression": { + "id": 7538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7115:3:9", + "subExpression": { + "id": 7537, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7530, + "src": "7115:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7539, + "nodeType": "ExpressionStatement", + "src": "7115:3:9" + }, + "nodeType": "ForStatement", + "src": "7081:224:9" + }, + { + "expression": { + "id": 7549, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "7322:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 7518, + "id": 7550, + "nodeType": "Return", + "src": "7315:13:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "flatten", + "nameLocation": "6951:7:9", + "parameters": { + "id": 7515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7514, + "mutability": "mutable", + "name": "b", + "nameLocation": "6976:1:9", + "nodeType": "VariableDeclaration", + "scope": 7552, + "src": "6959:18:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 7512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6959:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7513, + "nodeType": "ArrayTypeName", + "src": "6959:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "6958:20:9" + }, + "returnParameters": { + "id": 7518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7517, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7552, + "src": "7001:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7516, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7001:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7000:14:9" + }, + "scope": 7553, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "stdStorageSafe", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 7553 + ], + "name": "stdStorageSafe", + "nameLocation": "376:14:9", + "scope": 8095, + "usedErrors": [] + }, + { + "id": 8094, + "nodeType": "ContractDefinition", + "src": "7339:4527:9", + "nodes": [ + { + "id": 7570, + "nodeType": "VariableDeclaration", + "src": "7364:84:9", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "vm", + "nameLocation": "7384:2:9", + "scope": 8094, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + }, + "typeName": { + "id": 7555, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7554, + "name": "Vm", + "nameLocations": [ + "7364:2:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10233, + "src": "7364:2:9" + }, + "referencedDeclaration": 10233, + "src": "7364:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6865766d20636865617420636f6465", + "id": 7564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7426:17:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + }, + "value": "hevm cheat code" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + } + ], + "id": 7563, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "7416:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7416:28:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7408:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 7561, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7408:7:9", + "typeDescriptions": {} + } + }, + "id": 7566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7408:37:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7400:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 7559, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "7400:7:9", + "typeDescriptions": {} + } + }, + "id": 7567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7400:46:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 7558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7392:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7392:7:9", + "typeDescriptions": {} + } + }, + "id": 7568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7392:55:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7556, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "7389:2:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Vm_$10233_$", + "typeString": "type(contract Vm)" + } + }, + "id": 7569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7389:59:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "visibility": "private" + }, + { + "id": 7583, + "nodeType": "FunctionDefinition", + "src": "7455:118:9", + "nodes": [], + "body": { + "id": 7582, + "nodeType": "Block", + "src": "7522:51:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7579, + "name": "sigStr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7572, + "src": "7559:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7577, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "7539:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7554:4:9", + "memberName": "sigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 6712, + "src": "7539:19:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (string memory) pure returns (bytes4)" + } + }, + "id": 7580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7539:27:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "functionReturnParameters": 7576, + "id": 7581, + "nodeType": "Return", + "src": "7532:34:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sigs", + "nameLocation": "7464:4:9", + "parameters": { + "id": 7573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7572, + "mutability": "mutable", + "name": "sigStr", + "nameLocation": "7483:6:9", + "nodeType": "VariableDeclaration", + "scope": 7583, + "src": "7469:20:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7571, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7469:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7468:22:9" + }, + "returnParameters": { + "id": 7576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7575, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7583, + "src": "7514:6:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 7574, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "7514:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "7513:8:9" + }, + "scope": 8094, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7597, + "nodeType": "FunctionDefinition", + "src": "7579:115:9", + "nodes": [], + "body": { + "id": 7596, + "nodeType": "Block", + "src": "7645:49:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7593, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7586, + "src": "7682:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "expression": { + "id": 7591, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "7662:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7677:4:9", + "memberName": "find", + "nodeType": "MemberAccess", + "referencedDeclaration": 7156, + "src": "7662:19:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct StdStorage storage pointer) returns (uint256)" + } + }, + "id": 7594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7662:25:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7590, + "id": 7595, + "nodeType": "Return", + "src": "7655:32:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "find", + "nameLocation": "7588:4:9", + "parameters": { + "id": 7587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7586, + "mutability": "mutable", + "name": "self", + "nameLocation": "7612:4:9", + "nodeType": "VariableDeclaration", + "scope": 7597, + "src": "7593:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7585, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7584, + "name": "StdStorage", + "nameLocations": [ + "7593:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "7593:10:9" + }, + "referencedDeclaration": 6661, + "src": "7593:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "7592:25:9" + }, + "returnParameters": { + "id": 7590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7589, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7597, + "src": "7636:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7636:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7635:9:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7615, + "nodeType": "FunctionDefinition", + "src": "7700:156:9", + "nodes": [], + "body": { + "id": 7614, + "nodeType": "Block", + "src": "7796:60:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7610, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7600, + "src": "7835:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "id": 7611, + "name": "_target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7602, + "src": "7841:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 7608, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "7813:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7828:6:9", + "memberName": "target", + "nodeType": "MemberAccess", + "referencedDeclaration": 7176, + "src": "7813:21:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" + } + }, + "id": 7612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7813:36:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7607, + "id": 7613, + "nodeType": "Return", + "src": "7806:43:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "target", + "nameLocation": "7709:6:9", + "parameters": { + "id": 7603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7600, + "mutability": "mutable", + "name": "self", + "nameLocation": "7735:4:9", + "nodeType": "VariableDeclaration", + "scope": 7615, + "src": "7716:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7599, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7598, + "name": "StdStorage", + "nameLocations": [ + "7716:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "7716:10:9" + }, + "referencedDeclaration": 6661, + "src": "7716:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7602, + "mutability": "mutable", + "name": "_target", + "nameLocation": "7749:7:9", + "nodeType": "VariableDeclaration", + "scope": 7615, + "src": "7741:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7601, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7741:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7715:42:9" + }, + "returnParameters": { + "id": 7607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7606, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7615, + "src": "7776:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7605, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7604, + "name": "StdStorage", + "nameLocations": [ + "7776:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "7776:10:9" + }, + "referencedDeclaration": 6661, + "src": "7776:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "7775:20:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7633, + "nodeType": "FunctionDefinition", + "src": "7862:143:9", + "nodes": [], + "body": { + "id": 7632, + "nodeType": "Block", + "src": "7951:54:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7628, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7618, + "src": "7987:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "id": 7629, + "name": "_sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7620, + "src": "7993:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 7626, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "7968:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7983:3:9", + "memberName": "sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 7196, + "src": "7968:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)" + } + }, + "id": 7630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7968:30:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7625, + "id": 7631, + "nodeType": "Return", + "src": "7961:37:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sig", + "nameLocation": "7871:3:9", + "parameters": { + "id": 7621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7618, + "mutability": "mutable", + "name": "self", + "nameLocation": "7894:4:9", + "nodeType": "VariableDeclaration", + "scope": 7633, + "src": "7875:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7617, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7616, + "name": "StdStorage", + "nameLocations": [ + "7875:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "7875:10:9" + }, + "referencedDeclaration": 6661, + "src": "7875:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7620, + "mutability": "mutable", + "name": "_sig", + "nameLocation": "7907:4:9", + "nodeType": "VariableDeclaration", + "scope": 7633, + "src": "7900:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 7619, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "7900:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "7874:38:9" + }, + "returnParameters": { + "id": 7625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7624, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7633, + "src": "7931:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7623, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7622, + "name": "StdStorage", + "nameLocations": [ + "7931:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "7931:10:9" + }, + "referencedDeclaration": 6661, + "src": "7931:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "7930:20:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7651, + "nodeType": "FunctionDefinition", + "src": "8011:150:9", + "nodes": [], + "body": { + "id": 7650, + "nodeType": "Block", + "src": "8107:54:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7646, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7636, + "src": "8143:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "id": 7647, + "name": "_sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7638, + "src": "8149:4:9", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7644, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "8124:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8139:3:9", + "memberName": "sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 7218, + "src": "8124:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)" + } + }, + "id": 7648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8124:30:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7643, + "id": 7649, + "nodeType": "Return", + "src": "8117:37:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sig", + "nameLocation": "8020:3:9", + "parameters": { + "id": 7639, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7636, + "mutability": "mutable", + "name": "self", + "nameLocation": "8043:4:9", + "nodeType": "VariableDeclaration", + "scope": 7651, + "src": "8024:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7635, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7634, + "name": "StdStorage", + "nameLocations": [ + "8024:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8024:10:9" + }, + "referencedDeclaration": 6661, + "src": "8024:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7638, + "mutability": "mutable", + "name": "_sig", + "nameLocation": "8063:4:9", + "nodeType": "VariableDeclaration", + "scope": 7651, + "src": "8049:18:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7637, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8049:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8023:45:9" + }, + "returnParameters": { + "id": 7643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7642, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7651, + "src": "8087:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7641, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7640, + "name": "StdStorage", + "nameLocations": [ + "8087:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8087:10:9" + }, + "referencedDeclaration": 6661, + "src": "8087:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "8086:20:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7669, + "nodeType": "FunctionDefinition", + "src": "8167:152:9", + "nodes": [], + "body": { + "id": 7668, + "nodeType": "Block", + "src": "8261:58:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7664, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7654, + "src": "8302:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "id": 7665, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7656, + "src": "8308:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 7662, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "8278:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8293:8:9", + "memberName": "with_key", + "nodeType": "MemberAccess", + "referencedDeclaration": 7249, + "src": "8278:23:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" + } + }, + "id": 7666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8278:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7661, + "id": 7667, + "nodeType": "Return", + "src": "8271:41:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "with_key", + "nameLocation": "8176:8:9", + "parameters": { + "id": 7657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7654, + "mutability": "mutable", + "name": "self", + "nameLocation": "8204:4:9", + "nodeType": "VariableDeclaration", + "scope": 7669, + "src": "8185:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7653, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7652, + "name": "StdStorage", + "nameLocations": [ + "8185:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8185:10:9" + }, + "referencedDeclaration": 6661, + "src": "8185:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7656, + "mutability": "mutable", + "name": "who", + "nameLocation": "8218:3:9", + "nodeType": "VariableDeclaration", + "scope": 7669, + "src": "8210:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7655, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8210:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8184:38:9" + }, + "returnParameters": { + "id": 7661, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7660, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7669, + "src": "8241:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7659, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7658, + "name": "StdStorage", + "nameLocations": [ + "8241:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8241:10:9" + }, + "referencedDeclaration": 6661, + "src": "8241:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "8240:20:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7687, + "nodeType": "FunctionDefinition", + "src": "8325:152:9", + "nodes": [], + "body": { + "id": 7686, + "nodeType": "Block", + "src": "8419:58:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7682, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7672, + "src": "8460:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "id": 7683, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7674, + "src": "8466:3:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7680, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "8436:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8451:8:9", + "memberName": "with_key", + "nodeType": "MemberAccess", + "referencedDeclaration": 7274, + "src": "8436:23:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)" + } + }, + "id": 7684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8436:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7679, + "id": 7685, + "nodeType": "Return", + "src": "8429:41:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "with_key", + "nameLocation": "8334:8:9", + "parameters": { + "id": 7675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7672, + "mutability": "mutable", + "name": "self", + "nameLocation": "8362:4:9", + "nodeType": "VariableDeclaration", + "scope": 7687, + "src": "8343:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7671, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7670, + "name": "StdStorage", + "nameLocations": [ + "8343:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8343:10:9" + }, + "referencedDeclaration": 6661, + "src": "8343:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7674, + "mutability": "mutable", + "name": "amt", + "nameLocation": "8376:3:9", + "nodeType": "VariableDeclaration", + "scope": 7687, + "src": "8368:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7673, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8368:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8342:38:9" + }, + "returnParameters": { + "id": 7679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7678, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7687, + "src": "8399:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7677, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7676, + "name": "StdStorage", + "nameLocations": [ + "8399:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8399:10:9" + }, + "referencedDeclaration": 6661, + "src": "8399:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "8398:20:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7705, + "nodeType": "FunctionDefinition", + "src": "8483:152:9", + "nodes": [], + "body": { + "id": 7704, + "nodeType": "Block", + "src": "8577:58:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7700, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7690, + "src": "8618:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "id": 7701, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7692, + "src": "8624:3:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 7698, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "8594:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8609:8:9", + "memberName": "with_key", + "nodeType": "MemberAccess", + "referencedDeclaration": 7296, + "src": "8594:23:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)" + } + }, + "id": 7702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8594:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7697, + "id": 7703, + "nodeType": "Return", + "src": "8587:41:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "with_key", + "nameLocation": "8492:8:9", + "parameters": { + "id": 7693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7690, + "mutability": "mutable", + "name": "self", + "nameLocation": "8520:4:9", + "nodeType": "VariableDeclaration", + "scope": 7705, + "src": "8501:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7689, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7688, + "name": "StdStorage", + "nameLocations": [ + "8501:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8501:10:9" + }, + "referencedDeclaration": 6661, + "src": "8501:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7692, + "mutability": "mutable", + "name": "key", + "nameLocation": "8534:3:9", + "nodeType": "VariableDeclaration", + "scope": 7705, + "src": "8526:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8526:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "8500:38:9" + }, + "returnParameters": { + "id": 7697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7705, + "src": "8557:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7695, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7694, + "name": "StdStorage", + "nameLocations": [ + "8557:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8557:10:9" + }, + "referencedDeclaration": 6661, + "src": "8557:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "8556:20:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7723, + "nodeType": "FunctionDefinition", + "src": "8641:152:9", + "nodes": [], + "body": { + "id": 7722, + "nodeType": "Block", + "src": "8735:58:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7718, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7708, + "src": "8773:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "id": 7719, + "name": "_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7710, + "src": "8779:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7716, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "8752:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8767:5:9", + "memberName": "depth", + "nodeType": "MemberAccess", + "referencedDeclaration": 7316, + "src": "8752:20:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$6661_storage_ptr_$", + "typeString": "function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)" + } + }, + "id": 7720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8752:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "functionReturnParameters": 7715, + "id": 7721, + "nodeType": "Return", + "src": "8745:41:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "depth", + "nameLocation": "8650:5:9", + "parameters": { + "id": 7711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7708, + "mutability": "mutable", + "name": "self", + "nameLocation": "8675:4:9", + "nodeType": "VariableDeclaration", + "scope": 7723, + "src": "8656:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7707, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7706, + "name": "StdStorage", + "nameLocations": [ + "8656:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8656:10:9" + }, + "referencedDeclaration": 6661, + "src": "8656:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7710, + "mutability": "mutable", + "name": "_depth", + "nameLocation": "8689:6:9", + "nodeType": "VariableDeclaration", + "scope": 7723, + "src": "8681:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7709, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8681:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8655:41:9" + }, + "returnParameters": { + "id": 7715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7714, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7723, + "src": "8715:18:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7713, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7712, + "name": "StdStorage", + "nameLocations": [ + "8715:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8715:10:9" + }, + "referencedDeclaration": 6661, + "src": "8715:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "8714:20:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7746, + "nodeType": "FunctionDefinition", + "src": "8799:138:9", + "nodes": [], + "body": { + "id": 7745, + "nodeType": "Block", + "src": "8869:68:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7732, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7726, + "src": "8893:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 7739, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7728, + "src": "8923:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8915:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 7737, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "8915:7:9", + "typeDescriptions": {} + } + }, + "id": 7740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8915:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 7736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8907:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 7735, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8907:7:9", + "typeDescriptions": {} + } + }, + "id": 7741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8907:21:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8899:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 7733, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8899:7:9", + "typeDescriptions": {} + } + }, + "id": 7742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8899:30:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7731, + "name": "checked_write", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7746, + 7763, + 7781, + 7926 + ], + "referencedDeclaration": 7926, + "src": "8879:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (struct StdStorage storage pointer,bytes32)" + } + }, + "id": 7743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8879:51:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7744, + "nodeType": "ExpressionStatement", + "src": "8879:51:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checked_write", + "nameLocation": "8808:13:9", + "parameters": { + "id": 7729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7726, + "mutability": "mutable", + "name": "self", + "nameLocation": "8841:4:9", + "nodeType": "VariableDeclaration", + "scope": 7746, + "src": "8822:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7725, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7724, + "name": "StdStorage", + "nameLocations": [ + "8822:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8822:10:9" + }, + "referencedDeclaration": 6661, + "src": "8822:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7728, + "mutability": "mutable", + "name": "who", + "nameLocation": "8855:3:9", + "nodeType": "VariableDeclaration", + "scope": 7746, + "src": "8847:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7727, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8847:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8821:38:9" + }, + "returnParameters": { + "id": 7730, + "nodeType": "ParameterList", + "parameters": [], + "src": "8869:0:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7763, + "nodeType": "FunctionDefinition", + "src": "8943:120:9", + "nodes": [], + "body": { + "id": 7762, + "nodeType": "Block", + "src": "9013:50:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7755, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7749, + "src": "9037:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "arguments": [ + { + "id": 7758, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7751, + "src": "9051:3:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9043:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 7756, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9043:7:9", + "typeDescriptions": {} + } + }, + "id": 7759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9043:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7754, + "name": "checked_write", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7746, + 7763, + 7781, + 7926 + ], + "referencedDeclaration": 7926, + "src": "9023:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (struct StdStorage storage pointer,bytes32)" + } + }, + "id": 7760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9023:33:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7761, + "nodeType": "ExpressionStatement", + "src": "9023:33:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checked_write", + "nameLocation": "8952:13:9", + "parameters": { + "id": 7752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7749, + "mutability": "mutable", + "name": "self", + "nameLocation": "8985:4:9", + "nodeType": "VariableDeclaration", + "scope": 7763, + "src": "8966:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7748, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7747, + "name": "StdStorage", + "nameLocations": [ + "8966:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "8966:10:9" + }, + "referencedDeclaration": 6661, + "src": "8966:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7751, + "mutability": "mutable", + "name": "amt", + "nameLocation": "8999:3:9", + "nodeType": "VariableDeclaration", + "scope": 7763, + "src": "8991:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8991:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8965:38:9" + }, + "returnParameters": { + "id": 7753, + "nodeType": "ParameterList", + "parameters": [], + "src": "9013:0:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7781, + "nodeType": "FunctionDefinition", + "src": "9069:222:9", + "nodes": [], + "body": { + "id": 7780, + "nodeType": "Block", + "src": "9138:153:9", + "nodes": [], + "statements": [ + { + "assignments": [ + 7772 + ], + "declarations": [ + { + "constant": false, + "id": 7772, + "mutability": "mutable", + "name": "t", + "nameLocation": "9156:1:9", + "nodeType": "VariableDeclaration", + "scope": 7780, + "src": "9148:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7771, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9148:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7773, + "nodeType": "VariableDeclarationStatement", + "src": "9148:9:9" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "9219:34:9", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9233:10:9", + "value": { + "name": "write", + "nodeType": "YulIdentifier", + "src": "9238:5:9" + }, + "variableNames": [ + { + "name": "t", + "nodeType": "YulIdentifier", + "src": "9233:1:9" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 7772, + "isOffset": false, + "isSlot": false, + "src": "9233:1:9", + "valueSize": 1 + }, + { + "declaration": 7768, + "isOffset": false, + "isSlot": false, + "src": "9238:5:9", + "valueSize": 1 + } + ], + "id": 7774, + "nodeType": "InlineAssembly", + "src": "9210:43:9" + }, + { + "expression": { + "arguments": [ + { + "id": 7776, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7766, + "src": "9276:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + { + "id": 7777, + "name": "t", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7772, + "src": "9282:1:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7775, + "name": "checked_write", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7746, + 7763, + 7781, + 7926 + ], + "referencedDeclaration": 7926, + "src": "9262:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (struct StdStorage storage pointer,bytes32)" + } + }, + "id": 7778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9262:22:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7779, + "nodeType": "ExpressionStatement", + "src": "9262:22:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checked_write", + "nameLocation": "9078:13:9", + "parameters": { + "id": 7769, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7766, + "mutability": "mutable", + "name": "self", + "nameLocation": "9111:4:9", + "nodeType": "VariableDeclaration", + "scope": 7781, + "src": "9092:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7765, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7764, + "name": "StdStorage", + "nameLocations": [ + "9092:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "9092:10:9" + }, + "referencedDeclaration": 6661, + "src": "9092:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7768, + "mutability": "mutable", + "name": "write", + "nameLocation": "9122:5:9", + "nodeType": "VariableDeclaration", + "scope": 7781, + "src": "9117:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7767, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9117:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "9091:37:9" + }, + "returnParameters": { + "id": 7770, + "nodeType": "ParameterList", + "parameters": [], + "src": "9138:0:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7926, + "nodeType": "FunctionDefinition", + "src": "9297:1095:9", + "nodes": [], + "body": { + "id": 7925, + "nodeType": "Block", + "src": "9367:1025:9", + "nodes": [], + "statements": [ + { + "assignments": [ + 7790 + ], + "declarations": [ + { + "constant": false, + "id": 7790, + "mutability": "mutable", + "name": "who", + "nameLocation": "9385:3:9", + "nodeType": "VariableDeclaration", + "scope": 7925, + "src": "9377:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7789, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9377:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 7793, + "initialValue": { + "expression": { + "id": 7791, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "9391:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7792, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9396:7:9", + "memberName": "_target", + "nodeType": "MemberAccess", + "referencedDeclaration": 6658, + "src": "9391:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9377:26:9" + }, + { + "assignments": [ + 7795 + ], + "declarations": [ + { + "constant": false, + "id": 7795, + "mutability": "mutable", + "name": "fsig", + "nameLocation": "9420:4:9", + "nodeType": "VariableDeclaration", + "scope": 7925, + "src": "9413:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 7794, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "9413:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "id": 7798, + "initialValue": { + "expression": { + "id": 7796, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "9427:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7797, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9432:4:9", + "memberName": "_sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 6654, + "src": "9427:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9413:23:9" + }, + { + "assignments": [ + 7800 + ], + "declarations": [ + { + "constant": false, + "id": 7800, + "mutability": "mutable", + "name": "field_depth", + "nameLocation": "9454:11:9", + "nodeType": "VariableDeclaration", + "scope": 7925, + "src": "9446:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9446:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7803, + "initialValue": { + "expression": { + "id": 7801, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "9468:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7802, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9473:6:9", + "memberName": "_depth", + "nodeType": "MemberAccess", + "referencedDeclaration": 6656, + "src": "9468:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9446:33:9" + }, + { + "assignments": [ + 7808 + ], + "declarations": [ + { + "constant": false, + "id": 7808, + "mutability": "mutable", + "name": "ins", + "nameLocation": "9506:3:9", + "nodeType": "VariableDeclaration", + "scope": 7925, + "src": "9489:20:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 7806, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9489:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7807, + "nodeType": "ArrayTypeName", + "src": "9489:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 7811, + "initialValue": { + "expression": { + "id": 7809, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "9512:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9517:5:9", + "memberName": "_keys", + "nodeType": "MemberAccess", + "referencedDeclaration": 6652, + "src": "9512:10:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9489:33:9" + }, + { + "assignments": [ + 7813 + ], + "declarations": [ + { + "constant": false, + "id": 7813, + "mutability": "mutable", + "name": "cald", + "nameLocation": "9546:4:9", + "nodeType": "VariableDeclaration", + "scope": 7925, + "src": "9533:17:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7812, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9533:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 7821, + "initialValue": { + "arguments": [ + { + "id": 7816, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7795, + "src": "9570:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "arguments": [ + { + "id": 7818, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7808, + "src": "9584:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 7817, + "name": "flatten", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8093, + "src": "9576:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32[] memory) pure returns (bytes memory)" + } + }, + "id": 7819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9576:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 7814, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9553:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9557:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "9553:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9553:36:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9533:56:9" + }, + { + "condition": { + "id": 7836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "9603:69:9", + "subExpression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 7822, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "9604:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7823, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9609:5:9", + "memberName": "finds", + "nodeType": "MemberAccess", + "referencedDeclaration": 6649, + "src": "9604:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" + } + }, + "id": 7825, + "indexExpression": { + "id": 7824, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7790, + "src": "9615:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9604:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" + } + }, + "id": 7827, + "indexExpression": { + "id": 7826, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7795, + "src": "9620:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9604:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 7835, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7831, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7808, + "src": "9653:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 7832, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7800, + "src": "9658:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7829, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9636:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9640:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "9636:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9636:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7828, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "9626:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9626:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9604:68:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7842, + "nodeType": "IfStatement", + "src": "9599:110:9", + "trueBody": { + "id": 7841, + "nodeType": "Block", + "src": "9674:35:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7838, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "9693:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "id": 7837, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7597, + "src": "9688:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct StdStorage storage pointer) returns (uint256)" + } + }, + "id": 7839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9688:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7840, + "nodeType": "ExpressionStatement", + "src": "9688:10:9" + } + ] + } + }, + { + "assignments": [ + 7844 + ], + "declarations": [ + { + "constant": false, + "id": 7844, + "mutability": "mutable", + "name": "slot", + "nameLocation": "9726:4:9", + "nodeType": "VariableDeclaration", + "scope": 7925, + "src": "9718:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7843, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9718:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7862, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 7847, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "9741:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7848, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9746:5:9", + "memberName": "slots", + "nodeType": "MemberAccess", + "referencedDeclaration": 6641, + "src": "9741:10:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", + "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" + } + }, + "id": 7850, + "indexExpression": { + "id": 7849, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7790, + "src": "9752:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9741:15:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", + "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" + } + }, + "id": 7852, + "indexExpression": { + "id": 7851, + "name": "fsig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7795, + "src": "9757:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9741:21:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 7860, + "indexExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7856, + "name": "ins", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7808, + "src": "9790:3:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 7857, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7800, + "src": "9795:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7854, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9773:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9777:12:9", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "9773:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9773:34:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7853, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "9763:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9763:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9741:68:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9733:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 7845, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9733:7:9", + "typeDescriptions": {} + } + }, + "id": 7861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9733:77:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9718:92:9" + }, + { + "assignments": [ + 7864 + ], + "declarations": [ + { + "constant": false, + "id": 7864, + "mutability": "mutable", + "name": "fdat", + "nameLocation": "9829:4:9", + "nodeType": "VariableDeclaration", + "scope": 7925, + "src": "9821:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7863, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9821:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7865, + "nodeType": "VariableDeclarationStatement", + "src": "9821:12:9" + }, + { + "id": 7882, + "nodeType": "Block", + "src": "9843:128:9", + "statements": [ + { + "assignments": [ + null, + 7867 + ], + "declarations": [ + null, + { + "constant": false, + "id": 7867, + "mutability": "mutable", + "name": "rdat", + "nameLocation": "9873:4:9", + "nodeType": "VariableDeclaration", + "scope": 7882, + "src": "9860:17:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7866, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9860:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 7872, + "initialValue": { + "arguments": [ + { + "id": 7870, + "name": "cald", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7813, + "src": "9896:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 7868, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7790, + "src": "9881:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9885:10:9", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "9881:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 7871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9881:20:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9857:44:9" + }, + { + "expression": { + "id": 7880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7873, + "name": "fdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7864, + "src": "9915:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 7875, + "name": "rdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7867, + "src": "9937:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3332", + "id": 7876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9943:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 7877, + "name": "field_depth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7800, + "src": "9948:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9943:16:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7874, + "name": "bytesToBytes32", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8052, + "src": "9922:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256) pure returns (bytes32)" + } + }, + "id": 7879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9922:38:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "9915:45:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7881, + "nodeType": "ExpressionStatement", + "src": "9915:45:9" + } + ] + }, + { + "assignments": [ + 7884 + ], + "declarations": [ + { + "constant": false, + "id": 7884, + "mutability": "mutable", + "name": "curr", + "nameLocation": "9988:4:9", + "nodeType": "VariableDeclaration", + "scope": 7925, + "src": "9980:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7883, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9980:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7890, + "initialValue": { + "arguments": [ + { + "id": 7887, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7790, + "src": "10003:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7888, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7844, + "src": "10008:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 7885, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7570, + "src": "9995:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 7886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9998:4:9", + "memberName": "load", + "nodeType": "MemberAccess", + "referencedDeclaration": 8983, + "src": "9995:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (address,bytes32) view external returns (bytes32)" + } + }, + "id": 7889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9995:18:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9980:33:9" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7891, + "name": "fdat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7864, + "src": "10028:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 7892, + "name": "curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7884, + "src": "10036:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10028:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7900, + "nodeType": "IfStatement", + "src": "10024:218:9", + "trueBody": { + "id": 7899, + "nodeType": "Block", + "src": "10042:200:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "66616c7365", + "id": 7895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10081:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e", + "id": 7896, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10104:113:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", + "typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" + }, + "value": "stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", + "typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" + } + ], + "id": 7894, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10056:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10056:175:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7898, + "nodeType": "ExpressionStatement", + "src": "10056:175:9" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 7904, + "name": "who", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7790, + "src": "10260:3:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7905, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7844, + "src": "10265:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 7906, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7786, + "src": "10271:3:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 7901, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7570, + "src": "10251:2:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 7903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10254:5:9", + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 9944, + "src": "10251:8:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32,bytes32) external" + } + }, + "id": 7907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10251:24:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7908, + "nodeType": "ExpressionStatement", + "src": "10251:24:9" + }, + { + "expression": { + "id": 7911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10285:19:9", + "subExpression": { + "expression": { + "id": 7909, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "10292:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7910, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10297:7:9", + "memberName": "_target", + "nodeType": "MemberAccess", + "referencedDeclaration": 6658, + "src": "10292:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7912, + "nodeType": "ExpressionStatement", + "src": "10285:19:9" + }, + { + "expression": { + "id": 7915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10314:16:9", + "subExpression": { + "expression": { + "id": 7913, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "10321:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7914, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10326:4:9", + "memberName": "_sig", + "nodeType": "MemberAccess", + "referencedDeclaration": 6654, + "src": "10321:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7916, + "nodeType": "ExpressionStatement", + "src": "10314:16:9" + }, + { + "expression": { + "id": 7919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10340:17:9", + "subExpression": { + "expression": { + "id": 7917, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "10347:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7918, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10352:5:9", + "memberName": "_keys", + "nodeType": "MemberAccess", + "referencedDeclaration": 6652, + "src": "10347:10:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7920, + "nodeType": "ExpressionStatement", + "src": "10340:17:9" + }, + { + "expression": { + "id": 7923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10367:18:9", + "subExpression": { + "expression": { + "id": 7921, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7784, + "src": "10374:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + }, + "id": 7922, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10379:6:9", + "memberName": "_depth", + "nodeType": "MemberAccess", + "referencedDeclaration": 6656, + "src": "10374:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7924, + "nodeType": "ExpressionStatement", + "src": "10367:18:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checked_write", + "nameLocation": "9306:13:9", + "parameters": { + "id": 7787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7784, + "mutability": "mutable", + "name": "self", + "nameLocation": "9339:4:9", + "nodeType": "VariableDeclaration", + "scope": 7926, + "src": "9320:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7783, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7782, + "name": "StdStorage", + "nameLocations": [ + "9320:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "9320:10:9" + }, + "referencedDeclaration": 6661, + "src": "9320:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7786, + "mutability": "mutable", + "name": "set", + "nameLocation": "9353:3:9", + "nodeType": "VariableDeclaration", + "scope": 7926, + "src": "9345:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7785, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9345:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "9319:38:9" + }, + "returnParameters": { + "id": 7788, + "nodeType": "ParameterList", + "parameters": [], + "src": "9367:0:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7940, + "nodeType": "FunctionDefinition", + "src": "10398:131:9", + "nodes": [], + "body": { + "id": 7939, + "nodeType": "Block", + "src": "10472:57:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7936, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7929, + "src": "10517:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "expression": { + "id": 7934, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "10489:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10504:12:9", + "memberName": "read_bytes32", + "nodeType": "MemberAccess", + "referencedDeclaration": 7367, + "src": "10489:27:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct StdStorage storage pointer) returns (bytes32)" + } + }, + "id": 7937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10489:33:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7933, + "id": 7938, + "nodeType": "Return", + "src": "10482:40:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_bytes32", + "nameLocation": "10407:12:9", + "parameters": { + "id": 7930, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7929, + "mutability": "mutable", + "name": "self", + "nameLocation": "10439:4:9", + "nodeType": "VariableDeclaration", + "scope": 7940, + "src": "10420:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7928, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7927, + "name": "StdStorage", + "nameLocations": [ + "10420:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "10420:10:9" + }, + "referencedDeclaration": 6661, + "src": "10420:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "10419:25:9" + }, + "returnParameters": { + "id": 7933, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7932, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7940, + "src": "10463:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7931, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10463:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "10462:9:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7954, + "nodeType": "FunctionDefinition", + "src": "10535:122:9", + "nodes": [], + "body": { + "id": 7953, + "nodeType": "Block", + "src": "10603:54:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7950, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7943, + "src": "10645:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "expression": { + "id": 7948, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "10620:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10635:9:9", + "memberName": "read_bool", + "nodeType": "MemberAccess", + "referencedDeclaration": 7398, + "src": "10620:24:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_bool_$", + "typeString": "function (struct StdStorage storage pointer) returns (bool)" + } + }, + "id": 7951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10620:30:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 7947, + "id": 7952, + "nodeType": "Return", + "src": "10613:37:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_bool", + "nameLocation": "10544:9:9", + "parameters": { + "id": 7944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7943, + "mutability": "mutable", + "name": "self", + "nameLocation": "10573:4:9", + "nodeType": "VariableDeclaration", + "scope": 7954, + "src": "10554:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7942, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7941, + "name": "StdStorage", + "nameLocations": [ + "10554:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "10554:10:9" + }, + "referencedDeclaration": 6661, + "src": "10554:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "10553:25:9" + }, + "returnParameters": { + "id": 7947, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7946, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7954, + "src": "10597:4:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7945, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10597:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "10596:6:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7968, + "nodeType": "FunctionDefinition", + "src": "10663:131:9", + "nodes": [], + "body": { + "id": 7967, + "nodeType": "Block", + "src": "10737:57:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7964, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7957, + "src": "10782:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "expression": { + "id": 7962, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "10754:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10769:12:9", + "memberName": "read_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 7417, + "src": "10754:27:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_address_$", + "typeString": "function (struct StdStorage storage pointer) returns (address)" + } + }, + "id": 7965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10754:33:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 7961, + "id": 7966, + "nodeType": "Return", + "src": "10747:40:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_address", + "nameLocation": "10672:12:9", + "parameters": { + "id": 7958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7957, + "mutability": "mutable", + "name": "self", + "nameLocation": "10704:4:9", + "nodeType": "VariableDeclaration", + "scope": 7968, + "src": "10685:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7956, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7955, + "name": "StdStorage", + "nameLocations": [ + "10685:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "10685:10:9" + }, + "referencedDeclaration": 6661, + "src": "10685:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "10684:25:9" + }, + "returnParameters": { + "id": 7961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7960, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7968, + "src": "10728:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7959, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10728:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10727:9:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7982, + "nodeType": "FunctionDefinition", + "src": "10800:125:9", + "nodes": [], + "body": { + "id": 7981, + "nodeType": "Block", + "src": "10871:54:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7978, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7971, + "src": "10913:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "expression": { + "id": 7976, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "10888:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10903:9:9", + "memberName": "read_uint", + "nodeType": "MemberAccess", + "referencedDeclaration": 7436, + "src": "10888:24:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct StdStorage storage pointer) returns (uint256)" + } + }, + "id": 7979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10888:30:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7975, + "id": 7980, + "nodeType": "Return", + "src": "10881:37:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_uint", + "nameLocation": "10809:9:9", + "parameters": { + "id": 7972, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7971, + "mutability": "mutable", + "name": "self", + "nameLocation": "10838:4:9", + "nodeType": "VariableDeclaration", + "scope": 7982, + "src": "10819:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7970, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7969, + "name": "StdStorage", + "nameLocations": [ + "10819:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "10819:10:9" + }, + "referencedDeclaration": 6661, + "src": "10819:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "10818:25:9" + }, + "returnParameters": { + "id": 7975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7974, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7982, + "src": "10862:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10862:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10861:9:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 7996, + "nodeType": "FunctionDefinition", + "src": "10931:122:9", + "nodes": [], + "body": { + "id": 7995, + "nodeType": "Block", + "src": "11000:53:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7992, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7985, + "src": "11041:4:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage storage pointer" + } + ], + "expression": { + "id": 7990, + "name": "stdStorageSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7553, + "src": "11017:14:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7553_$", + "typeString": "type(library stdStorageSafe)" + } + }, + "id": 7991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11032:8:9", + "memberName": "read_int", + "nodeType": "MemberAccess", + "referencedDeclaration": 7455, + "src": "11017:23:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6661_storage_ptr_$returns$_t_int256_$", + "typeString": "function (struct StdStorage storage pointer) returns (int256)" + } + }, + "id": 7993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11017:29:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 7989, + "id": 7994, + "nodeType": "Return", + "src": "11010:36:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "read_int", + "nameLocation": "10940:8:9", + "parameters": { + "id": 7986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7985, + "mutability": "mutable", + "name": "self", + "nameLocation": "10968:4:9", + "nodeType": "VariableDeclaration", + "scope": 7996, + "src": "10949:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + }, + "typeName": { + "id": 7984, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7983, + "name": "StdStorage", + "nameLocations": [ + "10949:10:9" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6661, + "src": "10949:10:9" + }, + "referencedDeclaration": 6661, + "src": "10949:10:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StdStorage_$6661_storage_ptr", + "typeString": "struct StdStorage" + } + }, + "visibility": "internal" + } + ], + "src": "10948:25:9" + }, + "returnParameters": { + "id": 7989, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7988, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7996, + "src": "10992:6:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 7987, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "10992:6:9", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "10991:8:9" + }, + "scope": 8094, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 8052, + "nodeType": "FunctionDefinition", + "src": "11110:304:9", + "nodes": [], + "body": { + "id": 8051, + "nodeType": "Block", + "src": "11197:217:9", + "nodes": [], + "statements": [ + { + "assignments": [ + 8006 + ], + "declarations": [ + { + "constant": false, + "id": 8006, + "mutability": "mutable", + "name": "out", + "nameLocation": "11215:3:9", + "nodeType": "VariableDeclaration", + "scope": 8051, + "src": "11207:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8005, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11207:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 8007, + "nodeType": "VariableDeclarationStatement", + "src": "11207:11:9" + }, + { + "assignments": [ + 8009 + ], + "declarations": [ + { + "constant": false, + "id": 8009, + "mutability": "mutable", + "name": "max", + "nameLocation": "11237:3:9", + "nodeType": "VariableDeclaration", + "scope": 8051, + "src": "11229:11:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8008, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11229:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8018, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8010, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7998, + "src": "11243:1:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 8011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11245:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11243:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3332", + "id": 8012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11254:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "11243:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "expression": { + "id": 8015, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7998, + "src": "11264:1:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 8016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11266:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11264:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "11243:29:9", + "trueExpression": { + "hexValue": "3332", + "id": 8014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11259:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11229:43:9" + }, + { + "body": { + "id": 8047, + "nodeType": "Block", + "src": "11316:72:9", + "statements": [ + { + "expression": { + "id": 8045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8029, + "name": "out", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8006, + "src": "11330:3:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "|=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 8044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 8038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 8032, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7998, + "src": "11345:1:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 8036, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8033, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8000, + "src": "11347:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 8034, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8020, + "src": "11356:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11347:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11345:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "30784646", + "id": 8037, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11361:4:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "0xFF" + }, + "src": "11345:20:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 8031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11337:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 8030, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11337:7:9", + "typeDescriptions": {} + } + }, + "id": 8039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11337:29:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8040, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8020, + "src": "11371:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "38", + "id": 8041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11375:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "11371:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8043, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11370:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11337:40:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11330:47:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8046, + "nodeType": "ExpressionStatement", + "src": "11330:47:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8023, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8020, + "src": "11302:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 8024, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8009, + "src": "11306:3:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11302:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8048, + "initializationExpression": { + "assignments": [ + 8020 + ], + "declarations": [ + { + "constant": false, + "id": 8020, + "mutability": "mutable", + "name": "i", + "nameLocation": "11295:1:9", + "nodeType": "VariableDeclaration", + "scope": 8048, + "src": "11287:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11287:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8022, + "initialValue": { + "hexValue": "30", + "id": 8021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11299:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11287:13:9" + }, + "loopExpression": { + "expression": { + "id": 8027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11311:3:9", + "subExpression": { + "id": 8026, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8020, + "src": "11311:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8028, + "nodeType": "ExpressionStatement", + "src": "11311:3:9" + }, + "nodeType": "ForStatement", + "src": "11282:106:9" + }, + { + "expression": { + "id": 8049, + "name": "out", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8006, + "src": "11404:3:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 8004, + "id": 8050, + "nodeType": "Return", + "src": "11397:10:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bytesToBytes32", + "nameLocation": "11119:14:9", + "parameters": { + "id": 8001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7998, + "mutability": "mutable", + "name": "b", + "nameLocation": "11147:1:9", + "nodeType": "VariableDeclaration", + "scope": 8052, + "src": "11134:14:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7997, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11134:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8000, + "mutability": "mutable", + "name": "offset", + "nameLocation": "11158:6:9", + "nodeType": "VariableDeclaration", + "scope": 8052, + "src": "11150:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11150:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11133:32:9" + }, + "returnParameters": { + "id": 8004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8003, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8052, + "src": "11188:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8002, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11188:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "11187:9:9" + }, + "scope": 8094, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 8093, + "nodeType": "FunctionDefinition", + "src": "11471:393:9", + "nodes": [], + "body": { + "id": 8092, + "nodeType": "Block", + "src": "11544:320:9", + "nodes": [], + "statements": [ + { + "assignments": [ + 8061 + ], + "declarations": [ + { + "constant": false, + "id": 8061, + "mutability": "mutable", + "name": "result", + "nameLocation": "11567:6:9", + "nodeType": "VariableDeclaration", + "scope": 8092, + "src": "11554:19:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8060, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11554:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 8069, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8064, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8055, + "src": "11586:1:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 8065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11588:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11586:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "3332", + "id": 8066, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11597:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "11586:13:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "11576:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 8062, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11580:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 8068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11576:24:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11554:46:9" + }, + { + "body": { + "id": 8088, + "nodeType": "Block", + "src": "11649:185:9", + "statements": [ + { + "assignments": [ + 8082 + ], + "declarations": [ + { + "constant": false, + "id": 8082, + "mutability": "mutable", + "name": "k", + "nameLocation": "11671:1:9", + "nodeType": "VariableDeclaration", + "scope": 8088, + "src": "11663:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8081, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11663:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 8086, + "initialValue": { + "baseExpression": { + "id": 8083, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8055, + "src": "11675:1:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 8085, + "indexExpression": { + "id": 8084, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8071, + "src": "11677:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11675:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11663:16:9" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "11749:75:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "11778:6:9" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11790:2:9", + "type": "", + "value": "32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11798:2:9", + "type": "", + "value": "32" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "11802:1:9" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "11794:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "11794:10:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11786:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "11786:19:9" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11774:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "11774:32:9" + }, + { + "name": "k", + "nodeType": "YulIdentifier", + "src": "11808:1:9" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11767:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "11767:43:9" + }, + "nodeType": "YulExpressionStatement", + "src": "11767:43:9" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 8071, + "isOffset": false, + "isSlot": false, + "src": "11802:1:9", + "valueSize": 1 + }, + { + "declaration": 8082, + "isOffset": false, + "isSlot": false, + "src": "11808:1:9", + "valueSize": 1 + }, + { + "declaration": 8061, + "isOffset": false, + "isSlot": false, + "src": "11778:6:9", + "valueSize": 1 + } + ], + "id": 8087, + "nodeType": "InlineAssembly", + "src": "11740:84:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8074, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8071, + "src": "11630:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 8075, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8055, + "src": "11634:1:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 8076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11636:6:9", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11634:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11630:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8089, + "initializationExpression": { + "assignments": [ + 8071 + ], + "declarations": [ + { + "constant": false, + "id": 8071, + "mutability": "mutable", + "name": "i", + "nameLocation": "11623:1:9", + "nodeType": "VariableDeclaration", + "scope": 8089, + "src": "11615:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11615:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8073, + "initialValue": { + "hexValue": "30", + "id": 8072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11627:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11615:13:9" + }, + "loopExpression": { + "expression": { + "id": 8079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11644:3:9", + "subExpression": { + "id": 8078, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8071, + "src": "11644:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8080, + "nodeType": "ExpressionStatement", + "src": "11644:3:9" + }, + "nodeType": "ForStatement", + "src": "11610:224:9" + }, + { + "expression": { + "id": 8090, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8061, + "src": "11851:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 8059, + "id": 8091, + "nodeType": "Return", + "src": "11844:13:9" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "flatten", + "nameLocation": "11480:7:9", + "parameters": { + "id": 8056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8055, + "mutability": "mutable", + "name": "b", + "nameLocation": "11505:1:9", + "nodeType": "VariableDeclaration", + "scope": 8093, + "src": "11488:18:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 8053, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11488:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8054, + "nodeType": "ArrayTypeName", + "src": "11488:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "11487:20:9" + }, + "returnParameters": { + "id": 8059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8058, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8093, + "src": "11530:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8057, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11530:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "11529:14:9" + }, + "scope": 8094, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "stdStorage", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 8094 + ], + "name": "stdStorage", + "nameLocation": "7347:10:9", + "scope": 8095, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/StdUtils.sol": { + "id": 10, + "ast": { + "absolutePath": "lib/forge-std/src/StdUtils.sol", + "id": 8902, + "exportedSymbols": { + "IMulticall3": [ + 26556 + ], + "StdUtils": [ + 8901 + ], + "VmSafe": [ + 9908 + ] + }, + "nodeType": "SourceUnit", + "src": "32:10067:10", + "nodes": [ + { + "id": 8096, + "nodeType": "PragmaDirective", + "src": "32:31:10", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 8097, + "nodeType": "PragmaDirective", + "src": "65:33:10", + "nodes": [], + "literals": [ + "experimental", + "ABIEncoderV2" + ] + }, + { + "id": 8099, + "nodeType": "ImportDirective", + "src": "100:57:10", + "nodes": [], + "absolutePath": "lib/forge-std/src/interfaces/IMulticall3.sol", + "file": "./interfaces/IMulticall3.sol", + "nameLocation": "-1:-1:-1", + "scope": 8902, + "sourceUnit": 26557, + "symbolAliases": [ + { + "foreign": { + "id": 8098, + "name": "IMulticall3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26556, + "src": "108:11:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8101, + "nodeType": "ImportDirective", + "src": "181:32:10", + "nodes": [], + "absolutePath": "lib/forge-std/src/Vm.sol", + "file": "./Vm.sol", + "nameLocation": "-1:-1:-1", + "scope": 8902, + "sourceUnit": 10234, + "symbolAliases": [ + { + "foreign": { + "id": 8100, + "name": "VmSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9908, + "src": "189:6:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8901, + "nodeType": "ContractDefinition", + "src": "215:9883:10", + "nodes": [ + { + "id": 8107, + "nodeType": "VariableDeclaration", + "src": "458:96:10", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "multicall", + "nameLocation": "487:9:10", + "scope": 8901, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMulticall3_$26556", + "typeString": "contract IMulticall3" + }, + "typeName": { + "id": 8103, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8102, + "name": "IMulticall3", + "nameLocations": [ + "458:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26556, + "src": "458:11:10" + }, + "referencedDeclaration": 26556, + "src": "458:11:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMulticall3_$26556", + "typeString": "contract IMulticall3" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307863413131626465303539373762333633313136373032383836326245326131373339373643413131", + "id": 8105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "511:42:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0xcA11bde05977b3631167028862bE2a173976CA11" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8104, + "name": "IMulticall3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26556, + "src": "499:11:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IMulticall3_$26556_$", + "typeString": "type(contract IMulticall3)" + } + }, + "id": 8106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "499:55:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMulticall3_$26556", + "typeString": "contract IMulticall3" + } + }, + "visibility": "private" + }, + { + "id": 8124, + "nodeType": "VariableDeclaration", + "src": "560:92:10", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "vm", + "nameLocation": "584:2:10", + "scope": 8901, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + }, + "typeName": { + "id": 8109, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8108, + "name": "VmSafe", + "nameLocations": [ + "560:6:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9908, + "src": "560:6:10" + }, + "referencedDeclaration": 9908, + "src": "560:6:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6865766d20636865617420636f6465", + "id": 8118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "630:17:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + }, + "value": "hevm cheat code" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", + "typeString": "literal_string \"hevm cheat code\"" + } + ], + "id": 8117, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "620:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 8119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "620:28:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "612:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "612:7:10", + "typeDescriptions": {} + } + }, + "id": 8120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "612:37:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "604:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 8113, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "604:7:10", + "typeDescriptions": {} + } + }, + "id": 8121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "604:46:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 8112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "596:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 8111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "596:7:10", + "typeDescriptions": {} + } + }, + "id": 8122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "596:55:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8110, + "name": "VmSafe", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9908, + "src": "589:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_VmSafe_$9908_$", + "typeString": "type(contract VmSafe)" + } + }, + "id": 8123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "589:63:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "visibility": "private" + }, + { + "id": 8127, + "nodeType": "VariableDeclaration", + "src": "658:86:10", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONSOLE2_ADDRESS", + "nameLocation": "683:16:10", + "scope": 8901, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "658:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637", + "id": 8126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "702:42:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x000000000000000000636F6e736F6c652e6c6f67" + }, + "visibility": "private" + }, + { + "id": 8130, + "nodeType": "VariableDeclaration", + "src": "750:127:10", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "INT256_MIN_ABS", + "nameLocation": "775:14:10", + "scope": 8901, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8128, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "750:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638", + "id": 8129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "800:77:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", + "typeString": "int_const 5789...(69 digits omitted)...9968" + }, + "value": "57896044618658097711785492504343953926634992332820282019728792003956564819968" + }, + "visibility": "private" + }, + { + "id": 8133, + "nodeType": "VariableDeclaration", + "src": "883:125:10", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "UINT256_MAX", + "nameLocation": "908:11:10", + "scope": 8901, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "883:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335", + "id": 8132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "930:78:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9935" + }, + "value": "115792089237316195423570985008687907853269984665640564039457584007913129639935" + }, + "visibility": "private" + }, + { + "id": 8136, + "nodeType": "VariableDeclaration", + "src": "1127:85:10", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CREATE2_FACTORY", + "nameLocation": "1152:15:10", + "scope": 8901, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8134, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1127:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "hexValue": "307834653539623434383437623337393537383538383932306341373846624632366330423439353643", + "id": 8135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1170:42:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x4e59b44847b379578588920cA78FbF26c0B4956C" + }, + "visibility": "private" + }, + { + "id": 8266, + "nodeType": "FunctionDefinition", + "src": "1434:1263:10", + "nodes": [], + "body": { + "id": 8265, + "nodeType": "Block", + "src": "1534:1163:10", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8148, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8140, + "src": "1552:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 8149, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8142, + "src": "1559:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1552:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e", + "id": 8151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1564:64:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2", + "typeString": "literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\"" + }, + "value": "StdUtils bound(uint256,uint256,uint256): Max is less than min." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2", + "typeString": "literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\"" + } + ], + "id": 8147, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1544:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1544:85:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8153, + "nodeType": "ExpressionStatement", + "src": "1544:85:10" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8154, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "1858:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 8155, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8140, + "src": "1863:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1858:8:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8157, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "1870:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 8158, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8142, + "src": "1875:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1870:8:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1858:20:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8163, + "nodeType": "IfStatement", + "src": "1854:34:10", + "trueBody": { + "expression": { + "id": 8161, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "1887:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8146, + "id": 8162, + "nodeType": "Return", + "src": "1880:8:10" + } + }, + { + "assignments": [ + 8165 + ], + "declarations": [ + { + "constant": false, + "id": 8165, + "mutability": "mutable", + "name": "size", + "nameLocation": "1907:4:10", + "nodeType": "VariableDeclaration", + "scope": 8265, + "src": "1899:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8164, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1899:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8171, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8166, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8142, + "src": "1914:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8167, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8140, + "src": "1920:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1914:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 8169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1926:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1914:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1899:28:10" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8172, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2117:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "33", + "id": 8173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2122:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "2117:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8175, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8165, + "src": "2127:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 8176, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2134:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2127:8:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2117:18:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8183, + "nodeType": "IfStatement", + "src": "2113:38:10", + "trueBody": { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8179, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8140, + "src": "2144:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 8180, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2150:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2144:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8146, + "id": 8182, + "nodeType": "Return", + "src": "2137:14:10" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8184, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2165:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 8185, + "name": "UINT256_MAX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8133, + "src": "2170:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "33", + "id": 8186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2184:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "2170:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2165:20:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8189, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8165, + "src": "2189:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8190, + "name": "UINT256_MAX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8133, + "src": "2196:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8191, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2210:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2196:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2189:22:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2165:46:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8202, + "nodeType": "IfStatement", + "src": "2161:82:10", + "trueBody": { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8195, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8142, + "src": "2220:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8196, + "name": "UINT256_MAX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8133, + "src": "2227:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8197, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2241:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2227:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8199, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2226:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2220:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8146, + "id": 8201, + "nodeType": "Return", + "src": "2213:30:10" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8203, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2343:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 8204, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8142, + "src": "2347:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2343:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8233, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2522:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 8234, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8140, + "src": "2526:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2522:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8263, + "nodeType": "IfStatement", + "src": "2518:173:10", + "trueBody": { + "id": 8262, + "nodeType": "Block", + "src": "2531:160:10", + "statements": [ + { + "assignments": [ + 8237 + ], + "declarations": [ + { + "constant": false, + "id": 8237, + "mutability": "mutable", + "name": "diff", + "nameLocation": "2553:4:10", + "nodeType": "VariableDeclaration", + "scope": 8262, + "src": "2545:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2545:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8241, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8238, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8140, + "src": "2560:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8239, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2566:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2560:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2545:22:10" + }, + { + "assignments": [ + 8243 + ], + "declarations": [ + { + "constant": false, + "id": 8243, + "mutability": "mutable", + "name": "rem", + "nameLocation": "2589:3:10", + "nodeType": "VariableDeclaration", + "scope": 8262, + "src": "2581:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8242, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2581:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8247, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8244, + "name": "diff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8237, + "src": "2595:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "id": 8245, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8165, + "src": "2602:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2595:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2581:25:10" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8248, + "name": "rem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8243, + "src": "2624:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 8249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2631:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2624:8:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8253, + "nodeType": "IfStatement", + "src": "2620:24:10", + "trueBody": { + "expression": { + "id": 8251, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8140, + "src": "2641:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8146, + "id": 8252, + "nodeType": "Return", + "src": "2634:10:10" + } + }, + { + "expression": { + "id": 8260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8254, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8145, + "src": "2658:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8255, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8142, + "src": "2667:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8256, + "name": "rem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8243, + "src": "2673:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2667:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 8258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2679:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2667:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2658:22:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8261, + "nodeType": "ExpressionStatement", + "src": "2658:22:10" + } + ] + } + }, + "id": 8264, + "nodeType": "IfStatement", + "src": "2339:352:10", + "trueBody": { + "id": 8232, + "nodeType": "Block", + "src": "2352:160:10", + "statements": [ + { + "assignments": [ + 8207 + ], + "declarations": [ + { + "constant": false, + "id": 8207, + "mutability": "mutable", + "name": "diff", + "nameLocation": "2374:4:10", + "nodeType": "VariableDeclaration", + "scope": 8232, + "src": "2366:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8206, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2366:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8211, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8208, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8138, + "src": "2381:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8209, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8142, + "src": "2385:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2381:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2366:22:10" + }, + { + "assignments": [ + 8213 + ], + "declarations": [ + { + "constant": false, + "id": 8213, + "mutability": "mutable", + "name": "rem", + "nameLocation": "2410:3:10", + "nodeType": "VariableDeclaration", + "scope": 8232, + "src": "2402:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8212, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2402:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8217, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8214, + "name": "diff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8207, + "src": "2416:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "id": 8215, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8165, + "src": "2423:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2416:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2402:25:10" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8218, + "name": "rem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8213, + "src": "2445:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 8219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2452:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2445:8:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8223, + "nodeType": "IfStatement", + "src": "2441:24:10", + "trueBody": { + "expression": { + "id": 8221, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8142, + "src": "2462:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8146, + "id": 8222, + "nodeType": "Return", + "src": "2455:10:10" + } + }, + { + "expression": { + "id": 8230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8224, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8145, + "src": "2479:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8225, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8140, + "src": "2488:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 8226, + "name": "rem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8213, + "src": "2494:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2488:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 8228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2500:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2488:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2479:22:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8231, + "nodeType": "ExpressionStatement", + "src": "2479:22:10" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_bound", + "nameLocation": "1443:6:10", + "parameters": { + "id": 8143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8138, + "mutability": "mutable", + "name": "x", + "nameLocation": "1458:1:10", + "nodeType": "VariableDeclaration", + "scope": 8266, + "src": "1450:9:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8137, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1450:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8140, + "mutability": "mutable", + "name": "min", + "nameLocation": "1469:3:10", + "nodeType": "VariableDeclaration", + "scope": 8266, + "src": "1461:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1461:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8142, + "mutability": "mutable", + "name": "max", + "nameLocation": "1482:3:10", + "nodeType": "VariableDeclaration", + "scope": 8266, + "src": "1474:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1474:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1449:37:10" + }, + "returnParameters": { + "id": 8146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8145, + "mutability": "mutable", + "name": "result", + "nameLocation": "1526:6:10", + "nodeType": "VariableDeclaration", + "scope": 8266, + "src": "1518:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8144, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1518:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1517:16:10" + }, + "scope": 8901, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 8291, + "nodeType": "FunctionDefinition", + "src": "2703:190:10", + "nodes": [], + "body": { + "id": 8290, + "nodeType": "Block", + "src": "2802:91:10", + "nodes": [], + "statements": [ + { + "expression": { + "id": 8283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8277, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8275, + "src": "2812:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8279, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8268, + "src": "2828:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8280, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8270, + "src": "2831:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8281, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8272, + "src": "2836:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8278, + "name": "_bound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8266, + "src": "2821:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 8282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2821:19:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2812:28:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8284, + "nodeType": "ExpressionStatement", + "src": "2812:28:10" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "426f756e6420526573756c74", + "id": 8286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2863:14:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52", + "typeString": "literal_string \"Bound Result\"" + }, + "value": "Bound Result" + }, + { + "id": 8287, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8275, + "src": "2879:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52", + "typeString": "literal_string \"Bound Result\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8285, + "name": "console2_log", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 8875, + 8900 + ], + "referencedDeclaration": 8875, + "src": "2850:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256) view" + } + }, + "id": 8288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2850:36:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8289, + "nodeType": "ExpressionStatement", + "src": "2850:36:10" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bound", + "nameLocation": "2712:5:10", + "parameters": { + "id": 8273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8268, + "mutability": "mutable", + "name": "x", + "nameLocation": "2726:1:10", + "nodeType": "VariableDeclaration", + "scope": 8291, + "src": "2718:9:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8267, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2718:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8270, + "mutability": "mutable", + "name": "min", + "nameLocation": "2737:3:10", + "nodeType": "VariableDeclaration", + "scope": 8291, + "src": "2729:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2729:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8272, + "mutability": "mutable", + "name": "max", + "nameLocation": "2750:3:10", + "nodeType": "VariableDeclaration", + "scope": 8291, + "src": "2742:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2742:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2717:37:10" + }, + "returnParameters": { + "id": 8276, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8275, + "mutability": "mutable", + "name": "result", + "nameLocation": "2794:6:10", + "nodeType": "VariableDeclaration", + "scope": 8291, + "src": "2786:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2786:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2785:16:10" + }, + "scope": 8901, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 8421, + "nodeType": "FunctionDefinition", + "src": "2899:1203:10", + "nodes": [], + "body": { + "id": 8420, + "nodeType": "Block", + "src": "2994:1108:10", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8303, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8295, + "src": "3012:3:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 8304, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8297, + "src": "3019:3:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "3012:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e", + "id": 8306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3024:61:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247", + "typeString": "literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\"" + }, + "value": "StdUtils bound(int256,int256,int256): Max is less than min." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247", + "typeString": "literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\"" + } + ], + "id": 8302, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3004:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3004:82:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8308, + "nodeType": "ExpressionStatement", + "src": "3004:82:10" + }, + { + "assignments": [ + 8310 + ], + "declarations": [ + { + "constant": false, + "id": 8310, + "mutability": "mutable", + "name": "_x", + "nameLocation": "3522:2:10", + "nodeType": "VariableDeclaration", + "scope": 8420, + "src": "3514:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8309, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3514:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8332, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8311, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8293, + "src": "3527:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30", + "id": 8312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3531:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3527:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 8326, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8293, + "src": "3581:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3573:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3573:7:10", + "typeDescriptions": {} + } + }, + "id": 8327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3573:10:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 8328, + "name": "INT256_MIN_ABS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8130, + "src": "3586:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3573:27:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8330, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3572:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3527:74:10", + "trueExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8314, + "name": "INT256_MIN_ABS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8130, + "src": "3536:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "3553:11:10", + "subExpression": { + "arguments": [ + { + "id": 8317, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8293, + "src": "3562:1:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3554:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8315, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3554:7:10", + "typeDescriptions": {} + } + }, + "id": 8318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3554:10:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3536:28:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 8321, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3567:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3536:32:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8323, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3535:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3514:87:10" + }, + { + "assignments": [ + 8334 + ], + "declarations": [ + { + "constant": false, + "id": 8334, + "mutability": "mutable", + "name": "_min", + "nameLocation": "3619:4:10", + "nodeType": "VariableDeclaration", + "scope": 8420, + "src": "3611:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8333, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3611:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8356, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8335, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8295, + "src": "3626:3:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30", + "id": 8336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3632:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3626:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 8350, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8295, + "src": "3684:3:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3676:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8348, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3676:7:10", + "typeDescriptions": {} + } + }, + "id": 8351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3676:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 8352, + "name": "INT256_MIN_ABS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8130, + "src": "3691:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3676:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8354, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3675:31:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3626:80:10", + "trueExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8338, + "name": "INT256_MIN_ABS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8130, + "src": "3637:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "3654:13:10", + "subExpression": { + "arguments": [ + { + "id": 8341, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8295, + "src": "3663:3:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3655:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3655:7:10", + "typeDescriptions": {} + } + }, + "id": 8342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3655:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3637:30:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 8345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3670:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3637:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8347, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3636:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3611:95:10" + }, + { + "assignments": [ + 8358 + ], + "declarations": [ + { + "constant": false, + "id": 8358, + "mutability": "mutable", + "name": "_max", + "nameLocation": "3724:4:10", + "nodeType": "VariableDeclaration", + "scope": 8420, + "src": "3716:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8357, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3716:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8380, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8359, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8297, + "src": "3731:3:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30", + "id": 8360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3737:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3731:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 8374, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8297, + "src": "3789:3:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3781:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3781:7:10", + "typeDescriptions": {} + } + }, + "id": 8375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3781:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 8376, + "name": "INT256_MIN_ABS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8130, + "src": "3796:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3781:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8378, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3780:31:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3731:80:10", + "trueExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8362, + "name": "INT256_MIN_ABS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8130, + "src": "3742:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "3759:13:10", + "subExpression": { + "arguments": [ + { + "id": 8365, + "name": "max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8297, + "src": "3768:3:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3760:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3760:7:10", + "typeDescriptions": {} + } + }, + "id": 8366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3760:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3742:30:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 8369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3775:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3742:34:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8371, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3741:36:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3716:95:10" + }, + { + "assignments": [ + 8382 + ], + "declarations": [ + { + "constant": false, + "id": 8382, + "mutability": "mutable", + "name": "y", + "nameLocation": "3830:1:10", + "nodeType": "VariableDeclaration", + "scope": 8420, + "src": "3822:9:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3822:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8388, + "initialValue": { + "arguments": [ + { + "id": 8384, + "name": "_x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8310, + "src": "3841:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8385, + "name": "_min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8334, + "src": "3845:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8386, + "name": "_max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8358, + "src": "3851:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8383, + "name": "_bound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8266, + "src": "3834:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 8387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3834:22:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3822:34:10" + }, + { + "expression": { + "id": 8410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8389, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8300, + "src": "3944:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8390, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8382, + "src": "3953:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 8391, + "name": "INT256_MIN_ABS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8130, + "src": "3957:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3953:18:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8405, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8382, + "src": "4017:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8406, + "name": "INT256_MIN_ABS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8130, + "src": "4021:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4017:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4010:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 8403, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4010:6:10", + "typeDescriptions": {} + } + }, + "id": 8408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4010:26:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 8409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3953:83:10", + "trueExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "3981:21:10", + "subExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8395, + "name": "INT256_MIN_ABS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8130, + "src": "3983:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8396, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8382, + "src": "4000:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3983:18:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8398, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3982:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 8400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4005:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3981:25:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3974:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 8393, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3974:6:10", + "typeDescriptions": {} + } + }, + "id": 8402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3974:33:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "3944:92:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 8411, + "nodeType": "ExpressionStatement", + "src": "3944:92:10" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "426f756e6420726573756c74", + "id": 8413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4059:14:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f", + "typeString": "literal_string \"Bound result\"" + }, + "value": "Bound result" + }, + { + "arguments": [ + { + "id": 8416, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8300, + "src": "4087:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 8414, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8124, + "src": "4075:2:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_VmSafe_$9908", + "typeString": "contract VmSafe" + } + }, + "id": 8415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4078:8:10", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "4075:11:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$", + "typeString": "function (int256) pure external returns (string memory)" + } + }, + "id": 8417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4075:19:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f", + "typeString": "literal_string \"Bound result\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 8412, + "name": "console2_log", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 8875, + 8900 + ], + "referencedDeclaration": 8900, + "src": "4046:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory) view" + } + }, + "id": 8418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4046:49:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8419, + "nodeType": "ExpressionStatement", + "src": "4046:49:10" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bound", + "nameLocation": "2908:5:10", + "parameters": { + "id": 8298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8293, + "mutability": "mutable", + "name": "x", + "nameLocation": "2921:1:10", + "nodeType": "VariableDeclaration", + "scope": 8421, + "src": "2914:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8292, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2914:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8295, + "mutability": "mutable", + "name": "min", + "nameLocation": "2931:3:10", + "nodeType": "VariableDeclaration", + "scope": 8421, + "src": "2924:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8294, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2924:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8297, + "mutability": "mutable", + "name": "max", + "nameLocation": "2943:3:10", + "nodeType": "VariableDeclaration", + "scope": 8421, + "src": "2936:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8296, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2936:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2913:34:10" + }, + "returnParameters": { + "id": 8301, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8300, + "mutability": "mutable", + "name": "result", + "nameLocation": "2986:6:10", + "nodeType": "VariableDeclaration", + "scope": 8421, + "src": "2979:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8299, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2979:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2978:15:10" + }, + "scope": 8901, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 8455, + "nodeType": "FunctionDefinition", + "src": "4108:259:10", + "nodes": [], + "body": { + "id": 8454, + "nodeType": "Block", + "src": "4185:182:10", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8429, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8423, + "src": "4203:1:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 8430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4205:6:10", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4203:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3332", + "id": 8431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4215:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4203:14:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5374645574696c73206279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e", + "id": 8433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4219:55:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88", + "typeString": "literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\"" + }, + "value": "StdUtils bytesToUint(bytes): Bytes length exceeds 32." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88", + "typeString": "literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\"" + } + ], + "id": 8428, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4195:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4195:80:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8435, + "nodeType": "ExpressionStatement", + "src": "4195:80:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3332", + "id": 8442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4330:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 8443, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8423, + "src": "4335:1:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 8444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4337:6:10", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4335:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4330:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4320:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 8440, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4324:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 8446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4320:24:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 8447, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8423, + "src": "4346:1:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 8438, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4303:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4307:12:10", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4303:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4303:45:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 8450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4351:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8449, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4351:7:10", + "typeDescriptions": {} + } + } + ], + "id": 8451, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4350:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "expression": { + "id": 8436, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4292:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4296:6:10", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "4292:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4292:68:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8427, + "id": 8453, + "nodeType": "Return", + "src": "4285:75:10" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bytesToUint", + "nameLocation": "4117:11:10", + "parameters": { + "id": 8424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8423, + "mutability": "mutable", + "name": "b", + "nameLocation": "4142:1:10", + "nodeType": "VariableDeclaration", + "scope": 8455, + "src": "4129:14:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8422, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4129:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4128:16:10" + }, + "returnParameters": { + "id": 8427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8426, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8455, + "src": "4176:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4176:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4175:9:10" + }, + "scope": 8901, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 8640, + "nodeType": "FunctionDefinition", + "src": "4601:1962:10", + "nodes": [], + "body": { + "id": 8639, + "nodeType": "Block", + "src": "4704:1859:10", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8465, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "5030:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30783030", + "id": 8466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5039:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "5030:13:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8489, + "nodeType": "IfStatement", + "src": "5026:134:10", + "trueBody": { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30786436", + "id": 8474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5114:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_214_by_1", + "typeString": "int_const 214" + }, + "value": "0xd6" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_214_by_1", + "typeString": "int_const 214" + } + ], + "id": 8473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5107:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8472, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5107:6:10", + "typeDescriptions": {} + } + }, + "id": 8475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5107:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "hexValue": "30783934", + "id": 8478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5128:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + }, + "value": "0x94" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + } + ], + "id": 8477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5121:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8476, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5121:6:10", + "typeDescriptions": {} + } + }, + "id": 8479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5121:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "id": 8480, + "name": "deployer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8458, + "src": "5135:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30783830", + "id": 8483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5152:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "0x80" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + } + ], + "id": 8482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5145:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8481, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5145:6:10", + "typeDescriptions": {} + } + }, + "id": 8484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5145:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "expression": { + "id": 8470, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5090:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5094:12:10", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5090:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5090:68:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8469, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5080:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 8486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5080:79:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8468, + "name": "addressFromLast20Bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8850, + "src": "5057:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) pure returns (address)" + } + }, + "id": 8487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5057:103:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 8464, + "id": 8488, + "nodeType": "Return", + "src": "5050:110:10" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8490, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "5174:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "30783766", + "id": 8491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5183:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_127_by_1", + "typeString": "int_const 127" + }, + "value": "0x7f" + }, + "src": "5174:13:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8514, + "nodeType": "IfStatement", + "src": "5170:134:10", + "trueBody": { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30786436", + "id": 8499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5258:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_214_by_1", + "typeString": "int_const 214" + }, + "value": "0xd6" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_214_by_1", + "typeString": "int_const 214" + } + ], + "id": 8498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5251:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8497, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5251:6:10", + "typeDescriptions": {} + } + }, + "id": 8500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5251:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "hexValue": "30783934", + "id": 8503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5272:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + }, + "value": "0x94" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + } + ], + "id": 8502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5265:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8501, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5265:6:10", + "typeDescriptions": {} + } + }, + "id": 8504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5265:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "id": 8505, + "name": "deployer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8458, + "src": "5279:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 8508, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "5295:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5289:5:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 8506, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5289:5:10", + "typeDescriptions": {} + } + }, + "id": 8509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5289:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "id": 8495, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5234:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5238:12:10", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5234:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5234:68:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8494, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5224:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 8511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5224:79:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8493, + "name": "addressFromLast20Bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8850, + "src": "5201:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) pure returns (address)" + } + }, + "id": 8512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5201:103:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 8464, + "id": 8513, + "nodeType": "Return", + "src": "5194:110:10" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8515, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "5457:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "id": 8520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "id": 8518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 8516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5466:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "38", + "id": 8517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5469:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "5466:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 8519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5473:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5466:8:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + } + }, + "src": "5457:17:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8547, + "nodeType": "IfStatement", + "src": "5453:148:10", + "trueBody": { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30786437", + "id": 8528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5541:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_215_by_1", + "typeString": "int_const 215" + }, + "value": "0xd7" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_215_by_1", + "typeString": "int_const 215" + } + ], + "id": 8527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5534:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8526, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5534:6:10", + "typeDescriptions": {} + } + }, + "id": 8529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5534:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "hexValue": "30783934", + "id": 8532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5555:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + }, + "value": "0x94" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + } + ], + "id": 8531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5548:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8530, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5548:6:10", + "typeDescriptions": {} + } + }, + "id": 8533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5548:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "id": 8534, + "name": "deployer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8458, + "src": "5562:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30783831", + "id": 8537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5579:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_129_by_1", + "typeString": "int_const 129" + }, + "value": "0x81" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_129_by_1", + "typeString": "int_const 129" + } + ], + "id": 8536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5572:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8535, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5572:6:10", + "typeDescriptions": {} + } + }, + "id": 8538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5572:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "id": 8541, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "5592:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5586:5:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 8539, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5586:5:10", + "typeDescriptions": {} + } + }, + "id": 8542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5586:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "id": 8524, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5517:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5521:12:10", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5517:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5517:82:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8523, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5507:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 8544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5507:93:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8522, + "name": "addressFromLast20Bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8850, + "src": "5484:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) pure returns (address)" + } + }, + "id": 8545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5484:117:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 8464, + "id": 8546, + "nodeType": "Return", + "src": "5477:124:10" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8548, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "5615:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_65535_by_1", + "typeString": "int_const 65535" + }, + "id": 8553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + }, + "id": 8551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 8549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5624:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3136", + "id": 8550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5627:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "5624:5:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 8552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5632:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5624:9:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_65535_by_1", + "typeString": "int_const 65535" + } + }, + "src": "5615:18:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8580, + "nodeType": "IfStatement", + "src": "5611:149:10", + "trueBody": { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30786438", + "id": 8561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5699:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_216_by_1", + "typeString": "int_const 216" + }, + "value": "0xd8" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_216_by_1", + "typeString": "int_const 216" + } + ], + "id": 8560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5692:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8559, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5692:6:10", + "typeDescriptions": {} + } + }, + "id": 8562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5692:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "hexValue": "30783934", + "id": 8565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5713:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + }, + "value": "0x94" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + } + ], + "id": 8564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5706:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8563, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5706:6:10", + "typeDescriptions": {} + } + }, + "id": 8566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5706:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "id": 8567, + "name": "deployer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8458, + "src": "5720:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30783832", + "id": 8570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5737:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_130_by_1", + "typeString": "int_const 130" + }, + "value": "0x82" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_130_by_1", + "typeString": "int_const 130" + } + ], + "id": 8569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5730:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8568, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5730:6:10", + "typeDescriptions": {} + } + }, + "id": 8571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5730:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "id": 8574, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "5751:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5744:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": { + "id": 8572, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "5744:6:10", + "typeDescriptions": {} + } + }, + "id": 8575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5744:13:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "expression": { + "id": 8557, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5675:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5679:12:10", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5675:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5675:83:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8556, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5665:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 8577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5665:94:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8555, + "name": "addressFromLast20Bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8850, + "src": "5642:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) pure returns (address)" + } + }, + "id": 8578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5642:118:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 8464, + "id": 8579, + "nodeType": "Return", + "src": "5635:125:10" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8581, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "5774:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_16777215_by_1", + "typeString": "int_const 16777215" + }, + "id": 8586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_rational_16777216_by_1", + "typeString": "int_const 16777216" + }, + "id": 8584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 8582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5783:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3234", + "id": 8583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5786:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "src": "5783:5:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_16777216_by_1", + "typeString": "int_const 16777216" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 8585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5791:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5783:9:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_16777215_by_1", + "typeString": "int_const 16777215" + } + }, + "src": "5774:18:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8613, + "nodeType": "IfStatement", + "src": "5770:149:10", + "trueBody": { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30786439", + "id": 8594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5858:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_217_by_1", + "typeString": "int_const 217" + }, + "value": "0xd9" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_217_by_1", + "typeString": "int_const 217" + } + ], + "id": 8593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5851:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8592, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5851:6:10", + "typeDescriptions": {} + } + }, + "id": 8595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5851:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "hexValue": "30783934", + "id": 8598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5872:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + }, + "value": "0x94" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + } + ], + "id": 8597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5865:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8596, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5865:6:10", + "typeDescriptions": {} + } + }, + "id": 8599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5865:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "id": 8600, + "name": "deployer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8458, + "src": "5879:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30783833", + "id": 8603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5896:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_131_by_1", + "typeString": "int_const 131" + }, + "value": "0x83" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_131_by_1", + "typeString": "int_const 131" + } + ], + "id": 8602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5889:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8601, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5889:6:10", + "typeDescriptions": {} + } + }, + "id": 8604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5889:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "id": 8607, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "5910:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5903:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint24_$", + "typeString": "type(uint24)" + }, + "typeName": { + "id": 8605, + "name": "uint24", + "nodeType": "ElementaryTypeName", + "src": "5903:6:10", + "typeDescriptions": {} + } + }, + "id": 8608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5903:13:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint24", + "typeString": "uint24" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_uint24", + "typeString": "uint24" + } + ], + "expression": { + "id": 8590, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5834:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5838:12:10", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5834:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5834:83:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8589, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5824:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 8610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5824:94:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8588, + "name": "addressFromLast20Bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8850, + "src": "5801:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) pure returns (address)" + } + }, + "id": 8611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5801:118:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 8464, + "id": 8612, + "nodeType": "Return", + "src": "5794:125:10" + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30786461", + "id": 8620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6486:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_218_by_1", + "typeString": "int_const 218" + }, + "value": "0xda" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_218_by_1", + "typeString": "int_const 218" + } + ], + "id": 8619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6479:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8618, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "6479:6:10", + "typeDescriptions": {} + } + }, + "id": 8621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6479:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "hexValue": "30783934", + "id": 8624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6500:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + }, + "value": "0x94" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_148_by_1", + "typeString": "int_const 148" + } + ], + "id": 8623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6493:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8622, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "6493:6:10", + "typeDescriptions": {} + } + }, + "id": 8625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6493:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "id": 8626, + "name": "deployer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8458, + "src": "6507:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30783834", + "id": 8629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6524:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_132_by_1", + "typeString": "int_const 132" + }, + "value": "0x84" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_132_by_1", + "typeString": "int_const 132" + } + ], + "id": 8628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6517:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8627, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "6517:6:10", + "typeDescriptions": {} + } + }, + "id": 8630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6517:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "arguments": [ + { + "id": 8633, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8460, + "src": "6538:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8632, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6531:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 8631, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "6531:6:10", + "typeDescriptions": {} + } + }, + "id": 8634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6531:13:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "expression": { + "id": 8616, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6462:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6466:12:10", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "6462:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6462:83:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8615, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "6452:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 8636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6452:94:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8614, + "name": "addressFromLast20Bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8850, + "src": "6416:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) pure returns (address)" + } + }, + "id": 8637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6416:140:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 8464, + "id": 8638, + "nodeType": "Return", + "src": "6409:147:10" + } + ] + }, + "documentation": { + "id": 8456, + "nodeType": "StructuredDocumentation", + "src": "4373:223:10", + "text": "@dev Compute the address a contract will be deployed at for a given deployer address and nonce\n @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "computeCreateAddress", + "nameLocation": "4610:20:10", + "parameters": { + "id": 8461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8458, + "mutability": "mutable", + "name": "deployer", + "nameLocation": "4639:8:10", + "nodeType": "VariableDeclaration", + "scope": 8640, + "src": "4631:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4631:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8460, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "4657:5:10", + "nodeType": "VariableDeclaration", + "scope": 8640, + "src": "4649:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4649:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4630:33:10" + }, + "returnParameters": { + "id": 8464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8463, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8640, + "src": "4695:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8462, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4695:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4694:9:10" + }, + "scope": 8901, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 8667, + "nodeType": "FunctionDefinition", + "src": "6569:280:10", + "nodes": [], + "body": { + "id": 8666, + "nodeType": "Block", + "src": "6730:119:10", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30786666", + "id": 8657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6804:4:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "0xff" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + } + ], + "id": 8656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6797:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 8655, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "6797:6:10", + "typeDescriptions": {} + } + }, + "id": 8658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6797:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "id": 8659, + "name": "deployer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8646, + "src": "6811:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8660, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8642, + "src": "6821:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 8661, + "name": "initcodeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8644, + "src": "6827:12:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 8653, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6780:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6784:12:10", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "6780:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6780:60:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8652, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "6770:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 8663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6770:71:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8651, + "name": "addressFromLast20Bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8850, + "src": "6747:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) pure returns (address)" + } + }, + "id": 8664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6747:95:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 8650, + "id": 8665, + "nodeType": "Return", + "src": "6740:102:10" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "computeCreate2Address", + "nameLocation": "6578:21:10", + "parameters": { + "id": 8647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8642, + "mutability": "mutable", + "name": "salt", + "nameLocation": "6608:4:10", + "nodeType": "VariableDeclaration", + "scope": 8667, + "src": "6600:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8641, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6600:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8644, + "mutability": "mutable", + "name": "initcodeHash", + "nameLocation": "6622:12:10", + "nodeType": "VariableDeclaration", + "scope": 8667, + "src": "6614:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8643, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6614:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8646, + "mutability": "mutable", + "name": "deployer", + "nameLocation": "6644:8:10", + "nodeType": "VariableDeclaration", + "scope": 8667, + "src": "6636:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8645, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6636:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6599:54:10" + }, + "returnParameters": { + "id": 8650, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8649, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8667, + "src": "6717:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8648, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6717:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6716:9:10" + }, + "scope": 8901, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 8684, + "nodeType": "FunctionDefinition", + "src": "6958:181:10", + "nodes": [], + "body": { + "id": 8683, + "nodeType": "Block", + "src": "7057:82:10", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 8678, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8670, + "src": "7096:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 8679, + "name": "initCodeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8672, + "src": "7102:12:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 8680, + "name": "CREATE2_FACTORY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8136, + "src": "7116:15:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8677, + "name": "computeCreate2Address", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 8667, + 8684 + ], + "referencedDeclaration": 8667, + "src": "7074:21:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", + "typeString": "function (bytes32,bytes32,address) pure returns (address)" + } + }, + "id": 8681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7074:58:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 8676, + "id": 8682, + "nodeType": "Return", + "src": "7067:65:10" + } + ] + }, + "documentation": { + "id": 8668, + "nodeType": "StructuredDocumentation", + "src": "6855:98:10", + "text": "@dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "computeCreate2Address", + "nameLocation": "6967:21:10", + "parameters": { + "id": 8673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8670, + "mutability": "mutable", + "name": "salt", + "nameLocation": "6997:4:10", + "nodeType": "VariableDeclaration", + "scope": 8684, + "src": "6989:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8669, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6989:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8672, + "mutability": "mutable", + "name": "initCodeHash", + "nameLocation": "7011:12:10", + "nodeType": "VariableDeclaration", + "scope": 8684, + "src": "7003:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8671, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7003:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6988:36:10" + }, + "returnParameters": { + "id": 8676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8675, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8684, + "src": "7048:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8674, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7048:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7047:9:10" + }, + "scope": 8901, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 8698, + "nodeType": "FunctionDefinition", + "src": "7363:135:10", + "nodes": [], + "body": { + "id": 8697, + "nodeType": "Block", + "src": "7444:54:10", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 8693, + "name": "creationCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8687, + "src": "7474:12:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "", + "id": 8694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7488:2:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 8692, + "name": "hashInitCode", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 8698, + 8717 + ], + "referencedDeclaration": 8717, + "src": "7461:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,bytes memory) pure returns (bytes32)" + } + }, + "id": 8695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7461:30:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 8691, + "id": 8696, + "nodeType": "Return", + "src": "7454:37:10" + } + ] + }, + "documentation": { + "id": 8685, + "nodeType": "StructuredDocumentation", + "src": "7145:213:10", + "text": "@dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashInitCode", + "nameLocation": "7372:12:10", + "parameters": { + "id": 8688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8687, + "mutability": "mutable", + "name": "creationCode", + "nameLocation": "7398:12:10", + "nodeType": "VariableDeclaration", + "scope": 8698, + "src": "7385:25:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8686, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7385:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7384:27:10" + }, + "returnParameters": { + "id": 8691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8690, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8698, + "src": "7435:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8689, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7435:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7434:9:10" + }, + "scope": 8901, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 8717, + "nodeType": "FunctionDefinition", + "src": "7771:171:10", + "nodes": [], + "body": { + "id": 8716, + "nodeType": "Block", + "src": "7871:71:10", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 8711, + "name": "creationCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8701, + "src": "7915:12:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 8712, + "name": "args", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8703, + "src": "7929:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 8709, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7898:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7902:12:10", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7898:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7898:36:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8708, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "7888:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 8714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7888:47:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 8707, + "id": 8715, + "nodeType": "Return", + "src": "7881:54:10" + } + ] + }, + "documentation": { + "id": 8699, + "nodeType": "StructuredDocumentation", + "src": "7504:262:10", + "text": "@dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n @param args the ABI-encoded arguments to the constructor of C" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashInitCode", + "nameLocation": "7780:12:10", + "parameters": { + "id": 8704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8701, + "mutability": "mutable", + "name": "creationCode", + "nameLocation": "7806:12:10", + "nodeType": "VariableDeclaration", + "scope": 8717, + "src": "7793:25:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8700, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7793:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8703, + "mutability": "mutable", + "name": "args", + "nameLocation": "7833:4:10", + "nodeType": "VariableDeclaration", + "scope": 8717, + "src": "7820:17:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8702, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7820:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7792:46:10" + }, + "returnParameters": { + "id": 8707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8706, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8717, + "src": "7862:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8705, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7862:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7861:9:10" + }, + "scope": 8901, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 8831, + "nodeType": "FunctionDefinition", + "src": "8053:1124:10", + "nodes": [], + "body": { + "id": 8830, + "nodeType": "Block", + "src": "8203:974:10", + "nodes": [], + "statements": [ + { + "assignments": [ + 8729 + ], + "declarations": [ + { + "constant": false, + "id": 8729, + "mutability": "mutable", + "name": "tokenCodeSize", + "nameLocation": "8221:13:10", + "nodeType": "VariableDeclaration", + "scope": 8830, + "src": "8213:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8213:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8730, + "nodeType": "VariableDeclarationStatement", + "src": "8213:21:10" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "8253:59:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8267:35:10", + "value": { + "arguments": [ + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "8296:5:10" + } + ], + "functionName": { + "name": "extcodesize", + "nodeType": "YulIdentifier", + "src": "8284:11:10" + }, + "nodeType": "YulFunctionCall", + "src": "8284:18:10" + }, + "variableNames": [ + { + "name": "tokenCodeSize", + "nodeType": "YulIdentifier", + "src": "8267:13:10" + } + ] + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 8719, + "isOffset": false, + "isSlot": false, + "src": "8296:5:10", + "valueSize": 1 + }, + { + "declaration": 8729, + "isOffset": false, + "isSlot": false, + "src": "8267:13:10", + "valueSize": 1 + } + ], + "id": 8731, + "nodeType": "InlineAssembly", + "src": "8244:68:10" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8733, + "name": "tokenCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8729, + "src": "8329:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 8734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8345:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8329:17:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5374645574696c7320676574546f6b656e42616c616e63657328616464726573732c616464726573735b5d293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e", + "id": 8736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8348:80:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe", + "typeString": "literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\"" + }, + "value": "StdUtils getTokenBalances(address,address[]): Token address is not a contract." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe", + "typeString": "literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\"" + } + ], + "id": 8732, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8321:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8321:108:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8738, + "nodeType": "ExpressionStatement", + "src": "8321:108:10" + }, + { + "assignments": [ + 8740 + ], + "declarations": [ + { + "constant": false, + "id": 8740, + "mutability": "mutable", + "name": "length", + "nameLocation": "8504:6:10", + "nodeType": "VariableDeclaration", + "scope": 8830, + "src": "8496:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8739, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8496:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8743, + "initialValue": { + "expression": { + "id": 8741, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8722, + "src": "8513:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8523:6:10", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8513:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8496:33:10" + }, + { + "assignments": [ + 8749 + ], + "declarations": [ + { + "constant": false, + "id": 8749, + "mutability": "mutable", + "name": "calls", + "nameLocation": "8565:5:10", + "nodeType": "VariableDeclaration", + "scope": 8830, + "src": "8539:31:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Call[]" + }, + "typeName": { + "baseType": { + "id": 8747, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8746, + "name": "IMulticall3.Call", + "nameLocations": [ + "8539:11:10", + "8551:4:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26401, + "src": "8539:16:10" + }, + "referencedDeclaration": 26401, + "src": "8539:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call_$26401_storage_ptr", + "typeString": "struct IMulticall3.Call" + } + }, + "id": 8748, + "nodeType": "ArrayTypeName", + "src": "8539:18:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Call[]" + } + }, + "visibility": "internal" + } + ], + "id": 8756, + "initialValue": { + "arguments": [ + { + "id": 8754, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8740, + "src": "8596:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8753, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "8573:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$26401_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct IMulticall3.Call memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 8751, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8750, + "name": "IMulticall3.Call", + "nameLocations": [ + "8577:11:10", + "8589:4:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26401, + "src": "8577:16:10" + }, + "referencedDeclaration": 26401, + "src": "8577:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call_$26401_storage_ptr", + "typeString": "struct IMulticall3.Call" + } + }, + "id": 8752, + "nodeType": "ArrayTypeName", + "src": "8577:18:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Call[]" + } + } + }, + "id": 8755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8573:30:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Call memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8539:64:10" + }, + { + "body": { + "id": 8784, + "nodeType": "Block", + "src": "8650:189:10", + "statements": [ + { + "expression": { + "id": 8782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8767, + "name": "calls", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8749, + "src": "8722:5:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Call memory[] memory" + } + }, + "id": 8769, + "indexExpression": { + "id": 8768, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "8728:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8722:8:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call_$26401_memory_ptr", + "typeString": "struct IMulticall3.Call memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8772, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8719, + "src": "8759:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30783730613038323331", + "id": 8775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8799:10:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1889567281_by_1", + "typeString": "int_const 1889567281" + }, + "value": "0x70a08231" + }, + { + "components": [ + { + "baseExpression": { + "id": 8776, + "name": "addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8722, + "src": "8812:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8778, + "indexExpression": { + "id": 8777, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "8822:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8812:12:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 8779, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8811:14:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1889567281_by_1", + "typeString": "int_const 1889567281" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 8773, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8776:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8780:18:10", + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "8776:22:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 8780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8776:50:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 8770, + "name": "IMulticall3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26556, + "src": "8733:11:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IMulticall3_$26556_$", + "typeString": "type(contract IMulticall3)" + } + }, + "id": 8771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8745:4:10", + "memberName": "Call", + "nodeType": "MemberAccess", + "referencedDeclaration": 26401, + "src": "8733:16:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Call_$26401_storage_ptr_$", + "typeString": "type(struct IMulticall3.Call storage pointer)" + } + }, + "id": 8781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "8751:6:10", + "8766:8:10" + ], + "names": [ + "target", + "callData" + ], + "nodeType": "FunctionCall", + "src": "8733:95:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call_$26401_memory_ptr", + "typeString": "struct IMulticall3.Call memory" + } + }, + "src": "8722:106:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call_$26401_memory_ptr", + "typeString": "struct IMulticall3.Call memory" + } + }, + "id": 8783, + "nodeType": "ExpressionStatement", + "src": "8722:106:10" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8761, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "8633:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 8762, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8740, + "src": "8637:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8633:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8785, + "initializationExpression": { + "assignments": [ + 8758 + ], + "declarations": [ + { + "constant": false, + "id": 8758, + "mutability": "mutable", + "name": "i", + "nameLocation": "8626:1:10", + "nodeType": "VariableDeclaration", + "scope": 8785, + "src": "8618:9:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8757, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8618:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8760, + "initialValue": { + "hexValue": "30", + "id": 8759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8630:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8618:13:10" + }, + "loopExpression": { + "expression": { + "id": 8765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "8645:3:10", + "subExpression": { + "id": 8764, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "8647:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8766, + "nodeType": "ExpressionStatement", + "src": "8645:3:10" + }, + "nodeType": "ForStatement", + "src": "8613:226:10" + }, + { + "assignments": [ + null, + 8790 + ], + "declarations": [ + null, + { + "constant": false, + "id": 8790, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "8903:10:10", + "nodeType": "VariableDeclaration", + "scope": 8830, + "src": "8888:25:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 8788, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8888:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 8789, + "nodeType": "ArrayTypeName", + "src": "8888:7:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "id": 8795, + "initialValue": { + "arguments": [ + { + "id": 8793, + "name": "calls", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8749, + "src": "8937:5:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Call memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Call memory[] memory" + } + ], + "expression": { + "id": 8791, + "name": "multicall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8107, + "src": "8917:9:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMulticall3_$26556", + "typeString": "contract IMulticall3" + } + }, + "id": 8792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8927:9:10", + "memberName": "aggregate", + "nodeType": "MemberAccess", + "referencedDeclaration": 26434, + "src": "8917:19:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_array$_t_struct$_Call_$26401_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (struct IMulticall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)" + } + }, + "id": 8794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8917:26:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "tuple(uint256,bytes memory[] memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8885:58:10" + }, + { + "expression": { + "id": 8802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8796, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8726, + "src": "9017:8:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8800, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8740, + "src": "9042:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "9028:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 8797, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9032:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8798, + "nodeType": "ArrayTypeName", + "src": "9032:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 8801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9028:21:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "9017:32:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8803, + "nodeType": "ExpressionStatement", + "src": "9017:32:10" + }, + { + "body": { + "id": 8828, + "nodeType": "Block", + "src": "9096:75:10", + "statements": [ + { + "expression": { + "id": 8826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8814, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8726, + "src": "9110:8:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8816, + "indexExpression": { + "id": 8815, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8805, + "src": "9119:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9110:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 8819, + "name": "returnData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8790, + "src": "9135:10:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 8821, + "indexExpression": { + "id": 8820, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8805, + "src": "9146:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9135:13:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 8823, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9151:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9151:7:10", + "typeDescriptions": {} + } + } + ], + "id": 8824, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9150:9:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "expression": { + "id": 8817, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9124:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9128:6:10", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "9124:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9124:36:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9110:50:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8827, + "nodeType": "ExpressionStatement", + "src": "9110:50:10" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8808, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8805, + "src": "9079:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 8809, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8740, + "src": "9083:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9079:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8829, + "initializationExpression": { + "assignments": [ + 8805 + ], + "declarations": [ + { + "constant": false, + "id": 8805, + "mutability": "mutable", + "name": "i", + "nameLocation": "9072:1:10", + "nodeType": "VariableDeclaration", + "scope": 8829, + "src": "9064:9:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8804, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9064:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8807, + "initialValue": { + "hexValue": "30", + "id": 8806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9076:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9064:13:10" + }, + "loopExpression": { + "expression": { + "id": 8812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "9091:3:10", + "subExpression": { + "id": 8811, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8805, + "src": "9093:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8813, + "nodeType": "ExpressionStatement", + "src": "9091:3:10" + }, + "nodeType": "ForStatement", + "src": "9059:112:10" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokenBalances", + "nameLocation": "8062:16:10", + "parameters": { + "id": 8723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8719, + "mutability": "mutable", + "name": "token", + "nameLocation": "8087:5:10", + "nodeType": "VariableDeclaration", + "scope": 8831, + "src": "8079:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8718, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8079:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8722, + "mutability": "mutable", + "name": "addresses", + "nameLocation": "8111:9:10", + "nodeType": "VariableDeclaration", + "scope": 8831, + "src": "8094:26:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8720, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8094:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8721, + "nodeType": "ArrayTypeName", + "src": "8094:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "8078:43:10" + }, + "returnParameters": { + "id": 8727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8726, + "mutability": "mutable", + "name": "balances", + "nameLocation": "8189:8:10", + "nodeType": "VariableDeclaration", + "scope": 8831, + "src": "8172:25:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8172:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8725, + "nodeType": "ArrayTypeName", + "src": "8172:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "8171:27:10" + }, + "scope": 8901, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 8850, + "nodeType": "FunctionDefinition", + "src": "9397:144:10", + "nodes": [], + "body": { + "id": 8849, + "nodeType": "Block", + "src": "9480:61:10", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 8844, + "name": "bytesValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8833, + "src": "9521:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8843, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9513:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8842, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9513:7:10", + "typeDescriptions": {} + } + }, + "id": 8845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9513:19:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9505:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 8840, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "9505:7:10", + "typeDescriptions": {} + } + }, + "id": 8846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9505:28:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 8839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9497:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 8838, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9497:7:10", + "typeDescriptions": {} + } + }, + "id": 8847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9497:37:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 8837, + "id": 8848, + "nodeType": "Return", + "src": "9490:44:10" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addressFromLast20Bytes", + "nameLocation": "9406:22:10", + "parameters": { + "id": 8834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8833, + "mutability": "mutable", + "name": "bytesValue", + "nameLocation": "9437:10:10", + "nodeType": "VariableDeclaration", + "scope": 8850, + "src": "9429:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8832, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9429:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "9428:20:10" + }, + "returnParameters": { + "id": 8837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8836, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8850, + "src": "9471:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9471:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9470:9:10" + }, + "scope": 8901, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 8875, + "nodeType": "FunctionDefinition", + "src": "9671:207:10", + "nodes": [], + "body": { + "id": 8874, + "nodeType": "Block", + "src": "9736:142:10", + "nodes": [], + "statements": [ + { + "assignments": [ + 8858, + null + ], + "declarations": [ + { + "constant": false, + "id": 8858, + "mutability": "mutable", + "name": "status", + "nameLocation": "9752:6:10", + "nodeType": "VariableDeclaration", + "scope": 8874, + "src": "9747:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8857, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9747:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 8871, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e7432353629", + "id": 8866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9824:21:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e", + "typeString": "literal_string \"log(string,uint256)\"" + }, + "value": "log(string,uint256)" + }, + { + "id": 8867, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8852, + "src": "9847:2:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8868, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8854, + "src": "9851:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e", + "typeString": "literal_string \"log(string,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 8864, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9800:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9804:19:10", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9800:23:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9800:54:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "arguments": [ + { + "id": 8861, + "name": "CONSOLE2_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8127, + "src": "9771:16:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9763:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 8859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9763:7:10", + "typeDescriptions": {} + } + }, + "id": 8862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9763:25:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9789:10:10", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "9763:36:10", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 8870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9763:92:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9746:109:10" + }, + { + "expression": { + "id": 8872, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8858, + "src": "9865:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8873, + "nodeType": "ExpressionStatement", + "src": "9865:6:10" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "console2_log", + "nameLocation": "9680:12:10", + "parameters": { + "id": 8855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8852, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9707:2:10", + "nodeType": "VariableDeclaration", + "scope": 8875, + "src": "9693:16:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8851, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9693:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8854, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9719:2:10", + "nodeType": "VariableDeclaration", + "scope": 8875, + "src": "9711:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9711:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9692:30:10" + }, + "returnParameters": { + "id": 8856, + "nodeType": "ParameterList", + "parameters": [], + "src": "9736:0:10" + }, + "scope": 8901, + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "id": 8900, + "nodeType": "FunctionDefinition", + "src": "9884:212:10", + "nodes": [], + "body": { + "id": 8899, + "nodeType": "Block", + "src": "9955:141:10", + "nodes": [], + "statements": [ + { + "assignments": [ + 8883, + null + ], + "declarations": [ + { + "constant": false, + "id": 8883, + "mutability": "mutable", + "name": "status", + "nameLocation": "9971:6:10", + "nodeType": "VariableDeclaration", + "scope": 8899, + "src": "9966:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8882, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9966:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 8896, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e6729", + "id": 8891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10043:20:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac", + "typeString": "literal_string \"log(string,string)\"" + }, + "value": "log(string,string)" + }, + { + "id": 8892, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8877, + "src": "10065:2:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8893, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8879, + "src": "10069:2:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac", + "typeString": "literal_string \"log(string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 8889, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10019:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10023:19:10", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10019:23:10", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10019:53:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "arguments": [ + { + "id": 8886, + "name": "CONSOLE2_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8127, + "src": "9990:16:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9982:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 8884, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9982:7:10", + "typeDescriptions": {} + } + }, + "id": 8887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9982:25:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10008:10:10", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "9982:36:10", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 8895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9982:91:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9965:108:10" + }, + { + "expression": { + "id": 8897, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8883, + "src": "10083:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8898, + "nodeType": "ExpressionStatement", + "src": "10083:6:10" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "console2_log", + "nameLocation": "9893:12:10", + "parameters": { + "id": 8880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8877, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9920:2:10", + "nodeType": "VariableDeclaration", + "scope": 8900, + "src": "9906:16:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8876, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9906:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8879, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9938:2:10", + "nodeType": "VariableDeclaration", + "scope": 8900, + "src": "9924:16:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8878, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9924:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9905:36:10" + }, + "returnParameters": { + "id": 8881, + "nodeType": "ParameterList", + "parameters": [], + "src": "9955:0:10" + }, + "scope": 8901, + "stateMutability": "view", + "virtual": false, + "visibility": "private" + } + ], + "abstract": true, + "baseContracts": [], + "canonicalName": "StdUtils", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 8901 + ], + "name": "StdUtils", + "nameLocation": "233:8:10", + "scope": 8902, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/Test.sol": { + "id": 11, + "ast": { + "absolutePath": "lib/forge-std/src/Test.sol", + "id": 8944, + "exportedSymbols": { + "DSTest": [ + 1786 + ], + "StdAssertions": [ + 3129 + ], + "StdChains": [ + 3793 + ], + "StdCheats": [ + 5754 + ], + "StdStorage": [ + 6661 + ], + "StdUtils": [ + 8901 + ], + "Test": [ + 8943 + ], + "TestBase": [ + 1846 + ], + "Vm": [ + 10233 + ], + "console": [ + 18297 + ], + "console2": [ + 26393 + ], + "stdError": [ + 5820 + ], + "stdJson": [ + 6487 + ], + "stdMath": [ + 6629 + ], + "stdStorage": [ + 8094 + ] + }, + "nodeType": "SourceUnit", + "src": "32:946:11", + "nodes": [ + { + "id": 8903, + "nodeType": "PragmaDirective", + "src": "32:31:11", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 8905, + "nodeType": "ImportDirective", + "src": "131:38:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/console.sol", + "file": "./console.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 18298, + "symbolAliases": [ + { + "foreign": { + "id": 8904, + "name": "console", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18297, + "src": "139:7:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8907, + "nodeType": "ImportDirective", + "src": "170:40:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/console2.sol", + "file": "./console2.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 26394, + "symbolAliases": [ + { + "foreign": { + "id": 8906, + "name": "console2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26393, + "src": "178:8:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8909, + "nodeType": "ImportDirective", + "src": "211:50:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdAssertions.sol", + "file": "./StdAssertions.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 3130, + "symbolAliases": [ + { + "foreign": { + "id": 8908, + "name": "StdAssertions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3129, + "src": "219:13:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8911, + "nodeType": "ImportDirective", + "src": "262:42:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdChains.sol", + "file": "./StdChains.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 3794, + "symbolAliases": [ + { + "foreign": { + "id": 8910, + "name": "StdChains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3793, + "src": "270:9:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8913, + "nodeType": "ImportDirective", + "src": "305:42:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdCheats.sol", + "file": "./StdCheats.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 5755, + "symbolAliases": [ + { + "foreign": { + "id": 8912, + "name": "StdCheats", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5754, + "src": "313:9:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8915, + "nodeType": "ImportDirective", + "src": "348:40:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdError.sol", + "file": "./StdError.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 5821, + "symbolAliases": [ + { + "foreign": { + "id": 8914, + "name": "stdError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5820, + "src": "356:8:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8917, + "nodeType": "ImportDirective", + "src": "389:38:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdJson.sol", + "file": "./StdJson.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 6488, + "symbolAliases": [ + { + "foreign": { + "id": 8916, + "name": "stdJson", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "397:7:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8919, + "nodeType": "ImportDirective", + "src": "428:38:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdMath.sol", + "file": "./StdMath.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 6630, + "symbolAliases": [ + { + "foreign": { + "id": 8918, + "name": "stdMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "436:7:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8922, + "nodeType": "ImportDirective", + "src": "467:56:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdStorage.sol", + "file": "./StdStorage.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 8095, + "symbolAliases": [ + { + "foreign": { + "id": 8920, + "name": "StdStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6661, + "src": "475:10:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 8921, + "name": "stdStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8094, + "src": "487:10:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8924, + "nodeType": "ImportDirective", + "src": "524:40:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/StdUtils.sol", + "file": "./StdUtils.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 8902, + "symbolAliases": [ + { + "foreign": { + "id": 8923, + "name": "StdUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8901, + "src": "532:8:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8926, + "nodeType": "ImportDirective", + "src": "565:28:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/Vm.sol", + "file": "./Vm.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 10234, + "symbolAliases": [ + { + "foreign": { + "id": 8925, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "573:2:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8928, + "nodeType": "ImportDirective", + "src": "615:36:11", + "nodes": [], + "absolutePath": "lib/forge-std/src/Base.sol", + "file": "./Base.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 1859, + "symbolAliases": [ + { + "foreign": { + "id": 8927, + "name": "TestBase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1846, + "src": "623:8:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8930, + "nodeType": "ImportDirective", + "src": "652:40:11", + "nodes": [], + "absolutePath": "lib/forge-std/lib/ds-test/src/test.sol", + "file": "ds-test/test.sol", + "nameLocation": "-1:-1:-1", + "scope": 8944, + "sourceUnit": 1787, + "symbolAliases": [ + { + "foreign": { + "id": 8929, + "name": "DSTest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1786, + "src": "660:6:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 8943, + "nodeType": "ContractDefinition", + "src": "709:268:11", + "nodes": [], + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 8931, + "name": "DSTest", + "nameLocations": [ + "735:6:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1786, + "src": "735:6:11" + }, + "id": 8932, + "nodeType": "InheritanceSpecifier", + "src": "735:6:11" + }, + { + "baseName": { + "id": 8933, + "name": "StdAssertions", + "nameLocations": [ + "743:13:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3129, + "src": "743:13:11" + }, + "id": 8934, + "nodeType": "InheritanceSpecifier", + "src": "743:13:11" + }, + { + "baseName": { + "id": 8935, + "name": "StdChains", + "nameLocations": [ + "758:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3793, + "src": "758:9:11" + }, + "id": 8936, + "nodeType": "InheritanceSpecifier", + "src": "758:9:11" + }, + { + "baseName": { + "id": 8937, + "name": "StdCheats", + "nameLocations": [ + "769:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 5754, + "src": "769:9:11" + }, + "id": 8938, + "nodeType": "InheritanceSpecifier", + "src": "769:9:11" + }, + { + "baseName": { + "id": 8939, + "name": "StdUtils", + "nameLocations": [ + "780:8:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8901, + "src": "780:8:11" + }, + "id": 8940, + "nodeType": "InheritanceSpecifier", + "src": "780:8:11" + }, + { + "baseName": { + "id": 8941, + "name": "TestBase", + "nameLocations": [ + "790:8:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1846, + "src": "790:8:11" + }, + "id": 8942, + "nodeType": "InheritanceSpecifier", + "src": "790:8:11" + } + ], + "canonicalName": "Test", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 8943, + 1846, + 1843, + 8901, + 5754, + 5365, + 3793, + 3129, + 1786 + ], + "name": "Test", + "nameLocation": "727:4:11", + "scope": 8944, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/Vm.sol": { + "id": 12, + "ast": { + "absolutePath": "lib/forge-std/src/Vm.sol", + "id": 10234, + "exportedSymbols": { + "Vm": [ + 10233 + ], + "VmSafe": [ + 9908 + ] + }, + "nodeType": "SourceUnit", + "src": "32:26708:12", + "nodes": [ + { + "id": 8945, + "nodeType": "PragmaDirective", + "src": "32:31:12", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 8946, + "nodeType": "PragmaDirective", + "src": "65:33:12", + "nodes": [], + "literals": [ + "experimental", + "ABIEncoderV2" + ] + }, + { + "id": 9908, + "nodeType": "ContractDefinition", + "src": "571:18299:12", + "nodes": [ + { + "id": 8954, + "nodeType": "StructDefinition", + "src": "594:89:12", + "nodes": [], + "canonicalName": "VmSafe.Log", + "members": [ + { + "constant": false, + "id": 8949, + "mutability": "mutable", + "name": "topics", + "nameLocation": "625:6:12", + "nodeType": "VariableDeclaration", + "scope": 8954, + "src": "615:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 8947, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "615:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8948, + "nodeType": "ArrayTypeName", + "src": "615:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8951, + "mutability": "mutable", + "name": "data", + "nameLocation": "647:4:12", + "nodeType": "VariableDeclaration", + "scope": 8954, + "src": "641:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8950, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "641:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8953, + "mutability": "mutable", + "name": "emitter", + "nameLocation": "669:7:12", + "nodeType": "VariableDeclaration", + "scope": 8954, + "src": "661:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "661:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "Log", + "nameLocation": "601:3:12", + "scope": 9908, + "visibility": "public" + }, + { + "id": 8959, + "nodeType": "StructDefinition", + "src": "689:58:12", + "nodes": [], + "canonicalName": "VmSafe.Rpc", + "members": [ + { + "constant": false, + "id": 8956, + "mutability": "mutable", + "name": "key", + "nameLocation": "717:3:12", + "nodeType": "VariableDeclaration", + "scope": 8959, + "src": "710:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8955, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "710:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8958, + "mutability": "mutable", + "name": "url", + "nameLocation": "737:3:12", + "nodeType": "VariableDeclaration", + "scope": 8959, + "src": "730:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8957, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "730:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "Rpc", + "nameLocation": "696:3:12", + "scope": 9908, + "visibility": "public" + }, + { + "id": 8974, + "nodeType": "StructDefinition", + "src": "753:193:12", + "nodes": [], + "canonicalName": "VmSafe.FsMetadata", + "members": [ + { + "constant": false, + "id": 8961, + "mutability": "mutable", + "name": "isDir", + "nameLocation": "786:5:12", + "nodeType": "VariableDeclaration", + "scope": 8974, + "src": "781:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8960, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "781:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8963, + "mutability": "mutable", + "name": "isSymlink", + "nameLocation": "806:9:12", + "nodeType": "VariableDeclaration", + "scope": 8974, + "src": "801:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8962, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "801:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8965, + "mutability": "mutable", + "name": "length", + "nameLocation": "833:6:12", + "nodeType": "VariableDeclaration", + "scope": 8974, + "src": "825:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "825:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8967, + "mutability": "mutable", + "name": "readOnly", + "nameLocation": "854:8:12", + "nodeType": "VariableDeclaration", + "scope": 8974, + "src": "849:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8966, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "849:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8969, + "mutability": "mutable", + "name": "modified", + "nameLocation": "880:8:12", + "nodeType": "VariableDeclaration", + "scope": 8974, + "src": "872:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8968, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "872:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8971, + "mutability": "mutable", + "name": "accessed", + "nameLocation": "906:8:12", + "nodeType": "VariableDeclaration", + "scope": 8974, + "src": "898:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8970, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "898:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8973, + "mutability": "mutable", + "name": "created", + "nameLocation": "932:7:12", + "nodeType": "VariableDeclaration", + "scope": 8974, + "src": "924:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "924:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "FsMetadata", + "nameLocation": "760:10:12", + "scope": 9908, + "visibility": "public" + }, + { + "id": 8983, + "nodeType": "FunctionDefinition", + "src": "996:81:12", + "nodes": [], + "functionSelector": "667f9d70", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "load", + "nameLocation": "1005:4:12", + "parameters": { + "id": 8979, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8976, + "mutability": "mutable", + "name": "target", + "nameLocation": "1018:6:12", + "nodeType": "VariableDeclaration", + "scope": 8983, + "src": "1010:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8975, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1010:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8978, + "mutability": "mutable", + "name": "slot", + "nameLocation": "1034:4:12", + "nodeType": "VariableDeclaration", + "scope": 8983, + "src": "1026:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8977, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1026:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1009:30:12" + }, + "returnParameters": { + "id": 8982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8981, + "mutability": "mutable", + "name": "data", + "nameLocation": "1071:4:12", + "nodeType": "VariableDeclaration", + "scope": 8983, + "src": "1063:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8980, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1063:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1062:14:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 8996, + "nodeType": "FunctionDefinition", + "src": "1100:104:12", + "nodes": [], + "functionSelector": "e341eaa4", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "sign", + "nameLocation": "1109:4:12", + "parameters": { + "id": 8988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8985, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "1122:10:12", + "nodeType": "VariableDeclaration", + "scope": 8996, + "src": "1114:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8984, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1114:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8987, + "mutability": "mutable", + "name": "digest", + "nameLocation": "1142:6:12", + "nodeType": "VariableDeclaration", + "scope": 8996, + "src": "1134:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8986, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1134:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1113:36:12" + }, + "returnParameters": { + "id": 8995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8990, + "mutability": "mutable", + "name": "v", + "nameLocation": "1179:1:12", + "nodeType": "VariableDeclaration", + "scope": 8996, + "src": "1173:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 8989, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1173:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8992, + "mutability": "mutable", + "name": "r", + "nameLocation": "1190:1:12", + "nodeType": "VariableDeclaration", + "scope": 8996, + "src": "1182:9:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8991, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1182:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8994, + "mutability": "mutable", + "name": "s", + "nameLocation": "1201:1:12", + "nodeType": "VariableDeclaration", + "scope": 8996, + "src": "1193:9:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8993, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1193:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1172:31:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9003, + "nodeType": "FunctionDefinition", + "src": "1257:74:12", + "nodes": [], + "functionSelector": "ffa18649", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addr", + "nameLocation": "1266:4:12", + "parameters": { + "id": 8999, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8998, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "1279:10:12", + "nodeType": "VariableDeclaration", + "scope": 9003, + "src": "1271:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1271:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1270:20:12" + }, + "returnParameters": { + "id": 9002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9001, + "mutability": "mutable", + "name": "keyAddr", + "nameLocation": "1322:7:12", + "nodeType": "VariableDeclaration", + "scope": 9003, + "src": "1314:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9000, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1314:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1313:17:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9010, + "nodeType": "FunctionDefinition", + "src": "1372:72:12", + "nodes": [], + "functionSelector": "2d0335ab", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getNonce", + "nameLocation": "1381:8:12", + "parameters": { + "id": 9006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9005, + "mutability": "mutable", + "name": "account", + "nameLocation": "1398:7:12", + "nodeType": "VariableDeclaration", + "scope": 9010, + "src": "1390:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9004, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1390:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1389:17:12" + }, + "returnParameters": { + "id": 9009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9008, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1437:5:12", + "nodeType": "VariableDeclaration", + "scope": 9010, + "src": "1430:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 9007, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1430:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1429:14:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9018, + "nodeType": "FunctionDefinition", + "src": "1506:84:12", + "nodes": [], + "functionSelector": "89160467", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ffi", + "nameLocation": "1515:3:12", + "parameters": { + "id": 9014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9013, + "mutability": "mutable", + "name": "commandInput", + "nameLocation": "1537:12:12", + "nodeType": "VariableDeclaration", + "scope": 9018, + "src": "1519:30:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 9011, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1519:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 9012, + "nodeType": "ArrayTypeName", + "src": "1519:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "1518:32:12" + }, + "returnParameters": { + "id": 9017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9016, + "mutability": "mutable", + "name": "result", + "nameLocation": "1582:6:12", + "nodeType": "VariableDeclaration", + "scope": 9018, + "src": "1569:19:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9015, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1569:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1568:21:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9025, + "nodeType": "FunctionDefinition", + "src": "1629:70:12", + "nodes": [], + "functionSelector": "3d5923ee", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setEnv", + "nameLocation": "1638:6:12", + "parameters": { + "id": 9023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9020, + "mutability": "mutable", + "name": "name", + "nameLocation": "1661:4:12", + "nodeType": "VariableDeclaration", + "scope": 9025, + "src": "1645:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9019, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1645:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9022, + "mutability": "mutable", + "name": "value", + "nameLocation": "1683:5:12", + "nodeType": "VariableDeclaration", + "scope": 9025, + "src": "1667:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9021, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1667:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1644:45:12" + }, + "returnParameters": { + "id": 9024, + "nodeType": "ParameterList", + "parameters": [], + "src": "1698:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9032, + "nodeType": "FunctionDefinition", + "src": "1758:74:12", + "nodes": [], + "functionSelector": "7ed1ec7d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envBool", + "nameLocation": "1767:7:12", + "parameters": { + "id": 9028, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9027, + "mutability": "mutable", + "name": "name", + "nameLocation": "1791:4:12", + "nodeType": "VariableDeclaration", + "scope": 9032, + "src": "1775:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9026, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1775:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1774:22:12" + }, + "returnParameters": { + "id": 9031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9030, + "mutability": "mutable", + "name": "value", + "nameLocation": "1825:5:12", + "nodeType": "VariableDeclaration", + "scope": 9032, + "src": "1820:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9029, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1820:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1819:12:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9039, + "nodeType": "FunctionDefinition", + "src": "1837:77:12", + "nodes": [], + "functionSelector": "c1978d1f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envUint", + "nameLocation": "1846:7:12", + "parameters": { + "id": 9035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9034, + "mutability": "mutable", + "name": "name", + "nameLocation": "1870:4:12", + "nodeType": "VariableDeclaration", + "scope": 9039, + "src": "1854:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9033, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1854:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1853:22:12" + }, + "returnParameters": { + "id": 9038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9037, + "mutability": "mutable", + "name": "value", + "nameLocation": "1907:5:12", + "nodeType": "VariableDeclaration", + "scope": 9039, + "src": "1899:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9036, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1899:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1898:15:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9046, + "nodeType": "FunctionDefinition", + "src": "1919:75:12", + "nodes": [], + "functionSelector": "892a0c61", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envInt", + "nameLocation": "1928:6:12", + "parameters": { + "id": 9042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9041, + "mutability": "mutable", + "name": "name", + "nameLocation": "1951:4:12", + "nodeType": "VariableDeclaration", + "scope": 9046, + "src": "1935:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9040, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1935:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1934:22:12" + }, + "returnParameters": { + "id": 9045, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9044, + "mutability": "mutable", + "name": "value", + "nameLocation": "1987:5:12", + "nodeType": "VariableDeclaration", + "scope": 9046, + "src": "1980:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9043, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1980:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1979:14:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9053, + "nodeType": "FunctionDefinition", + "src": "1999:80:12", + "nodes": [], + "functionSelector": "350d56bf", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envAddress", + "nameLocation": "2008:10:12", + "parameters": { + "id": 9049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9048, + "mutability": "mutable", + "name": "name", + "nameLocation": "2035:4:12", + "nodeType": "VariableDeclaration", + "scope": 9053, + "src": "2019:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9047, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2019:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2018:22:12" + }, + "returnParameters": { + "id": 9052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9051, + "mutability": "mutable", + "name": "value", + "nameLocation": "2072:5:12", + "nodeType": "VariableDeclaration", + "scope": 9053, + "src": "2064:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9050, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2064:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2063:15:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9060, + "nodeType": "FunctionDefinition", + "src": "2084:80:12", + "nodes": [], + "functionSelector": "97949042", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envBytes32", + "nameLocation": "2093:10:12", + "parameters": { + "id": 9056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9055, + "mutability": "mutable", + "name": "name", + "nameLocation": "2120:4:12", + "nodeType": "VariableDeclaration", + "scope": 9060, + "src": "2104:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9054, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2104:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2103:22:12" + }, + "returnParameters": { + "id": 9059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9058, + "mutability": "mutable", + "name": "value", + "nameLocation": "2157:5:12", + "nodeType": "VariableDeclaration", + "scope": 9060, + "src": "2149:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9057, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2149:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2148:15:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9067, + "nodeType": "FunctionDefinition", + "src": "2169:85:12", + "nodes": [], + "functionSelector": "f877cb19", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envString", + "nameLocation": "2178:9:12", + "parameters": { + "id": 9063, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9062, + "mutability": "mutable", + "name": "name", + "nameLocation": "2204:4:12", + "nodeType": "VariableDeclaration", + "scope": 9067, + "src": "2188:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9061, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2188:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2187:22:12" + }, + "returnParameters": { + "id": 9066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9065, + "mutability": "mutable", + "name": "value", + "nameLocation": "2247:5:12", + "nodeType": "VariableDeclaration", + "scope": 9067, + "src": "2233:19:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9064, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2233:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2232:21:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9074, + "nodeType": "FunctionDefinition", + "src": "2259:83:12", + "nodes": [], + "functionSelector": "4d7baf06", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envBytes", + "nameLocation": "2268:8:12", + "parameters": { + "id": 9070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9069, + "mutability": "mutable", + "name": "name", + "nameLocation": "2293:4:12", + "nodeType": "VariableDeclaration", + "scope": 9074, + "src": "2277:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9068, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2277:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2276:22:12" + }, + "returnParameters": { + "id": 9073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9072, + "mutability": "mutable", + "name": "value", + "nameLocation": "2335:5:12", + "nodeType": "VariableDeclaration", + "scope": 9074, + "src": "2322:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9071, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2322:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2321:20:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9084, + "nodeType": "FunctionDefinition", + "src": "2392:106:12", + "nodes": [], + "functionSelector": "aaaddeaf", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envBool", + "nameLocation": "2401:7:12", + "parameters": { + "id": 9079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9076, + "mutability": "mutable", + "name": "name", + "nameLocation": "2425:4:12", + "nodeType": "VariableDeclaration", + "scope": 9084, + "src": "2409:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9075, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2409:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9078, + "mutability": "mutable", + "name": "delim", + "nameLocation": "2447:5:12", + "nodeType": "VariableDeclaration", + "scope": 9084, + "src": "2431:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9077, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2431:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2408:45:12" + }, + "returnParameters": { + "id": 9083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9082, + "mutability": "mutable", + "name": "value", + "nameLocation": "2491:5:12", + "nodeType": "VariableDeclaration", + "scope": 9084, + "src": "2477:19:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 9080, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2477:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9081, + "nodeType": "ArrayTypeName", + "src": "2477:6:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "src": "2476:21:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9094, + "nodeType": "FunctionDefinition", + "src": "2503:109:12", + "nodes": [], + "functionSelector": "f3dec099", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envUint", + "nameLocation": "2512:7:12", + "parameters": { + "id": 9089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9086, + "mutability": "mutable", + "name": "name", + "nameLocation": "2536:4:12", + "nodeType": "VariableDeclaration", + "scope": 9094, + "src": "2520:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9085, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2520:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9088, + "mutability": "mutable", + "name": "delim", + "nameLocation": "2558:5:12", + "nodeType": "VariableDeclaration", + "scope": 9094, + "src": "2542:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9087, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2542:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2519:45:12" + }, + "returnParameters": { + "id": 9093, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9092, + "mutability": "mutable", + "name": "value", + "nameLocation": "2605:5:12", + "nodeType": "VariableDeclaration", + "scope": 9094, + "src": "2588:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 9090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2588:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9091, + "nodeType": "ArrayTypeName", + "src": "2588:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2587:24:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9104, + "nodeType": "FunctionDefinition", + "src": "2617:107:12", + "nodes": [], + "functionSelector": "42181150", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envInt", + "nameLocation": "2626:6:12", + "parameters": { + "id": 9099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9096, + "mutability": "mutable", + "name": "name", + "nameLocation": "2649:4:12", + "nodeType": "VariableDeclaration", + "scope": 9104, + "src": "2633:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9095, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2633:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9098, + "mutability": "mutable", + "name": "delim", + "nameLocation": "2671:5:12", + "nodeType": "VariableDeclaration", + "scope": 9104, + "src": "2655:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9097, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2655:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2632:45:12" + }, + "returnParameters": { + "id": 9103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9102, + "mutability": "mutable", + "name": "value", + "nameLocation": "2717:5:12", + "nodeType": "VariableDeclaration", + "scope": 9104, + "src": "2701:21:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 9100, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2701:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 9101, + "nodeType": "ArrayTypeName", + "src": "2701:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2700:23:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9114, + "nodeType": "FunctionDefinition", + "src": "2729:112:12", + "nodes": [], + "functionSelector": "ad31b9fa", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envAddress", + "nameLocation": "2738:10:12", + "parameters": { + "id": 9109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9106, + "mutability": "mutable", + "name": "name", + "nameLocation": "2765:4:12", + "nodeType": "VariableDeclaration", + "scope": 9114, + "src": "2749:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9105, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2749:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9108, + "mutability": "mutable", + "name": "delim", + "nameLocation": "2787:5:12", + "nodeType": "VariableDeclaration", + "scope": 9114, + "src": "2771:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9107, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2771:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2748:45:12" + }, + "returnParameters": { + "id": 9113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9112, + "mutability": "mutable", + "name": "value", + "nameLocation": "2834:5:12", + "nodeType": "VariableDeclaration", + "scope": 9114, + "src": "2817:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9110, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2817:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9111, + "nodeType": "ArrayTypeName", + "src": "2817:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2816:24:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9124, + "nodeType": "FunctionDefinition", + "src": "2846:112:12", + "nodes": [], + "functionSelector": "5af231c1", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envBytes32", + "nameLocation": "2855:10:12", + "parameters": { + "id": 9119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9116, + "mutability": "mutable", + "name": "name", + "nameLocation": "2882:4:12", + "nodeType": "VariableDeclaration", + "scope": 9124, + "src": "2866:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9115, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2866:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9118, + "mutability": "mutable", + "name": "delim", + "nameLocation": "2904:5:12", + "nodeType": "VariableDeclaration", + "scope": 9124, + "src": "2888:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9117, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2888:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2865:45:12" + }, + "returnParameters": { + "id": 9123, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9122, + "mutability": "mutable", + "name": "value", + "nameLocation": "2951:5:12", + "nodeType": "VariableDeclaration", + "scope": 9124, + "src": "2934:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 9120, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2934:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9121, + "nodeType": "ArrayTypeName", + "src": "2934:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "2933:24:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9134, + "nodeType": "FunctionDefinition", + "src": "2963:110:12", + "nodes": [], + "functionSelector": "14b02bc9", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envString", + "nameLocation": "2972:9:12", + "parameters": { + "id": 9129, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9126, + "mutability": "mutable", + "name": "name", + "nameLocation": "2998:4:12", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "2982:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9125, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2982:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9128, + "mutability": "mutable", + "name": "delim", + "nameLocation": "3020:5:12", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "3004:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9127, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3004:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2981:45:12" + }, + "returnParameters": { + "id": 9133, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9132, + "mutability": "mutable", + "name": "value", + "nameLocation": "3066:5:12", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "3050:21:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 9130, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3050:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 9131, + "nodeType": "ArrayTypeName", + "src": "3050:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "3049:23:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9144, + "nodeType": "FunctionDefinition", + "src": "3078:108:12", + "nodes": [], + "functionSelector": "ddc2651b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envBytes", + "nameLocation": "3087:8:12", + "parameters": { + "id": 9139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9136, + "mutability": "mutable", + "name": "name", + "nameLocation": "3112:4:12", + "nodeType": "VariableDeclaration", + "scope": 9144, + "src": "3096:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9135, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3096:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9138, + "mutability": "mutable", + "name": "delim", + "nameLocation": "3134:5:12", + "nodeType": "VariableDeclaration", + "scope": 9144, + "src": "3118:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9137, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3118:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3095:45:12" + }, + "returnParameters": { + "id": 9143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9142, + "mutability": "mutable", + "name": "value", + "nameLocation": "3179:5:12", + "nodeType": "VariableDeclaration", + "scope": 9144, + "src": "3164:20:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 9140, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3164:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 9141, + "nodeType": "ArrayTypeName", + "src": "3164:7:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "3163:22:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9153, + "nodeType": "FunctionDefinition", + "src": "3244:86:12", + "nodes": [], + "functionSelector": "4777f3cf", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "3253:5:12", + "parameters": { + "id": 9149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9146, + "mutability": "mutable", + "name": "name", + "nameLocation": "3275:4:12", + "nodeType": "VariableDeclaration", + "scope": 9153, + "src": "3259:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9145, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3259:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9148, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "3286:12:12", + "nodeType": "VariableDeclaration", + "scope": 9153, + "src": "3281:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9147, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3281:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3258:41:12" + }, + "returnParameters": { + "id": 9152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9151, + "mutability": "mutable", + "name": "value", + "nameLocation": "3323:5:12", + "nodeType": "VariableDeclaration", + "scope": 9153, + "src": "3318:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9150, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3318:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3317:12:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9162, + "nodeType": "FunctionDefinition", + "src": "3335:92:12", + "nodes": [], + "functionSelector": "5e97348f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "3344:5:12", + "parameters": { + "id": 9158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9155, + "mutability": "mutable", + "name": "name", + "nameLocation": "3366:4:12", + "nodeType": "VariableDeclaration", + "scope": 9162, + "src": "3350:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9154, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3350:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9157, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "3380:12:12", + "nodeType": "VariableDeclaration", + "scope": 9162, + "src": "3372:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3372:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3349:44:12" + }, + "returnParameters": { + "id": 9161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9160, + "mutability": "mutable", + "name": "value", + "nameLocation": "3420:5:12", + "nodeType": "VariableDeclaration", + "scope": 9162, + "src": "3412:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9159, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3412:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3411:15:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9171, + "nodeType": "FunctionDefinition", + "src": "3432:90:12", + "nodes": [], + "functionSelector": "bbcb713e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "3441:5:12", + "parameters": { + "id": 9167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9164, + "mutability": "mutable", + "name": "name", + "nameLocation": "3463:4:12", + "nodeType": "VariableDeclaration", + "scope": 9171, + "src": "3447:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9163, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3447:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9166, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "3476:12:12", + "nodeType": "VariableDeclaration", + "scope": 9171, + "src": "3469:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9165, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3469:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3446:43:12" + }, + "returnParameters": { + "id": 9170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9169, + "mutability": "mutable", + "name": "value", + "nameLocation": "3515:5:12", + "nodeType": "VariableDeclaration", + "scope": 9171, + "src": "3508:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9168, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3508:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3507:14:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9180, + "nodeType": "FunctionDefinition", + "src": "3527:92:12", + "nodes": [], + "functionSelector": "561fe540", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "3536:5:12", + "parameters": { + "id": 9176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9173, + "mutability": "mutable", + "name": "name", + "nameLocation": "3558:4:12", + "nodeType": "VariableDeclaration", + "scope": 9180, + "src": "3542:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9172, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3542:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9175, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "3572:12:12", + "nodeType": "VariableDeclaration", + "scope": 9180, + "src": "3564:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9174, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3564:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3541:44:12" + }, + "returnParameters": { + "id": 9179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9178, + "mutability": "mutable", + "name": "value", + "nameLocation": "3612:5:12", + "nodeType": "VariableDeclaration", + "scope": 9180, + "src": "3604:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9177, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3604:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3603:15:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9189, + "nodeType": "FunctionDefinition", + "src": "3624:92:12", + "nodes": [], + "functionSelector": "b4a85892", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "3633:5:12", + "parameters": { + "id": 9185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9182, + "mutability": "mutable", + "name": "name", + "nameLocation": "3655:4:12", + "nodeType": "VariableDeclaration", + "scope": 9189, + "src": "3639:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9181, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3639:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9184, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "3669:12:12", + "nodeType": "VariableDeclaration", + "scope": 9189, + "src": "3661:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9183, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3661:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3638:44:12" + }, + "returnParameters": { + "id": 9188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9187, + "mutability": "mutable", + "name": "value", + "nameLocation": "3709:5:12", + "nodeType": "VariableDeclaration", + "scope": 9189, + "src": "3701:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9186, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3701:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3700:15:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9198, + "nodeType": "FunctionDefinition", + "src": "3721:106:12", + "nodes": [], + "functionSelector": "d145736c", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "3730:5:12", + "parameters": { + "id": 9194, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9191, + "mutability": "mutable", + "name": "name", + "nameLocation": "3752:4:12", + "nodeType": "VariableDeclaration", + "scope": 9198, + "src": "3736:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9190, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3736:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9193, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "3774:12:12", + "nodeType": "VariableDeclaration", + "scope": 9198, + "src": "3758:28:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9192, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3758:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3735:52:12" + }, + "returnParameters": { + "id": 9197, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9196, + "mutability": "mutable", + "name": "value", + "nameLocation": "3820:5:12", + "nodeType": "VariableDeclaration", + "scope": 9198, + "src": "3806:19:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9195, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3806:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3805:21:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9207, + "nodeType": "FunctionDefinition", + "src": "3832:104:12", + "nodes": [], + "functionSelector": "b3e47705", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "3841:5:12", + "parameters": { + "id": 9203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9200, + "mutability": "mutable", + "name": "name", + "nameLocation": "3863:4:12", + "nodeType": "VariableDeclaration", + "scope": 9207, + "src": "3847:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9199, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3847:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9202, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "3884:12:12", + "nodeType": "VariableDeclaration", + "scope": 9207, + "src": "3869:27:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9201, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3869:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3846:51:12" + }, + "returnParameters": { + "id": 9206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9205, + "mutability": "mutable", + "name": "value", + "nameLocation": "3929:5:12", + "nodeType": "VariableDeclaration", + "scope": 9207, + "src": "3916:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9204, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3916:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3915:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9220, + "nodeType": "FunctionDefinition", + "src": "4004:145:12", + "nodes": [], + "functionSelector": "eb85e83b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "4013:5:12", + "parameters": { + "id": 9215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9209, + "mutability": "mutable", + "name": "name", + "nameLocation": "4035:4:12", + "nodeType": "VariableDeclaration", + "scope": 9220, + "src": "4019:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9208, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4019:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9211, + "mutability": "mutable", + "name": "delim", + "nameLocation": "4057:5:12", + "nodeType": "VariableDeclaration", + "scope": 9220, + "src": "4041:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9210, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4041:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9214, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "4080:12:12", + "nodeType": "VariableDeclaration", + "scope": 9220, + "src": "4064:28:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 9212, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4064:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9213, + "nodeType": "ArrayTypeName", + "src": "4064:6:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "src": "4018:75:12" + }, + "returnParameters": { + "id": 9219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9218, + "mutability": "mutable", + "name": "value", + "nameLocation": "4142:5:12", + "nodeType": "VariableDeclaration", + "scope": 9220, + "src": "4128:19:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 9216, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4128:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9217, + "nodeType": "ArrayTypeName", + "src": "4128:6:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "src": "4127:21:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9233, + "nodeType": "FunctionDefinition", + "src": "4154:151:12", + "nodes": [], + "functionSelector": "74318528", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "4163:5:12", + "parameters": { + "id": 9228, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9222, + "mutability": "mutable", + "name": "name", + "nameLocation": "4185:4:12", + "nodeType": "VariableDeclaration", + "scope": 9233, + "src": "4169:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9221, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4169:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9224, + "mutability": "mutable", + "name": "delim", + "nameLocation": "4207:5:12", + "nodeType": "VariableDeclaration", + "scope": 9233, + "src": "4191:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9223, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4191:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9227, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "4233:12:12", + "nodeType": "VariableDeclaration", + "scope": 9233, + "src": "4214:31:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 9225, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4214:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9226, + "nodeType": "ArrayTypeName", + "src": "4214:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "4168:78:12" + }, + "returnParameters": { + "id": 9232, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9231, + "mutability": "mutable", + "name": "value", + "nameLocation": "4298:5:12", + "nodeType": "VariableDeclaration", + "scope": 9233, + "src": "4281:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 9229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4281:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9230, + "nodeType": "ArrayTypeName", + "src": "4281:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "4280:24:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9246, + "nodeType": "FunctionDefinition", + "src": "4310:149:12", + "nodes": [], + "functionSelector": "4700d74b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "4319:5:12", + "parameters": { + "id": 9241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9235, + "mutability": "mutable", + "name": "name", + "nameLocation": "4341:4:12", + "nodeType": "VariableDeclaration", + "scope": 9246, + "src": "4325:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9234, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4325:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9237, + "mutability": "mutable", + "name": "delim", + "nameLocation": "4363:5:12", + "nodeType": "VariableDeclaration", + "scope": 9246, + "src": "4347:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9236, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4347:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9240, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "4388:12:12", + "nodeType": "VariableDeclaration", + "scope": 9246, + "src": "4370:30:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 9238, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4370:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 9239, + "nodeType": "ArrayTypeName", + "src": "4370:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "4324:77:12" + }, + "returnParameters": { + "id": 9245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9244, + "mutability": "mutable", + "name": "value", + "nameLocation": "4452:5:12", + "nodeType": "VariableDeclaration", + "scope": 9246, + "src": "4436:21:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 9242, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4436:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 9243, + "nodeType": "ArrayTypeName", + "src": "4436:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "4435:23:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9259, + "nodeType": "FunctionDefinition", + "src": "4464:151:12", + "nodes": [], + "functionSelector": "c74e9deb", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "4473:5:12", + "parameters": { + "id": 9254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9248, + "mutability": "mutable", + "name": "name", + "nameLocation": "4495:4:12", + "nodeType": "VariableDeclaration", + "scope": 9259, + "src": "4479:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9247, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4479:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9250, + "mutability": "mutable", + "name": "delim", + "nameLocation": "4517:5:12", + "nodeType": "VariableDeclaration", + "scope": 9259, + "src": "4501:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9249, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4501:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9253, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "4543:12:12", + "nodeType": "VariableDeclaration", + "scope": 9259, + "src": "4524:31:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4524:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9252, + "nodeType": "ArrayTypeName", + "src": "4524:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "4478:78:12" + }, + "returnParameters": { + "id": 9258, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9257, + "mutability": "mutable", + "name": "value", + "nameLocation": "4608:5:12", + "nodeType": "VariableDeclaration", + "scope": 9259, + "src": "4591:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9255, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4591:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9256, + "nodeType": "ArrayTypeName", + "src": "4591:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "4590:24:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9272, + "nodeType": "FunctionDefinition", + "src": "4620:151:12", + "nodes": [], + "functionSelector": "2281f367", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "4629:5:12", + "parameters": { + "id": 9267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9261, + "mutability": "mutable", + "name": "name", + "nameLocation": "4651:4:12", + "nodeType": "VariableDeclaration", + "scope": 9272, + "src": "4635:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9260, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4635:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9263, + "mutability": "mutable", + "name": "delim", + "nameLocation": "4673:5:12", + "nodeType": "VariableDeclaration", + "scope": 9272, + "src": "4657:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9262, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4657:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9266, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "4699:12:12", + "nodeType": "VariableDeclaration", + "scope": 9272, + "src": "4680:31:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 9264, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4680:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9265, + "nodeType": "ArrayTypeName", + "src": "4680:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "4634:78:12" + }, + "returnParameters": { + "id": 9271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9270, + "mutability": "mutable", + "name": "value", + "nameLocation": "4764:5:12", + "nodeType": "VariableDeclaration", + "scope": 9272, + "src": "4747:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 9268, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4747:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9269, + "nodeType": "ArrayTypeName", + "src": "4747:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "4746:24:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9285, + "nodeType": "FunctionDefinition", + "src": "4776:149:12", + "nodes": [], + "functionSelector": "859216bc", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "4785:5:12", + "parameters": { + "id": 9280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9274, + "mutability": "mutable", + "name": "name", + "nameLocation": "4807:4:12", + "nodeType": "VariableDeclaration", + "scope": 9285, + "src": "4791:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9273, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4791:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9276, + "mutability": "mutable", + "name": "delim", + "nameLocation": "4829:5:12", + "nodeType": "VariableDeclaration", + "scope": 9285, + "src": "4813:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9275, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4813:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9279, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "4854:12:12", + "nodeType": "VariableDeclaration", + "scope": 9285, + "src": "4836:30:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 9277, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4836:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 9278, + "nodeType": "ArrayTypeName", + "src": "4836:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "4790:77:12" + }, + "returnParameters": { + "id": 9284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9283, + "mutability": "mutable", + "name": "value", + "nameLocation": "4918:5:12", + "nodeType": "VariableDeclaration", + "scope": 9285, + "src": "4902:21:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 9281, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4902:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 9282, + "nodeType": "ArrayTypeName", + "src": "4902:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "4901:23:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9298, + "nodeType": "FunctionDefinition", + "src": "4930:147:12", + "nodes": [], + "functionSelector": "64bc3e64", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "envOr", + "nameLocation": "4939:5:12", + "parameters": { + "id": 9293, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9287, + "mutability": "mutable", + "name": "name", + "nameLocation": "4961:4:12", + "nodeType": "VariableDeclaration", + "scope": 9298, + "src": "4945:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9286, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4945:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9289, + "mutability": "mutable", + "name": "delim", + "nameLocation": "4983:5:12", + "nodeType": "VariableDeclaration", + "scope": 9298, + "src": "4967:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9288, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4967:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9292, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "5007:12:12", + "nodeType": "VariableDeclaration", + "scope": 9298, + "src": "4990:29:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 9290, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4990:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 9291, + "nodeType": "ArrayTypeName", + "src": "4990:7:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "4944:76:12" + }, + "returnParameters": { + "id": 9297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9296, + "mutability": "mutable", + "name": "value", + "nameLocation": "5070:5:12", + "nodeType": "VariableDeclaration", + "scope": 9298, + "src": "5055:20:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 9294, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5055:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 9295, + "nodeType": "ArrayTypeName", + "src": "5055:7:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "5054:22:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9301, + "nodeType": "FunctionDefinition", + "src": "5126:27:12", + "nodes": [], + "functionSelector": "266cf109", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "record", + "nameLocation": "5135:6:12", + "parameters": { + "id": 9299, + "nodeType": "ParameterList", + "parameters": [], + "src": "5141:2:12" + }, + "returnParameters": { + "id": 9300, + "nodeType": "ParameterList", + "parameters": [], + "src": "5152:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9312, + "nodeType": "FunctionDefinition", + "src": "5250:109:12", + "nodes": [], + "functionSelector": "65bc9481", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "accesses", + "nameLocation": "5259:8:12", + "parameters": { + "id": 9304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9303, + "mutability": "mutable", + "name": "target", + "nameLocation": "5276:6:12", + "nodeType": "VariableDeclaration", + "scope": 9312, + "src": "5268:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5268:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5267:16:12" + }, + "returnParameters": { + "id": 9311, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9307, + "mutability": "mutable", + "name": "readSlots", + "nameLocation": "5319:9:12", + "nodeType": "VariableDeclaration", + "scope": 9312, + "src": "5302:26:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 9305, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5302:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9306, + "nodeType": "ArrayTypeName", + "src": "5302:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9310, + "mutability": "mutable", + "name": "writeSlots", + "nameLocation": "5347:10:12", + "nodeType": "VariableDeclaration", + "scope": 9312, + "src": "5330:27:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 9308, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5330:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9309, + "nodeType": "ArrayTypeName", + "src": "5330:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "5301:57:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9319, + "nodeType": "FunctionDefinition", + "src": "5467:101:12", + "nodes": [], + "functionSelector": "8d1cc925", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getCode", + "nameLocation": "5476:7:12", + "parameters": { + "id": 9315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9314, + "mutability": "mutable", + "name": "artifactPath", + "nameLocation": "5500:12:12", + "nodeType": "VariableDeclaration", + "scope": 9319, + "src": "5484:28:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9313, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5484:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5483:30:12" + }, + "returnParameters": { + "id": 9318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9317, + "mutability": "mutable", + "name": "creationBytecode", + "nameLocation": "5550:16:12", + "nodeType": "VariableDeclaration", + "scope": 9319, + "src": "5537:29:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9316, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5537:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5536:31:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9326, + "nodeType": "FunctionDefinition", + "src": "5676:108:12", + "nodes": [], + "functionSelector": "3ebf73b4", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getDeployedCode", + "nameLocation": "5685:15:12", + "parameters": { + "id": 9322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9321, + "mutability": "mutable", + "name": "artifactPath", + "nameLocation": "5717:12:12", + "nodeType": "VariableDeclaration", + "scope": 9326, + "src": "5701:28:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9320, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5701:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5700:30:12" + }, + "returnParameters": { + "id": 9325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9324, + "mutability": "mutable", + "name": "runtimeBytecode", + "nameLocation": "5767:15:12", + "nodeType": "VariableDeclaration", + "scope": 9326, + "src": "5754:28:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9323, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5754:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5753:30:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9333, + "nodeType": "FunctionDefinition", + "src": "5829:67:12", + "nodes": [], + "functionSelector": "c657c718", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "label", + "nameLocation": "5838:5:12", + "parameters": { + "id": 9331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9328, + "mutability": "mutable", + "name": "account", + "nameLocation": "5852:7:12", + "nodeType": "VariableDeclaration", + "scope": 9333, + "src": "5844:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9327, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5844:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9330, + "mutability": "mutable", + "name": "newLabel", + "nameLocation": "5877:8:12", + "nodeType": "VariableDeclaration", + "scope": 9333, + "src": "5861:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9329, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5861:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5843:43:12" + }, + "returnParameters": { + "id": 9332, + "nodeType": "ParameterList", + "parameters": [], + "src": "5895:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9336, + "nodeType": "FunctionDefinition", + "src": "6063:30:12", + "nodes": [], + "functionSelector": "afc98040", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcast", + "nameLocation": "6072:9:12", + "parameters": { + "id": 9334, + "nodeType": "ParameterList", + "parameters": [], + "src": "6081:2:12" + }, + "returnParameters": { + "id": 9335, + "nodeType": "ParameterList", + "parameters": [], + "src": "6092:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9341, + "nodeType": "FunctionDefinition", + "src": "6252:44:12", + "nodes": [], + "functionSelector": "e6962cdb", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcast", + "nameLocation": "6261:9:12", + "parameters": { + "id": 9339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9338, + "mutability": "mutable", + "name": "signer", + "nameLocation": "6279:6:12", + "nodeType": "VariableDeclaration", + "scope": 9341, + "src": "6271:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6271:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6270:16:12" + }, + "returnParameters": { + "id": 9340, + "nodeType": "ParameterList", + "parameters": [], + "src": "6295:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9346, + "nodeType": "FunctionDefinition", + "src": "6459:48:12", + "nodes": [], + "functionSelector": "f67a965b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcast", + "nameLocation": "6468:9:12", + "parameters": { + "id": 9344, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9343, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "6486:10:12", + "nodeType": "VariableDeclaration", + "scope": 9346, + "src": "6478:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9342, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6478:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6477:20:12" + }, + "returnParameters": { + "id": 9345, + "nodeType": "ParameterList", + "parameters": [], + "src": "6506:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9349, + "nodeType": "FunctionDefinition", + "src": "6680:35:12", + "nodes": [], + "functionSelector": "7fb5297f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startBroadcast", + "nameLocation": "6689:14:12", + "parameters": { + "id": 9347, + "nodeType": "ParameterList", + "parameters": [], + "src": "6703:2:12" + }, + "returnParameters": { + "id": 9348, + "nodeType": "ParameterList", + "parameters": [], + "src": "6714:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9354, + "nodeType": "FunctionDefinition", + "src": "6866:49:12", + "nodes": [], + "functionSelector": "7fec2a8d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startBroadcast", + "nameLocation": "6875:14:12", + "parameters": { + "id": 9352, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9351, + "mutability": "mutable", + "name": "signer", + "nameLocation": "6898:6:12", + "nodeType": "VariableDeclaration", + "scope": 9354, + "src": "6890:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9350, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6890:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6889:16:12" + }, + "returnParameters": { + "id": 9353, + "nodeType": "ParameterList", + "parameters": [], + "src": "6914:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9359, + "nodeType": "FunctionDefinition", + "src": "7070:53:12", + "nodes": [], + "functionSelector": "ce817d47", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startBroadcast", + "nameLocation": "7079:14:12", + "parameters": { + "id": 9357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9356, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "7102:10:12", + "nodeType": "VariableDeclaration", + "scope": 9359, + "src": "7094:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7094:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7093:20:12" + }, + "returnParameters": { + "id": 9358, + "nodeType": "ParameterList", + "parameters": [], + "src": "7122:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9362, + "nodeType": "FunctionDefinition", + "src": "7173:34:12", + "nodes": [], + "functionSelector": "76eadd36", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "stopBroadcast", + "nameLocation": "7182:13:12", + "parameters": { + "id": 9360, + "nodeType": "ParameterList", + "parameters": [], + "src": "7195:2:12" + }, + "returnParameters": { + "id": 9361, + "nodeType": "ParameterList", + "parameters": [], + "src": "7206:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9369, + "nodeType": "FunctionDefinition", + "src": "7262:83:12", + "nodes": [], + "functionSelector": "60f9bb11", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "readFile", + "nameLocation": "7271:8:12", + "parameters": { + "id": 9365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9364, + "mutability": "mutable", + "name": "path", + "nameLocation": "7296:4:12", + "nodeType": "VariableDeclaration", + "scope": 9369, + "src": "7280:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9363, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7280:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7279:22:12" + }, + "returnParameters": { + "id": 9368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9367, + "mutability": "mutable", + "name": "data", + "nameLocation": "7339:4:12", + "nodeType": "VariableDeclaration", + "scope": 9369, + "src": "7325:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9366, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7325:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7324:20:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9376, + "nodeType": "FunctionDefinition", + "src": "7439:88:12", + "nodes": [], + "functionSelector": "16ed7bc4", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "readFileBinary", + "nameLocation": "7448:14:12", + "parameters": { + "id": 9372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9371, + "mutability": "mutable", + "name": "path", + "nameLocation": "7479:4:12", + "nodeType": "VariableDeclaration", + "scope": 9376, + "src": "7463:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9370, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7463:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7462:22:12" + }, + "returnParameters": { + "id": 9375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9374, + "mutability": "mutable", + "name": "data", + "nameLocation": "7521:4:12", + "nodeType": "VariableDeclaration", + "scope": 9376, + "src": "7508:17:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9373, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7508:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7507:19:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9381, + "nodeType": "FunctionDefinition", + "src": "7580:66:12", + "nodes": [], + "functionSelector": "d930a0e6", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "projectRoot", + "nameLocation": "7589:11:12", + "parameters": { + "id": 9377, + "nodeType": "ParameterList", + "parameters": [], + "src": "7600:2:12" + }, + "returnParameters": { + "id": 9380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9379, + "mutability": "mutable", + "name": "path", + "nameLocation": "7640:4:12", + "nodeType": "VariableDeclaration", + "scope": 9381, + "src": "7626:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9378, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7626:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7625:20:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9389, + "nodeType": "FunctionDefinition", + "src": "7696:93:12", + "nodes": [], + "functionSelector": "af368a08", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "fsMetadata", + "nameLocation": "7705:10:12", + "parameters": { + "id": 9384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9383, + "mutability": "mutable", + "name": "fileOrDir", + "nameLocation": "7732:9:12", + "nodeType": "VariableDeclaration", + "scope": 9389, + "src": "7716:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9382, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7716:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7715:27:12" + }, + "returnParameters": { + "id": 9388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9387, + "mutability": "mutable", + "name": "metadata", + "nameLocation": "7779:8:12", + "nodeType": "VariableDeclaration", + "scope": 9389, + "src": "7761:26:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FsMetadata_$8974_memory_ptr", + "typeString": "struct VmSafe.FsMetadata" + }, + "typeName": { + "id": 9386, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9385, + "name": "FsMetadata", + "nameLocations": [ + "7761:10:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8974, + "src": "7761:10:12" + }, + "referencedDeclaration": 8974, + "src": "7761:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FsMetadata_$8974_storage_ptr", + "typeString": "struct VmSafe.FsMetadata" + } + }, + "visibility": "internal" + } + ], + "src": "7760:28:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9396, + "nodeType": "FunctionDefinition", + "src": "7835:83:12", + "nodes": [], + "functionSelector": "70f55728", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "readLine", + "nameLocation": "7844:8:12", + "parameters": { + "id": 9392, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9391, + "mutability": "mutable", + "name": "path", + "nameLocation": "7869:4:12", + "nodeType": "VariableDeclaration", + "scope": 9396, + "src": "7853:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9390, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7853:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7852:22:12" + }, + "returnParameters": { + "id": 9395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9394, + "mutability": "mutable", + "name": "line", + "nameLocation": "7912:4:12", + "nodeType": "VariableDeclaration", + "scope": 9396, + "src": "7898:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9393, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7898:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7897:20:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9403, + "nodeType": "FunctionDefinition", + "src": "8037:72:12", + "nodes": [], + "functionSelector": "897e0a97", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "writeFile", + "nameLocation": "8046:9:12", + "parameters": { + "id": 9401, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9398, + "mutability": "mutable", + "name": "path", + "nameLocation": "8072:4:12", + "nodeType": "VariableDeclaration", + "scope": 9403, + "src": "8056:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9397, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8056:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9400, + "mutability": "mutable", + "name": "data", + "nameLocation": "8094:4:12", + "nodeType": "VariableDeclaration", + "scope": 9403, + "src": "8078:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9399, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8078:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8055:44:12" + }, + "returnParameters": { + "id": 9402, + "nodeType": "ParameterList", + "parameters": [], + "src": "8108:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9410, + "nodeType": "FunctionDefinition", + "src": "8282:77:12", + "nodes": [], + "functionSelector": "1f21fc80", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "writeFileBinary", + "nameLocation": "8291:15:12", + "parameters": { + "id": 9408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9405, + "mutability": "mutable", + "name": "path", + "nameLocation": "8323:4:12", + "nodeType": "VariableDeclaration", + "scope": 9410, + "src": "8307:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9404, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8307:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9407, + "mutability": "mutable", + "name": "data", + "nameLocation": "8344:4:12", + "nodeType": "VariableDeclaration", + "scope": 9410, + "src": "8329:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9406, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8329:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8306:43:12" + }, + "returnParameters": { + "id": 9409, + "nodeType": "ParameterList", + "parameters": [], + "src": "8358:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9417, + "nodeType": "FunctionDefinition", + "src": "8430:72:12", + "nodes": [], + "functionSelector": "619d897f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "writeLine", + "nameLocation": "8439:9:12", + "parameters": { + "id": 9415, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9412, + "mutability": "mutable", + "name": "path", + "nameLocation": "8465:4:12", + "nodeType": "VariableDeclaration", + "scope": 9417, + "src": "8449:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9411, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8449:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9414, + "mutability": "mutable", + "name": "data", + "nameLocation": "8487:4:12", + "nodeType": "VariableDeclaration", + "scope": 9417, + "src": "8471:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9413, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8471:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8448:44:12" + }, + "returnParameters": { + "id": 9416, + "nodeType": "ParameterList", + "parameters": [], + "src": "8501:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9422, + "nodeType": "FunctionDefinition", + "src": "8614:50:12", + "nodes": [], + "functionSelector": "48c3241f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "closeFile", + "nameLocation": "8623:9:12", + "parameters": { + "id": 9420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9419, + "mutability": "mutable", + "name": "path", + "nameLocation": "8649:4:12", + "nodeType": "VariableDeclaration", + "scope": 9422, + "src": "8633:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9418, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8633:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8632:22:12" + }, + "returnParameters": { + "id": 9421, + "nodeType": "ParameterList", + "parameters": [], + "src": "8663:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9427, + "nodeType": "FunctionDefinition", + "src": "8912:51:12", + "nodes": [], + "functionSelector": "f1afe04d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeFile", + "nameLocation": "8921:10:12", + "parameters": { + "id": 9425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9424, + "mutability": "mutable", + "name": "path", + "nameLocation": "8948:4:12", + "nodeType": "VariableDeclaration", + "scope": 9427, + "src": "8932:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9423, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8932:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8931:22:12" + }, + "returnParameters": { + "id": 9426, + "nodeType": "ParameterList", + "parameters": [], + "src": "8962:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9434, + "nodeType": "FunctionDefinition", + "src": "9002:88:12", + "nodes": [], + "functionSelector": "56ca623e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "9011:8:12", + "parameters": { + "id": 9430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9429, + "mutability": "mutable", + "name": "value", + "nameLocation": "9028:5:12", + "nodeType": "VariableDeclaration", + "scope": 9434, + "src": "9020:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9020:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9019:15:12" + }, + "returnParameters": { + "id": 9433, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9432, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9072:16:12", + "nodeType": "VariableDeclaration", + "scope": 9434, + "src": "9058:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9431, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9058:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9057:32:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9441, + "nodeType": "FunctionDefinition", + "src": "9095:95:12", + "nodes": [], + "functionSelector": "71aad10d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "9104:8:12", + "parameters": { + "id": 9437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9436, + "mutability": "mutable", + "name": "value", + "nameLocation": "9128:5:12", + "nodeType": "VariableDeclaration", + "scope": 9441, + "src": "9113:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9435, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9113:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9112:22:12" + }, + "returnParameters": { + "id": 9440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9439, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9172:16:12", + "nodeType": "VariableDeclaration", + "scope": 9441, + "src": "9158:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9438, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9158:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9157:32:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9448, + "nodeType": "FunctionDefinition", + "src": "9195:88:12", + "nodes": [], + "functionSelector": "b11a19e8", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "9204:8:12", + "parameters": { + "id": 9444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9443, + "mutability": "mutable", + "name": "value", + "nameLocation": "9221:5:12", + "nodeType": "VariableDeclaration", + "scope": 9448, + "src": "9213:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9442, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9213:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "9212:15:12" + }, + "returnParameters": { + "id": 9447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9446, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9265:16:12", + "nodeType": "VariableDeclaration", + "scope": 9448, + "src": "9251:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9445, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9251:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9250:32:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9455, + "nodeType": "FunctionDefinition", + "src": "9288:85:12", + "nodes": [], + "functionSelector": "71dce7da", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "9297:8:12", + "parameters": { + "id": 9451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9450, + "mutability": "mutable", + "name": "value", + "nameLocation": "9311:5:12", + "nodeType": "VariableDeclaration", + "scope": 9455, + "src": "9306:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9449, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9306:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "9305:12:12" + }, + "returnParameters": { + "id": 9454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9453, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9355:16:12", + "nodeType": "VariableDeclaration", + "scope": 9455, + "src": "9341:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9452, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9341:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9340:32:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9462, + "nodeType": "FunctionDefinition", + "src": "9378:88:12", + "nodes": [], + "functionSelector": "6900a3ae", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "9387:8:12", + "parameters": { + "id": 9458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9457, + "mutability": "mutable", + "name": "value", + "nameLocation": "9404:5:12", + "nodeType": "VariableDeclaration", + "scope": 9462, + "src": "9396:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9456, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9396:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9395:15:12" + }, + "returnParameters": { + "id": 9461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9460, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9448:16:12", + "nodeType": "VariableDeclaration", + "scope": 9462, + "src": "9434:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9459, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9434:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9433:32:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9469, + "nodeType": "FunctionDefinition", + "src": "9471:87:12", + "nodes": [], + "functionSelector": "a322c40e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "9480:8:12", + "parameters": { + "id": 9465, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9464, + "mutability": "mutable", + "name": "value", + "nameLocation": "9496:5:12", + "nodeType": "VariableDeclaration", + "scope": 9469, + "src": "9489:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9463, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "9489:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "9488:14:12" + }, + "returnParameters": { + "id": 9468, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9467, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9540:16:12", + "nodeType": "VariableDeclaration", + "scope": 9469, + "src": "9526:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9466, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9526:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9525:32:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9476, + "nodeType": "FunctionDefinition", + "src": "9599:103:12", + "nodes": [], + "functionSelector": "8f5d232d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseBytes", + "nameLocation": "9608:10:12", + "parameters": { + "id": 9472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9471, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9635:16:12", + "nodeType": "VariableDeclaration", + "scope": 9476, + "src": "9619:32:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9470, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9619:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9618:34:12" + }, + "returnParameters": { + "id": 9475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9474, + "mutability": "mutable", + "name": "parsedValue", + "nameLocation": "9689:11:12", + "nodeType": "VariableDeclaration", + "scope": 9476, + "src": "9676:24:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9473, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9676:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9675:26:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9483, + "nodeType": "FunctionDefinition", + "src": "9707:100:12", + "nodes": [], + "functionSelector": "c6ce059d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseAddress", + "nameLocation": "9716:12:12", + "parameters": { + "id": 9479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9478, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9745:16:12", + "nodeType": "VariableDeclaration", + "scope": 9483, + "src": "9729:32:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9477, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9729:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9728:34:12" + }, + "returnParameters": { + "id": 9482, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9481, + "mutability": "mutable", + "name": "parsedValue", + "nameLocation": "9794:11:12", + "nodeType": "VariableDeclaration", + "scope": 9483, + "src": "9786:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9480, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9786:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9785:21:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9490, + "nodeType": "FunctionDefinition", + "src": "9812:97:12", + "nodes": [], + "functionSelector": "fa91454d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseUint", + "nameLocation": "9821:9:12", + "parameters": { + "id": 9486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9485, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9847:16:12", + "nodeType": "VariableDeclaration", + "scope": 9490, + "src": "9831:32:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9484, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9831:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9830:34:12" + }, + "returnParameters": { + "id": 9489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9488, + "mutability": "mutable", + "name": "parsedValue", + "nameLocation": "9896:11:12", + "nodeType": "VariableDeclaration", + "scope": 9490, + "src": "9888:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9487, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9888:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9887:21:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9497, + "nodeType": "FunctionDefinition", + "src": "9914:95:12", + "nodes": [], + "functionSelector": "42346c5e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseInt", + "nameLocation": "9923:8:12", + "parameters": { + "id": 9493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9492, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "9948:16:12", + "nodeType": "VariableDeclaration", + "scope": 9497, + "src": "9932:32:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9491, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9932:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9931:34:12" + }, + "returnParameters": { + "id": 9496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9495, + "mutability": "mutable", + "name": "parsedValue", + "nameLocation": "9996:11:12", + "nodeType": "VariableDeclaration", + "scope": 9497, + "src": "9989:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9494, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "9989:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "9988:20:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9504, + "nodeType": "FunctionDefinition", + "src": "10014:100:12", + "nodes": [], + "functionSelector": "087e6e81", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseBytes32", + "nameLocation": "10023:12:12", + "parameters": { + "id": 9500, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9499, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "10052:16:12", + "nodeType": "VariableDeclaration", + "scope": 9504, + "src": "10036:32:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9498, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10036:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10035:34:12" + }, + "returnParameters": { + "id": 9503, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9502, + "mutability": "mutable", + "name": "parsedValue", + "nameLocation": "10101:11:12", + "nodeType": "VariableDeclaration", + "scope": 9504, + "src": "10093:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9501, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10093:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "10092:21:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9511, + "nodeType": "FunctionDefinition", + "src": "10119:94:12", + "nodes": [], + "functionSelector": "974ef924", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseBool", + "nameLocation": "10128:9:12", + "parameters": { + "id": 9507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9506, + "mutability": "mutable", + "name": "stringifiedValue", + "nameLocation": "10154:16:12", + "nodeType": "VariableDeclaration", + "scope": 9511, + "src": "10138:32:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9505, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10138:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10137:34:12" + }, + "returnParameters": { + "id": 9510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9509, + "mutability": "mutable", + "name": "parsedValue", + "nameLocation": "10200:11:12", + "nodeType": "VariableDeclaration", + "scope": 9511, + "src": "10195:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9508, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10195:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "10194:18:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9514, + "nodeType": "FunctionDefinition", + "src": "10257:31:12", + "nodes": [], + "functionSelector": "41af2f52", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "recordLogs", + "nameLocation": "10266:10:12", + "parameters": { + "id": 9512, + "nodeType": "ParameterList", + "parameters": [], + "src": "10276:2:12" + }, + "returnParameters": { + "id": 9513, + "nodeType": "ParameterList", + "parameters": [], + "src": "10287:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9521, + "nodeType": "FunctionDefinition", + "src": "10327:64:12", + "nodes": [], + "functionSelector": "191553a4", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRecordedLogs", + "nameLocation": "10336:15:12", + "parameters": { + "id": 9515, + "nodeType": "ParameterList", + "parameters": [], + "src": "10351:2:12" + }, + "returnParameters": { + "id": 9520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9519, + "mutability": "mutable", + "name": "logs", + "nameLocation": "10385:4:12", + "nodeType": "VariableDeclaration", + "scope": 9521, + "src": "10372:17:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Log_$8954_memory_ptr_$dyn_memory_ptr", + "typeString": "struct VmSafe.Log[]" + }, + "typeName": { + "baseType": { + "id": 9517, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9516, + "name": "Log", + "nameLocations": [ + "10372:3:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8954, + "src": "10372:3:12" + }, + "referencedDeclaration": 8954, + "src": "10372:3:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Log_$8954_storage_ptr", + "typeString": "struct VmSafe.Log" + } + }, + "id": 9518, + "nodeType": "ArrayTypeName", + "src": "10372:5:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Log_$8954_storage_$dyn_storage_ptr", + "typeString": "struct VmSafe.Log[]" + } + }, + "visibility": "internal" + } + ], + "src": "10371:19:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9530, + "nodeType": "FunctionDefinition", + "src": "10526:102:12", + "nodes": [], + "functionSelector": "6229498b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deriveKey", + "nameLocation": "10535:9:12", + "parameters": { + "id": 9526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9523, + "mutability": "mutable", + "name": "mnemonic", + "nameLocation": "10561:8:12", + "nodeType": "VariableDeclaration", + "scope": 9530, + "src": "10545:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9522, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10545:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9525, + "mutability": "mutable", + "name": "index", + "nameLocation": "10578:5:12", + "nodeType": "VariableDeclaration", + "scope": 9530, + "src": "10571:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9524, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "10571:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "10544:40:12" + }, + "returnParameters": { + "id": 9529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9528, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "10616:10:12", + "nodeType": "VariableDeclaration", + "scope": 9530, + "src": "10608:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9527, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10608:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10607:20:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9541, + "nodeType": "FunctionDefinition", + "src": "10744:158:12", + "nodes": [], + "functionSelector": "6bcb2c1b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deriveKey", + "nameLocation": "10753:9:12", + "parameters": { + "id": 9537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9532, + "mutability": "mutable", + "name": "mnemonic", + "nameLocation": "10779:8:12", + "nodeType": "VariableDeclaration", + "scope": 9541, + "src": "10763:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9531, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10763:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9534, + "mutability": "mutable", + "name": "derivationPath", + "nameLocation": "10805:14:12", + "nodeType": "VariableDeclaration", + "scope": 9541, + "src": "10789:30:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9533, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10789:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9536, + "mutability": "mutable", + "name": "index", + "nameLocation": "10828:5:12", + "nodeType": "VariableDeclaration", + "scope": 9541, + "src": "10821:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9535, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "10821:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "10762:72:12" + }, + "returnParameters": { + "id": 9540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9539, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "10890:10:12", + "nodeType": "VariableDeclaration", + "scope": 9541, + "src": "10882:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10882:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10881:20:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9548, + "nodeType": "FunctionDefinition", + "src": "10983:76:12", + "nodes": [], + "functionSelector": "22100064", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rememberKey", + "nameLocation": "10992:11:12", + "parameters": { + "id": 9544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9543, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "11012:10:12", + "nodeType": "VariableDeclaration", + "scope": 9548, + "src": "11004:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9542, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11004:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11003:20:12" + }, + "returnParameters": { + "id": 9547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9546, + "mutability": "mutable", + "name": "keyAddr", + "nameLocation": "11050:7:12", + "nodeType": "VariableDeclaration", + "scope": 9548, + "src": "11042:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9545, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11042:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "11041:17:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9557, + "nodeType": "FunctionDefinition", + "src": "12092:114:12", + "nodes": [], + "functionSelector": "85940ef1", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJson", + "nameLocation": "12101:9:12", + "parameters": { + "id": 9553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9550, + "mutability": "mutable", + "name": "json", + "nameLocation": "12127:4:12", + "nodeType": "VariableDeclaration", + "scope": 9557, + "src": "12111:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9549, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12111:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9552, + "mutability": "mutable", + "name": "key", + "nameLocation": "12149:3:12", + "nodeType": "VariableDeclaration", + "scope": 9557, + "src": "12133:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9551, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12133:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12110:43:12" + }, + "returnParameters": { + "id": 9556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9555, + "mutability": "mutable", + "name": "abiEncodedData", + "nameLocation": "12190:14:12", + "nodeType": "VariableDeclaration", + "scope": 9557, + "src": "12177:27:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9554, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12177:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "12176:29:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9564, + "nodeType": "FunctionDefinition", + "src": "12211:93:12", + "nodes": [], + "functionSelector": "6a82600a", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJson", + "nameLocation": "12220:9:12", + "parameters": { + "id": 9560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9559, + "mutability": "mutable", + "name": "json", + "nameLocation": "12246:4:12", + "nodeType": "VariableDeclaration", + "scope": 9564, + "src": "12230:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9558, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12230:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12229:22:12" + }, + "returnParameters": { + "id": 9563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9562, + "mutability": "mutable", + "name": "abiEncodedData", + "nameLocation": "12288:14:12", + "nodeType": "VariableDeclaration", + "scope": 9564, + "src": "12275:27:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9561, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12275:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "12274:29:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9573, + "nodeType": "FunctionDefinition", + "src": "12692:84:12", + "nodes": [], + "functionSelector": "addde2b6", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonUint", + "nameLocation": "12701:13:12", + "parameters": { + "id": 9569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9566, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9573, + "src": "12715:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9565, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12715:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9568, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9573, + "src": "12732:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9567, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12732:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12714:34:12" + }, + "returnParameters": { + "id": 9572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9571, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9573, + "src": "12767:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12767:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12766:9:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9583, + "nodeType": "FunctionDefinition", + "src": "12781:98:12", + "nodes": [], + "functionSelector": "522074ab", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonUintArray", + "nameLocation": "12790:18:12", + "parameters": { + "id": 9578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9575, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9583, + "src": "12809:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9574, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12809:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9577, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9583, + "src": "12826:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9576, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12826:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12808:34:12" + }, + "returnParameters": { + "id": 9582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9581, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9583, + "src": "12861:16:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 9579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12861:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9580, + "nodeType": "ArrayTypeName", + "src": "12861:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "12860:18:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9592, + "nodeType": "FunctionDefinition", + "src": "12884:82:12", + "nodes": [], + "functionSelector": "7b048ccd", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonInt", + "nameLocation": "12893:12:12", + "parameters": { + "id": 9588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9585, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9592, + "src": "12906:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9584, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12906:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9587, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9592, + "src": "12923:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9586, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12923:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12905:34:12" + }, + "returnParameters": { + "id": 9591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9590, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9592, + "src": "12958:6:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9589, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "12958:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "12957:8:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9602, + "nodeType": "FunctionDefinition", + "src": "12971:96:12", + "nodes": [], + "functionSelector": "9983c28a", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonIntArray", + "nameLocation": "12980:17:12", + "parameters": { + "id": 9597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9594, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9602, + "src": "12998:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9593, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12998:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9596, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9602, + "src": "13015:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9595, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13015:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12997:34:12" + }, + "returnParameters": { + "id": 9601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9600, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9602, + "src": "13050:15:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 9598, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "13050:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 9599, + "nodeType": "ArrayTypeName", + "src": "13050:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "13049:17:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9611, + "nodeType": "FunctionDefinition", + "src": "13072:81:12", + "nodes": [], + "functionSelector": "9f86dc91", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonBool", + "nameLocation": "13081:13:12", + "parameters": { + "id": 9607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9604, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9611, + "src": "13095:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9603, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13095:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9606, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9611, + "src": "13112:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9605, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13112:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13094:34:12" + }, + "returnParameters": { + "id": 9610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9609, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9611, + "src": "13147:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9608, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13147:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13146:6:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9621, + "nodeType": "FunctionDefinition", + "src": "13158:95:12", + "nodes": [], + "functionSelector": "91f3b94f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonBoolArray", + "nameLocation": "13167:18:12", + "parameters": { + "id": 9616, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9613, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9621, + "src": "13186:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9612, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13186:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9615, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9621, + "src": "13203:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9614, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13203:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13185:34:12" + }, + "returnParameters": { + "id": 9620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9619, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9621, + "src": "13238:13:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 9617, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13238:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9618, + "nodeType": "ArrayTypeName", + "src": "13238:6:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "src": "13237:15:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9630, + "nodeType": "FunctionDefinition", + "src": "13258:87:12", + "nodes": [], + "functionSelector": "1e19e657", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonAddress", + "nameLocation": "13267:16:12", + "parameters": { + "id": 9626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9623, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9630, + "src": "13284:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9622, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13284:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9625, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9630, + "src": "13301:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9624, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13301:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13283:34:12" + }, + "returnParameters": { + "id": 9629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9628, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9630, + "src": "13336:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13336:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13335:9:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9640, + "nodeType": "FunctionDefinition", + "src": "13350:101:12", + "nodes": [], + "functionSelector": "2fce7883", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonAddressArray", + "nameLocation": "13359:21:12", + "parameters": { + "id": 9635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9632, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9640, + "src": "13381:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9631, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13381:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9634, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9640, + "src": "13398:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9633, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13398:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13380:34:12" + }, + "returnParameters": { + "id": 9639, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9638, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9640, + "src": "13433:16:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13433:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9637, + "nodeType": "ArrayTypeName", + "src": "13433:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "13432:18:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9649, + "nodeType": "FunctionDefinition", + "src": "13456:92:12", + "nodes": [], + "functionSelector": "49c4fac8", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonString", + "nameLocation": "13465:15:12", + "parameters": { + "id": 9645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9642, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9649, + "src": "13481:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9641, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13481:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9644, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9649, + "src": "13498:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9643, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13498:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13480:34:12" + }, + "returnParameters": { + "id": 9648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9647, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9649, + "src": "13533:13:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9646, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13533:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13532:15:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9659, + "nodeType": "FunctionDefinition", + "src": "13553:99:12", + "nodes": [], + "functionSelector": "498fdcf4", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonStringArray", + "nameLocation": "13562:20:12", + "parameters": { + "id": 9654, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9651, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "13583:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9650, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13583:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9653, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "13600:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9652, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13600:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13582:34:12" + }, + "returnParameters": { + "id": 9658, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9657, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "13635:15:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 9655, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13635:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 9656, + "nodeType": "ArrayTypeName", + "src": "13635:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "13634:17:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9668, + "nodeType": "FunctionDefinition", + "src": "13657:90:12", + "nodes": [], + "functionSelector": "fd921be8", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonBytes", + "nameLocation": "13666:14:12", + "parameters": { + "id": 9664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9661, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9668, + "src": "13681:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9660, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13681:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9663, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9668, + "src": "13698:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9662, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13698:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13680:34:12" + }, + "returnParameters": { + "id": 9667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9666, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9668, + "src": "13733:12:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9665, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13733:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "13732:14:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9678, + "nodeType": "FunctionDefinition", + "src": "13752:97:12", + "nodes": [], + "functionSelector": "6631aa99", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonBytesArray", + "nameLocation": "13761:19:12", + "parameters": { + "id": 9673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9670, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9678, + "src": "13781:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9669, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13781:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9672, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9678, + "src": "13798:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9671, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13798:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13780:34:12" + }, + "returnParameters": { + "id": 9677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9676, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9678, + "src": "13833:14:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 9674, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13833:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 9675, + "nodeType": "ArrayTypeName", + "src": "13833:7:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "13832:16:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9687, + "nodeType": "FunctionDefinition", + "src": "13854:87:12", + "nodes": [], + "functionSelector": "1777e59d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonBytes32", + "nameLocation": "13863:16:12", + "parameters": { + "id": 9683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9680, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9687, + "src": "13880:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9679, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13880:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9682, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9687, + "src": "13897:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9681, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13897:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13879:34:12" + }, + "returnParameters": { + "id": 9686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9685, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9687, + "src": "13932:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9684, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13932:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "13931:9:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9697, + "nodeType": "FunctionDefinition", + "src": "13946:101:12", + "nodes": [], + "functionSelector": "91c75bc3", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "parseJsonBytes32Array", + "nameLocation": "13955:21:12", + "parameters": { + "id": 9692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9689, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9697, + "src": "13977:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9688, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13977:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9691, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9697, + "src": "13994:15:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9690, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13994:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13976:34:12" + }, + "returnParameters": { + "id": 9696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9695, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9697, + "src": "14029:16:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 9693, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14029:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9694, + "nodeType": "ArrayTypeName", + "src": "14029:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "14028:18:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9708, + "nodeType": "FunctionDefinition", + "src": "14243:142:12", + "nodes": [], + "functionSelector": "ac22e971", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeBool", + "nameLocation": "14252:13:12", + "parameters": { + "id": 9704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9699, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "14282:9:12", + "nodeType": "VariableDeclaration", + "scope": 9708, + "src": "14266:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9698, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14266:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9701, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "14309:8:12", + "nodeType": "VariableDeclaration", + "scope": 9708, + "src": "14293:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9700, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14293:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9703, + "mutability": "mutable", + "name": "value", + "nameLocation": "14324:5:12", + "nodeType": "VariableDeclaration", + "scope": 9708, + "src": "14319:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9702, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14319:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "14265:65:12" + }, + "returnParameters": { + "id": 9707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9706, + "mutability": "mutable", + "name": "json", + "nameLocation": "14379:4:12", + "nodeType": "VariableDeclaration", + "scope": 9708, + "src": "14365:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9705, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14365:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14364:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9719, + "nodeType": "FunctionDefinition", + "src": "14390:145:12", + "nodes": [], + "functionSelector": "129e9002", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeUint", + "nameLocation": "14399:13:12", + "parameters": { + "id": 9715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9710, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "14429:9:12", + "nodeType": "VariableDeclaration", + "scope": 9719, + "src": "14413:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9709, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14413:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9712, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "14456:8:12", + "nodeType": "VariableDeclaration", + "scope": 9719, + "src": "14440:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9711, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14440:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9714, + "mutability": "mutable", + "name": "value", + "nameLocation": "14474:5:12", + "nodeType": "VariableDeclaration", + "scope": 9719, + "src": "14466:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9713, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14466:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14412:68:12" + }, + "returnParameters": { + "id": 9718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9717, + "mutability": "mutable", + "name": "json", + "nameLocation": "14529:4:12", + "nodeType": "VariableDeclaration", + "scope": 9719, + "src": "14515:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9716, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14515:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14514:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9730, + "nodeType": "FunctionDefinition", + "src": "14540:143:12", + "nodes": [], + "functionSelector": "3f33db60", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeInt", + "nameLocation": "14549:12:12", + "parameters": { + "id": 9726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9721, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "14578:9:12", + "nodeType": "VariableDeclaration", + "scope": 9730, + "src": "14562:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9720, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14562:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9723, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "14605:8:12", + "nodeType": "VariableDeclaration", + "scope": 9730, + "src": "14589:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9722, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14589:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9725, + "mutability": "mutable", + "name": "value", + "nameLocation": "14622:5:12", + "nodeType": "VariableDeclaration", + "scope": 9730, + "src": "14615:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9724, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "14615:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "14561:67:12" + }, + "returnParameters": { + "id": 9729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9728, + "mutability": "mutable", + "name": "json", + "nameLocation": "14677:4:12", + "nodeType": "VariableDeclaration", + "scope": 9730, + "src": "14663:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9727, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14663:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14662:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9741, + "nodeType": "FunctionDefinition", + "src": "14688:148:12", + "nodes": [], + "functionSelector": "972c6062", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeAddress", + "nameLocation": "14697:16:12", + "parameters": { + "id": 9737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9732, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "14730:9:12", + "nodeType": "VariableDeclaration", + "scope": 9741, + "src": "14714:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9731, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14714:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9734, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "14757:8:12", + "nodeType": "VariableDeclaration", + "scope": 9741, + "src": "14741:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9733, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14741:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9736, + "mutability": "mutable", + "name": "value", + "nameLocation": "14775:5:12", + "nodeType": "VariableDeclaration", + "scope": 9741, + "src": "14767:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9735, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14767:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14713:68:12" + }, + "returnParameters": { + "id": 9740, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9739, + "mutability": "mutable", + "name": "json", + "nameLocation": "14830:4:12", + "nodeType": "VariableDeclaration", + "scope": 9741, + "src": "14816:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9738, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14816:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14815:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9752, + "nodeType": "FunctionDefinition", + "src": "14841:148:12", + "nodes": [], + "functionSelector": "2d812b44", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeBytes32", + "nameLocation": "14850:16:12", + "parameters": { + "id": 9748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9743, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "14883:9:12", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "14867:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9742, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14867:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9745, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "14910:8:12", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "14894:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9744, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14894:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9747, + "mutability": "mutable", + "name": "value", + "nameLocation": "14928:5:12", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "14920:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9746, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14920:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "14866:68:12" + }, + "returnParameters": { + "id": 9751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9750, + "mutability": "mutable", + "name": "json", + "nameLocation": "14983:4:12", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "14969:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9749, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14969:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14968:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9763, + "nodeType": "FunctionDefinition", + "src": "14994:155:12", + "nodes": [], + "functionSelector": "88da6d35", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeString", + "nameLocation": "15003:15:12", + "parameters": { + "id": 9759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9754, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "15035:9:12", + "nodeType": "VariableDeclaration", + "scope": 9763, + "src": "15019:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9753, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15019:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9756, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "15062:8:12", + "nodeType": "VariableDeclaration", + "scope": 9763, + "src": "15046:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9755, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15046:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9758, + "mutability": "mutable", + "name": "value", + "nameLocation": "15088:5:12", + "nodeType": "VariableDeclaration", + "scope": 9763, + "src": "15072:21:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9757, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15072:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15018:76:12" + }, + "returnParameters": { + "id": 9762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9761, + "mutability": "mutable", + "name": "json", + "nameLocation": "15143:4:12", + "nodeType": "VariableDeclaration", + "scope": 9763, + "src": "15129:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9760, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15129:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15128:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9774, + "nodeType": "FunctionDefinition", + "src": "15154:153:12", + "nodes": [], + "functionSelector": "f21d52c7", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeBytes", + "nameLocation": "15163:14:12", + "parameters": { + "id": 9770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9765, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "15194:9:12", + "nodeType": "VariableDeclaration", + "scope": 9774, + "src": "15178:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9764, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15178:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9767, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "15221:8:12", + "nodeType": "VariableDeclaration", + "scope": 9774, + "src": "15205:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9766, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15205:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9769, + "mutability": "mutable", + "name": "value", + "nameLocation": "15246:5:12", + "nodeType": "VariableDeclaration", + "scope": 9774, + "src": "15231:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9768, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15231:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "15177:75:12" + }, + "returnParameters": { + "id": 9773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9772, + "mutability": "mutable", + "name": "json", + "nameLocation": "15301:4:12", + "nodeType": "VariableDeclaration", + "scope": 9774, + "src": "15287:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9771, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15287:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15286:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9786, + "nodeType": "FunctionDefinition", + "src": "15313:154:12", + "nodes": [], + "functionSelector": "92925aa1", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeBool", + "nameLocation": "15322:13:12", + "parameters": { + "id": 9782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9776, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "15352:9:12", + "nodeType": "VariableDeclaration", + "scope": 9786, + "src": "15336:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9775, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15336:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9778, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "15379:8:12", + "nodeType": "VariableDeclaration", + "scope": 9786, + "src": "15363:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9777, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15363:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9781, + "mutability": "mutable", + "name": "values", + "nameLocation": "15405:6:12", + "nodeType": "VariableDeclaration", + "scope": 9786, + "src": "15389:22:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_calldata_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 9779, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15389:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9780, + "nodeType": "ArrayTypeName", + "src": "15389:6:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], + "src": "15335:77:12" + }, + "returnParameters": { + "id": 9785, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9784, + "mutability": "mutable", + "name": "json", + "nameLocation": "15461:4:12", + "nodeType": "VariableDeclaration", + "scope": 9786, + "src": "15447:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9783, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15447:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15446:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9798, + "nodeType": "FunctionDefinition", + "src": "15472:157:12", + "nodes": [], + "functionSelector": "fee9a469", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeUint", + "nameLocation": "15481:13:12", + "parameters": { + "id": 9794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9788, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "15511:9:12", + "nodeType": "VariableDeclaration", + "scope": 9798, + "src": "15495:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9787, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15495:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9790, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "15538:8:12", + "nodeType": "VariableDeclaration", + "scope": 9798, + "src": "15522:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9789, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15522:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9793, + "mutability": "mutable", + "name": "values", + "nameLocation": "15567:6:12", + "nodeType": "VariableDeclaration", + "scope": 9798, + "src": "15548:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 9791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15548:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9792, + "nodeType": "ArrayTypeName", + "src": "15548:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "15494:80:12" + }, + "returnParameters": { + "id": 9797, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9796, + "mutability": "mutable", + "name": "json", + "nameLocation": "15623:4:12", + "nodeType": "VariableDeclaration", + "scope": 9798, + "src": "15609:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9795, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15609:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15608:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9810, + "nodeType": "FunctionDefinition", + "src": "15634:155:12", + "nodes": [], + "functionSelector": "7676e127", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeInt", + "nameLocation": "15643:12:12", + "parameters": { + "id": 9806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9800, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "15672:9:12", + "nodeType": "VariableDeclaration", + "scope": 9810, + "src": "15656:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9799, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15656:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9802, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "15699:8:12", + "nodeType": "VariableDeclaration", + "scope": 9810, + "src": "15683:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9801, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15683:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9805, + "mutability": "mutable", + "name": "values", + "nameLocation": "15727:6:12", + "nodeType": "VariableDeclaration", + "scope": 9810, + "src": "15709:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_calldata_ptr", + "typeString": "int256[]" + }, + "typeName": { + "baseType": { + "id": 9803, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "15709:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 9804, + "nodeType": "ArrayTypeName", + "src": "15709:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", + "typeString": "int256[]" + } + }, + "visibility": "internal" + } + ], + "src": "15655:79:12" + }, + "returnParameters": { + "id": 9809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9808, + "mutability": "mutable", + "name": "json", + "nameLocation": "15783:4:12", + "nodeType": "VariableDeclaration", + "scope": 9810, + "src": "15769:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9807, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15769:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15768:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9822, + "nodeType": "FunctionDefinition", + "src": "15794:160:12", + "nodes": [], + "functionSelector": "1e356e1a", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeAddress", + "nameLocation": "15803:16:12", + "parameters": { + "id": 9818, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9812, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "15836:9:12", + "nodeType": "VariableDeclaration", + "scope": 9822, + "src": "15820:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9811, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15820:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9814, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "15863:8:12", + "nodeType": "VariableDeclaration", + "scope": 9822, + "src": "15847:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9813, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15847:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9817, + "mutability": "mutable", + "name": "values", + "nameLocation": "15892:6:12", + "nodeType": "VariableDeclaration", + "scope": 9822, + "src": "15873:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15873:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9816, + "nodeType": "ArrayTypeName", + "src": "15873:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "15819:80:12" + }, + "returnParameters": { + "id": 9821, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9820, + "mutability": "mutable", + "name": "json", + "nameLocation": "15948:4:12", + "nodeType": "VariableDeclaration", + "scope": 9822, + "src": "15934:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9819, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15934:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15933:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9834, + "nodeType": "FunctionDefinition", + "src": "15959:160:12", + "nodes": [], + "functionSelector": "201e43e2", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeBytes32", + "nameLocation": "15968:16:12", + "parameters": { + "id": 9830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9824, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "16001:9:12", + "nodeType": "VariableDeclaration", + "scope": 9834, + "src": "15985:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9823, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15985:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9826, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "16028:8:12", + "nodeType": "VariableDeclaration", + "scope": 9834, + "src": "16012:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9825, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16012:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9829, + "mutability": "mutable", + "name": "values", + "nameLocation": "16057:6:12", + "nodeType": "VariableDeclaration", + "scope": 9834, + "src": "16038:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 9827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16038:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9828, + "nodeType": "ArrayTypeName", + "src": "16038:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "15984:80:12" + }, + "returnParameters": { + "id": 9833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9832, + "mutability": "mutable", + "name": "json", + "nameLocation": "16113:4:12", + "nodeType": "VariableDeclaration", + "scope": 9834, + "src": "16099:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9831, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16099:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "16098:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9846, + "nodeType": "FunctionDefinition", + "src": "16124:158:12", + "nodes": [], + "functionSelector": "561cd6f3", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeString", + "nameLocation": "16133:15:12", + "parameters": { + "id": 9842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9836, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "16165:9:12", + "nodeType": "VariableDeclaration", + "scope": 9846, + "src": "16149:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9835, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16149:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9838, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "16192:8:12", + "nodeType": "VariableDeclaration", + "scope": 9846, + "src": "16176:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9837, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16176:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9841, + "mutability": "mutable", + "name": "values", + "nameLocation": "16220:6:12", + "nodeType": "VariableDeclaration", + "scope": 9846, + "src": "16202:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 9839, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16202:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 9840, + "nodeType": "ArrayTypeName", + "src": "16202:8:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "16148:79:12" + }, + "returnParameters": { + "id": 9845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9844, + "mutability": "mutable", + "name": "json", + "nameLocation": "16276:4:12", + "nodeType": "VariableDeclaration", + "scope": 9846, + "src": "16262:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9843, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16262:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "16261:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9858, + "nodeType": "FunctionDefinition", + "src": "16287:156:12", + "nodes": [], + "functionSelector": "9884b232", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serializeBytes", + "nameLocation": "16296:14:12", + "parameters": { + "id": 9854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9848, + "mutability": "mutable", + "name": "objectKey", + "nameLocation": "16327:9:12", + "nodeType": "VariableDeclaration", + "scope": 9858, + "src": "16311:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9847, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16311:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9850, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "16354:8:12", + "nodeType": "VariableDeclaration", + "scope": 9858, + "src": "16338:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9849, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16338:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9853, + "mutability": "mutable", + "name": "values", + "nameLocation": "16381:6:12", + "nodeType": "VariableDeclaration", + "scope": 9858, + "src": "16364:23:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 9851, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16364:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 9852, + "nodeType": "ArrayTypeName", + "src": "16364:7:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "16310:78:12" + }, + "returnParameters": { + "id": 9857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9856, + "mutability": "mutable", + "name": "json", + "nameLocation": "16437:4:12", + "nodeType": "VariableDeclaration", + "scope": 9858, + "src": "16423:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9855, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16423:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "16422:20:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9865, + "nodeType": "FunctionDefinition", + "src": "17684:72:12", + "nodes": [], + "functionSelector": "e23cd19f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "writeJson", + "nameLocation": "17693:9:12", + "parameters": { + "id": 9863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9860, + "mutability": "mutable", + "name": "json", + "nameLocation": "17719:4:12", + "nodeType": "VariableDeclaration", + "scope": 9865, + "src": "17703:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9859, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17703:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9862, + "mutability": "mutable", + "name": "path", + "nameLocation": "17741:4:12", + "nodeType": "VariableDeclaration", + "scope": 9865, + "src": "17725:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9861, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17725:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "17702:44:12" + }, + "returnParameters": { + "id": 9864, + "nodeType": "ParameterList", + "parameters": [], + "src": "17755:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9874, + "nodeType": "FunctionDefinition", + "src": "17977:98:12", + "nodes": [], + "functionSelector": "35d6ad46", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "writeJson", + "nameLocation": "17986:9:12", + "parameters": { + "id": 9872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9867, + "mutability": "mutable", + "name": "json", + "nameLocation": "18012:4:12", + "nodeType": "VariableDeclaration", + "scope": 9874, + "src": "17996:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9866, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17996:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9869, + "mutability": "mutable", + "name": "path", + "nameLocation": "18034:4:12", + "nodeType": "VariableDeclaration", + "scope": 9874, + "src": "18018:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9868, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18018:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9871, + "mutability": "mutable", + "name": "valueKey", + "nameLocation": "18056:8:12", + "nodeType": "VariableDeclaration", + "scope": 9874, + "src": "18040:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9870, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18040:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "17995:70:12" + }, + "returnParameters": { + "id": 9873, + "nodeType": "ParameterList", + "parameters": [], + "src": "18074:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9881, + "nodeType": "FunctionDefinition", + "src": "18127:85:12", + "nodes": [], + "functionSelector": "975a6ce9", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rpcUrl", + "nameLocation": "18136:6:12", + "parameters": { + "id": 9877, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9876, + "mutability": "mutable", + "name": "rpcAlias", + "nameLocation": "18159:8:12", + "nodeType": "VariableDeclaration", + "scope": 9881, + "src": "18143:24:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9875, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18143:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "18142:26:12" + }, + "returnParameters": { + "id": 9880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9879, + "mutability": "mutable", + "name": "json", + "nameLocation": "18206:4:12", + "nodeType": "VariableDeclaration", + "scope": 9881, + "src": "18192:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9878, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18192:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "18191:20:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9889, + "nodeType": "FunctionDefinition", + "src": "18280:67:12", + "nodes": [], + "functionSelector": "a85a8418", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rpcUrls", + "nameLocation": "18289:7:12", + "parameters": { + "id": 9882, + "nodeType": "ParameterList", + "parameters": [], + "src": "18296:2:12" + }, + "returnParameters": { + "id": 9888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9887, + "mutability": "mutable", + "name": "urls", + "nameLocation": "18341:4:12", + "nodeType": "VariableDeclaration", + "scope": 9889, + "src": "18322:23:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr", + "typeString": "string[2][]" + }, + "typeName": { + "baseType": { + "baseType": { + "id": 9883, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18322:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 9885, + "length": { + "hexValue": "32", + "id": 9884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18329:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "ArrayTypeName", + "src": "18322:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$2_storage_ptr", + "typeString": "string[2]" + } + }, + "id": 9886, + "nodeType": "ArrayTypeName", + "src": "18322:11:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr", + "typeString": "string[2][]" + } + }, + "visibility": "internal" + } + ], + "src": "18321:25:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9896, + "nodeType": "FunctionDefinition", + "src": "18410:67:12", + "nodes": [], + "functionSelector": "9d2ad72a", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rpcUrlStructs", + "nameLocation": "18419:13:12", + "parameters": { + "id": 9890, + "nodeType": "ParameterList", + "parameters": [], + "src": "18432:2:12" + }, + "returnParameters": { + "id": 9895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9894, + "mutability": "mutable", + "name": "urls", + "nameLocation": "18471:4:12", + "nodeType": "VariableDeclaration", + "scope": 9896, + "src": "18458:17:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Rpc_$8959_memory_ptr_$dyn_memory_ptr", + "typeString": "struct VmSafe.Rpc[]" + }, + "typeName": { + "baseType": { + "id": 9892, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9891, + "name": "Rpc", + "nameLocations": [ + "18458:3:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8959, + "src": "18458:3:12" + }, + "referencedDeclaration": 8959, + "src": "18458:3:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Rpc_$8959_storage_ptr", + "typeString": "struct VmSafe.Rpc" + } + }, + "id": 9893, + "nodeType": "ArrayTypeName", + "src": "18458:5:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Rpc_$8959_storage_$dyn_storage_ptr", + "typeString": "struct VmSafe.Rpc[]" + } + }, + "visibility": "internal" + } + ], + "src": "18457:19:12" + }, + "scope": 9908, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 9901, + "nodeType": "FunctionDefinition", + "src": "18570:46:12", + "nodes": [], + "functionSelector": "4c63e562", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "assume", + "nameLocation": "18579:6:12", + "parameters": { + "id": 9899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9898, + "mutability": "mutable", + "name": "condition", + "nameLocation": "18591:9:12", + "nodeType": "VariableDeclaration", + "scope": 9901, + "src": "18586:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9897, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18586:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "18585:16:12" + }, + "returnParameters": { + "id": 9900, + "nodeType": "ParameterList", + "parameters": [], + "src": "18615:0:12" + }, + "scope": 9908, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 9904, + "nodeType": "FunctionDefinition", + "src": "18705:37:12", + "nodes": [], + "functionSelector": "d1a5b36f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "pauseGasMetering", + "nameLocation": "18714:16:12", + "parameters": { + "id": 9902, + "nodeType": "ParameterList", + "parameters": [], + "src": "18730:2:12" + }, + "returnParameters": { + "id": 9903, + "nodeType": "ParameterList", + "parameters": [], + "src": "18741:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9907, + "nodeType": "FunctionDefinition", + "src": "18830:38:12", + "nodes": [], + "functionSelector": "2bcd50e0", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resumeGasMetering", + "nameLocation": "18839:17:12", + "parameters": { + "id": 9905, + "nodeType": "ParameterList", + "parameters": [], + "src": "18856:2:12" + }, + "returnParameters": { + "id": 9906, + "nodeType": "ParameterList", + "parameters": [], + "src": "18867:0:12" + }, + "scope": 9908, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "VmSafe", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 9908 + ], + "name": "VmSafe", + "nameLocation": "581:6:12", + "scope": 10234, + "usedErrors": [] + }, + { + "id": 10233, + "nodeType": "ContractDefinition", + "src": "18872:7867:12", + "nodes": [ + { + "id": 9915, + "nodeType": "FunctionDefinition", + "src": "18929:45:12", + "nodes": [], + "functionSelector": "e5d6bf02", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "warp", + "nameLocation": "18938:4:12", + "parameters": { + "id": 9913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9912, + "mutability": "mutable", + "name": "newTimestamp", + "nameLocation": "18951:12:12", + "nodeType": "VariableDeclaration", + "scope": 9915, + "src": "18943:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9911, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18943:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18942:22:12" + }, + "returnParameters": { + "id": 9914, + "nodeType": "ParameterList", + "parameters": [], + "src": "18973:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9920, + "nodeType": "FunctionDefinition", + "src": "19004:42:12", + "nodes": [], + "functionSelector": "1f7b4f30", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "roll", + "nameLocation": "19013:4:12", + "parameters": { + "id": 9918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9917, + "mutability": "mutable", + "name": "newHeight", + "nameLocation": "19026:9:12", + "nodeType": "VariableDeclaration", + "scope": 9920, + "src": "19018:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9916, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19018:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19017:19:12" + }, + "returnParameters": { + "id": 9919, + "nodeType": "ParameterList", + "parameters": [], + "src": "19045:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9925, + "nodeType": "FunctionDefinition", + "src": "19077:42:12", + "nodes": [], + "functionSelector": "39b37ab0", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "fee", + "nameLocation": "19086:3:12", + "parameters": { + "id": 9923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9922, + "mutability": "mutable", + "name": "newBasefee", + "nameLocation": "19098:10:12", + "nodeType": "VariableDeclaration", + "scope": 9925, + "src": "19090:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9921, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19090:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19089:20:12" + }, + "returnParameters": { + "id": 9924, + "nodeType": "ParameterList", + "parameters": [], + "src": "19118:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9930, + "nodeType": "FunctionDefinition", + "src": "19153:52:12", + "nodes": [], + "functionSelector": "46cc92d9", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "difficulty", + "nameLocation": "19162:10:12", + "parameters": { + "id": 9928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9927, + "mutability": "mutable", + "name": "newDifficulty", + "nameLocation": "19181:13:12", + "nodeType": "VariableDeclaration", + "scope": 9930, + "src": "19173:21:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9926, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19173:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19172:23:12" + }, + "returnParameters": { + "id": 9929, + "nodeType": "ParameterList", + "parameters": [], + "src": "19204:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9935, + "nodeType": "FunctionDefinition", + "src": "19236:46:12", + "nodes": [], + "functionSelector": "4049ddd2", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "chainId", + "nameLocation": "19245:7:12", + "parameters": { + "id": 9933, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9932, + "mutability": "mutable", + "name": "newChainId", + "nameLocation": "19261:10:12", + "nodeType": "VariableDeclaration", + "scope": 9935, + "src": "19253:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9931, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19253:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19252:20:12" + }, + "returnParameters": { + "id": 9934, + "nodeType": "ParameterList", + "parameters": [], + "src": "19281:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9944, + "nodeType": "FunctionDefinition", + "src": "19338:69:12", + "nodes": [], + "functionSelector": "70ca10bb", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "store", + "nameLocation": "19347:5:12", + "parameters": { + "id": 9942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9937, + "mutability": "mutable", + "name": "target", + "nameLocation": "19361:6:12", + "nodeType": "VariableDeclaration", + "scope": 9944, + "src": "19353:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9936, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19353:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9939, + "mutability": "mutable", + "name": "slot", + "nameLocation": "19377:4:12", + "nodeType": "VariableDeclaration", + "scope": 9944, + "src": "19369:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9938, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19369:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9941, + "mutability": "mutable", + "name": "value", + "nameLocation": "19391:5:12", + "nodeType": "VariableDeclaration", + "scope": 9944, + "src": "19383:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9940, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19383:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "19352:45:12" + }, + "returnParameters": { + "id": 9943, + "nodeType": "ParameterList", + "parameters": [], + "src": "19406:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9951, + "nodeType": "FunctionDefinition", + "src": "19502:61:12", + "nodes": [], + "functionSelector": "f8e18b57", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setNonce", + "nameLocation": "19511:8:12", + "parameters": { + "id": 9949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9946, + "mutability": "mutable", + "name": "account", + "nameLocation": "19528:7:12", + "nodeType": "VariableDeclaration", + "scope": 9951, + "src": "19520:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9945, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19520:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9948, + "mutability": "mutable", + "name": "newNonce", + "nameLocation": "19544:8:12", + "nodeType": "VariableDeclaration", + "scope": 9951, + "src": "19537:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 9947, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "19537:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "19519:34:12" + }, + "returnParameters": { + "id": 9950, + "nodeType": "ParameterList", + "parameters": [], + "src": "19562:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9956, + "nodeType": "FunctionDefinition", + "src": "19633:43:12", + "nodes": [], + "functionSelector": "ca669fa7", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "prank", + "nameLocation": "19642:5:12", + "parameters": { + "id": 9954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9953, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "19656:9:12", + "nodeType": "VariableDeclaration", + "scope": 9956, + "src": "19648:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19648:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19647:19:12" + }, + "returnParameters": { + "id": 9955, + "nodeType": "ParameterList", + "parameters": [], + "src": "19675:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9961, + "nodeType": "FunctionDefinition", + "src": "19778:48:12", + "nodes": [], + "functionSelector": "06447d56", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startPrank", + "nameLocation": "19787:10:12", + "parameters": { + "id": 9959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9958, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "19806:9:12", + "nodeType": "VariableDeclaration", + "scope": 9961, + "src": "19798:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9957, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19798:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19797:19:12" + }, + "returnParameters": { + "id": 9960, + "nodeType": "ParameterList", + "parameters": [], + "src": "19825:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9968, + "nodeType": "FunctionDefinition", + "src": "19938:61:12", + "nodes": [], + "functionSelector": "47e50cce", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "prank", + "nameLocation": "19947:5:12", + "parameters": { + "id": 9966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9963, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "19961:9:12", + "nodeType": "VariableDeclaration", + "scope": 9968, + "src": "19953:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19953:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9965, + "mutability": "mutable", + "name": "txOrigin", + "nameLocation": "19980:8:12", + "nodeType": "VariableDeclaration", + "scope": 9968, + "src": "19972:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9964, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19972:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19952:37:12" + }, + "returnParameters": { + "id": 9967, + "nodeType": "ParameterList", + "parameters": [], + "src": "19998:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9975, + "nodeType": "FunctionDefinition", + "src": "20143:66:12", + "nodes": [], + "functionSelector": "45b56078", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "startPrank", + "nameLocation": "20152:10:12", + "parameters": { + "id": 9973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9970, + "mutability": "mutable", + "name": "msgSender", + "nameLocation": "20171:9:12", + "nodeType": "VariableDeclaration", + "scope": 9975, + "src": "20163:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20163:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9972, + "mutability": "mutable", + "name": "txOrigin", + "nameLocation": "20190:8:12", + "nodeType": "VariableDeclaration", + "scope": 9975, + "src": "20182:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9971, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20182:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "20162:37:12" + }, + "returnParameters": { + "id": 9974, + "nodeType": "ParameterList", + "parameters": [], + "src": "20208:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9978, + "nodeType": "FunctionDefinition", + "src": "20279:30:12", + "nodes": [], + "functionSelector": "90c5013b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "stopPrank", + "nameLocation": "20288:9:12", + "parameters": { + "id": 9976, + "nodeType": "ParameterList", + "parameters": [], + "src": "20297:2:12" + }, + "returnParameters": { + "id": 9977, + "nodeType": "ParameterList", + "parameters": [], + "src": "20308:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9985, + "nodeType": "FunctionDefinition", + "src": "20346:60:12", + "nodes": [], + "functionSelector": "c88a5e6d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deal", + "nameLocation": "20355:4:12", + "parameters": { + "id": 9983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9980, + "mutability": "mutable", + "name": "account", + "nameLocation": "20368:7:12", + "nodeType": "VariableDeclaration", + "scope": 9985, + "src": "20360:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9979, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20360:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9982, + "mutability": "mutable", + "name": "newBalance", + "nameLocation": "20385:10:12", + "nodeType": "VariableDeclaration", + "scope": 9985, + "src": "20377:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9981, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20377:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20359:37:12" + }, + "returnParameters": { + "id": 9984, + "nodeType": "ParameterList", + "parameters": [], + "src": "20405:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9992, + "nodeType": "FunctionDefinition", + "src": "20440:74:12", + "nodes": [], + "functionSelector": "b4d6c782", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "etch", + "nameLocation": "20449:4:12", + "parameters": { + "id": 9990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9987, + "mutability": "mutable", + "name": "target", + "nameLocation": "20462:6:12", + "nodeType": "VariableDeclaration", + "scope": 9992, + "src": "20454:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9986, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20454:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9989, + "mutability": "mutable", + "name": "newRuntimeBytecode", + "nameLocation": "20485:18:12", + "nodeType": "VariableDeclaration", + "scope": 9992, + "src": "20470:33:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9988, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "20470:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "20453:51:12" + }, + "returnParameters": { + "id": 9991, + "nodeType": "ParameterList", + "parameters": [], + "src": "20513:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 9997, + "nodeType": "FunctionDefinition", + "src": "20556:58:12", + "nodes": [], + "functionSelector": "f28dceb3", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "expectRevert", + "nameLocation": "20565:12:12", + "parameters": { + "id": 9995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9994, + "mutability": "mutable", + "name": "revertData", + "nameLocation": "20593:10:12", + "nodeType": "VariableDeclaration", + "scope": 9997, + "src": "20578:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9993, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "20578:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "20577:27:12" + }, + "returnParameters": { + "id": 9996, + "nodeType": "ParameterList", + "parameters": [], + "src": "20613:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10002, + "nodeType": "FunctionDefinition", + "src": "20619:50:12", + "nodes": [], + "functionSelector": "c31eb0e0", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "expectRevert", + "nameLocation": "20628:12:12", + "parameters": { + "id": 10000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9999, + "mutability": "mutable", + "name": "revertData", + "nameLocation": "20648:10:12", + "nodeType": "VariableDeclaration", + "scope": 10002, + "src": "20641:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 9998, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "20641:6:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "20640:19:12" + }, + "returnParameters": { + "id": 10001, + "nodeType": "ParameterList", + "parameters": [], + "src": "20668:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10005, + "nodeType": "FunctionDefinition", + "src": "20674:33:12", + "nodes": [], + "functionSelector": "f4844814", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "expectRevert", + "nameLocation": "20683:12:12", + "parameters": { + "id": 10003, + "nodeType": "ParameterList", + "parameters": [], + "src": "20695:2:12" + }, + "returnParameters": { + "id": 10004, + "nodeType": "ParameterList", + "parameters": [], + "src": "20706:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10016, + "nodeType": "FunctionDefinition", + "src": "21040:99:12", + "nodes": [], + "functionSelector": "491cc7c2", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "expectEmit", + "nameLocation": "21049:10:12", + "parameters": { + "id": 10014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10007, + "mutability": "mutable", + "name": "checkTopic1", + "nameLocation": "21065:11:12", + "nodeType": "VariableDeclaration", + "scope": 10016, + "src": "21060:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10006, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21060:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10009, + "mutability": "mutable", + "name": "checkTopic2", + "nameLocation": "21083:11:12", + "nodeType": "VariableDeclaration", + "scope": 10016, + "src": "21078:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10008, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21078:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10011, + "mutability": "mutable", + "name": "checkTopic3", + "nameLocation": "21101:11:12", + "nodeType": "VariableDeclaration", + "scope": 10016, + "src": "21096:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10010, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21096:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10013, + "mutability": "mutable", + "name": "checkData", + "nameLocation": "21119:9:12", + "nodeType": "VariableDeclaration", + "scope": 10016, + "src": "21114:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10012, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21114:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "21059:70:12" + }, + "returnParameters": { + "id": 10015, + "nodeType": "ParameterList", + "parameters": [], + "src": "21138:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10029, + "nodeType": "FunctionDefinition", + "src": "21144:124:12", + "nodes": [], + "functionSelector": "81bad6f3", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "expectEmit", + "nameLocation": "21153:10:12", + "parameters": { + "id": 10027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10018, + "mutability": "mutable", + "name": "checkTopic1", + "nameLocation": "21169:11:12", + "nodeType": "VariableDeclaration", + "scope": 10029, + "src": "21164:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21164:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10020, + "mutability": "mutable", + "name": "checkTopic2", + "nameLocation": "21187:11:12", + "nodeType": "VariableDeclaration", + "scope": 10029, + "src": "21182:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10019, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21182:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10022, + "mutability": "mutable", + "name": "checkTopic3", + "nameLocation": "21205:11:12", + "nodeType": "VariableDeclaration", + "scope": 10029, + "src": "21200:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10021, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21200:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10024, + "mutability": "mutable", + "name": "checkData", + "nameLocation": "21223:9:12", + "nodeType": "VariableDeclaration", + "scope": 10029, + "src": "21218:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10023, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21218:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10026, + "mutability": "mutable", + "name": "emitter", + "nameLocation": "21242:7:12", + "nodeType": "VariableDeclaration", + "scope": 10029, + "src": "21234:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10025, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21234:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "21163:87:12" + }, + "returnParameters": { + "id": 10028, + "nodeType": "ParameterList", + "parameters": [], + "src": "21267:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10038, + "nodeType": "FunctionDefinition", + "src": "21523:91:12", + "nodes": [], + "functionSelector": "b96213e4", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "mockCall", + "nameLocation": "21532:8:12", + "parameters": { + "id": 10036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10031, + "mutability": "mutable", + "name": "callee", + "nameLocation": "21549:6:12", + "nodeType": "VariableDeclaration", + "scope": 10038, + "src": "21541:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10030, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21541:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10033, + "mutability": "mutable", + "name": "data", + "nameLocation": "21572:4:12", + "nodeType": "VariableDeclaration", + "scope": 10038, + "src": "21557:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10032, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "21557:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10035, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "21593:10:12", + "nodeType": "VariableDeclaration", + "scope": 10038, + "src": "21578:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10034, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "21578:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "21540:64:12" + }, + "returnParameters": { + "id": 10037, + "nodeType": "ParameterList", + "parameters": [], + "src": "21613:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10049, + "nodeType": "FunctionDefinition", + "src": "21782:109:12", + "nodes": [], + "functionSelector": "81409b91", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "mockCall", + "nameLocation": "21791:8:12", + "parameters": { + "id": 10047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10040, + "mutability": "mutable", + "name": "callee", + "nameLocation": "21808:6:12", + "nodeType": "VariableDeclaration", + "scope": 10049, + "src": "21800:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21800:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10042, + "mutability": "mutable", + "name": "msgValue", + "nameLocation": "21824:8:12", + "nodeType": "VariableDeclaration", + "scope": 10049, + "src": "21816:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21816:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10044, + "mutability": "mutable", + "name": "data", + "nameLocation": "21849:4:12", + "nodeType": "VariableDeclaration", + "scope": 10049, + "src": "21834:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10043, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "21834:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10046, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "21870:10:12", + "nodeType": "VariableDeclaration", + "scope": 10049, + "src": "21855:25:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10045, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "21855:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "21799:82:12" + }, + "returnParameters": { + "id": 10048, + "nodeType": "ParameterList", + "parameters": [], + "src": "21890:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10052, + "nodeType": "FunctionDefinition", + "src": "21927:37:12", + "nodes": [], + "functionSelector": "3fdf4e15", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "clearMockedCalls", + "nameLocation": "21936:16:12", + "parameters": { + "id": 10050, + "nodeType": "ParameterList", + "parameters": [], + "src": "21952:2:12" + }, + "returnParameters": { + "id": 10051, + "nodeType": "ParameterList", + "parameters": [], + "src": "21963:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10059, + "nodeType": "FunctionDefinition", + "src": "22092:66:12", + "nodes": [], + "functionSelector": "bd6af434", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "expectCall", + "nameLocation": "22101:10:12", + "parameters": { + "id": 10057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10054, + "mutability": "mutable", + "name": "callee", + "nameLocation": "22120:6:12", + "nodeType": "VariableDeclaration", + "scope": 10059, + "src": "22112:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10053, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22112:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10056, + "mutability": "mutable", + "name": "data", + "nameLocation": "22143:4:12", + "nodeType": "VariableDeclaration", + "scope": 10059, + "src": "22128:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10055, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "22128:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "22111:37:12" + }, + "returnParameters": { + "id": 10058, + "nodeType": "ParameterList", + "parameters": [], + "src": "22157:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10068, + "nodeType": "FunctionDefinition", + "src": "22241:84:12", + "nodes": [], + "functionSelector": "f30c7ba3", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "expectCall", + "nameLocation": "22250:10:12", + "parameters": { + "id": 10066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10061, + "mutability": "mutable", + "name": "callee", + "nameLocation": "22269:6:12", + "nodeType": "VariableDeclaration", + "scope": 10068, + "src": "22261:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22261:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10063, + "mutability": "mutable", + "name": "msgValue", + "nameLocation": "22285:8:12", + "nodeType": "VariableDeclaration", + "scope": 10068, + "src": "22277:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10062, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22277:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10065, + "mutability": "mutable", + "name": "data", + "nameLocation": "22310:4:12", + "nodeType": "VariableDeclaration", + "scope": 10068, + "src": "22295:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10064, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "22295:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "22260:55:12" + }, + "returnParameters": { + "id": 10067, + "nodeType": "ParameterList", + "parameters": [], + "src": "22324:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10073, + "nodeType": "FunctionDefinition", + "src": "22357:48:12", + "nodes": [], + "functionSelector": "ff483c54", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "coinbase", + "nameLocation": "22366:8:12", + "parameters": { + "id": 10071, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10070, + "mutability": "mutable", + "name": "newCoinbase", + "nameLocation": "22383:11:12", + "nodeType": "VariableDeclaration", + "scope": 10073, + "src": "22375:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10069, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22375:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "22374:21:12" + }, + "returnParameters": { + "id": 10072, + "nodeType": "ParameterList", + "parameters": [], + "src": "22404:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10078, + "nodeType": "FunctionDefinition", + "src": "22555:58:12", + "nodes": [], + "functionSelector": "9711715a", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "snapshot", + "nameLocation": "22564:8:12", + "parameters": { + "id": 10074, + "nodeType": "ParameterList", + "parameters": [], + "src": "22572:2:12" + }, + "returnParameters": { + "id": 10077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10076, + "mutability": "mutable", + "name": "snapshotId", + "nameLocation": "22601:10:12", + "nodeType": "VariableDeclaration", + "scope": 10078, + "src": "22593:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22593:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22592:20:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10085, + "nodeType": "FunctionDefinition", + "src": "22805:70:12", + "nodes": [], + "functionSelector": "44d7f0a4", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revertTo", + "nameLocation": "22814:8:12", + "parameters": { + "id": 10081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10080, + "mutability": "mutable", + "name": "snapshotId", + "nameLocation": "22831:10:12", + "nodeType": "VariableDeclaration", + "scope": 10085, + "src": "22823:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22823:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22822:20:12" + }, + "returnParameters": { + "id": 10084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10083, + "mutability": "mutable", + "name": "success", + "nameLocation": "22866:7:12", + "nodeType": "VariableDeclaration", + "scope": 10085, + "src": "22861:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10082, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22861:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "22860:14:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10094, + "nodeType": "FunctionDefinition", + "src": "22979:103:12", + "nodes": [], + "functionSelector": "6ba3ba2b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createFork", + "nameLocation": "22988:10:12", + "parameters": { + "id": 10090, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10087, + "mutability": "mutable", + "name": "urlOrAlias", + "nameLocation": "23015:10:12", + "nodeType": "VariableDeclaration", + "scope": 10094, + "src": "22999:26:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10086, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22999:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10089, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "23035:11:12", + "nodeType": "VariableDeclaration", + "scope": 10094, + "src": "23027:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10088, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23027:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22998:49:12" + }, + "returnParameters": { + "id": 10093, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10092, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "23074:6:12", + "nodeType": "VariableDeclaration", + "scope": 10094, + "src": "23066:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10091, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23066:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23065:16:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10101, + "nodeType": "FunctionDefinition", + "src": "23199:82:12", + "nodes": [], + "functionSelector": "31ba3498", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createFork", + "nameLocation": "23208:10:12", + "parameters": { + "id": 10097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10096, + "mutability": "mutable", + "name": "urlOrAlias", + "nameLocation": "23235:10:12", + "nodeType": "VariableDeclaration", + "scope": 10101, + "src": "23219:26:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10095, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23219:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "23218:28:12" + }, + "returnParameters": { + "id": 10100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10099, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "23273:6:12", + "nodeType": "VariableDeclaration", + "scope": 10101, + "src": "23265:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23265:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23264:16:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10110, + "nodeType": "FunctionDefinition", + "src": "23502:98:12", + "nodes": [], + "functionSelector": "7ca29682", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createFork", + "nameLocation": "23511:10:12", + "parameters": { + "id": 10106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10103, + "mutability": "mutable", + "name": "urlOrAlias", + "nameLocation": "23538:10:12", + "nodeType": "VariableDeclaration", + "scope": 10110, + "src": "23522:26:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10102, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23522:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10105, + "mutability": "mutable", + "name": "txHash", + "nameLocation": "23558:6:12", + "nodeType": "VariableDeclaration", + "scope": 10110, + "src": "23550:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10104, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23550:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "23521:44:12" + }, + "returnParameters": { + "id": 10109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10108, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "23592:6:12", + "nodeType": "VariableDeclaration", + "scope": 10110, + "src": "23584:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23584:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23583:16:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10119, + "nodeType": "FunctionDefinition", + "src": "23723:109:12", + "nodes": [], + "functionSelector": "71ee464d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createSelectFork", + "nameLocation": "23732:16:12", + "parameters": { + "id": 10115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10112, + "mutability": "mutable", + "name": "urlOrAlias", + "nameLocation": "23765:10:12", + "nodeType": "VariableDeclaration", + "scope": 10119, + "src": "23749:26:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10111, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23749:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10114, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "23785:11:12", + "nodeType": "VariableDeclaration", + "scope": 10119, + "src": "23777:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23777:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23748:49:12" + }, + "returnParameters": { + "id": 10118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10117, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "23824:6:12", + "nodeType": "VariableDeclaration", + "scope": 10119, + "src": "23816:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10116, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23816:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23815:16:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10128, + "nodeType": "FunctionDefinition", + "src": "24066:104:12", + "nodes": [], + "functionSelector": "84d52b7a", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createSelectFork", + "nameLocation": "24075:16:12", + "parameters": { + "id": 10124, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10121, + "mutability": "mutable", + "name": "urlOrAlias", + "nameLocation": "24108:10:12", + "nodeType": "VariableDeclaration", + "scope": 10128, + "src": "24092:26:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10120, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24092:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10123, + "mutability": "mutable", + "name": "txHash", + "nameLocation": "24128:6:12", + "nodeType": "VariableDeclaration", + "scope": 10128, + "src": "24120:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10122, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24120:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "24091:44:12" + }, + "returnParameters": { + "id": 10127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10126, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "24162:6:12", + "nodeType": "VariableDeclaration", + "scope": 10128, + "src": "24154:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10125, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24154:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24153:16:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10135, + "nodeType": "FunctionDefinition", + "src": "24304:88:12", + "nodes": [], + "functionSelector": "98680034", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createSelectFork", + "nameLocation": "24313:16:12", + "parameters": { + "id": 10131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10130, + "mutability": "mutable", + "name": "urlOrAlias", + "nameLocation": "24346:10:12", + "nodeType": "VariableDeclaration", + "scope": 10135, + "src": "24330:26:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10129, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24330:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "24329:28:12" + }, + "returnParameters": { + "id": 10134, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10133, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "24384:6:12", + "nodeType": "VariableDeclaration", + "scope": 10135, + "src": "24376:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10132, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24376:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24375:16:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10140, + "nodeType": "FunctionDefinition", + "src": "24503:45:12", + "nodes": [], + "functionSelector": "9ebf6827", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "selectFork", + "nameLocation": "24512:10:12", + "parameters": { + "id": 10138, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10137, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "24531:6:12", + "nodeType": "VariableDeclaration", + "scope": 10140, + "src": "24523:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10136, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24523:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24522:16:12" + }, + "returnParameters": { + "id": 10139, + "nodeType": "ParameterList", + "parameters": [], + "src": "24547:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10146, + "nodeType": "FunctionDefinition", + "src": "24654:61:12", + "nodes": [], + "documentation": { + "id": 10141, + "nodeType": "StructuredDocumentation", + "src": "24553:96:12", + "text": "Returns the identifier of the currently active fork. Reverts if no fork is currently active." + }, + "functionSelector": "2f103f22", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "activeFork", + "nameLocation": "24663:10:12", + "parameters": { + "id": 10142, + "nodeType": "ParameterList", + "parameters": [], + "src": "24673:2:12" + }, + "returnParameters": { + "id": 10145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10144, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "24707:6:12", + "nodeType": "VariableDeclaration", + "scope": 10146, + "src": "24699:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24699:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24698:16:12" + }, + "scope": 10233, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 10151, + "nodeType": "FunctionDefinition", + "src": "24850:48:12", + "nodes": [], + "functionSelector": "d9bbf3a1", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rollFork", + "nameLocation": "24859:8:12", + "parameters": { + "id": 10149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10148, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "24876:11:12", + "nodeType": "VariableDeclaration", + "scope": 10151, + "src": "24868:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10147, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24868:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24867:21:12" + }, + "returnParameters": { + "id": 10150, + "nodeType": "ParameterList", + "parameters": [], + "src": "24897:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10156, + "nodeType": "FunctionDefinition", + "src": "25108:43:12", + "nodes": [], + "functionSelector": "0f29772b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rollFork", + "nameLocation": "25117:8:12", + "parameters": { + "id": 10154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10153, + "mutability": "mutable", + "name": "txHash", + "nameLocation": "25134:6:12", + "nodeType": "VariableDeclaration", + "scope": 10156, + "src": "25126:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10152, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25126:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "25125:16:12" + }, + "returnParameters": { + "id": 10155, + "nodeType": "ParameterList", + "parameters": [], + "src": "25150:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10163, + "nodeType": "FunctionDefinition", + "src": "25208:64:12", + "nodes": [], + "functionSelector": "d74c83a4", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rollFork", + "nameLocation": "25217:8:12", + "parameters": { + "id": 10161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10158, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "25234:6:12", + "nodeType": "VariableDeclaration", + "scope": 10163, + "src": "25226:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25226:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10160, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "25250:11:12", + "nodeType": "VariableDeclaration", + "scope": 10163, + "src": "25242:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10159, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25242:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "25225:37:12" + }, + "returnParameters": { + "id": 10162, + "nodeType": "ParameterList", + "parameters": [], + "src": "25271:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10170, + "nodeType": "FunctionDefinition", + "src": "25405:59:12", + "nodes": [], + "functionSelector": "f2830f7b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rollFork", + "nameLocation": "25414:8:12", + "parameters": { + "id": 10168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10165, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "25431:6:12", + "nodeType": "VariableDeclaration", + "scope": 10170, + "src": "25423:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10164, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25423:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10167, + "mutability": "mutable", + "name": "txHash", + "nameLocation": "25447:6:12", + "nodeType": "VariableDeclaration", + "scope": 10170, + "src": "25439:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10166, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25439:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "25422:32:12" + }, + "returnParameters": { + "id": 10169, + "nodeType": "ParameterList", + "parameters": [], + "src": "25463:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10175, + "nodeType": "FunctionDefinition", + "src": "25663:50:12", + "nodes": [], + "functionSelector": "57e22dde", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "makePersistent", + "nameLocation": "25672:14:12", + "parameters": { + "id": 10173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10172, + "mutability": "mutable", + "name": "account", + "nameLocation": "25695:7:12", + "nodeType": "VariableDeclaration", + "scope": 10175, + "src": "25687:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10171, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25687:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "25686:17:12" + }, + "returnParameters": { + "id": 10174, + "nodeType": "ParameterList", + "parameters": [], + "src": "25712:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10182, + "nodeType": "FunctionDefinition", + "src": "25718:69:12", + "nodes": [], + "functionSelector": "4074e0a8", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "makePersistent", + "nameLocation": "25727:14:12", + "parameters": { + "id": 10180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10177, + "mutability": "mutable", + "name": "account0", + "nameLocation": "25750:8:12", + "nodeType": "VariableDeclaration", + "scope": 10182, + "src": "25742:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10176, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25742:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10179, + "mutability": "mutable", + "name": "account1", + "nameLocation": "25768:8:12", + "nodeType": "VariableDeclaration", + "scope": 10182, + "src": "25760:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25760:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "25741:36:12" + }, + "returnParameters": { + "id": 10181, + "nodeType": "ParameterList", + "parameters": [], + "src": "25786:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10191, + "nodeType": "FunctionDefinition", + "src": "25792:87:12", + "nodes": [], + "functionSelector": "efb77a75", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "makePersistent", + "nameLocation": "25801:14:12", + "parameters": { + "id": 10189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10184, + "mutability": "mutable", + "name": "account0", + "nameLocation": "25824:8:12", + "nodeType": "VariableDeclaration", + "scope": 10191, + "src": "25816:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10183, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25816:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10186, + "mutability": "mutable", + "name": "account1", + "nameLocation": "25842:8:12", + "nodeType": "VariableDeclaration", + "scope": 10191, + "src": "25834:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25834:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10188, + "mutability": "mutable", + "name": "account2", + "nameLocation": "25860:8:12", + "nodeType": "VariableDeclaration", + "scope": 10191, + "src": "25852:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10187, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25852:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "25815:54:12" + }, + "returnParameters": { + "id": 10190, + "nodeType": "ParameterList", + "parameters": [], + "src": "25878:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10197, + "nodeType": "FunctionDefinition", + "src": "25884:62:12", + "nodes": [], + "functionSelector": "1d9e269e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "makePersistent", + "nameLocation": "25893:14:12", + "parameters": { + "id": 10195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10194, + "mutability": "mutable", + "name": "accounts", + "nameLocation": "25927:8:12", + "nodeType": "VariableDeclaration", + "scope": 10197, + "src": "25908:27:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25908:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10193, + "nodeType": "ArrayTypeName", + "src": "25908:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "25907:29:12" + }, + "returnParameters": { + "id": 10196, + "nodeType": "ParameterList", + "parameters": [], + "src": "25945:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10202, + "nodeType": "FunctionDefinition", + "src": "26040:52:12", + "nodes": [], + "functionSelector": "997a0222", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revokePersistent", + "nameLocation": "26049:16:12", + "parameters": { + "id": 10200, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10199, + "mutability": "mutable", + "name": "account", + "nameLocation": "26074:7:12", + "nodeType": "VariableDeclaration", + "scope": 10202, + "src": "26066:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10198, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26066:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "26065:17:12" + }, + "returnParameters": { + "id": 10201, + "nodeType": "ParameterList", + "parameters": [], + "src": "26091:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10208, + "nodeType": "FunctionDefinition", + "src": "26097:64:12", + "nodes": [], + "functionSelector": "3ce969e6", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revokePersistent", + "nameLocation": "26106:16:12", + "parameters": { + "id": 10206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10205, + "mutability": "mutable", + "name": "accounts", + "nameLocation": "26142:8:12", + "nodeType": "VariableDeclaration", + "scope": 10208, + "src": "26123:27:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26123:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10204, + "nodeType": "ArrayTypeName", + "src": "26123:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "26122:29:12" + }, + "returnParameters": { + "id": 10207, + "nodeType": "ParameterList", + "parameters": [], + "src": "26160:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10215, + "nodeType": "FunctionDefinition", + "src": "26225:79:12", + "nodes": [], + "functionSelector": "d92d8efd", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isPersistent", + "nameLocation": "26234:12:12", + "parameters": { + "id": 10211, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10210, + "mutability": "mutable", + "name": "account", + "nameLocation": "26255:7:12", + "nodeType": "VariableDeclaration", + "scope": 10215, + "src": "26247:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10209, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26247:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "26246:17:12" + }, + "returnParameters": { + "id": 10214, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10213, + "mutability": "mutable", + "name": "persistent", + "nameLocation": "26292:10:12", + "nodeType": "VariableDeclaration", + "scope": 10215, + "src": "26287:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10212, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26287:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "26286:17:12" + }, + "scope": 10233, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 10220, + "nodeType": "FunctionDefinition", + "src": "26385:51:12", + "nodes": [], + "functionSelector": "ea060291", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowCheatcodes", + "nameLocation": "26394:15:12", + "parameters": { + "id": 10218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10217, + "mutability": "mutable", + "name": "account", + "nameLocation": "26418:7:12", + "nodeType": "VariableDeclaration", + "scope": 10220, + "src": "26410:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26410:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "26409:17:12" + }, + "returnParameters": { + "id": 10219, + "nodeType": "ParameterList", + "parameters": [], + "src": "26435:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10225, + "nodeType": "FunctionDefinition", + "src": "26536:43:12", + "nodes": [], + "functionSelector": "be646da1", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transact", + "nameLocation": "26545:8:12", + "parameters": { + "id": 10223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10222, + "mutability": "mutable", + "name": "txHash", + "nameLocation": "26562:6:12", + "nodeType": "VariableDeclaration", + "scope": 10225, + "src": "26554:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10221, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "26554:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "26553:16:12" + }, + "returnParameters": { + "id": 10224, + "nodeType": "ParameterList", + "parameters": [], + "src": "26578:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 10232, + "nodeType": "FunctionDefinition", + "src": "26678:59:12", + "nodes": [], + "functionSelector": "4d8abc4b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transact", + "nameLocation": "26687:8:12", + "parameters": { + "id": 10230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10227, + "mutability": "mutable", + "name": "forkId", + "nameLocation": "26704:6:12", + "nodeType": "VariableDeclaration", + "scope": 10232, + "src": "26696:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10226, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26696:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10229, + "mutability": "mutable", + "name": "txHash", + "nameLocation": "26720:6:12", + "nodeType": "VariableDeclaration", + "scope": 10232, + "src": "26712:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10228, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "26712:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "26695:32:12" + }, + "returnParameters": { + "id": 10231, + "nodeType": "ParameterList", + "parameters": [], + "src": "26736:0:12" + }, + "scope": 10233, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 9909, + "name": "VmSafe", + "nameLocations": [ + "18888:6:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9908, + "src": "18888:6:12" + }, + "id": 9910, + "nodeType": "InheritanceSpecifier", + "src": "18888:6:12" + } + ], + "canonicalName": "Vm", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 10233, + 9908 + ], + "name": "Vm", + "nameLocation": "18882:2:12", + "scope": 10234, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/console.sol": { + "id": 13, + "ast": { + "absolutePath": "lib/forge-std/src/console.sol", + "id": 18298, + "exportedSymbols": { + "console": [ + 18297 + ] + }, + "nodeType": "SourceUnit", + "src": "32:66656:13", + "nodes": [ + { + "id": 10235, + "nodeType": "PragmaDirective", + "src": "32:32:13", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.4", + ".22", + "<", + "0.9", + ".0" + ] + }, + { + "id": 18297, + "nodeType": "ContractDefinition", + "src": "66:66622:13", + "nodes": [ + { + "id": 10241, + "nodeType": "VariableDeclaration", + "src": "88:86:13", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONSOLE_ADDRESS", + "nameLocation": "105:15:13", + "scope": 18297, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "88:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637", + "id": 10239, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "131:42:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x000000000000000000636F6e736F6c652e6c6f67" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 10238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "123:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 10237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "123:7:13", + "typeDescriptions": {} + } + }, + "id": 10240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "123:51:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 10257, + "nodeType": "FunctionDefinition", + "src": "181:376:13", + "nodes": [], + "body": { + "id": 10256, + "nodeType": "Block", + "src": "241:316:13", + "nodes": [], + "statements": [ + { + "assignments": [ + 10247 + ], + "declarations": [ + { + "constant": false, + "id": 10247, + "mutability": "mutable", + "name": "payloadLength", + "nameLocation": "259:13:13", + "nodeType": "VariableDeclaration", + "scope": 10256, + "src": "251:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "251:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 10250, + "initialValue": { + "expression": { + "id": 10248, + "name": "payload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10243, + "src": "275:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 10249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "283:6:13", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "275:14:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "251:38:13" + }, + { + "assignments": [ + 10252 + ], + "declarations": [ + { + "constant": false, + "id": 10252, + "mutability": "mutable", + "name": "consoleAddress", + "nameLocation": "307:14:13", + "nodeType": "VariableDeclaration", + "scope": 10256, + "src": "299:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "299:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 10254, + "initialValue": { + "id": 10253, + "name": "CONSOLE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10241, + "src": "324:15:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "299:40:13" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "401:150:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "415:36:13", + "value": { + "arguments": [ + { + "name": "payload", + "nodeType": "YulIdentifier", + "src": "439:7:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "448:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "435:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "435:16:13" + }, + "variables": [ + { + "name": "payloadStart", + "nodeType": "YulTypedName", + "src": "419:12:13", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "464:77:13", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "484:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "484:5:13" + }, + { + "name": "consoleAddress", + "nodeType": "YulIdentifier", + "src": "491:14:13" + }, + { + "name": "payloadStart", + "nodeType": "YulIdentifier", + "src": "507:12:13" + }, + { + "name": "payloadLength", + "nodeType": "YulIdentifier", + "src": "521:13:13" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "536:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "539:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "staticcall", + "nodeType": "YulIdentifier", + "src": "473:10:13" + }, + "nodeType": "YulFunctionCall", + "src": "473:68:13" + }, + "variables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "468:1:13", + "type": "" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 10252, + "isOffset": false, + "isSlot": false, + "src": "491:14:13", + "valueSize": 1 + }, + { + "declaration": 10243, + "isOffset": false, + "isSlot": false, + "src": "439:7:13", + "valueSize": 1 + }, + { + "declaration": 10247, + "isOffset": false, + "isSlot": false, + "src": "521:13:13", + "valueSize": 1 + } + ], + "id": 10255, + "nodeType": "InlineAssembly", + "src": "392:159:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_sendLogPayload", + "nameLocation": "190:15:13", + "parameters": { + "id": 10244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10243, + "mutability": "mutable", + "name": "payload", + "nameLocation": "219:7:13", + "nodeType": "VariableDeclaration", + "scope": 10257, + "src": "206:20:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10242, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "206:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "205:22:13" + }, + "returnParameters": { + "id": 10245, + "nodeType": "ParameterList", + "parameters": [], + "src": "241:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "id": 10268, + "nodeType": "FunctionDefinition", + "src": "563:95:13", + "nodes": [], + "body": { + "id": 10267, + "nodeType": "Block", + "src": "592:66:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672829", + "id": 10263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "642:7:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39", + "typeString": "literal_string \"log()\"" + }, + "value": "log()" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39", + "typeString": "literal_string \"log()\"" + } + ], + "expression": { + "id": 10261, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "618:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "622:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "618:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "618:32:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10260, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "602:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "602:49:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10266, + "nodeType": "ExpressionStatement", + "src": "602:49:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "572:3:13", + "parameters": { + "id": 10258, + "nodeType": "ParameterList", + "parameters": [], + "src": "575:2:13" + }, + "returnParameters": { + "id": 10259, + "nodeType": "ParameterList", + "parameters": [], + "src": "592:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10282, + "nodeType": "FunctionDefinition", + "src": "664:111:13", + "nodes": [], + "body": { + "id": 10281, + "nodeType": "Block", + "src": "702:73:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728696e7429", + "id": 10276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "752:10:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e", + "typeString": "literal_string \"log(int)\"" + }, + "value": "log(int)" + }, + { + "id": 10277, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10270, + "src": "764:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e", + "typeString": "literal_string \"log(int)\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 10274, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "728:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "732:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "728:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "728:39:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10273, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "712:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "712:56:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10280, + "nodeType": "ExpressionStatement", + "src": "712:56:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logInt", + "nameLocation": "673:6:13", + "parameters": { + "id": 10271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10270, + "mutability": "mutable", + "name": "p0", + "nameLocation": "684:2:13", + "nodeType": "VariableDeclaration", + "scope": 10282, + "src": "680:6:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 10269, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "680:3:13", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "679:8:13" + }, + "returnParameters": { + "id": 10272, + "nodeType": "ParameterList", + "parameters": [], + "src": "702:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10296, + "nodeType": "FunctionDefinition", + "src": "781:114:13", + "nodes": [], + "body": { + "id": 10295, + "nodeType": "Block", + "src": "821:74:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e7429", + "id": 10290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "871:11:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984", + "typeString": "literal_string \"log(uint)\"" + }, + "value": "log(uint)" + }, + { + "id": 10291, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10284, + "src": "884:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984", + "typeString": "literal_string \"log(uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10288, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "847:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "851:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "847:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "847:40:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10287, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "831:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "831:57:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10294, + "nodeType": "ExpressionStatement", + "src": "831:57:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logUint", + "nameLocation": "790:7:13", + "parameters": { + "id": 10285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10284, + "mutability": "mutable", + "name": "p0", + "nameLocation": "803:2:13", + "nodeType": "VariableDeclaration", + "scope": 10296, + "src": "798:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10283, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "798:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "797:9:13" + }, + "returnParameters": { + "id": 10286, + "nodeType": "ParameterList", + "parameters": [], + "src": "821:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10310, + "nodeType": "FunctionDefinition", + "src": "901:127:13", + "nodes": [], + "body": { + "id": 10309, + "nodeType": "Block", + "src": "952:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e6729", + "id": 10304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1002:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + "value": "log(string)" + }, + { + "id": 10305, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10298, + "src": "1017:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 10302, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "978:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "982:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "978:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "978:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10301, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "962:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "962:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10308, + "nodeType": "ExpressionStatement", + "src": "962:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logString", + "nameLocation": "910:9:13", + "parameters": { + "id": 10299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10298, + "mutability": "mutable", + "name": "p0", + "nameLocation": "934:2:13", + "nodeType": "VariableDeclaration", + "scope": 10310, + "src": "920:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10297, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "920:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "919:18:13" + }, + "returnParameters": { + "id": 10300, + "nodeType": "ParameterList", + "parameters": [], + "src": "952:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10324, + "nodeType": "FunctionDefinition", + "src": "1034:114:13", + "nodes": [], + "body": { + "id": 10323, + "nodeType": "Block", + "src": "1074:74:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c29", + "id": 10318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1124:11:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + "value": "log(bool)" + }, + { + "id": 10319, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10312, + "src": "1137:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 10316, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1100:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1104:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1100:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1100:40:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10315, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "1084:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1084:57:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10322, + "nodeType": "ExpressionStatement", + "src": "1084:57:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBool", + "nameLocation": "1043:7:13", + "parameters": { + "id": 10313, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10312, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1056:2:13", + "nodeType": "VariableDeclaration", + "scope": 10324, + "src": "1051:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10311, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1051:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1050:9:13" + }, + "returnParameters": { + "id": 10314, + "nodeType": "ParameterList", + "parameters": [], + "src": "1074:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10338, + "nodeType": "FunctionDefinition", + "src": "1154:123:13", + "nodes": [], + "body": { + "id": 10337, + "nodeType": "Block", + "src": "1200:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286164647265737329", + "id": 10332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1250:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + "value": "log(address)" + }, + { + "id": 10333, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "1266:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 10330, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1226:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10331, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1230:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1226:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1226:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10329, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "1210:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1210:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10336, + "nodeType": "ExpressionStatement", + "src": "1210:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logAddress", + "nameLocation": "1163:10:13", + "parameters": { + "id": 10327, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10326, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1182:2:13", + "nodeType": "VariableDeclaration", + "scope": 10338, + "src": "1174:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10325, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1174:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1173:12:13" + }, + "returnParameters": { + "id": 10328, + "nodeType": "ParameterList", + "parameters": [], + "src": "1200:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10352, + "nodeType": "FunctionDefinition", + "src": "1283:124:13", + "nodes": [], + "body": { + "id": 10351, + "nodeType": "Block", + "src": "1332:75:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728627974657329", + "id": 10346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1382:12:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238", + "typeString": "literal_string \"log(bytes)\"" + }, + "value": "log(bytes)" + }, + { + "id": 10347, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10340, + "src": "1396:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238", + "typeString": "literal_string \"log(bytes)\"" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 10344, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1358:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1362:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1358:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1358:41:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10343, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "1342:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1342:58:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10350, + "nodeType": "ExpressionStatement", + "src": "1342:58:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes", + "nameLocation": "1292:8:13", + "parameters": { + "id": 10341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10340, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1314:2:13", + "nodeType": "VariableDeclaration", + "scope": 10352, + "src": "1301:15:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10339, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1301:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1300:17:13" + }, + "returnParameters": { + "id": 10342, + "nodeType": "ParameterList", + "parameters": [], + "src": "1332:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10366, + "nodeType": "FunctionDefinition", + "src": "1413:120:13", + "nodes": [], + "body": { + "id": 10365, + "nodeType": "Block", + "src": "1457:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733129", + "id": 10360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1507:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041", + "typeString": "literal_string \"log(bytes1)\"" + }, + "value": "log(bytes1)" + }, + { + "id": 10361, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10354, + "src": "1522:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041", + "typeString": "literal_string \"log(bytes1)\"" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "expression": { + "id": 10358, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1483:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1487:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1483:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1483:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10357, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "1467:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1467:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10364, + "nodeType": "ExpressionStatement", + "src": "1467:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes1", + "nameLocation": "1422:9:13", + "parameters": { + "id": 10355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10354, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1439:2:13", + "nodeType": "VariableDeclaration", + "scope": 10366, + "src": "1432:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 10353, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "1432:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + } + ], + "src": "1431:11:13" + }, + "returnParameters": { + "id": 10356, + "nodeType": "ParameterList", + "parameters": [], + "src": "1457:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10380, + "nodeType": "FunctionDefinition", + "src": "1539:120:13", + "nodes": [], + "body": { + "id": 10379, + "nodeType": "Block", + "src": "1583:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733229", + "id": 10374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1633:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224", + "typeString": "literal_string \"log(bytes2)\"" + }, + "value": "log(bytes2)" + }, + { + "id": 10375, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10368, + "src": "1648:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224", + "typeString": "literal_string \"log(bytes2)\"" + }, + { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + } + ], + "expression": { + "id": 10372, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1609:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1613:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1609:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1609:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10371, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "1593:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1593:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10378, + "nodeType": "ExpressionStatement", + "src": "1593:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes2", + "nameLocation": "1548:9:13", + "parameters": { + "id": 10369, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10368, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1565:2:13", + "nodeType": "VariableDeclaration", + "scope": 10380, + "src": "1558:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + }, + "typeName": { + "id": 10367, + "name": "bytes2", + "nodeType": "ElementaryTypeName", + "src": "1558:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + } + }, + "visibility": "internal" + } + ], + "src": "1557:11:13" + }, + "returnParameters": { + "id": 10370, + "nodeType": "ParameterList", + "parameters": [], + "src": "1583:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10394, + "nodeType": "FunctionDefinition", + "src": "1665:120:13", + "nodes": [], + "body": { + "id": 10393, + "nodeType": "Block", + "src": "1709:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733329", + "id": 10388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1759:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee", + "typeString": "literal_string \"log(bytes3)\"" + }, + "value": "log(bytes3)" + }, + { + "id": 10389, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10382, + "src": "1774:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee", + "typeString": "literal_string \"log(bytes3)\"" + }, + { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + } + ], + "expression": { + "id": 10386, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1735:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1739:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1735:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1735:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10385, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "1719:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1719:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10392, + "nodeType": "ExpressionStatement", + "src": "1719:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes3", + "nameLocation": "1674:9:13", + "parameters": { + "id": 10383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10382, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1691:2:13", + "nodeType": "VariableDeclaration", + "scope": 10394, + "src": "1684:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + }, + "typeName": { + "id": 10381, + "name": "bytes3", + "nodeType": "ElementaryTypeName", + "src": "1684:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + } + }, + "visibility": "internal" + } + ], + "src": "1683:11:13" + }, + "returnParameters": { + "id": 10384, + "nodeType": "ParameterList", + "parameters": [], + "src": "1709:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10408, + "nodeType": "FunctionDefinition", + "src": "1791:120:13", + "nodes": [], + "body": { + "id": 10407, + "nodeType": "Block", + "src": "1835:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733429", + "id": 10402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1885:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55", + "typeString": "literal_string \"log(bytes4)\"" + }, + "value": "log(bytes4)" + }, + { + "id": 10403, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10396, + "src": "1900:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55", + "typeString": "literal_string \"log(bytes4)\"" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 10400, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1861:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1865:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1861:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1861:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10399, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "1845:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1845:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10406, + "nodeType": "ExpressionStatement", + "src": "1845:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes4", + "nameLocation": "1800:9:13", + "parameters": { + "id": 10397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10396, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1817:2:13", + "nodeType": "VariableDeclaration", + "scope": 10408, + "src": "1810:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 10395, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1810:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1809:11:13" + }, + "returnParameters": { + "id": 10398, + "nodeType": "ParameterList", + "parameters": [], + "src": "1835:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10422, + "nodeType": "FunctionDefinition", + "src": "1917:120:13", + "nodes": [], + "body": { + "id": 10421, + "nodeType": "Block", + "src": "1961:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733529", + "id": 10416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2011:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a", + "typeString": "literal_string \"log(bytes5)\"" + }, + "value": "log(bytes5)" + }, + { + "id": 10417, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10410, + "src": "2026:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a", + "typeString": "literal_string \"log(bytes5)\"" + }, + { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + } + ], + "expression": { + "id": 10414, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1987:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1991:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1987:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1987:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10413, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "1971:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1971:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10420, + "nodeType": "ExpressionStatement", + "src": "1971:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes5", + "nameLocation": "1926:9:13", + "parameters": { + "id": 10411, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10410, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1943:2:13", + "nodeType": "VariableDeclaration", + "scope": 10422, + "src": "1936:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + }, + "typeName": { + "id": 10409, + "name": "bytes5", + "nodeType": "ElementaryTypeName", + "src": "1936:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + } + }, + "visibility": "internal" + } + ], + "src": "1935:11:13" + }, + "returnParameters": { + "id": 10412, + "nodeType": "ParameterList", + "parameters": [], + "src": "1961:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10436, + "nodeType": "FunctionDefinition", + "src": "2043:120:13", + "nodes": [], + "body": { + "id": 10435, + "nodeType": "Block", + "src": "2087:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733629", + "id": 10430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2137:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330", + "typeString": "literal_string \"log(bytes6)\"" + }, + "value": "log(bytes6)" + }, + { + "id": 10431, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10424, + "src": "2152:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330", + "typeString": "literal_string \"log(bytes6)\"" + }, + { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + } + ], + "expression": { + "id": 10428, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2113:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10429, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2117:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2113:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2113:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10427, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "2097:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2097:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10434, + "nodeType": "ExpressionStatement", + "src": "2097:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes6", + "nameLocation": "2052:9:13", + "parameters": { + "id": 10425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10424, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2069:2:13", + "nodeType": "VariableDeclaration", + "scope": 10436, + "src": "2062:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + }, + "typeName": { + "id": 10423, + "name": "bytes6", + "nodeType": "ElementaryTypeName", + "src": "2062:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + } + }, + "visibility": "internal" + } + ], + "src": "2061:11:13" + }, + "returnParameters": { + "id": 10426, + "nodeType": "ParameterList", + "parameters": [], + "src": "2087:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10450, + "nodeType": "FunctionDefinition", + "src": "2169:120:13", + "nodes": [], + "body": { + "id": 10449, + "nodeType": "Block", + "src": "2213:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733729", + "id": 10444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2263:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29", + "typeString": "literal_string \"log(bytes7)\"" + }, + "value": "log(bytes7)" + }, + { + "id": 10445, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10438, + "src": "2278:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29", + "typeString": "literal_string \"log(bytes7)\"" + }, + { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + } + ], + "expression": { + "id": 10442, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2239:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2243:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2239:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2239:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10441, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "2223:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2223:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10448, + "nodeType": "ExpressionStatement", + "src": "2223:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes7", + "nameLocation": "2178:9:13", + "parameters": { + "id": 10439, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10438, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2195:2:13", + "nodeType": "VariableDeclaration", + "scope": 10450, + "src": "2188:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + }, + "typeName": { + "id": 10437, + "name": "bytes7", + "nodeType": "ElementaryTypeName", + "src": "2188:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + } + }, + "visibility": "internal" + } + ], + "src": "2187:11:13" + }, + "returnParameters": { + "id": 10440, + "nodeType": "ParameterList", + "parameters": [], + "src": "2213:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10464, + "nodeType": "FunctionDefinition", + "src": "2295:120:13", + "nodes": [], + "body": { + "id": 10463, + "nodeType": "Block", + "src": "2339:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733829", + "id": 10458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2389:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3", + "typeString": "literal_string \"log(bytes8)\"" + }, + "value": "log(bytes8)" + }, + { + "id": 10459, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10452, + "src": "2404:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3", + "typeString": "literal_string \"log(bytes8)\"" + }, + { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + } + ], + "expression": { + "id": 10456, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2365:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2369:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2365:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2365:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10455, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "2349:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2349:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10462, + "nodeType": "ExpressionStatement", + "src": "2349:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes8", + "nameLocation": "2304:9:13", + "parameters": { + "id": 10453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10452, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2321:2:13", + "nodeType": "VariableDeclaration", + "scope": 10464, + "src": "2314:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + }, + "typeName": { + "id": 10451, + "name": "bytes8", + "nodeType": "ElementaryTypeName", + "src": "2314:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + } + }, + "visibility": "internal" + } + ], + "src": "2313:11:13" + }, + "returnParameters": { + "id": 10454, + "nodeType": "ParameterList", + "parameters": [], + "src": "2339:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10478, + "nodeType": "FunctionDefinition", + "src": "2421:120:13", + "nodes": [], + "body": { + "id": 10477, + "nodeType": "Block", + "src": "2465:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733929", + "id": 10472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2515:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667", + "typeString": "literal_string \"log(bytes9)\"" + }, + "value": "log(bytes9)" + }, + { + "id": 10473, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10466, + "src": "2530:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667", + "typeString": "literal_string \"log(bytes9)\"" + }, + { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + } + ], + "expression": { + "id": 10470, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2491:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2495:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2491:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2491:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10469, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "2475:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2475:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10476, + "nodeType": "ExpressionStatement", + "src": "2475:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes9", + "nameLocation": "2430:9:13", + "parameters": { + "id": 10467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10466, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2447:2:13", + "nodeType": "VariableDeclaration", + "scope": 10478, + "src": "2440:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + }, + "typeName": { + "id": 10465, + "name": "bytes9", + "nodeType": "ElementaryTypeName", + "src": "2440:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + } + }, + "visibility": "internal" + } + ], + "src": "2439:11:13" + }, + "returnParameters": { + "id": 10468, + "nodeType": "ParameterList", + "parameters": [], + "src": "2465:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10492, + "nodeType": "FunctionDefinition", + "src": "2547:123:13", + "nodes": [], + "body": { + "id": 10491, + "nodeType": "Block", + "src": "2593:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313029", + "id": 10486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2643:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66", + "typeString": "literal_string \"log(bytes10)\"" + }, + "value": "log(bytes10)" + }, + { + "id": 10487, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10480, + "src": "2659:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66", + "typeString": "literal_string \"log(bytes10)\"" + }, + { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + } + ], + "expression": { + "id": 10484, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2619:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2623:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2619:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2619:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10483, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "2603:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2603:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10490, + "nodeType": "ExpressionStatement", + "src": "2603:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes10", + "nameLocation": "2556:10:13", + "parameters": { + "id": 10481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10480, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2575:2:13", + "nodeType": "VariableDeclaration", + "scope": 10492, + "src": "2567:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + }, + "typeName": { + "id": 10479, + "name": "bytes10", + "nodeType": "ElementaryTypeName", + "src": "2567:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + } + }, + "visibility": "internal" + } + ], + "src": "2566:12:13" + }, + "returnParameters": { + "id": 10482, + "nodeType": "ParameterList", + "parameters": [], + "src": "2593:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10506, + "nodeType": "FunctionDefinition", + "src": "2676:123:13", + "nodes": [], + "body": { + "id": 10505, + "nodeType": "Block", + "src": "2722:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313129", + "id": 10500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2772:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9", + "typeString": "literal_string \"log(bytes11)\"" + }, + "value": "log(bytes11)" + }, + { + "id": 10501, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10494, + "src": "2788:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9", + "typeString": "literal_string \"log(bytes11)\"" + }, + { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + } + ], + "expression": { + "id": 10498, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2748:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2752:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2748:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2748:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10497, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "2732:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2732:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10504, + "nodeType": "ExpressionStatement", + "src": "2732:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes11", + "nameLocation": "2685:10:13", + "parameters": { + "id": 10495, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10494, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2704:2:13", + "nodeType": "VariableDeclaration", + "scope": 10506, + "src": "2696:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + }, + "typeName": { + "id": 10493, + "name": "bytes11", + "nodeType": "ElementaryTypeName", + "src": "2696:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + } + }, + "visibility": "internal" + } + ], + "src": "2695:12:13" + }, + "returnParameters": { + "id": 10496, + "nodeType": "ParameterList", + "parameters": [], + "src": "2722:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10520, + "nodeType": "FunctionDefinition", + "src": "2805:123:13", + "nodes": [], + "body": { + "id": 10519, + "nodeType": "Block", + "src": "2851:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313229", + "id": 10514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2901:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2", + "typeString": "literal_string \"log(bytes12)\"" + }, + "value": "log(bytes12)" + }, + { + "id": 10515, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10508, + "src": "2917:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2", + "typeString": "literal_string \"log(bytes12)\"" + }, + { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + } + ], + "expression": { + "id": 10512, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2877:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2881:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2877:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2877:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10511, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "2861:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2861:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10518, + "nodeType": "ExpressionStatement", + "src": "2861:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes12", + "nameLocation": "2814:10:13", + "parameters": { + "id": 10509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10508, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2833:2:13", + "nodeType": "VariableDeclaration", + "scope": 10520, + "src": "2825:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + }, + "typeName": { + "id": 10507, + "name": "bytes12", + "nodeType": "ElementaryTypeName", + "src": "2825:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + } + }, + "visibility": "internal" + } + ], + "src": "2824:12:13" + }, + "returnParameters": { + "id": 10510, + "nodeType": "ParameterList", + "parameters": [], + "src": "2851:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10534, + "nodeType": "FunctionDefinition", + "src": "2934:123:13", + "nodes": [], + "body": { + "id": 10533, + "nodeType": "Block", + "src": "2980:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313329", + "id": 10528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3030:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec", + "typeString": "literal_string \"log(bytes13)\"" + }, + "value": "log(bytes13)" + }, + { + "id": 10529, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10522, + "src": "3046:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec", + "typeString": "literal_string \"log(bytes13)\"" + }, + { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + } + ], + "expression": { + "id": 10526, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3006:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3010:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3006:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3006:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10525, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "2990:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2990:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10532, + "nodeType": "ExpressionStatement", + "src": "2990:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes13", + "nameLocation": "2943:10:13", + "parameters": { + "id": 10523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10522, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2962:2:13", + "nodeType": "VariableDeclaration", + "scope": 10534, + "src": "2954:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + }, + "typeName": { + "id": 10521, + "name": "bytes13", + "nodeType": "ElementaryTypeName", + "src": "2954:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + } + }, + "visibility": "internal" + } + ], + "src": "2953:12:13" + }, + "returnParameters": { + "id": 10524, + "nodeType": "ParameterList", + "parameters": [], + "src": "2980:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10548, + "nodeType": "FunctionDefinition", + "src": "3063:123:13", + "nodes": [], + "body": { + "id": 10547, + "nodeType": "Block", + "src": "3109:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313429", + "id": 10542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3159:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278", + "typeString": "literal_string \"log(bytes14)\"" + }, + "value": "log(bytes14)" + }, + { + "id": 10543, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10536, + "src": "3175:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278", + "typeString": "literal_string \"log(bytes14)\"" + }, + { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + } + ], + "expression": { + "id": 10540, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3135:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3139:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3135:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3135:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10539, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "3119:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3119:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10546, + "nodeType": "ExpressionStatement", + "src": "3119:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes14", + "nameLocation": "3072:10:13", + "parameters": { + "id": 10537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10536, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3091:2:13", + "nodeType": "VariableDeclaration", + "scope": 10548, + "src": "3083:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + }, + "typeName": { + "id": 10535, + "name": "bytes14", + "nodeType": "ElementaryTypeName", + "src": "3083:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + } + }, + "visibility": "internal" + } + ], + "src": "3082:12:13" + }, + "returnParameters": { + "id": 10538, + "nodeType": "ParameterList", + "parameters": [], + "src": "3109:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10562, + "nodeType": "FunctionDefinition", + "src": "3192:123:13", + "nodes": [], + "body": { + "id": 10561, + "nodeType": "Block", + "src": "3238:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313529", + "id": 10556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3288:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606", + "typeString": "literal_string \"log(bytes15)\"" + }, + "value": "log(bytes15)" + }, + { + "id": 10557, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10550, + "src": "3304:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606", + "typeString": "literal_string \"log(bytes15)\"" + }, + { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + } + ], + "expression": { + "id": 10554, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3264:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3268:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3264:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3264:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10553, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "3248:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3248:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10560, + "nodeType": "ExpressionStatement", + "src": "3248:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes15", + "nameLocation": "3201:10:13", + "parameters": { + "id": 10551, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10550, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3220:2:13", + "nodeType": "VariableDeclaration", + "scope": 10562, + "src": "3212:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + }, + "typeName": { + "id": 10549, + "name": "bytes15", + "nodeType": "ElementaryTypeName", + "src": "3212:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + } + }, + "visibility": "internal" + } + ], + "src": "3211:12:13" + }, + "returnParameters": { + "id": 10552, + "nodeType": "ParameterList", + "parameters": [], + "src": "3238:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10576, + "nodeType": "FunctionDefinition", + "src": "3321:123:13", + "nodes": [], + "body": { + "id": 10575, + "nodeType": "Block", + "src": "3367:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313629", + "id": 10570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3417:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3", + "typeString": "literal_string \"log(bytes16)\"" + }, + "value": "log(bytes16)" + }, + { + "id": 10571, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10564, + "src": "3433:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3", + "typeString": "literal_string \"log(bytes16)\"" + }, + { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + ], + "expression": { + "id": 10568, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3393:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3397:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3393:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3393:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10567, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "3377:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3377:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10574, + "nodeType": "ExpressionStatement", + "src": "3377:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes16", + "nameLocation": "3330:10:13", + "parameters": { + "id": 10565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10564, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3349:2:13", + "nodeType": "VariableDeclaration", + "scope": 10576, + "src": "3341:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 10563, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "3341:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "visibility": "internal" + } + ], + "src": "3340:12:13" + }, + "returnParameters": { + "id": 10566, + "nodeType": "ParameterList", + "parameters": [], + "src": "3367:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10590, + "nodeType": "FunctionDefinition", + "src": "3450:123:13", + "nodes": [], + "body": { + "id": 10589, + "nodeType": "Block", + "src": "3496:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313729", + "id": 10584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3546:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3", + "typeString": "literal_string \"log(bytes17)\"" + }, + "value": "log(bytes17)" + }, + { + "id": 10585, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10578, + "src": "3562:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3", + "typeString": "literal_string \"log(bytes17)\"" + }, + { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + } + ], + "expression": { + "id": 10582, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3522:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3526:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3522:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3522:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10581, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "3506:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3506:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10588, + "nodeType": "ExpressionStatement", + "src": "3506:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes17", + "nameLocation": "3459:10:13", + "parameters": { + "id": 10579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10578, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3478:2:13", + "nodeType": "VariableDeclaration", + "scope": 10590, + "src": "3470:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + }, + "typeName": { + "id": 10577, + "name": "bytes17", + "nodeType": "ElementaryTypeName", + "src": "3470:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + } + }, + "visibility": "internal" + } + ], + "src": "3469:12:13" + }, + "returnParameters": { + "id": 10580, + "nodeType": "ParameterList", + "parameters": [], + "src": "3496:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10604, + "nodeType": "FunctionDefinition", + "src": "3579:123:13", + "nodes": [], + "body": { + "id": 10603, + "nodeType": "Block", + "src": "3625:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313829", + "id": 10598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3675:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116", + "typeString": "literal_string \"log(bytes18)\"" + }, + "value": "log(bytes18)" + }, + { + "id": 10599, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10592, + "src": "3691:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116", + "typeString": "literal_string \"log(bytes18)\"" + }, + { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + } + ], + "expression": { + "id": 10596, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3651:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3655:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3651:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3651:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10595, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "3635:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3635:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10602, + "nodeType": "ExpressionStatement", + "src": "3635:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes18", + "nameLocation": "3588:10:13", + "parameters": { + "id": 10593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10592, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3607:2:13", + "nodeType": "VariableDeclaration", + "scope": 10604, + "src": "3599:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + }, + "typeName": { + "id": 10591, + "name": "bytes18", + "nodeType": "ElementaryTypeName", + "src": "3599:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + } + }, + "visibility": "internal" + } + ], + "src": "3598:12:13" + }, + "returnParameters": { + "id": 10594, + "nodeType": "ParameterList", + "parameters": [], + "src": "3625:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10618, + "nodeType": "FunctionDefinition", + "src": "3708:123:13", + "nodes": [], + "body": { + "id": 10617, + "nodeType": "Block", + "src": "3754:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313929", + "id": 10612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3804:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada", + "typeString": "literal_string \"log(bytes19)\"" + }, + "value": "log(bytes19)" + }, + { + "id": 10613, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10606, + "src": "3820:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada", + "typeString": "literal_string \"log(bytes19)\"" + }, + { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + } + ], + "expression": { + "id": 10610, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3780:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3784:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3780:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3780:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10609, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "3764:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3764:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10616, + "nodeType": "ExpressionStatement", + "src": "3764:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes19", + "nameLocation": "3717:10:13", + "parameters": { + "id": 10607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10606, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3736:2:13", + "nodeType": "VariableDeclaration", + "scope": 10618, + "src": "3728:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + }, + "typeName": { + "id": 10605, + "name": "bytes19", + "nodeType": "ElementaryTypeName", + "src": "3728:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + } + }, + "visibility": "internal" + } + ], + "src": "3727:12:13" + }, + "returnParameters": { + "id": 10608, + "nodeType": "ParameterList", + "parameters": [], + "src": "3754:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10632, + "nodeType": "FunctionDefinition", + "src": "3837:123:13", + "nodes": [], + "body": { + "id": 10631, + "nodeType": "Block", + "src": "3883:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323029", + "id": 10626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3933:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231", + "typeString": "literal_string \"log(bytes20)\"" + }, + "value": "log(bytes20)" + }, + { + "id": 10627, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10620, + "src": "3949:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231", + "typeString": "literal_string \"log(bytes20)\"" + }, + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + ], + "expression": { + "id": 10624, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3909:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3913:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3909:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3909:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10623, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "3893:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3893:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10630, + "nodeType": "ExpressionStatement", + "src": "3893:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes20", + "nameLocation": "3846:10:13", + "parameters": { + "id": 10621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10620, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3865:2:13", + "nodeType": "VariableDeclaration", + "scope": 10632, + "src": "3857:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + "typeName": { + "id": 10619, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "3857:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + "visibility": "internal" + } + ], + "src": "3856:12:13" + }, + "returnParameters": { + "id": 10622, + "nodeType": "ParameterList", + "parameters": [], + "src": "3883:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10646, + "nodeType": "FunctionDefinition", + "src": "3966:123:13", + "nodes": [], + "body": { + "id": 10645, + "nodeType": "Block", + "src": "4012:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323129", + "id": 10640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4062:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7", + "typeString": "literal_string \"log(bytes21)\"" + }, + "value": "log(bytes21)" + }, + { + "id": 10641, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10634, + "src": "4078:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7", + "typeString": "literal_string \"log(bytes21)\"" + }, + { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + } + ], + "expression": { + "id": 10638, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4038:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4042:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4038:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4038:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10637, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "4022:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4022:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10644, + "nodeType": "ExpressionStatement", + "src": "4022:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes21", + "nameLocation": "3975:10:13", + "parameters": { + "id": 10635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10634, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3994:2:13", + "nodeType": "VariableDeclaration", + "scope": 10646, + "src": "3986:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + }, + "typeName": { + "id": 10633, + "name": "bytes21", + "nodeType": "ElementaryTypeName", + "src": "3986:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + } + }, + "visibility": "internal" + } + ], + "src": "3985:12:13" + }, + "returnParameters": { + "id": 10636, + "nodeType": "ParameterList", + "parameters": [], + "src": "4012:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10660, + "nodeType": "FunctionDefinition", + "src": "4095:123:13", + "nodes": [], + "body": { + "id": 10659, + "nodeType": "Block", + "src": "4141:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323229", + "id": 10654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4191:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575", + "typeString": "literal_string \"log(bytes22)\"" + }, + "value": "log(bytes22)" + }, + { + "id": 10655, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10648, + "src": "4207:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575", + "typeString": "literal_string \"log(bytes22)\"" + }, + { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + } + ], + "expression": { + "id": 10652, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4167:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4171:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4167:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4167:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10651, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "4151:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4151:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10658, + "nodeType": "ExpressionStatement", + "src": "4151:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes22", + "nameLocation": "4104:10:13", + "parameters": { + "id": 10649, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10648, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4123:2:13", + "nodeType": "VariableDeclaration", + "scope": 10660, + "src": "4115:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + }, + "typeName": { + "id": 10647, + "name": "bytes22", + "nodeType": "ElementaryTypeName", + "src": "4115:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + } + }, + "visibility": "internal" + } + ], + "src": "4114:12:13" + }, + "returnParameters": { + "id": 10650, + "nodeType": "ParameterList", + "parameters": [], + "src": "4141:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10674, + "nodeType": "FunctionDefinition", + "src": "4224:123:13", + "nodes": [], + "body": { + "id": 10673, + "nodeType": "Block", + "src": "4270:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323329", + "id": 10668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4320:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061", + "typeString": "literal_string \"log(bytes23)\"" + }, + "value": "log(bytes23)" + }, + { + "id": 10669, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10662, + "src": "4336:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061", + "typeString": "literal_string \"log(bytes23)\"" + }, + { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + } + ], + "expression": { + "id": 10666, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4296:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4300:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4296:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4296:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10665, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "4280:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4280:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10672, + "nodeType": "ExpressionStatement", + "src": "4280:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes23", + "nameLocation": "4233:10:13", + "parameters": { + "id": 10663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10662, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4252:2:13", + "nodeType": "VariableDeclaration", + "scope": 10674, + "src": "4244:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + }, + "typeName": { + "id": 10661, + "name": "bytes23", + "nodeType": "ElementaryTypeName", + "src": "4244:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + } + }, + "visibility": "internal" + } + ], + "src": "4243:12:13" + }, + "returnParameters": { + "id": 10664, + "nodeType": "ParameterList", + "parameters": [], + "src": "4270:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10688, + "nodeType": "FunctionDefinition", + "src": "4353:123:13", + "nodes": [], + "body": { + "id": 10687, + "nodeType": "Block", + "src": "4399:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323429", + "id": 10682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4449:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4", + "typeString": "literal_string \"log(bytes24)\"" + }, + "value": "log(bytes24)" + }, + { + "id": 10683, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10676, + "src": "4465:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4", + "typeString": "literal_string \"log(bytes24)\"" + }, + { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + } + ], + "expression": { + "id": 10680, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4425:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4429:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4425:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4425:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10679, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "4409:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4409:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10686, + "nodeType": "ExpressionStatement", + "src": "4409:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes24", + "nameLocation": "4362:10:13", + "parameters": { + "id": 10677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10676, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4381:2:13", + "nodeType": "VariableDeclaration", + "scope": 10688, + "src": "4373:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + }, + "typeName": { + "id": 10675, + "name": "bytes24", + "nodeType": "ElementaryTypeName", + "src": "4373:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + } + }, + "visibility": "internal" + } + ], + "src": "4372:12:13" + }, + "returnParameters": { + "id": 10678, + "nodeType": "ParameterList", + "parameters": [], + "src": "4399:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10702, + "nodeType": "FunctionDefinition", + "src": "4482:123:13", + "nodes": [], + "body": { + "id": 10701, + "nodeType": "Block", + "src": "4528:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323529", + "id": 10696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4578:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25", + "typeString": "literal_string \"log(bytes25)\"" + }, + "value": "log(bytes25)" + }, + { + "id": 10697, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10690, + "src": "4594:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25", + "typeString": "literal_string \"log(bytes25)\"" + }, + { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + ], + "expression": { + "id": 10694, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4554:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10695, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4558:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4554:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4554:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10693, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "4538:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4538:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10700, + "nodeType": "ExpressionStatement", + "src": "4538:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes25", + "nameLocation": "4491:10:13", + "parameters": { + "id": 10691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10690, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4510:2:13", + "nodeType": "VariableDeclaration", + "scope": 10702, + "src": "4502:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + }, + "typeName": { + "id": 10689, + "name": "bytes25", + "nodeType": "ElementaryTypeName", + "src": "4502:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + }, + "visibility": "internal" + } + ], + "src": "4501:12:13" + }, + "returnParameters": { + "id": 10692, + "nodeType": "ParameterList", + "parameters": [], + "src": "4528:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10716, + "nodeType": "FunctionDefinition", + "src": "4611:123:13", + "nodes": [], + "body": { + "id": 10715, + "nodeType": "Block", + "src": "4657:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323629", + "id": 10710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4707:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b", + "typeString": "literal_string \"log(bytes26)\"" + }, + "value": "log(bytes26)" + }, + { + "id": 10711, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10704, + "src": "4723:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b", + "typeString": "literal_string \"log(bytes26)\"" + }, + { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + } + ], + "expression": { + "id": 10708, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4683:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4687:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4683:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4683:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10707, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "4667:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4667:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10714, + "nodeType": "ExpressionStatement", + "src": "4667:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes26", + "nameLocation": "4620:10:13", + "parameters": { + "id": 10705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10704, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4639:2:13", + "nodeType": "VariableDeclaration", + "scope": 10716, + "src": "4631:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + }, + "typeName": { + "id": 10703, + "name": "bytes26", + "nodeType": "ElementaryTypeName", + "src": "4631:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + } + }, + "visibility": "internal" + } + ], + "src": "4630:12:13" + }, + "returnParameters": { + "id": 10706, + "nodeType": "ParameterList", + "parameters": [], + "src": "4657:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10730, + "nodeType": "FunctionDefinition", + "src": "4740:123:13", + "nodes": [], + "body": { + "id": 10729, + "nodeType": "Block", + "src": "4786:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323729", + "id": 10724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4836:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6", + "typeString": "literal_string \"log(bytes27)\"" + }, + "value": "log(bytes27)" + }, + { + "id": 10725, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10718, + "src": "4852:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6", + "typeString": "literal_string \"log(bytes27)\"" + }, + { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + } + ], + "expression": { + "id": 10722, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4812:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4816:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4812:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4812:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10721, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "4796:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4796:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10728, + "nodeType": "ExpressionStatement", + "src": "4796:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes27", + "nameLocation": "4749:10:13", + "parameters": { + "id": 10719, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10718, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4768:2:13", + "nodeType": "VariableDeclaration", + "scope": 10730, + "src": "4760:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + }, + "typeName": { + "id": 10717, + "name": "bytes27", + "nodeType": "ElementaryTypeName", + "src": "4760:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + } + }, + "visibility": "internal" + } + ], + "src": "4759:12:13" + }, + "returnParameters": { + "id": 10720, + "nodeType": "ParameterList", + "parameters": [], + "src": "4786:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10744, + "nodeType": "FunctionDefinition", + "src": "4869:123:13", + "nodes": [], + "body": { + "id": 10743, + "nodeType": "Block", + "src": "4915:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323829", + "id": 10738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4965:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042", + "typeString": "literal_string \"log(bytes28)\"" + }, + "value": "log(bytes28)" + }, + { + "id": 10739, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10732, + "src": "4981:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042", + "typeString": "literal_string \"log(bytes28)\"" + }, + { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + ], + "expression": { + "id": 10736, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4941:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4945:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4941:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4941:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10735, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "4925:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4925:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10742, + "nodeType": "ExpressionStatement", + "src": "4925:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes28", + "nameLocation": "4878:10:13", + "parameters": { + "id": 10733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10732, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4897:2:13", + "nodeType": "VariableDeclaration", + "scope": 10744, + "src": "4889:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + }, + "typeName": { + "id": 10731, + "name": "bytes28", + "nodeType": "ElementaryTypeName", + "src": "4889:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + }, + "visibility": "internal" + } + ], + "src": "4888:12:13" + }, + "returnParameters": { + "id": 10734, + "nodeType": "ParameterList", + "parameters": [], + "src": "4915:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10758, + "nodeType": "FunctionDefinition", + "src": "4998:123:13", + "nodes": [], + "body": { + "id": 10757, + "nodeType": "Block", + "src": "5044:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323929", + "id": 10752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5094:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667", + "typeString": "literal_string \"log(bytes29)\"" + }, + "value": "log(bytes29)" + }, + { + "id": 10753, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10746, + "src": "5110:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667", + "typeString": "literal_string \"log(bytes29)\"" + }, + { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + } + ], + "expression": { + "id": 10750, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5070:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5074:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5070:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5070:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10749, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "5054:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5054:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10756, + "nodeType": "ExpressionStatement", + "src": "5054:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes29", + "nameLocation": "5007:10:13", + "parameters": { + "id": 10747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10746, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5026:2:13", + "nodeType": "VariableDeclaration", + "scope": 10758, + "src": "5018:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + }, + "typeName": { + "id": 10745, + "name": "bytes29", + "nodeType": "ElementaryTypeName", + "src": "5018:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + } + }, + "visibility": "internal" + } + ], + "src": "5017:12:13" + }, + "returnParameters": { + "id": 10748, + "nodeType": "ParameterList", + "parameters": [], + "src": "5044:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10772, + "nodeType": "FunctionDefinition", + "src": "5127:123:13", + "nodes": [], + "body": { + "id": 10771, + "nodeType": "Block", + "src": "5173:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573333029", + "id": 10766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5223:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad", + "typeString": "literal_string \"log(bytes30)\"" + }, + "value": "log(bytes30)" + }, + { + "id": 10767, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10760, + "src": "5239:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad", + "typeString": "literal_string \"log(bytes30)\"" + }, + { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + } + ], + "expression": { + "id": 10764, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5199:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10765, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5203:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5199:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5199:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10763, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "5183:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5183:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10770, + "nodeType": "ExpressionStatement", + "src": "5183:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes30", + "nameLocation": "5136:10:13", + "parameters": { + "id": 10761, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10760, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5155:2:13", + "nodeType": "VariableDeclaration", + "scope": 10772, + "src": "5147:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + }, + "typeName": { + "id": 10759, + "name": "bytes30", + "nodeType": "ElementaryTypeName", + "src": "5147:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + } + }, + "visibility": "internal" + } + ], + "src": "5146:12:13" + }, + "returnParameters": { + "id": 10762, + "nodeType": "ParameterList", + "parameters": [], + "src": "5173:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10786, + "nodeType": "FunctionDefinition", + "src": "5256:123:13", + "nodes": [], + "body": { + "id": 10785, + "nodeType": "Block", + "src": "5302:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573333129", + "id": 10780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5352:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce", + "typeString": "literal_string \"log(bytes31)\"" + }, + "value": "log(bytes31)" + }, + { + "id": 10781, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10774, + "src": "5368:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce", + "typeString": "literal_string \"log(bytes31)\"" + }, + { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + } + ], + "expression": { + "id": 10778, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5328:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5332:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5328:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5328:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10777, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "5312:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5312:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10784, + "nodeType": "ExpressionStatement", + "src": "5312:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes31", + "nameLocation": "5265:10:13", + "parameters": { + "id": 10775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10774, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5284:2:13", + "nodeType": "VariableDeclaration", + "scope": 10786, + "src": "5276:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + }, + "typeName": { + "id": 10773, + "name": "bytes31", + "nodeType": "ElementaryTypeName", + "src": "5276:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + } + }, + "visibility": "internal" + } + ], + "src": "5275:12:13" + }, + "returnParameters": { + "id": 10776, + "nodeType": "ParameterList", + "parameters": [], + "src": "5302:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10800, + "nodeType": "FunctionDefinition", + "src": "5385:123:13", + "nodes": [], + "body": { + "id": 10799, + "nodeType": "Block", + "src": "5431:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573333229", + "id": 10794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5481:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da", + "typeString": "literal_string \"log(bytes32)\"" + }, + "value": "log(bytes32)" + }, + { + "id": 10795, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10788, + "src": "5497:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da", + "typeString": "literal_string \"log(bytes32)\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 10792, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5457:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5461:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5457:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5457:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10791, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "5441:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5441:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10798, + "nodeType": "ExpressionStatement", + "src": "5441:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes32", + "nameLocation": "5394:10:13", + "parameters": { + "id": 10789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10788, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5413:2:13", + "nodeType": "VariableDeclaration", + "scope": 10800, + "src": "5405:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10787, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5405:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5404:12:13" + }, + "returnParameters": { + "id": 10790, + "nodeType": "ParameterList", + "parameters": [], + "src": "5431:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10814, + "nodeType": "FunctionDefinition", + "src": "5514:110:13", + "nodes": [], + "body": { + "id": 10813, + "nodeType": "Block", + "src": "5550:74:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e7429", + "id": 10808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5600:11:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984", + "typeString": "literal_string \"log(uint)\"" + }, + "value": "log(uint)" + }, + { + "id": 10809, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10802, + "src": "5613:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984", + "typeString": "literal_string \"log(uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10806, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5576:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5580:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5576:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5576:40:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10805, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "5560:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5560:57:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10812, + "nodeType": "ExpressionStatement", + "src": "5560:57:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5523:3:13", + "parameters": { + "id": 10803, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10802, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5532:2:13", + "nodeType": "VariableDeclaration", + "scope": 10814, + "src": "5527:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10801, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5527:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5526:9:13" + }, + "returnParameters": { + "id": 10804, + "nodeType": "ParameterList", + "parameters": [], + "src": "5550:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10828, + "nodeType": "FunctionDefinition", + "src": "5630:121:13", + "nodes": [], + "body": { + "id": 10827, + "nodeType": "Block", + "src": "5675:76:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e6729", + "id": 10822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5725:13:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + "value": "log(string)" + }, + { + "id": 10823, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10816, + "src": "5740:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 10820, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5701:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5705:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5701:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5701:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10819, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "5685:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5685:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10826, + "nodeType": "ExpressionStatement", + "src": "5685:59:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5639:3:13", + "parameters": { + "id": 10817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10816, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5657:2:13", + "nodeType": "VariableDeclaration", + "scope": 10828, + "src": "5643:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10815, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5643:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5642:18:13" + }, + "returnParameters": { + "id": 10818, + "nodeType": "ParameterList", + "parameters": [], + "src": "5675:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10842, + "nodeType": "FunctionDefinition", + "src": "5757:110:13", + "nodes": [], + "body": { + "id": 10841, + "nodeType": "Block", + "src": "5793:74:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c29", + "id": 10836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5843:11:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + "value": "log(bool)" + }, + { + "id": 10837, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10830, + "src": "5856:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 10834, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5819:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5823:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5819:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5819:40:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10833, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "5803:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5803:57:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10840, + "nodeType": "ExpressionStatement", + "src": "5803:57:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5766:3:13", + "parameters": { + "id": 10831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10830, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5775:2:13", + "nodeType": "VariableDeclaration", + "scope": 10842, + "src": "5770:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10829, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5770:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5769:9:13" + }, + "returnParameters": { + "id": 10832, + "nodeType": "ParameterList", + "parameters": [], + "src": "5793:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10856, + "nodeType": "FunctionDefinition", + "src": "5873:116:13", + "nodes": [], + "body": { + "id": 10855, + "nodeType": "Block", + "src": "5912:77:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286164647265737329", + "id": 10850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5962:14:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + "value": "log(address)" + }, + { + "id": 10851, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10844, + "src": "5978:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 10848, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5938:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5942:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5938:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5938:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10847, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "5922:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5922:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10854, + "nodeType": "ExpressionStatement", + "src": "5922:60:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5882:3:13", + "parameters": { + "id": 10845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10844, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5894:2:13", + "nodeType": "VariableDeclaration", + "scope": 10856, + "src": "5886:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10843, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5886:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5885:12:13" + }, + "returnParameters": { + "id": 10846, + "nodeType": "ParameterList", + "parameters": [], + "src": "5912:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10873, + "nodeType": "FunctionDefinition", + "src": "5995:128:13", + "nodes": [], + "body": { + "id": 10872, + "nodeType": "Block", + "src": "6040:83:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e7429", + "id": 10866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6090:16:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32", + "typeString": "literal_string \"log(uint,uint)\"" + }, + "value": "log(uint,uint)" + }, + { + "id": 10867, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10858, + "src": "6108:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10868, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10860, + "src": "6112:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32", + "typeString": "literal_string \"log(uint,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10864, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6066:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6070:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6066:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6066:49:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10863, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "6050:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6050:66:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10871, + "nodeType": "ExpressionStatement", + "src": "6050:66:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6004:3:13", + "parameters": { + "id": 10861, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10858, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6013:2:13", + "nodeType": "VariableDeclaration", + "scope": 10873, + "src": "6008:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10857, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6008:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10860, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6022:2:13", + "nodeType": "VariableDeclaration", + "scope": 10873, + "src": "6017:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10859, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6017:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6007:18:13" + }, + "returnParameters": { + "id": 10862, + "nodeType": "ParameterList", + "parameters": [], + "src": "6040:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10890, + "nodeType": "FunctionDefinition", + "src": "6129:139:13", + "nodes": [], + "body": { + "id": 10889, + "nodeType": "Block", + "src": "6183:85:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e6729", + "id": 10883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6233:18:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8", + "typeString": "literal_string \"log(uint,string)\"" + }, + "value": "log(uint,string)" + }, + { + "id": 10884, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10875, + "src": "6253:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10885, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10877, + "src": "6257:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8", + "typeString": "literal_string \"log(uint,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 10881, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6209:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6213:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6209:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6209:51:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10880, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "6193:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6193:68:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10888, + "nodeType": "ExpressionStatement", + "src": "6193:68:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6138:3:13", + "parameters": { + "id": 10878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10875, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6147:2:13", + "nodeType": "VariableDeclaration", + "scope": 10890, + "src": "6142:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10874, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6142:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10877, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6165:2:13", + "nodeType": "VariableDeclaration", + "scope": 10890, + "src": "6151:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10876, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6151:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6141:27:13" + }, + "returnParameters": { + "id": 10879, + "nodeType": "ParameterList", + "parameters": [], + "src": "6183:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10907, + "nodeType": "FunctionDefinition", + "src": "6274:128:13", + "nodes": [], + "body": { + "id": 10906, + "nodeType": "Block", + "src": "6319:83:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c29", + "id": 10900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6369:16:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172", + "typeString": "literal_string \"log(uint,bool)\"" + }, + "value": "log(uint,bool)" + }, + { + "id": 10901, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10892, + "src": "6387:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10902, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10894, + "src": "6391:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172", + "typeString": "literal_string \"log(uint,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 10898, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6345:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6349:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6345:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6345:49:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10897, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "6329:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6329:66:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10905, + "nodeType": "ExpressionStatement", + "src": "6329:66:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6283:3:13", + "parameters": { + "id": 10895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10892, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6292:2:13", + "nodeType": "VariableDeclaration", + "scope": 10907, + "src": "6287:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10891, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6287:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10894, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6301:2:13", + "nodeType": "VariableDeclaration", + "scope": 10907, + "src": "6296:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10893, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6296:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6286:18:13" + }, + "returnParameters": { + "id": 10896, + "nodeType": "ParameterList", + "parameters": [], + "src": "6319:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10924, + "nodeType": "FunctionDefinition", + "src": "6408:134:13", + "nodes": [], + "body": { + "id": 10923, + "nodeType": "Block", + "src": "6456:86:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c6164647265737329", + "id": 10917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6506:19:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2", + "typeString": "literal_string \"log(uint,address)\"" + }, + "value": "log(uint,address)" + }, + { + "id": 10918, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10909, + "src": "6527:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10919, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10911, + "src": "6531:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2", + "typeString": "literal_string \"log(uint,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 10915, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6482:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6486:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6482:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6482:52:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10914, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "6466:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6466:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10922, + "nodeType": "ExpressionStatement", + "src": "6466:69:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6417:3:13", + "parameters": { + "id": 10912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10909, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6426:2:13", + "nodeType": "VariableDeclaration", + "scope": 10924, + "src": "6421:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10908, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6421:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10911, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6438:2:13", + "nodeType": "VariableDeclaration", + "scope": 10924, + "src": "6430:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10910, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6430:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6420:21:13" + }, + "returnParameters": { + "id": 10913, + "nodeType": "ParameterList", + "parameters": [], + "src": "6456:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10941, + "nodeType": "FunctionDefinition", + "src": "6548:139:13", + "nodes": [], + "body": { + "id": 10940, + "nodeType": "Block", + "src": "6602:85:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e7429", + "id": 10934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6652:18:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd", + "typeString": "literal_string \"log(string,uint)\"" + }, + "value": "log(string,uint)" + }, + { + "id": 10935, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10926, + "src": "6672:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10936, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10928, + "src": "6676:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd", + "typeString": "literal_string \"log(string,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10932, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6628:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6632:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6628:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6628:51:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10931, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "6612:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6612:68:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10939, + "nodeType": "ExpressionStatement", + "src": "6612:68:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6557:3:13", + "parameters": { + "id": 10929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10926, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6575:2:13", + "nodeType": "VariableDeclaration", + "scope": 10941, + "src": "6561:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10925, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6561:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10928, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6584:2:13", + "nodeType": "VariableDeclaration", + "scope": 10941, + "src": "6579:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10927, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6579:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6560:27:13" + }, + "returnParameters": { + "id": 10930, + "nodeType": "ParameterList", + "parameters": [], + "src": "6602:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10958, + "nodeType": "FunctionDefinition", + "src": "6693:150:13", + "nodes": [], + "body": { + "id": 10957, + "nodeType": "Block", + "src": "6756:87:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e6729", + "id": 10951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6806:20:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac", + "typeString": "literal_string \"log(string,string)\"" + }, + "value": "log(string,string)" + }, + { + "id": 10952, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10943, + "src": "6828:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10953, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10945, + "src": "6832:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac", + "typeString": "literal_string \"log(string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 10949, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6782:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6786:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6782:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6782:53:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10948, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "6766:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6766:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10956, + "nodeType": "ExpressionStatement", + "src": "6766:70:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6702:3:13", + "parameters": { + "id": 10946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10943, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6720:2:13", + "nodeType": "VariableDeclaration", + "scope": 10958, + "src": "6706:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10942, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6706:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10945, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6738:2:13", + "nodeType": "VariableDeclaration", + "scope": 10958, + "src": "6724:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10944, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6724:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6705:36:13" + }, + "returnParameters": { + "id": 10947, + "nodeType": "ParameterList", + "parameters": [], + "src": "6756:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10975, + "nodeType": "FunctionDefinition", + "src": "6849:139:13", + "nodes": [], + "body": { + "id": 10974, + "nodeType": "Block", + "src": "6903:85:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c29", + "id": 10968, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6953:18:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870", + "typeString": "literal_string \"log(string,bool)\"" + }, + "value": "log(string,bool)" + }, + { + "id": 10969, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10960, + "src": "6973:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10970, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10962, + "src": "6977:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870", + "typeString": "literal_string \"log(string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 10966, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6929:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6933:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6929:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6929:51:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10965, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "6913:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6913:68:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10973, + "nodeType": "ExpressionStatement", + "src": "6913:68:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6858:3:13", + "parameters": { + "id": 10963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10960, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6876:2:13", + "nodeType": "VariableDeclaration", + "scope": 10975, + "src": "6862:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10959, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6862:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10962, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6885:2:13", + "nodeType": "VariableDeclaration", + "scope": 10975, + "src": "6880:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10961, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6880:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6861:27:13" + }, + "returnParameters": { + "id": 10964, + "nodeType": "ParameterList", + "parameters": [], + "src": "6903:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 10992, + "nodeType": "FunctionDefinition", + "src": "6994:145:13", + "nodes": [], + "body": { + "id": 10991, + "nodeType": "Block", + "src": "7051:88:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c6164647265737329", + "id": 10985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7101:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72", + "typeString": "literal_string \"log(string,address)\"" + }, + "value": "log(string,address)" + }, + { + "id": 10986, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10977, + "src": "7124:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10987, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10979, + "src": "7128:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72", + "typeString": "literal_string \"log(string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 10983, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7077:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7081:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7077:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7077:54:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10982, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "7061:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7061:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10990, + "nodeType": "ExpressionStatement", + "src": "7061:71:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7003:3:13", + "parameters": { + "id": 10980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10977, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7021:2:13", + "nodeType": "VariableDeclaration", + "scope": 10992, + "src": "7007:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10976, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7007:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10979, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7033:2:13", + "nodeType": "VariableDeclaration", + "scope": 10992, + "src": "7025:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10978, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7025:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7006:30:13" + }, + "returnParameters": { + "id": 10981, + "nodeType": "ParameterList", + "parameters": [], + "src": "7051:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11009, + "nodeType": "FunctionDefinition", + "src": "7145:128:13", + "nodes": [], + "body": { + "id": 11008, + "nodeType": "Block", + "src": "7190:83:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e7429", + "id": 11002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7240:16:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299", + "typeString": "literal_string \"log(bool,uint)\"" + }, + "value": "log(bool,uint)" + }, + { + "id": 11003, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10994, + "src": "7258:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11004, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10996, + "src": "7262:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299", + "typeString": "literal_string \"log(bool,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11000, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7216:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7220:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7216:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7216:49:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10999, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "7200:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7200:66:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11007, + "nodeType": "ExpressionStatement", + "src": "7200:66:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7154:3:13", + "parameters": { + "id": 10997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10994, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7163:2:13", + "nodeType": "VariableDeclaration", + "scope": 11009, + "src": "7158:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10993, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7158:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10996, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7172:2:13", + "nodeType": "VariableDeclaration", + "scope": 11009, + "src": "7167:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10995, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7167:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7157:18:13" + }, + "returnParameters": { + "id": 10998, + "nodeType": "ParameterList", + "parameters": [], + "src": "7190:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11026, + "nodeType": "FunctionDefinition", + "src": "7279:139:13", + "nodes": [], + "body": { + "id": 11025, + "nodeType": "Block", + "src": "7333:85:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e6729", + "id": 11019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7383:18:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84", + "typeString": "literal_string \"log(bool,string)\"" + }, + "value": "log(bool,string)" + }, + { + "id": 11020, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11011, + "src": "7403:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11021, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11013, + "src": "7407:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84", + "typeString": "literal_string \"log(bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11017, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7359:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7363:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7359:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7359:51:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11016, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "7343:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7343:68:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11024, + "nodeType": "ExpressionStatement", + "src": "7343:68:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7288:3:13", + "parameters": { + "id": 11014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11011, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7297:2:13", + "nodeType": "VariableDeclaration", + "scope": 11026, + "src": "7292:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11010, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7292:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11013, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7315:2:13", + "nodeType": "VariableDeclaration", + "scope": 11026, + "src": "7301:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11012, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7301:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7291:27:13" + }, + "returnParameters": { + "id": 11015, + "nodeType": "ParameterList", + "parameters": [], + "src": "7333:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11043, + "nodeType": "FunctionDefinition", + "src": "7424:128:13", + "nodes": [], + "body": { + "id": 11042, + "nodeType": "Block", + "src": "7469:83:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c29", + "id": 11036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7519:16:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15", + "typeString": "literal_string \"log(bool,bool)\"" + }, + "value": "log(bool,bool)" + }, + { + "id": 11037, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11028, + "src": "7537:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11038, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11030, + "src": "7541:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15", + "typeString": "literal_string \"log(bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11034, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7495:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11035, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7499:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7495:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7495:49:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11033, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "7479:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7479:66:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11041, + "nodeType": "ExpressionStatement", + "src": "7479:66:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7433:3:13", + "parameters": { + "id": 11031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11028, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7442:2:13", + "nodeType": "VariableDeclaration", + "scope": 11043, + "src": "7437:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11027, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7437:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11030, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7451:2:13", + "nodeType": "VariableDeclaration", + "scope": 11043, + "src": "7446:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11029, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7446:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7436:18:13" + }, + "returnParameters": { + "id": 11032, + "nodeType": "ParameterList", + "parameters": [], + "src": "7469:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11060, + "nodeType": "FunctionDefinition", + "src": "7558:134:13", + "nodes": [], + "body": { + "id": 11059, + "nodeType": "Block", + "src": "7606:86:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c6164647265737329", + "id": 11053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7656:19:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55", + "typeString": "literal_string \"log(bool,address)\"" + }, + "value": "log(bool,address)" + }, + { + "id": 11054, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11045, + "src": "7677:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11055, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11047, + "src": "7681:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55", + "typeString": "literal_string \"log(bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11051, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7632:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7636:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7632:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7632:52:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11050, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "7616:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7616:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11058, + "nodeType": "ExpressionStatement", + "src": "7616:69:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7567:3:13", + "parameters": { + "id": 11048, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11045, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7576:2:13", + "nodeType": "VariableDeclaration", + "scope": 11060, + "src": "7571:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11044, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7571:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11047, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7588:2:13", + "nodeType": "VariableDeclaration", + "scope": 11060, + "src": "7580:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11046, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7580:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7570:21:13" + }, + "returnParameters": { + "id": 11049, + "nodeType": "ParameterList", + "parameters": [], + "src": "7606:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11077, + "nodeType": "FunctionDefinition", + "src": "7698:134:13", + "nodes": [], + "body": { + "id": 11076, + "nodeType": "Block", + "src": "7746:86:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e7429", + "id": 11070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7796:19:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133", + "typeString": "literal_string \"log(address,uint)\"" + }, + "value": "log(address,uint)" + }, + { + "id": 11071, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11062, + "src": "7817:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11072, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11064, + "src": "7821:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133", + "typeString": "literal_string \"log(address,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11068, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7772:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7776:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7772:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7772:52:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11067, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "7756:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7756:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11075, + "nodeType": "ExpressionStatement", + "src": "7756:69:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7707:3:13", + "parameters": { + "id": 11065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11062, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7719:2:13", + "nodeType": "VariableDeclaration", + "scope": 11077, + "src": "7711:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11061, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7711:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11064, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7728:2:13", + "nodeType": "VariableDeclaration", + "scope": 11077, + "src": "7723:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11063, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7723:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7710:21:13" + }, + "returnParameters": { + "id": 11066, + "nodeType": "ParameterList", + "parameters": [], + "src": "7746:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11094, + "nodeType": "FunctionDefinition", + "src": "7838:145:13", + "nodes": [], + "body": { + "id": 11093, + "nodeType": "Block", + "src": "7895:88:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e6729", + "id": 11087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7945:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab", + "typeString": "literal_string \"log(address,string)\"" + }, + "value": "log(address,string)" + }, + { + "id": 11088, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11079, + "src": "7968:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11089, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "7972:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab", + "typeString": "literal_string \"log(address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11085, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7921:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7925:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7921:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7921:54:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11084, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "7905:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7905:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11092, + "nodeType": "ExpressionStatement", + "src": "7905:71:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7847:3:13", + "parameters": { + "id": 11082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11079, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7859:2:13", + "nodeType": "VariableDeclaration", + "scope": 11094, + "src": "7851:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11078, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7851:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11081, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7877:2:13", + "nodeType": "VariableDeclaration", + "scope": 11094, + "src": "7863:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11080, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7863:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7850:30:13" + }, + "returnParameters": { + "id": 11083, + "nodeType": "ParameterList", + "parameters": [], + "src": "7895:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11111, + "nodeType": "FunctionDefinition", + "src": "7989:134:13", + "nodes": [], + "body": { + "id": 11110, + "nodeType": "Block", + "src": "8037:86:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c29", + "id": 11104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8087:19:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b", + "typeString": "literal_string \"log(address,bool)\"" + }, + "value": "log(address,bool)" + }, + { + "id": 11105, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11096, + "src": "8108:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11106, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11098, + "src": "8112:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b", + "typeString": "literal_string \"log(address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11102, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8063:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8067:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8063:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8063:52:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11101, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "8047:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8047:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11109, + "nodeType": "ExpressionStatement", + "src": "8047:69:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7998:3:13", + "parameters": { + "id": 11099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11096, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8010:2:13", + "nodeType": "VariableDeclaration", + "scope": 11111, + "src": "8002:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11095, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8002:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11098, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8019:2:13", + "nodeType": "VariableDeclaration", + "scope": 11111, + "src": "8014:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11097, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8014:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8001:21:13" + }, + "returnParameters": { + "id": 11100, + "nodeType": "ParameterList", + "parameters": [], + "src": "8037:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11128, + "nodeType": "FunctionDefinition", + "src": "8129:140:13", + "nodes": [], + "body": { + "id": 11127, + "nodeType": "Block", + "src": "8180:89:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c6164647265737329", + "id": 11121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8230:22:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161", + "typeString": "literal_string \"log(address,address)\"" + }, + "value": "log(address,address)" + }, + { + "id": 11122, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11113, + "src": "8254:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11123, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11115, + "src": "8258:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161", + "typeString": "literal_string \"log(address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11119, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8206:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8210:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8206:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8206:55:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11118, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "8190:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8190:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11126, + "nodeType": "ExpressionStatement", + "src": "8190:72:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8138:3:13", + "parameters": { + "id": 11116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11113, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8150:2:13", + "nodeType": "VariableDeclaration", + "scope": 11128, + "src": "8142:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8142:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11115, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8162:2:13", + "nodeType": "VariableDeclaration", + "scope": 11128, + "src": "8154:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11114, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8154:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8141:24:13" + }, + "returnParameters": { + "id": 11117, + "nodeType": "ParameterList", + "parameters": [], + "src": "8180:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11148, + "nodeType": "FunctionDefinition", + "src": "8275:146:13", + "nodes": [], + "body": { + "id": 11147, + "nodeType": "Block", + "src": "8329:92:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e7429", + "id": 11140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8379:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17", + "typeString": "literal_string \"log(uint,uint,uint)\"" + }, + "value": "log(uint,uint,uint)" + }, + { + "id": 11141, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11130, + "src": "8402:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11142, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11132, + "src": "8406:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11143, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11134, + "src": "8410:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17", + "typeString": "literal_string \"log(uint,uint,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11138, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8355:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8359:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8355:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8355:58:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11137, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "8339:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8339:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11146, + "nodeType": "ExpressionStatement", + "src": "8339:75:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8284:3:13", + "parameters": { + "id": 11135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11130, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8293:2:13", + "nodeType": "VariableDeclaration", + "scope": 11148, + "src": "8288:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11129, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8288:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11132, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8302:2:13", + "nodeType": "VariableDeclaration", + "scope": 11148, + "src": "8297:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11131, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8297:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11134, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8311:2:13", + "nodeType": "VariableDeclaration", + "scope": 11148, + "src": "8306:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11133, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8306:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8287:27:13" + }, + "returnParameters": { + "id": 11136, + "nodeType": "ParameterList", + "parameters": [], + "src": "8329:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11168, + "nodeType": "FunctionDefinition", + "src": "8427:157:13", + "nodes": [], + "body": { + "id": 11167, + "nodeType": "Block", + "src": "8490:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e6729", + "id": 11160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8540:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699", + "typeString": "literal_string \"log(uint,uint,string)\"" + }, + "value": "log(uint,uint,string)" + }, + { + "id": 11161, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11150, + "src": "8565:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11162, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11152, + "src": "8569:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11163, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11154, + "src": "8573:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699", + "typeString": "literal_string \"log(uint,uint,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11158, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8516:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8520:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8516:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8516:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11157, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "8500:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8500:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11166, + "nodeType": "ExpressionStatement", + "src": "8500:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8436:3:13", + "parameters": { + "id": 11155, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11150, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8445:2:13", + "nodeType": "VariableDeclaration", + "scope": 11168, + "src": "8440:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11149, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8440:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11152, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8454:2:13", + "nodeType": "VariableDeclaration", + "scope": 11168, + "src": "8449:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11151, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8449:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11154, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8472:2:13", + "nodeType": "VariableDeclaration", + "scope": 11168, + "src": "8458:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11153, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8458:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8439:36:13" + }, + "returnParameters": { + "id": 11156, + "nodeType": "ParameterList", + "parameters": [], + "src": "8490:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11188, + "nodeType": "FunctionDefinition", + "src": "8590:146:13", + "nodes": [], + "body": { + "id": 11187, + "nodeType": "Block", + "src": "8644:92:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c29", + "id": 11180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8694:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8", + "typeString": "literal_string \"log(uint,uint,bool)\"" + }, + "value": "log(uint,uint,bool)" + }, + { + "id": 11181, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11170, + "src": "8717:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11182, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11172, + "src": "8721:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11183, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11174, + "src": "8725:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8", + "typeString": "literal_string \"log(uint,uint,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11178, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8670:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8674:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8670:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8670:58:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11177, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "8654:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8654:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11186, + "nodeType": "ExpressionStatement", + "src": "8654:75:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8599:3:13", + "parameters": { + "id": 11175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11170, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8608:2:13", + "nodeType": "VariableDeclaration", + "scope": 11188, + "src": "8603:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11169, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8603:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11172, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8617:2:13", + "nodeType": "VariableDeclaration", + "scope": 11188, + "src": "8612:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11171, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8612:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11174, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8626:2:13", + "nodeType": "VariableDeclaration", + "scope": 11188, + "src": "8621:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11173, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8621:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8602:27:13" + }, + "returnParameters": { + "id": 11176, + "nodeType": "ParameterList", + "parameters": [], + "src": "8644:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11208, + "nodeType": "FunctionDefinition", + "src": "8742:152:13", + "nodes": [], + "body": { + "id": 11207, + "nodeType": "Block", + "src": "8799:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c6164647265737329", + "id": 11200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8849:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616", + "typeString": "literal_string \"log(uint,uint,address)\"" + }, + "value": "log(uint,uint,address)" + }, + { + "id": 11201, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11190, + "src": "8875:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11202, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11192, + "src": "8879:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11203, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11194, + "src": "8883:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616", + "typeString": "literal_string \"log(uint,uint,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11198, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8825:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8829:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8825:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8825:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11197, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "8809:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8809:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11206, + "nodeType": "ExpressionStatement", + "src": "8809:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8751:3:13", + "parameters": { + "id": 11195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11190, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8760:2:13", + "nodeType": "VariableDeclaration", + "scope": 11208, + "src": "8755:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11189, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8755:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11192, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8769:2:13", + "nodeType": "VariableDeclaration", + "scope": 11208, + "src": "8764:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11191, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8764:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11194, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8781:2:13", + "nodeType": "VariableDeclaration", + "scope": 11208, + "src": "8773:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11193, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8773:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8754:30:13" + }, + "returnParameters": { + "id": 11196, + "nodeType": "ParameterList", + "parameters": [], + "src": "8799:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11228, + "nodeType": "FunctionDefinition", + "src": "8900:157:13", + "nodes": [], + "body": { + "id": 11227, + "nodeType": "Block", + "src": "8963:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e7429", + "id": 11220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9013:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd", + "typeString": "literal_string \"log(uint,string,uint)\"" + }, + "value": "log(uint,string,uint)" + }, + { + "id": 11221, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11210, + "src": "9038:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11222, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11212, + "src": "9042:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11223, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11214, + "src": "9046:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd", + "typeString": "literal_string \"log(uint,string,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11218, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8989:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8993:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8989:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8989:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11217, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "8973:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8973:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11226, + "nodeType": "ExpressionStatement", + "src": "8973:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8909:3:13", + "parameters": { + "id": 11215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11210, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8918:2:13", + "nodeType": "VariableDeclaration", + "scope": 11228, + "src": "8913:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11209, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8913:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11212, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8936:2:13", + "nodeType": "VariableDeclaration", + "scope": 11228, + "src": "8922:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11211, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8922:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11214, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8945:2:13", + "nodeType": "VariableDeclaration", + "scope": 11228, + "src": "8940:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11213, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8940:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8912:36:13" + }, + "returnParameters": { + "id": 11216, + "nodeType": "ParameterList", + "parameters": [], + "src": "8963:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11248, + "nodeType": "FunctionDefinition", + "src": "9063:168:13", + "nodes": [], + "body": { + "id": 11247, + "nodeType": "Block", + "src": "9135:96:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e6729", + "id": 11240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9185:25:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65", + "typeString": "literal_string \"log(uint,string,string)\"" + }, + "value": "log(uint,string,string)" + }, + { + "id": 11241, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11230, + "src": "9212:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11242, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11232, + "src": "9216:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11243, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11234, + "src": "9220:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65", + "typeString": "literal_string \"log(uint,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11238, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9161:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11239, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9165:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9161:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9161:62:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11237, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "9145:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9145:79:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11246, + "nodeType": "ExpressionStatement", + "src": "9145:79:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9072:3:13", + "parameters": { + "id": 11235, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11230, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9081:2:13", + "nodeType": "VariableDeclaration", + "scope": 11248, + "src": "9076:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11229, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9076:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11232, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9099:2:13", + "nodeType": "VariableDeclaration", + "scope": 11248, + "src": "9085:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11231, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9085:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11234, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9117:2:13", + "nodeType": "VariableDeclaration", + "scope": 11248, + "src": "9103:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11233, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9103:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9075:45:13" + }, + "returnParameters": { + "id": 11236, + "nodeType": "ParameterList", + "parameters": [], + "src": "9135:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11268, + "nodeType": "FunctionDefinition", + "src": "9237:157:13", + "nodes": [], + "body": { + "id": 11267, + "nodeType": "Block", + "src": "9300:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c29", + "id": 11260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9350:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485", + "typeString": "literal_string \"log(uint,string,bool)\"" + }, + "value": "log(uint,string,bool)" + }, + { + "id": 11261, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11250, + "src": "9375:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11262, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11252, + "src": "9379:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11263, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11254, + "src": "9383:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485", + "typeString": "literal_string \"log(uint,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11258, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9326:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9330:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9326:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9326:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11257, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "9310:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9310:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11266, + "nodeType": "ExpressionStatement", + "src": "9310:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9246:3:13", + "parameters": { + "id": 11255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11250, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9255:2:13", + "nodeType": "VariableDeclaration", + "scope": 11268, + "src": "9250:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11249, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9250:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11252, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9273:2:13", + "nodeType": "VariableDeclaration", + "scope": 11268, + "src": "9259:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11251, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9259:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11254, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9282:2:13", + "nodeType": "VariableDeclaration", + "scope": 11268, + "src": "9277:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11253, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9277:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "9249:36:13" + }, + "returnParameters": { + "id": 11256, + "nodeType": "ParameterList", + "parameters": [], + "src": "9300:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11288, + "nodeType": "FunctionDefinition", + "src": "9400:163:13", + "nodes": [], + "body": { + "id": 11287, + "nodeType": "Block", + "src": "9466:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c6164647265737329", + "id": 11280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9516:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac", + "typeString": "literal_string \"log(uint,string,address)\"" + }, + "value": "log(uint,string,address)" + }, + { + "id": 11281, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11270, + "src": "9544:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11282, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11272, + "src": "9548:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11283, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "9552:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac", + "typeString": "literal_string \"log(uint,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11278, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9492:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9496:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9492:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9492:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11277, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "9476:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9476:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11286, + "nodeType": "ExpressionStatement", + "src": "9476:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9409:3:13", + "parameters": { + "id": 11275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11270, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9418:2:13", + "nodeType": "VariableDeclaration", + "scope": 11288, + "src": "9413:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11269, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9413:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11272, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9436:2:13", + "nodeType": "VariableDeclaration", + "scope": 11288, + "src": "9422:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11271, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9422:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11274, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9448:2:13", + "nodeType": "VariableDeclaration", + "scope": 11288, + "src": "9440:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11273, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9440:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9412:39:13" + }, + "returnParameters": { + "id": 11276, + "nodeType": "ParameterList", + "parameters": [], + "src": "9466:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11308, + "nodeType": "FunctionDefinition", + "src": "9569:146:13", + "nodes": [], + "body": { + "id": 11307, + "nodeType": "Block", + "src": "9623:92:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e7429", + "id": 11300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9673:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6", + "typeString": "literal_string \"log(uint,bool,uint)\"" + }, + "value": "log(uint,bool,uint)" + }, + { + "id": 11301, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11290, + "src": "9696:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11302, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11292, + "src": "9700:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11303, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11294, + "src": "9704:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6", + "typeString": "literal_string \"log(uint,bool,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11298, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9649:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9653:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9649:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9649:58:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11297, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "9633:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9633:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11306, + "nodeType": "ExpressionStatement", + "src": "9633:75:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9578:3:13", + "parameters": { + "id": 11295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11290, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9587:2:13", + "nodeType": "VariableDeclaration", + "scope": 11308, + "src": "9582:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11289, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9582:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11292, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9596:2:13", + "nodeType": "VariableDeclaration", + "scope": 11308, + "src": "9591:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11291, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9591:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11294, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9605:2:13", + "nodeType": "VariableDeclaration", + "scope": 11308, + "src": "9600:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11293, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9600:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9581:27:13" + }, + "returnParameters": { + "id": 11296, + "nodeType": "ParameterList", + "parameters": [], + "src": "9623:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11328, + "nodeType": "FunctionDefinition", + "src": "9721:157:13", + "nodes": [], + "body": { + "id": 11327, + "nodeType": "Block", + "src": "9784:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e6729", + "id": 11320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9834:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82", + "typeString": "literal_string \"log(uint,bool,string)\"" + }, + "value": "log(uint,bool,string)" + }, + { + "id": 11321, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11310, + "src": "9859:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11322, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11312, + "src": "9863:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11323, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11314, + "src": "9867:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82", + "typeString": "literal_string \"log(uint,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11318, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9810:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9814:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9810:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9810:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11317, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "9794:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9794:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11326, + "nodeType": "ExpressionStatement", + "src": "9794:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9730:3:13", + "parameters": { + "id": 11315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11310, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9739:2:13", + "nodeType": "VariableDeclaration", + "scope": 11328, + "src": "9734:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11309, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9734:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11312, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9748:2:13", + "nodeType": "VariableDeclaration", + "scope": 11328, + "src": "9743:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11311, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9743:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11314, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9766:2:13", + "nodeType": "VariableDeclaration", + "scope": 11328, + "src": "9752:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11313, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9752:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9733:36:13" + }, + "returnParameters": { + "id": 11316, + "nodeType": "ParameterList", + "parameters": [], + "src": "9784:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11348, + "nodeType": "FunctionDefinition", + "src": "9884:146:13", + "nodes": [], + "body": { + "id": 11347, + "nodeType": "Block", + "src": "9938:92:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c29", + "id": 11340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9988:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971", + "typeString": "literal_string \"log(uint,bool,bool)\"" + }, + "value": "log(uint,bool,bool)" + }, + { + "id": 11341, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11330, + "src": "10011:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11342, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11332, + "src": "10015:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11343, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11334, + "src": "10019:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971", + "typeString": "literal_string \"log(uint,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11338, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9964:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9968:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9964:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9964:58:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11337, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "9948:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9948:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11346, + "nodeType": "ExpressionStatement", + "src": "9948:75:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9893:3:13", + "parameters": { + "id": 11335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11330, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9902:2:13", + "nodeType": "VariableDeclaration", + "scope": 11348, + "src": "9897:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11329, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9897:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11332, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9911:2:13", + "nodeType": "VariableDeclaration", + "scope": 11348, + "src": "9906:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11331, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9906:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11334, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9920:2:13", + "nodeType": "VariableDeclaration", + "scope": 11348, + "src": "9915:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11333, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9915:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "9896:27:13" + }, + "returnParameters": { + "id": 11336, + "nodeType": "ParameterList", + "parameters": [], + "src": "9938:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11368, + "nodeType": "FunctionDefinition", + "src": "10036:152:13", + "nodes": [], + "body": { + "id": 11367, + "nodeType": "Block", + "src": "10093:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c6164647265737329", + "id": 11360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10143:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2", + "typeString": "literal_string \"log(uint,bool,address)\"" + }, + "value": "log(uint,bool,address)" + }, + { + "id": 11361, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11350, + "src": "10169:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11362, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11352, + "src": "10173:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11363, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11354, + "src": "10177:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2", + "typeString": "literal_string \"log(uint,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11358, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10119:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10123:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10119:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10119:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11357, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "10103:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10103:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11366, + "nodeType": "ExpressionStatement", + "src": "10103:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10045:3:13", + "parameters": { + "id": 11355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11350, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10054:2:13", + "nodeType": "VariableDeclaration", + "scope": 11368, + "src": "10049:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11349, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10049:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11352, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10063:2:13", + "nodeType": "VariableDeclaration", + "scope": 11368, + "src": "10058:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11351, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10058:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11354, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10075:2:13", + "nodeType": "VariableDeclaration", + "scope": 11368, + "src": "10067:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11353, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10067:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10048:30:13" + }, + "returnParameters": { + "id": 11356, + "nodeType": "ParameterList", + "parameters": [], + "src": "10093:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11388, + "nodeType": "FunctionDefinition", + "src": "10194:152:13", + "nodes": [], + "body": { + "id": 11387, + "nodeType": "Block", + "src": "10251:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e7429", + "id": 11380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10301:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617", + "typeString": "literal_string \"log(uint,address,uint)\"" + }, + "value": "log(uint,address,uint)" + }, + { + "id": 11381, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11370, + "src": "10327:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11382, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11372, + "src": "10331:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11383, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11374, + "src": "10335:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617", + "typeString": "literal_string \"log(uint,address,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11378, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10277:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10281:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10277:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10277:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11377, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "10261:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10261:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11386, + "nodeType": "ExpressionStatement", + "src": "10261:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10203:3:13", + "parameters": { + "id": 11375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11370, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10212:2:13", + "nodeType": "VariableDeclaration", + "scope": 11388, + "src": "10207:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11369, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10207:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11372, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10224:2:13", + "nodeType": "VariableDeclaration", + "scope": 11388, + "src": "10216:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11371, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10216:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11374, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10233:2:13", + "nodeType": "VariableDeclaration", + "scope": 11388, + "src": "10228:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11373, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10228:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10206:30:13" + }, + "returnParameters": { + "id": 11376, + "nodeType": "ParameterList", + "parameters": [], + "src": "10251:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11408, + "nodeType": "FunctionDefinition", + "src": "10352:163:13", + "nodes": [], + "body": { + "id": 11407, + "nodeType": "Block", + "src": "10418:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e6729", + "id": 11400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10468:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed", + "typeString": "literal_string \"log(uint,address,string)\"" + }, + "value": "log(uint,address,string)" + }, + { + "id": 11401, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11390, + "src": "10496:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11402, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11392, + "src": "10500:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11403, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11394, + "src": "10504:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed", + "typeString": "literal_string \"log(uint,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11398, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10444:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10448:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10444:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10444:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11397, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "10428:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10428:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11406, + "nodeType": "ExpressionStatement", + "src": "10428:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10361:3:13", + "parameters": { + "id": 11395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11390, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10370:2:13", + "nodeType": "VariableDeclaration", + "scope": 11408, + "src": "10365:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11389, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10365:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11392, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10382:2:13", + "nodeType": "VariableDeclaration", + "scope": 11408, + "src": "10374:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10374:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11394, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10400:2:13", + "nodeType": "VariableDeclaration", + "scope": 11408, + "src": "10386:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11393, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10386:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10364:39:13" + }, + "returnParameters": { + "id": 11396, + "nodeType": "ParameterList", + "parameters": [], + "src": "10418:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11428, + "nodeType": "FunctionDefinition", + "src": "10521:152:13", + "nodes": [], + "body": { + "id": 11427, + "nodeType": "Block", + "src": "10578:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c29", + "id": 11420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10628:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80", + "typeString": "literal_string \"log(uint,address,bool)\"" + }, + "value": "log(uint,address,bool)" + }, + { + "id": 11421, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11410, + "src": "10654:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11422, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11412, + "src": "10658:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11423, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11414, + "src": "10662:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80", + "typeString": "literal_string \"log(uint,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11418, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10604:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10608:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10604:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10604:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11417, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "10588:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10588:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11426, + "nodeType": "ExpressionStatement", + "src": "10588:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10530:3:13", + "parameters": { + "id": 11415, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11410, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10539:2:13", + "nodeType": "VariableDeclaration", + "scope": 11428, + "src": "10534:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11409, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10534:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11412, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10551:2:13", + "nodeType": "VariableDeclaration", + "scope": 11428, + "src": "10543:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10543:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11414, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10560:2:13", + "nodeType": "VariableDeclaration", + "scope": 11428, + "src": "10555:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11413, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10555:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "10533:30:13" + }, + "returnParameters": { + "id": 11416, + "nodeType": "ParameterList", + "parameters": [], + "src": "10578:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11448, + "nodeType": "FunctionDefinition", + "src": "10679:158:13", + "nodes": [], + "body": { + "id": 11447, + "nodeType": "Block", + "src": "10739:98:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c6164647265737329", + "id": 11440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10789:27:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b", + "typeString": "literal_string \"log(uint,address,address)\"" + }, + "value": "log(uint,address,address)" + }, + { + "id": 11441, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11430, + "src": "10818:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11442, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11432, + "src": "10822:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11443, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11434, + "src": "10826:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b", + "typeString": "literal_string \"log(uint,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11438, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10765:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10769:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10765:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10765:64:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11437, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "10749:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10749:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11446, + "nodeType": "ExpressionStatement", + "src": "10749:81:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10688:3:13", + "parameters": { + "id": 11435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11430, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10697:2:13", + "nodeType": "VariableDeclaration", + "scope": 11448, + "src": "10692:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11429, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10692:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11432, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10709:2:13", + "nodeType": "VariableDeclaration", + "scope": 11448, + "src": "10701:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11431, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10701:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11434, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10721:2:13", + "nodeType": "VariableDeclaration", + "scope": 11448, + "src": "10713:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11433, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10713:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10691:33:13" + }, + "returnParameters": { + "id": 11436, + "nodeType": "ParameterList", + "parameters": [], + "src": "10739:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11468, + "nodeType": "FunctionDefinition", + "src": "10843:157:13", + "nodes": [], + "body": { + "id": 11467, + "nodeType": "Block", + "src": "10906:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e7429", + "id": 11460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10956:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e", + "typeString": "literal_string \"log(string,uint,uint)\"" + }, + "value": "log(string,uint,uint)" + }, + { + "id": 11461, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11450, + "src": "10981:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11462, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11452, + "src": "10985:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11463, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11454, + "src": "10989:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e", + "typeString": "literal_string \"log(string,uint,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11458, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10932:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10936:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10932:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10932:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11457, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "10916:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10916:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11466, + "nodeType": "ExpressionStatement", + "src": "10916:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10852:3:13", + "parameters": { + "id": 11455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11450, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10870:2:13", + "nodeType": "VariableDeclaration", + "scope": 11468, + "src": "10856:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11449, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10856:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11452, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10879:2:13", + "nodeType": "VariableDeclaration", + "scope": 11468, + "src": "10874:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11451, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10874:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11454, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10888:2:13", + "nodeType": "VariableDeclaration", + "scope": 11468, + "src": "10883:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11453, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10883:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10855:36:13" + }, + "returnParameters": { + "id": 11456, + "nodeType": "ParameterList", + "parameters": [], + "src": "10906:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11488, + "nodeType": "FunctionDefinition", + "src": "11006:168:13", + "nodes": [], + "body": { + "id": 11487, + "nodeType": "Block", + "src": "11078:96:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e6729", + "id": 11480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11128:25:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec", + "typeString": "literal_string \"log(string,uint,string)\"" + }, + "value": "log(string,uint,string)" + }, + { + "id": 11481, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11470, + "src": "11155:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11482, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11472, + "src": "11159:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11483, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11474, + "src": "11163:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec", + "typeString": "literal_string \"log(string,uint,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11478, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11104:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11108:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11104:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11104:62:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11477, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "11088:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11088:79:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11486, + "nodeType": "ExpressionStatement", + "src": "11088:79:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11015:3:13", + "parameters": { + "id": 11475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11470, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11033:2:13", + "nodeType": "VariableDeclaration", + "scope": 11488, + "src": "11019:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11469, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11019:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11472, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11042:2:13", + "nodeType": "VariableDeclaration", + "scope": 11488, + "src": "11037:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11471, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11037:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11474, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11060:2:13", + "nodeType": "VariableDeclaration", + "scope": 11488, + "src": "11046:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11473, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11046:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11018:45:13" + }, + "returnParameters": { + "id": 11476, + "nodeType": "ParameterList", + "parameters": [], + "src": "11078:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11508, + "nodeType": "FunctionDefinition", + "src": "11180:157:13", + "nodes": [], + "body": { + "id": 11507, + "nodeType": "Block", + "src": "11243:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c29", + "id": 11500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11293:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3", + "typeString": "literal_string \"log(string,uint,bool)\"" + }, + "value": "log(string,uint,bool)" + }, + { + "id": 11501, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11490, + "src": "11318:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11502, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11492, + "src": "11322:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11503, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11494, + "src": "11326:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3", + "typeString": "literal_string \"log(string,uint,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11498, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11269:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11273:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11269:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11269:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11497, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "11253:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11253:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11506, + "nodeType": "ExpressionStatement", + "src": "11253:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11189:3:13", + "parameters": { + "id": 11495, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11490, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11207:2:13", + "nodeType": "VariableDeclaration", + "scope": 11508, + "src": "11193:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11489, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11193:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11492, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11216:2:13", + "nodeType": "VariableDeclaration", + "scope": 11508, + "src": "11211:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11491, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11211:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11494, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11225:2:13", + "nodeType": "VariableDeclaration", + "scope": 11508, + "src": "11220:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11493, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11220:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "11192:36:13" + }, + "returnParameters": { + "id": 11496, + "nodeType": "ParameterList", + "parameters": [], + "src": "11243:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11528, + "nodeType": "FunctionDefinition", + "src": "11343:163:13", + "nodes": [], + "body": { + "id": 11527, + "nodeType": "Block", + "src": "11409:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c6164647265737329", + "id": 11520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11459:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a", + "typeString": "literal_string \"log(string,uint,address)\"" + }, + "value": "log(string,uint,address)" + }, + { + "id": 11521, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11510, + "src": "11487:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11522, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11512, + "src": "11491:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11523, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11514, + "src": "11495:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a", + "typeString": "literal_string \"log(string,uint,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11518, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11435:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11439:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11435:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11435:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11517, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "11419:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11419:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11526, + "nodeType": "ExpressionStatement", + "src": "11419:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11352:3:13", + "parameters": { + "id": 11515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11510, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11370:2:13", + "nodeType": "VariableDeclaration", + "scope": 11528, + "src": "11356:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11509, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11356:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11512, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11379:2:13", + "nodeType": "VariableDeclaration", + "scope": 11528, + "src": "11374:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11511, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11374:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11514, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11391:2:13", + "nodeType": "VariableDeclaration", + "scope": 11528, + "src": "11383:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11513, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11383:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "11355:39:13" + }, + "returnParameters": { + "id": 11516, + "nodeType": "ParameterList", + "parameters": [], + "src": "11409:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11548, + "nodeType": "FunctionDefinition", + "src": "11512:168:13", + "nodes": [], + "body": { + "id": 11547, + "nodeType": "Block", + "src": "11584:96:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e7429", + "id": 11540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11634:25:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147", + "typeString": "literal_string \"log(string,string,uint)\"" + }, + "value": "log(string,string,uint)" + }, + { + "id": 11541, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11530, + "src": "11661:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11542, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11532, + "src": "11665:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11543, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11534, + "src": "11669:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147", + "typeString": "literal_string \"log(string,string,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11538, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11610:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11614:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11610:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11610:62:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11537, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "11594:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11594:79:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11546, + "nodeType": "ExpressionStatement", + "src": "11594:79:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11521:3:13", + "parameters": { + "id": 11535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11530, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11539:2:13", + "nodeType": "VariableDeclaration", + "scope": 11548, + "src": "11525:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11529, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11525:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11532, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11557:2:13", + "nodeType": "VariableDeclaration", + "scope": 11548, + "src": "11543:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11531, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11543:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11534, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11566:2:13", + "nodeType": "VariableDeclaration", + "scope": 11548, + "src": "11561:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11533, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11561:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11524:45:13" + }, + "returnParameters": { + "id": 11536, + "nodeType": "ParameterList", + "parameters": [], + "src": "11584:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11568, + "nodeType": "FunctionDefinition", + "src": "11686:179:13", + "nodes": [], + "body": { + "id": 11567, + "nodeType": "Block", + "src": "11767:98:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e6729", + "id": 11560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11817:27:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f", + "typeString": "literal_string \"log(string,string,string)\"" + }, + "value": "log(string,string,string)" + }, + { + "id": 11561, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11550, + "src": "11846:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11562, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11552, + "src": "11850:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11563, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11554, + "src": "11854:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f", + "typeString": "literal_string \"log(string,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11558, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11793:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11797:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11793:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11793:64:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11557, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "11777:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11777:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11566, + "nodeType": "ExpressionStatement", + "src": "11777:81:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11695:3:13", + "parameters": { + "id": 11555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11550, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11713:2:13", + "nodeType": "VariableDeclaration", + "scope": 11568, + "src": "11699:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11549, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11699:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11552, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11731:2:13", + "nodeType": "VariableDeclaration", + "scope": 11568, + "src": "11717:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11551, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11717:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11554, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11749:2:13", + "nodeType": "VariableDeclaration", + "scope": 11568, + "src": "11735:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11553, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11735:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11698:54:13" + }, + "returnParameters": { + "id": 11556, + "nodeType": "ParameterList", + "parameters": [], + "src": "11767:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11588, + "nodeType": "FunctionDefinition", + "src": "11871:168:13", + "nodes": [], + "body": { + "id": 11587, + "nodeType": "Block", + "src": "11943:96:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c29", + "id": 11580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11993:25:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb", + "typeString": "literal_string \"log(string,string,bool)\"" + }, + "value": "log(string,string,bool)" + }, + { + "id": 11581, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11570, + "src": "12020:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11582, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11572, + "src": "12024:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11583, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11574, + "src": "12028:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb", + "typeString": "literal_string \"log(string,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11578, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11969:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11973:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11969:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11969:62:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11577, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "11953:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11953:79:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11586, + "nodeType": "ExpressionStatement", + "src": "11953:79:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11880:3:13", + "parameters": { + "id": 11575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11570, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11898:2:13", + "nodeType": "VariableDeclaration", + "scope": 11588, + "src": "11884:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11569, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11884:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11572, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11916:2:13", + "nodeType": "VariableDeclaration", + "scope": 11588, + "src": "11902:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11571, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11902:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11574, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11925:2:13", + "nodeType": "VariableDeclaration", + "scope": 11588, + "src": "11920:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11573, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11920:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "11883:45:13" + }, + "returnParameters": { + "id": 11576, + "nodeType": "ParameterList", + "parameters": [], + "src": "11943:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11608, + "nodeType": "FunctionDefinition", + "src": "12045:174:13", + "nodes": [], + "body": { + "id": 11607, + "nodeType": "Block", + "src": "12120:99:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c6164647265737329", + "id": 11600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12170:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768", + "typeString": "literal_string \"log(string,string,address)\"" + }, + "value": "log(string,string,address)" + }, + { + "id": 11601, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11590, + "src": "12200:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11602, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11592, + "src": "12204:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11603, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11594, + "src": "12208:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768", + "typeString": "literal_string \"log(string,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11598, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12146:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12150:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12146:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12146:65:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11597, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "12130:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12130:82:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11606, + "nodeType": "ExpressionStatement", + "src": "12130:82:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12054:3:13", + "parameters": { + "id": 11595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11590, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12072:2:13", + "nodeType": "VariableDeclaration", + "scope": 11608, + "src": "12058:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11589, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12058:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11592, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12090:2:13", + "nodeType": "VariableDeclaration", + "scope": 11608, + "src": "12076:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11591, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12076:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11594, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12102:2:13", + "nodeType": "VariableDeclaration", + "scope": 11608, + "src": "12094:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11593, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12094:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12057:48:13" + }, + "returnParameters": { + "id": 11596, + "nodeType": "ParameterList", + "parameters": [], + "src": "12120:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11628, + "nodeType": "FunctionDefinition", + "src": "12225:157:13", + "nodes": [], + "body": { + "id": 11627, + "nodeType": "Block", + "src": "12288:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e7429", + "id": 11620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12338:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1", + "typeString": "literal_string \"log(string,bool,uint)\"" + }, + "value": "log(string,bool,uint)" + }, + { + "id": 11621, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11610, + "src": "12363:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11622, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11612, + "src": "12367:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11623, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11614, + "src": "12371:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1", + "typeString": "literal_string \"log(string,bool,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11618, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12314:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12318:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12314:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12314:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11617, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "12298:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12298:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11626, + "nodeType": "ExpressionStatement", + "src": "12298:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12234:3:13", + "parameters": { + "id": 11615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11610, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12252:2:13", + "nodeType": "VariableDeclaration", + "scope": 11628, + "src": "12238:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11609, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12238:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11612, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12261:2:13", + "nodeType": "VariableDeclaration", + "scope": 11628, + "src": "12256:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11611, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12256:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11614, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12270:2:13", + "nodeType": "VariableDeclaration", + "scope": 11628, + "src": "12265:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11613, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12265:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12237:36:13" + }, + "returnParameters": { + "id": 11616, + "nodeType": "ParameterList", + "parameters": [], + "src": "12288:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11648, + "nodeType": "FunctionDefinition", + "src": "12388:168:13", + "nodes": [], + "body": { + "id": 11647, + "nodeType": "Block", + "src": "12460:96:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e6729", + "id": 11640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12510:25:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7", + "typeString": "literal_string \"log(string,bool,string)\"" + }, + "value": "log(string,bool,string)" + }, + { + "id": 11641, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11630, + "src": "12537:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11642, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11632, + "src": "12541:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11643, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11634, + "src": "12545:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7", + "typeString": "literal_string \"log(string,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11638, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12486:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12490:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12486:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12486:62:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11637, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "12470:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12470:79:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11646, + "nodeType": "ExpressionStatement", + "src": "12470:79:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12397:3:13", + "parameters": { + "id": 11635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11630, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12415:2:13", + "nodeType": "VariableDeclaration", + "scope": 11648, + "src": "12401:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11629, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12401:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11632, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12424:2:13", + "nodeType": "VariableDeclaration", + "scope": 11648, + "src": "12419:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11631, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12419:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11634, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12442:2:13", + "nodeType": "VariableDeclaration", + "scope": 11648, + "src": "12428:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11633, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12428:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12400:45:13" + }, + "returnParameters": { + "id": 11636, + "nodeType": "ParameterList", + "parameters": [], + "src": "12460:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11668, + "nodeType": "FunctionDefinition", + "src": "12562:157:13", + "nodes": [], + "body": { + "id": 11667, + "nodeType": "Block", + "src": "12625:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c29", + "id": 11660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12675:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d", + "typeString": "literal_string \"log(string,bool,bool)\"" + }, + "value": "log(string,bool,bool)" + }, + { + "id": 11661, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11650, + "src": "12700:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11662, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11652, + "src": "12704:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11663, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11654, + "src": "12708:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d", + "typeString": "literal_string \"log(string,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11658, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12651:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11659, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12655:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12651:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12651:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11657, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "12635:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12635:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11666, + "nodeType": "ExpressionStatement", + "src": "12635:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12571:3:13", + "parameters": { + "id": 11655, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11650, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12589:2:13", + "nodeType": "VariableDeclaration", + "scope": 11668, + "src": "12575:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11649, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12575:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11652, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12598:2:13", + "nodeType": "VariableDeclaration", + "scope": 11668, + "src": "12593:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11651, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12593:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11654, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12607:2:13", + "nodeType": "VariableDeclaration", + "scope": 11668, + "src": "12602:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11653, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12602:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12574:36:13" + }, + "returnParameters": { + "id": 11656, + "nodeType": "ParameterList", + "parameters": [], + "src": "12625:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11688, + "nodeType": "FunctionDefinition", + "src": "12725:163:13", + "nodes": [], + "body": { + "id": 11687, + "nodeType": "Block", + "src": "12791:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c6164647265737329", + "id": 11680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12841:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f", + "typeString": "literal_string \"log(string,bool,address)\"" + }, + "value": "log(string,bool,address)" + }, + { + "id": 11681, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11670, + "src": "12869:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11682, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11672, + "src": "12873:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11683, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11674, + "src": "12877:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f", + "typeString": "literal_string \"log(string,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11678, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12817:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12821:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12817:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12817:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11677, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "12801:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12801:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11686, + "nodeType": "ExpressionStatement", + "src": "12801:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12734:3:13", + "parameters": { + "id": 11675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11670, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12752:2:13", + "nodeType": "VariableDeclaration", + "scope": 11688, + "src": "12738:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11669, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12738:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11672, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12761:2:13", + "nodeType": "VariableDeclaration", + "scope": 11688, + "src": "12756:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11671, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12756:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11674, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12773:2:13", + "nodeType": "VariableDeclaration", + "scope": 11688, + "src": "12765:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11673, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12765:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12737:39:13" + }, + "returnParameters": { + "id": 11676, + "nodeType": "ParameterList", + "parameters": [], + "src": "12791:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11708, + "nodeType": "FunctionDefinition", + "src": "12894:163:13", + "nodes": [], + "body": { + "id": 11707, + "nodeType": "Block", + "src": "12960:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e7429", + "id": 11700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13010:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13", + "typeString": "literal_string \"log(string,address,uint)\"" + }, + "value": "log(string,address,uint)" + }, + { + "id": 11701, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11690, + "src": "13038:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11702, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11692, + "src": "13042:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11703, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11694, + "src": "13046:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13", + "typeString": "literal_string \"log(string,address,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11698, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12986:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12990:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12986:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12986:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11697, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "12970:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12970:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11706, + "nodeType": "ExpressionStatement", + "src": "12970:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12903:3:13", + "parameters": { + "id": 11695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11690, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12921:2:13", + "nodeType": "VariableDeclaration", + "scope": 11708, + "src": "12907:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11689, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12907:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11692, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12933:2:13", + "nodeType": "VariableDeclaration", + "scope": 11708, + "src": "12925:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11691, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12925:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11694, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12942:2:13", + "nodeType": "VariableDeclaration", + "scope": 11708, + "src": "12937:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11693, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12937:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12906:39:13" + }, + "returnParameters": { + "id": 11696, + "nodeType": "ParameterList", + "parameters": [], + "src": "12960:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11728, + "nodeType": "FunctionDefinition", + "src": "13063:174:13", + "nodes": [], + "body": { + "id": 11727, + "nodeType": "Block", + "src": "13138:99:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e6729", + "id": 11720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13188:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634", + "typeString": "literal_string \"log(string,address,string)\"" + }, + "value": "log(string,address,string)" + }, + { + "id": 11721, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11710, + "src": "13218:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11722, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11712, + "src": "13222:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11723, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11714, + "src": "13226:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634", + "typeString": "literal_string \"log(string,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11718, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13164:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13168:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13164:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13164:65:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11717, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "13148:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13148:82:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11726, + "nodeType": "ExpressionStatement", + "src": "13148:82:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13072:3:13", + "parameters": { + "id": 11715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11710, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13090:2:13", + "nodeType": "VariableDeclaration", + "scope": 11728, + "src": "13076:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11709, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13076:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11712, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13102:2:13", + "nodeType": "VariableDeclaration", + "scope": 11728, + "src": "13094:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13094:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11714, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13120:2:13", + "nodeType": "VariableDeclaration", + "scope": 11728, + "src": "13106:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11713, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13106:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13075:48:13" + }, + "returnParameters": { + "id": 11716, + "nodeType": "ParameterList", + "parameters": [], + "src": "13138:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11748, + "nodeType": "FunctionDefinition", + "src": "13243:163:13", + "nodes": [], + "body": { + "id": 11747, + "nodeType": "Block", + "src": "13309:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c29", + "id": 11740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13359:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8", + "typeString": "literal_string \"log(string,address,bool)\"" + }, + "value": "log(string,address,bool)" + }, + { + "id": 11741, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11730, + "src": "13387:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11742, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11732, + "src": "13391:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11743, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11734, + "src": "13395:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8", + "typeString": "literal_string \"log(string,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11738, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13335:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13339:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13335:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13335:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11737, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "13319:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13319:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11746, + "nodeType": "ExpressionStatement", + "src": "13319:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13252:3:13", + "parameters": { + "id": 11735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11730, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13270:2:13", + "nodeType": "VariableDeclaration", + "scope": 11748, + "src": "13256:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11729, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13256:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11732, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13282:2:13", + "nodeType": "VariableDeclaration", + "scope": 11748, + "src": "13274:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11731, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13274:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11734, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13291:2:13", + "nodeType": "VariableDeclaration", + "scope": 11748, + "src": "13286:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11733, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13286:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13255:39:13" + }, + "returnParameters": { + "id": 11736, + "nodeType": "ParameterList", + "parameters": [], + "src": "13309:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11768, + "nodeType": "FunctionDefinition", + "src": "13412:169:13", + "nodes": [], + "body": { + "id": 11767, + "nodeType": "Block", + "src": "13481:100:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c6164647265737329", + "id": 11760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13531:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8", + "typeString": "literal_string \"log(string,address,address)\"" + }, + "value": "log(string,address,address)" + }, + { + "id": 11761, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11750, + "src": "13562:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11762, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11752, + "src": "13566:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 11763, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11754, + "src": "13570:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8", + "typeString": "literal_string \"log(string,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11758, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13507:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13511:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13507:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13507:66:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11757, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "13491:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13491:83:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11766, + "nodeType": "ExpressionStatement", + "src": "13491:83:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13421:3:13", + "parameters": { + "id": 11755, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11750, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13439:2:13", + "nodeType": "VariableDeclaration", + "scope": 11768, + "src": "13425:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11749, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13425:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11752, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13451:2:13", + "nodeType": "VariableDeclaration", + "scope": 11768, + "src": "13443:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11751, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13443:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11754, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13463:2:13", + "nodeType": "VariableDeclaration", + "scope": 11768, + "src": "13455:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11753, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13455:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13424:42:13" + }, + "returnParameters": { + "id": 11756, + "nodeType": "ParameterList", + "parameters": [], + "src": "13481:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11788, + "nodeType": "FunctionDefinition", + "src": "13587:146:13", + "nodes": [], + "body": { + "id": 11787, + "nodeType": "Block", + "src": "13641:92:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e7429", + "id": 11780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13691:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e", + "typeString": "literal_string \"log(bool,uint,uint)\"" + }, + "value": "log(bool,uint,uint)" + }, + { + "id": 11781, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11770, + "src": "13714:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11782, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11772, + "src": "13718:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11783, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11774, + "src": "13722:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e", + "typeString": "literal_string \"log(bool,uint,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11778, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13667:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13671:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13667:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13667:58:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11777, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "13651:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13651:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11786, + "nodeType": "ExpressionStatement", + "src": "13651:75:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13596:3:13", + "parameters": { + "id": 11775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11770, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13605:2:13", + "nodeType": "VariableDeclaration", + "scope": 11788, + "src": "13600:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11769, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13600:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11772, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13614:2:13", + "nodeType": "VariableDeclaration", + "scope": 11788, + "src": "13609:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11771, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13609:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11774, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13623:2:13", + "nodeType": "VariableDeclaration", + "scope": 11788, + "src": "13618:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11773, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13618:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13599:27:13" + }, + "returnParameters": { + "id": 11776, + "nodeType": "ParameterList", + "parameters": [], + "src": "13641:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11808, + "nodeType": "FunctionDefinition", + "src": "13739:157:13", + "nodes": [], + "body": { + "id": 11807, + "nodeType": "Block", + "src": "13802:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e6729", + "id": 11800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13852:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f", + "typeString": "literal_string \"log(bool,uint,string)\"" + }, + "value": "log(bool,uint,string)" + }, + { + "id": 11801, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11790, + "src": "13877:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11802, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11792, + "src": "13881:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11803, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11794, + "src": "13885:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f", + "typeString": "literal_string \"log(bool,uint,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11798, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13828:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13832:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13828:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13828:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11797, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "13812:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13812:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11806, + "nodeType": "ExpressionStatement", + "src": "13812:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13748:3:13", + "parameters": { + "id": 11795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11790, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13757:2:13", + "nodeType": "VariableDeclaration", + "scope": 11808, + "src": "13752:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11789, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13752:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11792, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13766:2:13", + "nodeType": "VariableDeclaration", + "scope": 11808, + "src": "13761:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11791, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13761:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11794, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13784:2:13", + "nodeType": "VariableDeclaration", + "scope": 11808, + "src": "13770:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11793, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13770:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13751:36:13" + }, + "returnParameters": { + "id": 11796, + "nodeType": "ParameterList", + "parameters": [], + "src": "13802:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11828, + "nodeType": "FunctionDefinition", + "src": "13902:146:13", + "nodes": [], + "body": { + "id": 11827, + "nodeType": "Block", + "src": "13956:92:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c29", + "id": 11820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14006:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0", + "typeString": "literal_string \"log(bool,uint,bool)\"" + }, + "value": "log(bool,uint,bool)" + }, + { + "id": 11821, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11810, + "src": "14029:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11822, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11812, + "src": "14033:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11823, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11814, + "src": "14037:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0", + "typeString": "literal_string \"log(bool,uint,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11818, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13982:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13986:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13982:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13982:58:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11817, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "13966:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13966:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11826, + "nodeType": "ExpressionStatement", + "src": "13966:75:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13911:3:13", + "parameters": { + "id": 11815, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11810, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13920:2:13", + "nodeType": "VariableDeclaration", + "scope": 11828, + "src": "13915:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11809, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13915:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11812, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13929:2:13", + "nodeType": "VariableDeclaration", + "scope": 11828, + "src": "13924:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11811, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13924:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11814, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13938:2:13", + "nodeType": "VariableDeclaration", + "scope": 11828, + "src": "13933:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11813, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13933:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13914:27:13" + }, + "returnParameters": { + "id": 11816, + "nodeType": "ParameterList", + "parameters": [], + "src": "13956:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11848, + "nodeType": "FunctionDefinition", + "src": "14054:152:13", + "nodes": [], + "body": { + "id": 11847, + "nodeType": "Block", + "src": "14111:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c6164647265737329", + "id": 11840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14161:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440", + "typeString": "literal_string \"log(bool,uint,address)\"" + }, + "value": "log(bool,uint,address)" + }, + { + "id": 11841, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11830, + "src": "14187:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11842, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11832, + "src": "14191:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 11843, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11834, + "src": "14195:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440", + "typeString": "literal_string \"log(bool,uint,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11838, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14137:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14141:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14137:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14137:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11837, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "14121:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14121:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11846, + "nodeType": "ExpressionStatement", + "src": "14121:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14063:3:13", + "parameters": { + "id": 11835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11830, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14072:2:13", + "nodeType": "VariableDeclaration", + "scope": 11848, + "src": "14067:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11829, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14067:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11832, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14081:2:13", + "nodeType": "VariableDeclaration", + "scope": 11848, + "src": "14076:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11831, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14076:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11834, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14093:2:13", + "nodeType": "VariableDeclaration", + "scope": 11848, + "src": "14085:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14085:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14066:30:13" + }, + "returnParameters": { + "id": 11836, + "nodeType": "ParameterList", + "parameters": [], + "src": "14111:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11868, + "nodeType": "FunctionDefinition", + "src": "14212:157:13", + "nodes": [], + "body": { + "id": 11867, + "nodeType": "Block", + "src": "14275:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e7429", + "id": 11860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14325:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807", + "typeString": "literal_string \"log(bool,string,uint)\"" + }, + "value": "log(bool,string,uint)" + }, + { + "id": 11861, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11850, + "src": "14350:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11862, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11852, + "src": "14354:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11863, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11854, + "src": "14358:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807", + "typeString": "literal_string \"log(bool,string,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11858, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14301:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14305:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14301:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14301:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11857, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "14285:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14285:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11866, + "nodeType": "ExpressionStatement", + "src": "14285:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14221:3:13", + "parameters": { + "id": 11855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11850, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14230:2:13", + "nodeType": "VariableDeclaration", + "scope": 11868, + "src": "14225:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11849, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14225:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11852, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14248:2:13", + "nodeType": "VariableDeclaration", + "scope": 11868, + "src": "14234:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11851, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14234:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11854, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14257:2:13", + "nodeType": "VariableDeclaration", + "scope": 11868, + "src": "14252:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11853, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14252:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14224:36:13" + }, + "returnParameters": { + "id": 11856, + "nodeType": "ParameterList", + "parameters": [], + "src": "14275:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11888, + "nodeType": "FunctionDefinition", + "src": "14375:168:13", + "nodes": [], + "body": { + "id": 11887, + "nodeType": "Block", + "src": "14447:96:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e6729", + "id": 11880, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14497:25:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102", + "typeString": "literal_string \"log(bool,string,string)\"" + }, + "value": "log(bool,string,string)" + }, + { + "id": 11881, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11870, + "src": "14524:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11882, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11872, + "src": "14528:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11883, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11874, + "src": "14532:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102", + "typeString": "literal_string \"log(bool,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11878, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14473:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14477:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14473:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14473:62:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11877, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "14457:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14457:79:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11886, + "nodeType": "ExpressionStatement", + "src": "14457:79:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14384:3:13", + "parameters": { + "id": 11875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11870, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14393:2:13", + "nodeType": "VariableDeclaration", + "scope": 11888, + "src": "14388:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11869, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14388:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11872, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14411:2:13", + "nodeType": "VariableDeclaration", + "scope": 11888, + "src": "14397:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11871, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14397:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11874, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14429:2:13", + "nodeType": "VariableDeclaration", + "scope": 11888, + "src": "14415:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11873, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14415:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14387:45:13" + }, + "returnParameters": { + "id": 11876, + "nodeType": "ParameterList", + "parameters": [], + "src": "14447:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11908, + "nodeType": "FunctionDefinition", + "src": "14549:157:13", + "nodes": [], + "body": { + "id": 11907, + "nodeType": "Block", + "src": "14612:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c29", + "id": 11900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14662:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa", + "typeString": "literal_string \"log(bool,string,bool)\"" + }, + "value": "log(bool,string,bool)" + }, + { + "id": 11901, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11890, + "src": "14687:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11902, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11892, + "src": "14691:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11903, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11894, + "src": "14695:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa", + "typeString": "literal_string \"log(bool,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11898, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14638:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14642:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14638:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14638:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11897, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "14622:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14622:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11906, + "nodeType": "ExpressionStatement", + "src": "14622:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14558:3:13", + "parameters": { + "id": 11895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11890, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14567:2:13", + "nodeType": "VariableDeclaration", + "scope": 11908, + "src": "14562:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11889, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14562:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11892, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14585:2:13", + "nodeType": "VariableDeclaration", + "scope": 11908, + "src": "14571:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11891, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14571:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11894, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14594:2:13", + "nodeType": "VariableDeclaration", + "scope": 11908, + "src": "14589:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11893, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14589:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "14561:36:13" + }, + "returnParameters": { + "id": 11896, + "nodeType": "ParameterList", + "parameters": [], + "src": "14612:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11928, + "nodeType": "FunctionDefinition", + "src": "14712:163:13", + "nodes": [], + "body": { + "id": 11927, + "nodeType": "Block", + "src": "14778:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c6164647265737329", + "id": 11920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14828:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79", + "typeString": "literal_string \"log(bool,string,address)\"" + }, + "value": "log(bool,string,address)" + }, + { + "id": 11921, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11910, + "src": "14856:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11922, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11912, + "src": "14860:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 11923, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11914, + "src": "14864:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79", + "typeString": "literal_string \"log(bool,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11918, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14804:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14808:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14804:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14804:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11917, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "14788:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14788:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11926, + "nodeType": "ExpressionStatement", + "src": "14788:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14721:3:13", + "parameters": { + "id": 11915, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11910, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14730:2:13", + "nodeType": "VariableDeclaration", + "scope": 11928, + "src": "14725:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11909, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14725:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11912, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14748:2:13", + "nodeType": "VariableDeclaration", + "scope": 11928, + "src": "14734:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11911, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14734:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11914, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14760:2:13", + "nodeType": "VariableDeclaration", + "scope": 11928, + "src": "14752:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11913, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14752:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14724:39:13" + }, + "returnParameters": { + "id": 11916, + "nodeType": "ParameterList", + "parameters": [], + "src": "14778:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11948, + "nodeType": "FunctionDefinition", + "src": "14881:146:13", + "nodes": [], + "body": { + "id": 11947, + "nodeType": "Block", + "src": "14935:92:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e7429", + "id": 11940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14985:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877", + "typeString": "literal_string \"log(bool,bool,uint)\"" + }, + "value": "log(bool,bool,uint)" + }, + { + "id": 11941, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11930, + "src": "15008:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11942, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11932, + "src": "15012:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11943, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11934, + "src": "15016:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877", + "typeString": "literal_string \"log(bool,bool,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 11938, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14961:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14965:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14961:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14961:58:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11937, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "14945:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14945:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11946, + "nodeType": "ExpressionStatement", + "src": "14945:75:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14890:3:13", + "parameters": { + "id": 11935, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11930, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14899:2:13", + "nodeType": "VariableDeclaration", + "scope": 11948, + "src": "14894:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11929, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14894:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11932, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14908:2:13", + "nodeType": "VariableDeclaration", + "scope": 11948, + "src": "14903:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11931, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14903:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11934, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14917:2:13", + "nodeType": "VariableDeclaration", + "scope": 11948, + "src": "14912:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11933, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14912:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14893:27:13" + }, + "returnParameters": { + "id": 11936, + "nodeType": "ParameterList", + "parameters": [], + "src": "14935:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11968, + "nodeType": "FunctionDefinition", + "src": "15033:157:13", + "nodes": [], + "body": { + "id": 11967, + "nodeType": "Block", + "src": "15096:94:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e6729", + "id": 11960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15146:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc", + "typeString": "literal_string \"log(bool,bool,string)\"" + }, + "value": "log(bool,bool,string)" + }, + { + "id": 11961, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11950, + "src": "15171:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11962, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11952, + "src": "15175:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11963, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11954, + "src": "15179:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc", + "typeString": "literal_string \"log(bool,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 11958, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15122:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15126:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15122:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15122:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11957, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "15106:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15106:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11966, + "nodeType": "ExpressionStatement", + "src": "15106:77:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15042:3:13", + "parameters": { + "id": 11955, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11950, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15051:2:13", + "nodeType": "VariableDeclaration", + "scope": 11968, + "src": "15046:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11949, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15046:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11952, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15060:2:13", + "nodeType": "VariableDeclaration", + "scope": 11968, + "src": "15055:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11951, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15055:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11954, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15078:2:13", + "nodeType": "VariableDeclaration", + "scope": 11968, + "src": "15064:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11953, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15064:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15045:36:13" + }, + "returnParameters": { + "id": 11956, + "nodeType": "ParameterList", + "parameters": [], + "src": "15096:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 11988, + "nodeType": "FunctionDefinition", + "src": "15196:146:13", + "nodes": [], + "body": { + "id": 11987, + "nodeType": "Block", + "src": "15250:92:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c29", + "id": 11980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15300:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590", + "typeString": "literal_string \"log(bool,bool,bool)\"" + }, + "value": "log(bool,bool,bool)" + }, + { + "id": 11981, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11970, + "src": "15323:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11982, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11972, + "src": "15327:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 11983, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11974, + "src": "15331:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590", + "typeString": "literal_string \"log(bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 11978, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15276:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15280:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15276:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 11984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15276:58:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11977, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "15260:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 11985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15260:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11986, + "nodeType": "ExpressionStatement", + "src": "15260:75:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15205:3:13", + "parameters": { + "id": 11975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11970, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15214:2:13", + "nodeType": "VariableDeclaration", + "scope": 11988, + "src": "15209:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11969, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15209:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11972, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15223:2:13", + "nodeType": "VariableDeclaration", + "scope": 11988, + "src": "15218:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11971, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15218:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11974, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15232:2:13", + "nodeType": "VariableDeclaration", + "scope": 11988, + "src": "15227:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11973, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15227:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15208:27:13" + }, + "returnParameters": { + "id": 11976, + "nodeType": "ParameterList", + "parameters": [], + "src": "15250:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12008, + "nodeType": "FunctionDefinition", + "src": "15348:152:13", + "nodes": [], + "body": { + "id": 12007, + "nodeType": "Block", + "src": "15405:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c6164647265737329", + "id": 12000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15455:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81", + "typeString": "literal_string \"log(bool,bool,address)\"" + }, + "value": "log(bool,bool,address)" + }, + { + "id": 12001, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11990, + "src": "15481:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12002, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11992, + "src": "15485:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12003, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11994, + "src": "15489:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81", + "typeString": "literal_string \"log(bool,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 11998, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15431:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 11999, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15435:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15431:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15431:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 11997, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "15415:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15415:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12006, + "nodeType": "ExpressionStatement", + "src": "15415:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15357:3:13", + "parameters": { + "id": 11995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11990, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15366:2:13", + "nodeType": "VariableDeclaration", + "scope": 12008, + "src": "15361:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11989, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15361:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11992, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15375:2:13", + "nodeType": "VariableDeclaration", + "scope": 12008, + "src": "15370:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11991, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15370:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11994, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15387:2:13", + "nodeType": "VariableDeclaration", + "scope": 12008, + "src": "15379:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11993, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15379:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "15360:30:13" + }, + "returnParameters": { + "id": 11996, + "nodeType": "ParameterList", + "parameters": [], + "src": "15405:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12028, + "nodeType": "FunctionDefinition", + "src": "15506:152:13", + "nodes": [], + "body": { + "id": 12027, + "nodeType": "Block", + "src": "15563:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e7429", + "id": 12020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15613:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d", + "typeString": "literal_string \"log(bool,address,uint)\"" + }, + "value": "log(bool,address,uint)" + }, + { + "id": 12021, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12010, + "src": "15639:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12022, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12012, + "src": "15643:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12023, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12014, + "src": "15647:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d", + "typeString": "literal_string \"log(bool,address,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12018, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15589:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15593:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15589:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15589:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12017, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "15573:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15573:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12026, + "nodeType": "ExpressionStatement", + "src": "15573:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15515:3:13", + "parameters": { + "id": 12015, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12010, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15524:2:13", + "nodeType": "VariableDeclaration", + "scope": 12028, + "src": "15519:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12009, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15519:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12012, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15536:2:13", + "nodeType": "VariableDeclaration", + "scope": 12028, + "src": "15528:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12011, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15528:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12014, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15545:2:13", + "nodeType": "VariableDeclaration", + "scope": 12028, + "src": "15540:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12013, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15540:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15518:30:13" + }, + "returnParameters": { + "id": 12016, + "nodeType": "ParameterList", + "parameters": [], + "src": "15563:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12048, + "nodeType": "FunctionDefinition", + "src": "15664:163:13", + "nodes": [], + "body": { + "id": 12047, + "nodeType": "Block", + "src": "15730:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e6729", + "id": 12040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15780:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d", + "typeString": "literal_string \"log(bool,address,string)\"" + }, + "value": "log(bool,address,string)" + }, + { + "id": 12041, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12030, + "src": "15808:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12042, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12032, + "src": "15812:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12043, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12034, + "src": "15816:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d", + "typeString": "literal_string \"log(bool,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12038, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15756:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15760:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15756:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15756:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12037, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "15740:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15740:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12046, + "nodeType": "ExpressionStatement", + "src": "15740:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15673:3:13", + "parameters": { + "id": 12035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12030, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15682:2:13", + "nodeType": "VariableDeclaration", + "scope": 12048, + "src": "15677:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12029, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15677:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12032, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15694:2:13", + "nodeType": "VariableDeclaration", + "scope": 12048, + "src": "15686:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12031, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15686:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12034, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15712:2:13", + "nodeType": "VariableDeclaration", + "scope": 12048, + "src": "15698:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12033, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15698:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15676:39:13" + }, + "returnParameters": { + "id": 12036, + "nodeType": "ParameterList", + "parameters": [], + "src": "15730:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12068, + "nodeType": "FunctionDefinition", + "src": "15833:152:13", + "nodes": [], + "body": { + "id": 12067, + "nodeType": "Block", + "src": "15890:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c29", + "id": 12060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15940:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908", + "typeString": "literal_string \"log(bool,address,bool)\"" + }, + "value": "log(bool,address,bool)" + }, + { + "id": 12061, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12050, + "src": "15966:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12062, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12052, + "src": "15970:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12063, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12054, + "src": "15974:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908", + "typeString": "literal_string \"log(bool,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12058, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15916:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12059, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15920:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15916:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15916:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12057, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "15900:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15900:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12066, + "nodeType": "ExpressionStatement", + "src": "15900:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15842:3:13", + "parameters": { + "id": 12055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12050, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15851:2:13", + "nodeType": "VariableDeclaration", + "scope": 12068, + "src": "15846:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12049, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15846:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12052, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15863:2:13", + "nodeType": "VariableDeclaration", + "scope": 12068, + "src": "15855:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12051, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15855:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12054, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15872:2:13", + "nodeType": "VariableDeclaration", + "scope": 12068, + "src": "15867:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12053, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15867:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15845:30:13" + }, + "returnParameters": { + "id": 12056, + "nodeType": "ParameterList", + "parameters": [], + "src": "15890:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12088, + "nodeType": "FunctionDefinition", + "src": "15991:158:13", + "nodes": [], + "body": { + "id": 12087, + "nodeType": "Block", + "src": "16051:98:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c6164647265737329", + "id": 12080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16101:27:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265", + "typeString": "literal_string \"log(bool,address,address)\"" + }, + "value": "log(bool,address,address)" + }, + { + "id": 12081, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12070, + "src": "16130:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12082, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12072, + "src": "16134:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12083, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12074, + "src": "16138:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265", + "typeString": "literal_string \"log(bool,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12078, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16077:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16081:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16077:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16077:64:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12077, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "16061:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16061:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12086, + "nodeType": "ExpressionStatement", + "src": "16061:81:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16000:3:13", + "parameters": { + "id": 12075, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12070, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16009:2:13", + "nodeType": "VariableDeclaration", + "scope": 12088, + "src": "16004:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12069, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16004:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12072, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16021:2:13", + "nodeType": "VariableDeclaration", + "scope": 12088, + "src": "16013:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12071, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16013:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12074, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16033:2:13", + "nodeType": "VariableDeclaration", + "scope": 12088, + "src": "16025:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12073, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16025:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "16003:33:13" + }, + "returnParameters": { + "id": 12076, + "nodeType": "ParameterList", + "parameters": [], + "src": "16051:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12108, + "nodeType": "FunctionDefinition", + "src": "16155:152:13", + "nodes": [], + "body": { + "id": 12107, + "nodeType": "Block", + "src": "16212:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e7429", + "id": 12100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16262:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea", + "typeString": "literal_string \"log(address,uint,uint)\"" + }, + "value": "log(address,uint,uint)" + }, + { + "id": 12101, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12090, + "src": "16288:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12102, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12092, + "src": "16292:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12103, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12094, + "src": "16296:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea", + "typeString": "literal_string \"log(address,uint,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12098, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16238:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16242:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16238:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16238:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12097, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "16222:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16222:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12106, + "nodeType": "ExpressionStatement", + "src": "16222:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16164:3:13", + "parameters": { + "id": 12095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12090, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16176:2:13", + "nodeType": "VariableDeclaration", + "scope": 12108, + "src": "16168:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12089, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16168:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12092, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16185:2:13", + "nodeType": "VariableDeclaration", + "scope": 12108, + "src": "16180:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12091, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16180:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12094, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16194:2:13", + "nodeType": "VariableDeclaration", + "scope": 12108, + "src": "16189:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12093, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16189:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16167:30:13" + }, + "returnParameters": { + "id": 12096, + "nodeType": "ParameterList", + "parameters": [], + "src": "16212:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12128, + "nodeType": "FunctionDefinition", + "src": "16313:163:13", + "nodes": [], + "body": { + "id": 12127, + "nodeType": "Block", + "src": "16379:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e6729", + "id": 12120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16429:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4", + "typeString": "literal_string \"log(address,uint,string)\"" + }, + "value": "log(address,uint,string)" + }, + { + "id": 12121, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12110, + "src": "16457:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12122, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12112, + "src": "16461:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12123, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12114, + "src": "16465:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4", + "typeString": "literal_string \"log(address,uint,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12118, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16405:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16409:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16405:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16405:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12117, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "16389:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16389:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12126, + "nodeType": "ExpressionStatement", + "src": "16389:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16322:3:13", + "parameters": { + "id": 12115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12110, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16334:2:13", + "nodeType": "VariableDeclaration", + "scope": 12128, + "src": "16326:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12109, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16326:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12112, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16343:2:13", + "nodeType": "VariableDeclaration", + "scope": 12128, + "src": "16338:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12111, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16338:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12114, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16361:2:13", + "nodeType": "VariableDeclaration", + "scope": 12128, + "src": "16347:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12113, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16347:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "16325:39:13" + }, + "returnParameters": { + "id": 12116, + "nodeType": "ParameterList", + "parameters": [], + "src": "16379:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12148, + "nodeType": "FunctionDefinition", + "src": "16482:152:13", + "nodes": [], + "body": { + "id": 12147, + "nodeType": "Block", + "src": "16539:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c29", + "id": 12140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16589:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4", + "typeString": "literal_string \"log(address,uint,bool)\"" + }, + "value": "log(address,uint,bool)" + }, + { + "id": 12141, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12130, + "src": "16615:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12142, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12132, + "src": "16619:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12143, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12134, + "src": "16623:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4", + "typeString": "literal_string \"log(address,uint,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12138, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16565:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16569:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16565:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16565:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12137, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "16549:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16549:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12146, + "nodeType": "ExpressionStatement", + "src": "16549:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16491:3:13", + "parameters": { + "id": 12135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12130, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16503:2:13", + "nodeType": "VariableDeclaration", + "scope": 12148, + "src": "16495:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12129, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16495:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12132, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16512:2:13", + "nodeType": "VariableDeclaration", + "scope": 12148, + "src": "16507:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12131, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16507:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12134, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16521:2:13", + "nodeType": "VariableDeclaration", + "scope": 12148, + "src": "16516:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12133, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16516:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16494:30:13" + }, + "returnParameters": { + "id": 12136, + "nodeType": "ParameterList", + "parameters": [], + "src": "16539:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12168, + "nodeType": "FunctionDefinition", + "src": "16640:158:13", + "nodes": [], + "body": { + "id": 12167, + "nodeType": "Block", + "src": "16700:98:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c6164647265737329", + "id": 12160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16750:27:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259", + "typeString": "literal_string \"log(address,uint,address)\"" + }, + "value": "log(address,uint,address)" + }, + { + "id": 12161, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12150, + "src": "16779:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12162, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12152, + "src": "16783:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12163, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12154, + "src": "16787:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259", + "typeString": "literal_string \"log(address,uint,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12158, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16726:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16730:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16726:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16726:64:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12157, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "16710:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16710:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12166, + "nodeType": "ExpressionStatement", + "src": "16710:81:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16649:3:13", + "parameters": { + "id": 12155, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12150, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16661:2:13", + "nodeType": "VariableDeclaration", + "scope": 12168, + "src": "16653:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12149, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16653:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12152, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16670:2:13", + "nodeType": "VariableDeclaration", + "scope": 12168, + "src": "16665:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12151, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16665:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12154, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16682:2:13", + "nodeType": "VariableDeclaration", + "scope": 12168, + "src": "16674:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16674:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "16652:33:13" + }, + "returnParameters": { + "id": 12156, + "nodeType": "ParameterList", + "parameters": [], + "src": "16700:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12188, + "nodeType": "FunctionDefinition", + "src": "16804:163:13", + "nodes": [], + "body": { + "id": 12187, + "nodeType": "Block", + "src": "16870:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e7429", + "id": 12180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16920:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597", + "typeString": "literal_string \"log(address,string,uint)\"" + }, + "value": "log(address,string,uint)" + }, + { + "id": 12181, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12170, + "src": "16948:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12182, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12172, + "src": "16952:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12183, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12174, + "src": "16956:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597", + "typeString": "literal_string \"log(address,string,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12178, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16896:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16900:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16896:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16896:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12177, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "16880:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16880:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12186, + "nodeType": "ExpressionStatement", + "src": "16880:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16813:3:13", + "parameters": { + "id": 12175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12170, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16825:2:13", + "nodeType": "VariableDeclaration", + "scope": 12188, + "src": "16817:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16817:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12172, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16843:2:13", + "nodeType": "VariableDeclaration", + "scope": 12188, + "src": "16829:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12171, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16829:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12174, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16852:2:13", + "nodeType": "VariableDeclaration", + "scope": 12188, + "src": "16847:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12173, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16847:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16816:39:13" + }, + "returnParameters": { + "id": 12176, + "nodeType": "ParameterList", + "parameters": [], + "src": "16870:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12208, + "nodeType": "FunctionDefinition", + "src": "16973:174:13", + "nodes": [], + "body": { + "id": 12207, + "nodeType": "Block", + "src": "17048:99:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e6729", + "id": 12200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17098:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158", + "typeString": "literal_string \"log(address,string,string)\"" + }, + "value": "log(address,string,string)" + }, + { + "id": 12201, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12190, + "src": "17128:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12202, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12192, + "src": "17132:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12203, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12194, + "src": "17136:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158", + "typeString": "literal_string \"log(address,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12198, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17074:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17078:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17074:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17074:65:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12197, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "17058:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17058:82:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12206, + "nodeType": "ExpressionStatement", + "src": "17058:82:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16982:3:13", + "parameters": { + "id": 12195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12190, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16994:2:13", + "nodeType": "VariableDeclaration", + "scope": 12208, + "src": "16986:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12189, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16986:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12192, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17012:2:13", + "nodeType": "VariableDeclaration", + "scope": 12208, + "src": "16998:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12191, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16998:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12194, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17030:2:13", + "nodeType": "VariableDeclaration", + "scope": 12208, + "src": "17016:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12193, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17016:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "16985:48:13" + }, + "returnParameters": { + "id": 12196, + "nodeType": "ParameterList", + "parameters": [], + "src": "17048:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12228, + "nodeType": "FunctionDefinition", + "src": "17153:163:13", + "nodes": [], + "body": { + "id": 12227, + "nodeType": "Block", + "src": "17219:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c29", + "id": 12220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17269:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96", + "typeString": "literal_string \"log(address,string,bool)\"" + }, + "value": "log(address,string,bool)" + }, + { + "id": 12221, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12210, + "src": "17297:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12222, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12212, + "src": "17301:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12223, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12214, + "src": "17305:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96", + "typeString": "literal_string \"log(address,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12218, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17245:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17249:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17245:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17245:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12217, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "17229:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17229:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12226, + "nodeType": "ExpressionStatement", + "src": "17229:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17162:3:13", + "parameters": { + "id": 12215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12210, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17174:2:13", + "nodeType": "VariableDeclaration", + "scope": 12228, + "src": "17166:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12209, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17166:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12212, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17192:2:13", + "nodeType": "VariableDeclaration", + "scope": 12228, + "src": "17178:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12211, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17178:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12214, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17201:2:13", + "nodeType": "VariableDeclaration", + "scope": 12228, + "src": "17196:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12213, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17196:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "17165:39:13" + }, + "returnParameters": { + "id": 12216, + "nodeType": "ParameterList", + "parameters": [], + "src": "17219:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12248, + "nodeType": "FunctionDefinition", + "src": "17322:169:13", + "nodes": [], + "body": { + "id": 12247, + "nodeType": "Block", + "src": "17391:100:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c6164647265737329", + "id": 12240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17441:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231", + "typeString": "literal_string \"log(address,string,address)\"" + }, + "value": "log(address,string,address)" + }, + { + "id": 12241, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12230, + "src": "17472:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12242, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12232, + "src": "17476:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12243, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12234, + "src": "17480:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231", + "typeString": "literal_string \"log(address,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12238, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17417:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12239, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17421:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17417:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17417:66:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12237, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "17401:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17401:83:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12246, + "nodeType": "ExpressionStatement", + "src": "17401:83:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17331:3:13", + "parameters": { + "id": 12235, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12230, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17343:2:13", + "nodeType": "VariableDeclaration", + "scope": 12248, + "src": "17335:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12229, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17335:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12232, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17361:2:13", + "nodeType": "VariableDeclaration", + "scope": 12248, + "src": "17347:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12231, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17347:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12234, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17373:2:13", + "nodeType": "VariableDeclaration", + "scope": 12248, + "src": "17365:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12233, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17365:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "17334:42:13" + }, + "returnParameters": { + "id": 12236, + "nodeType": "ParameterList", + "parameters": [], + "src": "17391:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12268, + "nodeType": "FunctionDefinition", + "src": "17497:152:13", + "nodes": [], + "body": { + "id": 12267, + "nodeType": "Block", + "src": "17554:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e7429", + "id": 12260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17604:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095", + "typeString": "literal_string \"log(address,bool,uint)\"" + }, + "value": "log(address,bool,uint)" + }, + { + "id": 12261, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12250, + "src": "17630:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12262, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12252, + "src": "17634:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12263, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12254, + "src": "17638:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095", + "typeString": "literal_string \"log(address,bool,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12258, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17580:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17584:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17580:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17580:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12257, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "17564:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17564:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12266, + "nodeType": "ExpressionStatement", + "src": "17564:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17506:3:13", + "parameters": { + "id": 12255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12250, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17518:2:13", + "nodeType": "VariableDeclaration", + "scope": 12268, + "src": "17510:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17510:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12252, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17527:2:13", + "nodeType": "VariableDeclaration", + "scope": 12268, + "src": "17522:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12251, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17522:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12254, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17536:2:13", + "nodeType": "VariableDeclaration", + "scope": 12268, + "src": "17531:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12253, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17531:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17509:30:13" + }, + "returnParameters": { + "id": 12256, + "nodeType": "ParameterList", + "parameters": [], + "src": "17554:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12288, + "nodeType": "FunctionDefinition", + "src": "17655:163:13", + "nodes": [], + "body": { + "id": 12287, + "nodeType": "Block", + "src": "17721:97:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e6729", + "id": 12280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17771:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750", + "typeString": "literal_string \"log(address,bool,string)\"" + }, + "value": "log(address,bool,string)" + }, + { + "id": 12281, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12270, + "src": "17799:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12282, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12272, + "src": "17803:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12283, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12274, + "src": "17807:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750", + "typeString": "literal_string \"log(address,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12278, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17747:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17751:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17747:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17747:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12277, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "17731:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17731:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12286, + "nodeType": "ExpressionStatement", + "src": "17731:80:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17664:3:13", + "parameters": { + "id": 12275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12270, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17676:2:13", + "nodeType": "VariableDeclaration", + "scope": 12288, + "src": "17668:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17668:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12272, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17685:2:13", + "nodeType": "VariableDeclaration", + "scope": 12288, + "src": "17680:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12271, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17680:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12274, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17703:2:13", + "nodeType": "VariableDeclaration", + "scope": 12288, + "src": "17689:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12273, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17689:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "17667:39:13" + }, + "returnParameters": { + "id": 12276, + "nodeType": "ParameterList", + "parameters": [], + "src": "17721:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12308, + "nodeType": "FunctionDefinition", + "src": "17824:152:13", + "nodes": [], + "body": { + "id": 12307, + "nodeType": "Block", + "src": "17881:95:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c29", + "id": 12300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17931:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279", + "typeString": "literal_string \"log(address,bool,bool)\"" + }, + "value": "log(address,bool,bool)" + }, + { + "id": 12301, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12290, + "src": "17957:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12302, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12292, + "src": "17961:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12303, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12294, + "src": "17965:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279", + "typeString": "literal_string \"log(address,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12298, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17907:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17911:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17907:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17907:61:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12297, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "17891:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17891:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12306, + "nodeType": "ExpressionStatement", + "src": "17891:78:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17833:3:13", + "parameters": { + "id": 12295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12290, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17845:2:13", + "nodeType": "VariableDeclaration", + "scope": 12308, + "src": "17837:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17837:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12292, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17854:2:13", + "nodeType": "VariableDeclaration", + "scope": 12308, + "src": "17849:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12291, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17849:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12294, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17863:2:13", + "nodeType": "VariableDeclaration", + "scope": 12308, + "src": "17858:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12293, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17858:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "17836:30:13" + }, + "returnParameters": { + "id": 12296, + "nodeType": "ParameterList", + "parameters": [], + "src": "17881:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12328, + "nodeType": "FunctionDefinition", + "src": "17982:158:13", + "nodes": [], + "body": { + "id": 12327, + "nodeType": "Block", + "src": "18042:98:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c6164647265737329", + "id": 12320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18092:27:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d", + "typeString": "literal_string \"log(address,bool,address)\"" + }, + "value": "log(address,bool,address)" + }, + { + "id": 12321, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12310, + "src": "18121:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12322, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12312, + "src": "18125:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12323, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12314, + "src": "18129:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d", + "typeString": "literal_string \"log(address,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12318, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18068:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18072:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18068:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18068:64:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12317, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "18052:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18052:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12326, + "nodeType": "ExpressionStatement", + "src": "18052:81:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17991:3:13", + "parameters": { + "id": 12315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12310, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18003:2:13", + "nodeType": "VariableDeclaration", + "scope": 12328, + "src": "17995:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12309, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17995:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12312, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18012:2:13", + "nodeType": "VariableDeclaration", + "scope": 12328, + "src": "18007:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12311, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18007:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12314, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18024:2:13", + "nodeType": "VariableDeclaration", + "scope": 12328, + "src": "18016:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18016:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "17994:33:13" + }, + "returnParameters": { + "id": 12316, + "nodeType": "ParameterList", + "parameters": [], + "src": "18042:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12348, + "nodeType": "FunctionDefinition", + "src": "18146:158:13", + "nodes": [], + "body": { + "id": 12347, + "nodeType": "Block", + "src": "18206:98:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e7429", + "id": 12340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18256:27:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07", + "typeString": "literal_string \"log(address,address,uint)\"" + }, + "value": "log(address,address,uint)" + }, + { + "id": 12341, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12330, + "src": "18285:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12342, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12332, + "src": "18289:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12343, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12334, + "src": "18293:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07", + "typeString": "literal_string \"log(address,address,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12338, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18232:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18236:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18232:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18232:64:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12337, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "18216:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18216:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12346, + "nodeType": "ExpressionStatement", + "src": "18216:81:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18155:3:13", + "parameters": { + "id": 12335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12330, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18167:2:13", + "nodeType": "VariableDeclaration", + "scope": 12348, + "src": "18159:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18159:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12332, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18179:2:13", + "nodeType": "VariableDeclaration", + "scope": 12348, + "src": "18171:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18171:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12334, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18188:2:13", + "nodeType": "VariableDeclaration", + "scope": 12348, + "src": "18183:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12333, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18183:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18158:33:13" + }, + "returnParameters": { + "id": 12336, + "nodeType": "ParameterList", + "parameters": [], + "src": "18206:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12368, + "nodeType": "FunctionDefinition", + "src": "18310:169:13", + "nodes": [], + "body": { + "id": 12367, + "nodeType": "Block", + "src": "18379:100:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e6729", + "id": 12360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18429:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee", + "typeString": "literal_string \"log(address,address,string)\"" + }, + "value": "log(address,address,string)" + }, + { + "id": 12361, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12350, + "src": "18460:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12362, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12352, + "src": "18464:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12363, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12354, + "src": "18468:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee", + "typeString": "literal_string \"log(address,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12358, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18405:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18409:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18405:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18405:66:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12357, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "18389:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18389:83:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12366, + "nodeType": "ExpressionStatement", + "src": "18389:83:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18319:3:13", + "parameters": { + "id": 12355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12350, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18331:2:13", + "nodeType": "VariableDeclaration", + "scope": 12368, + "src": "18323:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12349, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18323:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12352, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18343:2:13", + "nodeType": "VariableDeclaration", + "scope": 12368, + "src": "18335:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12351, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18335:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12354, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18361:2:13", + "nodeType": "VariableDeclaration", + "scope": 12368, + "src": "18347:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12353, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18347:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "18322:42:13" + }, + "returnParameters": { + "id": 12356, + "nodeType": "ParameterList", + "parameters": [], + "src": "18379:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12388, + "nodeType": "FunctionDefinition", + "src": "18485:158:13", + "nodes": [], + "body": { + "id": 12387, + "nodeType": "Block", + "src": "18545:98:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c29", + "id": 12380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18595:27:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc", + "typeString": "literal_string \"log(address,address,bool)\"" + }, + "value": "log(address,address,bool)" + }, + { + "id": 12381, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12370, + "src": "18624:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12382, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12372, + "src": "18628:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12383, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12374, + "src": "18632:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc", + "typeString": "literal_string \"log(address,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12378, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18571:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18575:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18571:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18571:64:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12377, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "18555:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18555:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12386, + "nodeType": "ExpressionStatement", + "src": "18555:81:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18494:3:13", + "parameters": { + "id": 12375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12370, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18506:2:13", + "nodeType": "VariableDeclaration", + "scope": 12388, + "src": "18498:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12369, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18498:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12372, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18518:2:13", + "nodeType": "VariableDeclaration", + "scope": 12388, + "src": "18510:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12371, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18510:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12374, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18527:2:13", + "nodeType": "VariableDeclaration", + "scope": 12388, + "src": "18522:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12373, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18522:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "18497:33:13" + }, + "returnParameters": { + "id": 12376, + "nodeType": "ParameterList", + "parameters": [], + "src": "18545:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12408, + "nodeType": "FunctionDefinition", + "src": "18649:164:13", + "nodes": [], + "body": { + "id": 12407, + "nodeType": "Block", + "src": "18712:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c6164647265737329", + "id": 12400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18762:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830", + "typeString": "literal_string \"log(address,address,address)\"" + }, + "value": "log(address,address,address)" + }, + { + "id": 12401, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12390, + "src": "18794:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12402, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12392, + "src": "18798:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12403, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12394, + "src": "18802:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830", + "typeString": "literal_string \"log(address,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12398, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18738:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18742:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18738:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18738:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12397, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "18722:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18722:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12406, + "nodeType": "ExpressionStatement", + "src": "18722:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18658:3:13", + "parameters": { + "id": 12395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12390, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18670:2:13", + "nodeType": "VariableDeclaration", + "scope": 12408, + "src": "18662:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12389, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18662:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12392, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18682:2:13", + "nodeType": "VariableDeclaration", + "scope": 12408, + "src": "18674:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18674:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12394, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18694:2:13", + "nodeType": "VariableDeclaration", + "scope": 12408, + "src": "18686:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12393, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18686:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "18661:36:13" + }, + "returnParameters": { + "id": 12396, + "nodeType": "ParameterList", + "parameters": [], + "src": "18712:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12431, + "nodeType": "FunctionDefinition", + "src": "18819:164:13", + "nodes": [], + "body": { + "id": 12430, + "nodeType": "Block", + "src": "18882:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e742c75696e7429", + "id": 12422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18932:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6", + "typeString": "literal_string \"log(uint,uint,uint,uint)\"" + }, + "value": "log(uint,uint,uint,uint)" + }, + { + "id": 12423, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12410, + "src": "18960:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12424, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12412, + "src": "18964:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12425, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12414, + "src": "18968:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12426, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12416, + "src": "18972:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6", + "typeString": "literal_string \"log(uint,uint,uint,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12420, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18908:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18912:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18908:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18908:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12419, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "18892:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18892:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12429, + "nodeType": "ExpressionStatement", + "src": "18892:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18828:3:13", + "parameters": { + "id": 12417, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12410, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18837:2:13", + "nodeType": "VariableDeclaration", + "scope": 12431, + "src": "18832:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12409, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18832:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12412, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18846:2:13", + "nodeType": "VariableDeclaration", + "scope": 12431, + "src": "18841:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12411, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18841:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12414, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18855:2:13", + "nodeType": "VariableDeclaration", + "scope": 12431, + "src": "18850:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12413, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18850:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12416, + "mutability": "mutable", + "name": "p3", + "nameLocation": "18864:2:13", + "nodeType": "VariableDeclaration", + "scope": 12431, + "src": "18859:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12415, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18859:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18831:36:13" + }, + "returnParameters": { + "id": 12418, + "nodeType": "ParameterList", + "parameters": [], + "src": "18882:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12454, + "nodeType": "FunctionDefinition", + "src": "18989:175:13", + "nodes": [], + "body": { + "id": 12453, + "nodeType": "Block", + "src": "19061:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e742c737472696e6729", + "id": 12445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19111:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5", + "typeString": "literal_string \"log(uint,uint,uint,string)\"" + }, + "value": "log(uint,uint,uint,string)" + }, + { + "id": 12446, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12433, + "src": "19141:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12447, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12435, + "src": "19145:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12448, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12437, + "src": "19149:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12449, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12439, + "src": "19153:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5", + "typeString": "literal_string \"log(uint,uint,uint,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12443, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19087:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19091:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19087:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19087:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12442, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "19071:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19071:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12452, + "nodeType": "ExpressionStatement", + "src": "19071:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18998:3:13", + "parameters": { + "id": 12440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12433, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19007:2:13", + "nodeType": "VariableDeclaration", + "scope": 12454, + "src": "19002:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12432, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19002:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12435, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19016:2:13", + "nodeType": "VariableDeclaration", + "scope": 12454, + "src": "19011:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12434, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19011:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12437, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19025:2:13", + "nodeType": "VariableDeclaration", + "scope": 12454, + "src": "19020:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12436, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19020:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12439, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19043:2:13", + "nodeType": "VariableDeclaration", + "scope": 12454, + "src": "19029:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12438, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "19029:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "19001:45:13" + }, + "returnParameters": { + "id": 12441, + "nodeType": "ParameterList", + "parameters": [], + "src": "19061:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12477, + "nodeType": "FunctionDefinition", + "src": "19170:164:13", + "nodes": [], + "body": { + "id": 12476, + "nodeType": "Block", + "src": "19233:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e742c626f6f6c29", + "id": 12468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19283:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f", + "typeString": "literal_string \"log(uint,uint,uint,bool)\"" + }, + "value": "log(uint,uint,uint,bool)" + }, + { + "id": 12469, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12456, + "src": "19311:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12470, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12458, + "src": "19315:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12471, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12460, + "src": "19319:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12472, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12462, + "src": "19323:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f", + "typeString": "literal_string \"log(uint,uint,uint,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12466, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19259:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19263:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19259:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19259:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12465, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "19243:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19243:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12475, + "nodeType": "ExpressionStatement", + "src": "19243:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19179:3:13", + "parameters": { + "id": 12463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12456, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19188:2:13", + "nodeType": "VariableDeclaration", + "scope": 12477, + "src": "19183:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12455, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19183:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12458, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19197:2:13", + "nodeType": "VariableDeclaration", + "scope": 12477, + "src": "19192:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12457, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19192:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12460, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19206:2:13", + "nodeType": "VariableDeclaration", + "scope": 12477, + "src": "19201:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12459, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19201:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12462, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19215:2:13", + "nodeType": "VariableDeclaration", + "scope": 12477, + "src": "19210:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12461, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19210:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "19182:36:13" + }, + "returnParameters": { + "id": 12464, + "nodeType": "ParameterList", + "parameters": [], + "src": "19233:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12500, + "nodeType": "FunctionDefinition", + "src": "19340:170:13", + "nodes": [], + "body": { + "id": 12499, + "nodeType": "Block", + "src": "19406:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e742c6164647265737329", + "id": 12491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19456:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba", + "typeString": "literal_string \"log(uint,uint,uint,address)\"" + }, + "value": "log(uint,uint,uint,address)" + }, + { + "id": 12492, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12479, + "src": "19487:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12493, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12481, + "src": "19491:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12494, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12483, + "src": "19495:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12495, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12485, + "src": "19499:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba", + "typeString": "literal_string \"log(uint,uint,uint,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12489, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19432:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19436:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19432:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19432:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12488, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "19416:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19416:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12498, + "nodeType": "ExpressionStatement", + "src": "19416:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19349:3:13", + "parameters": { + "id": 12486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12479, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19358:2:13", + "nodeType": "VariableDeclaration", + "scope": 12500, + "src": "19353:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12478, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19353:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12481, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19367:2:13", + "nodeType": "VariableDeclaration", + "scope": 12500, + "src": "19362:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12480, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19362:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12483, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19376:2:13", + "nodeType": "VariableDeclaration", + "scope": 12500, + "src": "19371:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12482, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19371:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12485, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19388:2:13", + "nodeType": "VariableDeclaration", + "scope": 12500, + "src": "19380:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19380:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19352:39:13" + }, + "returnParameters": { + "id": 12487, + "nodeType": "ParameterList", + "parameters": [], + "src": "19406:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12523, + "nodeType": "FunctionDefinition", + "src": "19516:175:13", + "nodes": [], + "body": { + "id": 12522, + "nodeType": "Block", + "src": "19588:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e672c75696e7429", + "id": 12514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19638:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e", + "typeString": "literal_string \"log(uint,uint,string,uint)\"" + }, + "value": "log(uint,uint,string,uint)" + }, + { + "id": 12515, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12502, + "src": "19668:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12516, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12504, + "src": "19672:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12517, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12506, + "src": "19676:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12518, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12508, + "src": "19680:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e", + "typeString": "literal_string \"log(uint,uint,string,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12512, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19614:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19618:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19614:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19614:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12511, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "19598:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19598:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12521, + "nodeType": "ExpressionStatement", + "src": "19598:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19525:3:13", + "parameters": { + "id": 12509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12502, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19534:2:13", + "nodeType": "VariableDeclaration", + "scope": 12523, + "src": "19529:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12501, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19529:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12504, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19543:2:13", + "nodeType": "VariableDeclaration", + "scope": 12523, + "src": "19538:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12503, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19538:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12506, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19561:2:13", + "nodeType": "VariableDeclaration", + "scope": 12523, + "src": "19547:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12505, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "19547:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12508, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19570:2:13", + "nodeType": "VariableDeclaration", + "scope": 12523, + "src": "19565:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12507, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19565:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19528:45:13" + }, + "returnParameters": { + "id": 12510, + "nodeType": "ParameterList", + "parameters": [], + "src": "19588:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12546, + "nodeType": "FunctionDefinition", + "src": "19697:186:13", + "nodes": [], + "body": { + "id": 12545, + "nodeType": "Block", + "src": "19778:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e672c737472696e6729", + "id": 12537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19828:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6", + "typeString": "literal_string \"log(uint,uint,string,string)\"" + }, + "value": "log(uint,uint,string,string)" + }, + { + "id": 12538, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12525, + "src": "19860:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12539, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12527, + "src": "19864:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12540, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12529, + "src": "19868:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12541, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12531, + "src": "19872:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6", + "typeString": "literal_string \"log(uint,uint,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12535, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19804:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19808:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19804:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19804:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12534, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "19788:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19788:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12544, + "nodeType": "ExpressionStatement", + "src": "19788:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19706:3:13", + "parameters": { + "id": 12532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12525, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19715:2:13", + "nodeType": "VariableDeclaration", + "scope": 12546, + "src": "19710:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12524, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19710:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12527, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19724:2:13", + "nodeType": "VariableDeclaration", + "scope": 12546, + "src": "19719:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12526, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19719:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12529, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19742:2:13", + "nodeType": "VariableDeclaration", + "scope": 12546, + "src": "19728:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12528, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "19728:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12531, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19760:2:13", + "nodeType": "VariableDeclaration", + "scope": 12546, + "src": "19746:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12530, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "19746:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "19709:54:13" + }, + "returnParameters": { + "id": 12533, + "nodeType": "ParameterList", + "parameters": [], + "src": "19778:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12569, + "nodeType": "FunctionDefinition", + "src": "19889:175:13", + "nodes": [], + "body": { + "id": 12568, + "nodeType": "Block", + "src": "19961:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e672c626f6f6c29", + "id": 12560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20011:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9", + "typeString": "literal_string \"log(uint,uint,string,bool)\"" + }, + "value": "log(uint,uint,string,bool)" + }, + { + "id": 12561, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12548, + "src": "20041:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12562, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12550, + "src": "20045:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12563, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12552, + "src": "20049:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12564, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12554, + "src": "20053:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9", + "typeString": "literal_string \"log(uint,uint,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12558, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19987:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19991:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19987:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19987:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12557, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "19971:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19971:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12567, + "nodeType": "ExpressionStatement", + "src": "19971:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19898:3:13", + "parameters": { + "id": 12555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12548, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19907:2:13", + "nodeType": "VariableDeclaration", + "scope": 12569, + "src": "19902:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12547, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19902:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12550, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19916:2:13", + "nodeType": "VariableDeclaration", + "scope": 12569, + "src": "19911:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12549, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19911:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12552, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19934:2:13", + "nodeType": "VariableDeclaration", + "scope": 12569, + "src": "19920:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12551, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "19920:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12554, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19943:2:13", + "nodeType": "VariableDeclaration", + "scope": 12569, + "src": "19938:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12553, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19938:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "19901:45:13" + }, + "returnParameters": { + "id": 12556, + "nodeType": "ParameterList", + "parameters": [], + "src": "19961:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12592, + "nodeType": "FunctionDefinition", + "src": "20070:181:13", + "nodes": [], + "body": { + "id": 12591, + "nodeType": "Block", + "src": "20145:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e672c6164647265737329", + "id": 12583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20195:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7", + "typeString": "literal_string \"log(uint,uint,string,address)\"" + }, + "value": "log(uint,uint,string,address)" + }, + { + "id": 12584, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12571, + "src": "20228:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12585, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12573, + "src": "20232:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12586, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12575, + "src": "20236:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12587, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12577, + "src": "20240:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7", + "typeString": "literal_string \"log(uint,uint,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12581, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20171:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20175:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20171:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20171:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12580, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "20155:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20155:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12590, + "nodeType": "ExpressionStatement", + "src": "20155:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20079:3:13", + "parameters": { + "id": 12578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12571, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20088:2:13", + "nodeType": "VariableDeclaration", + "scope": 12592, + "src": "20083:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12570, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20083:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12573, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20097:2:13", + "nodeType": "VariableDeclaration", + "scope": 12592, + "src": "20092:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12572, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20092:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12575, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20115:2:13", + "nodeType": "VariableDeclaration", + "scope": 12592, + "src": "20101:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12574, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20101:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12577, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20127:2:13", + "nodeType": "VariableDeclaration", + "scope": 12592, + "src": "20119:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12576, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20119:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "20082:48:13" + }, + "returnParameters": { + "id": 12579, + "nodeType": "ParameterList", + "parameters": [], + "src": "20145:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12615, + "nodeType": "FunctionDefinition", + "src": "20257:164:13", + "nodes": [], + "body": { + "id": 12614, + "nodeType": "Block", + "src": "20320:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c75696e7429", + "id": 12606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20370:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d", + "typeString": "literal_string \"log(uint,uint,bool,uint)\"" + }, + "value": "log(uint,uint,bool,uint)" + }, + { + "id": 12607, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12594, + "src": "20398:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12608, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12596, + "src": "20402:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12609, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12598, + "src": "20406:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12610, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12600, + "src": "20410:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d", + "typeString": "literal_string \"log(uint,uint,bool,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12604, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20346:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20350:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20346:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20346:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12603, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "20330:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20330:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12613, + "nodeType": "ExpressionStatement", + "src": "20330:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20266:3:13", + "parameters": { + "id": 12601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12594, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20275:2:13", + "nodeType": "VariableDeclaration", + "scope": 12615, + "src": "20270:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12593, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20270:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12596, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20284:2:13", + "nodeType": "VariableDeclaration", + "scope": 12615, + "src": "20279:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12595, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20279:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12598, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20293:2:13", + "nodeType": "VariableDeclaration", + "scope": 12615, + "src": "20288:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12597, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20288:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12600, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20302:2:13", + "nodeType": "VariableDeclaration", + "scope": 12615, + "src": "20297:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12599, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20297:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20269:36:13" + }, + "returnParameters": { + "id": 12602, + "nodeType": "ParameterList", + "parameters": [], + "src": "20320:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12638, + "nodeType": "FunctionDefinition", + "src": "20427:175:13", + "nodes": [], + "body": { + "id": 12637, + "nodeType": "Block", + "src": "20499:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c737472696e6729", + "id": 12629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20549:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a", + "typeString": "literal_string \"log(uint,uint,bool,string)\"" + }, + "value": "log(uint,uint,bool,string)" + }, + { + "id": 12630, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12617, + "src": "20579:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12631, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12619, + "src": "20583:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12632, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12621, + "src": "20587:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12633, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12623, + "src": "20591:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a", + "typeString": "literal_string \"log(uint,uint,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12627, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20525:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20529:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20525:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20525:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12626, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "20509:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20509:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12636, + "nodeType": "ExpressionStatement", + "src": "20509:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20436:3:13", + "parameters": { + "id": 12624, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12617, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20445:2:13", + "nodeType": "VariableDeclaration", + "scope": 12638, + "src": "20440:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12616, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20440:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12619, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20454:2:13", + "nodeType": "VariableDeclaration", + "scope": 12638, + "src": "20449:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12618, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20449:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12621, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20463:2:13", + "nodeType": "VariableDeclaration", + "scope": 12638, + "src": "20458:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12620, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20458:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12623, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20481:2:13", + "nodeType": "VariableDeclaration", + "scope": 12638, + "src": "20467:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12622, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20467:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "20439:45:13" + }, + "returnParameters": { + "id": 12625, + "nodeType": "ParameterList", + "parameters": [], + "src": "20499:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12661, + "nodeType": "FunctionDefinition", + "src": "20608:164:13", + "nodes": [], + "body": { + "id": 12660, + "nodeType": "Block", + "src": "20671:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c626f6f6c29", + "id": 12652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20721:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41", + "typeString": "literal_string \"log(uint,uint,bool,bool)\"" + }, + "value": "log(uint,uint,bool,bool)" + }, + { + "id": 12653, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12640, + "src": "20749:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12654, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12642, + "src": "20753:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12655, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12644, + "src": "20757:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12656, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12646, + "src": "20761:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41", + "typeString": "literal_string \"log(uint,uint,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12650, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20697:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20701:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20697:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20697:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12649, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "20681:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20681:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12659, + "nodeType": "ExpressionStatement", + "src": "20681:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20617:3:13", + "parameters": { + "id": 12647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12640, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20626:2:13", + "nodeType": "VariableDeclaration", + "scope": 12661, + "src": "20621:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12639, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20621:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12642, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20635:2:13", + "nodeType": "VariableDeclaration", + "scope": 12661, + "src": "20630:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12641, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20630:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12644, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20644:2:13", + "nodeType": "VariableDeclaration", + "scope": 12661, + "src": "20639:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12643, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20639:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12646, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20653:2:13", + "nodeType": "VariableDeclaration", + "scope": 12661, + "src": "20648:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12645, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20648:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "20620:36:13" + }, + "returnParameters": { + "id": 12648, + "nodeType": "ParameterList", + "parameters": [], + "src": "20671:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12684, + "nodeType": "FunctionDefinition", + "src": "20778:170:13", + "nodes": [], + "body": { + "id": 12683, + "nodeType": "Block", + "src": "20844:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c6164647265737329", + "id": 12675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20894:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976", + "typeString": "literal_string \"log(uint,uint,bool,address)\"" + }, + "value": "log(uint,uint,bool,address)" + }, + { + "id": 12676, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12663, + "src": "20925:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12677, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12665, + "src": "20929:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12678, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12667, + "src": "20933:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12679, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12669, + "src": "20937:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976", + "typeString": "literal_string \"log(uint,uint,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12673, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20870:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20874:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20870:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20870:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12672, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "20854:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20854:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12682, + "nodeType": "ExpressionStatement", + "src": "20854:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20787:3:13", + "parameters": { + "id": 12670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12663, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20796:2:13", + "nodeType": "VariableDeclaration", + "scope": 12684, + "src": "20791:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12662, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20791:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12665, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20805:2:13", + "nodeType": "VariableDeclaration", + "scope": 12684, + "src": "20800:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12664, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20800:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12667, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20814:2:13", + "nodeType": "VariableDeclaration", + "scope": 12684, + "src": "20809:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12666, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20809:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12669, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20826:2:13", + "nodeType": "VariableDeclaration", + "scope": 12684, + "src": "20818:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12668, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20818:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "20790:39:13" + }, + "returnParameters": { + "id": 12671, + "nodeType": "ParameterList", + "parameters": [], + "src": "20844:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12707, + "nodeType": "FunctionDefinition", + "src": "20954:170:13", + "nodes": [], + "body": { + "id": 12706, + "nodeType": "Block", + "src": "21020:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c616464726573732c75696e7429", + "id": 12698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21070:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f", + "typeString": "literal_string \"log(uint,uint,address,uint)\"" + }, + "value": "log(uint,uint,address,uint)" + }, + { + "id": 12699, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12686, + "src": "21101:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12700, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12688, + "src": "21105:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12701, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12690, + "src": "21109:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12702, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12692, + "src": "21113:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f", + "typeString": "literal_string \"log(uint,uint,address,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12696, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21046:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21050:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21046:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21046:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12695, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "21030:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21030:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12705, + "nodeType": "ExpressionStatement", + "src": "21030:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20963:3:13", + "parameters": { + "id": 12693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12686, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20972:2:13", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "20967:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12685, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20967:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12688, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20981:2:13", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "20976:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12687, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20976:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12690, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20993:2:13", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "20985:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12689, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20985:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12692, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21002:2:13", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "20997:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12691, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20997:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20966:39:13" + }, + "returnParameters": { + "id": 12694, + "nodeType": "ParameterList", + "parameters": [], + "src": "21020:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12730, + "nodeType": "FunctionDefinition", + "src": "21130:181:13", + "nodes": [], + "body": { + "id": 12729, + "nodeType": "Block", + "src": "21205:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c616464726573732c737472696e6729", + "id": 12721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21255:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227", + "typeString": "literal_string \"log(uint,uint,address,string)\"" + }, + "value": "log(uint,uint,address,string)" + }, + { + "id": 12722, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12709, + "src": "21288:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12723, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12711, + "src": "21292:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12724, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12713, + "src": "21296:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12725, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12715, + "src": "21300:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227", + "typeString": "literal_string \"log(uint,uint,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12719, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21231:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21235:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21231:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21231:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12718, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "21215:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21215:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12728, + "nodeType": "ExpressionStatement", + "src": "21215:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21139:3:13", + "parameters": { + "id": 12716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12709, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21148:2:13", + "nodeType": "VariableDeclaration", + "scope": 12730, + "src": "21143:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12708, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21143:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12711, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21157:2:13", + "nodeType": "VariableDeclaration", + "scope": 12730, + "src": "21152:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12710, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21152:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12713, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21169:2:13", + "nodeType": "VariableDeclaration", + "scope": 12730, + "src": "21161:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12712, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21161:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12715, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21187:2:13", + "nodeType": "VariableDeclaration", + "scope": 12730, + "src": "21173:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12714, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21173:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "21142:48:13" + }, + "returnParameters": { + "id": 12717, + "nodeType": "ParameterList", + "parameters": [], + "src": "21205:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12753, + "nodeType": "FunctionDefinition", + "src": "21317:170:13", + "nodes": [], + "body": { + "id": 12752, + "nodeType": "Block", + "src": "21383:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c616464726573732c626f6f6c29", + "id": 12744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21433:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0", + "typeString": "literal_string \"log(uint,uint,address,bool)\"" + }, + "value": "log(uint,uint,address,bool)" + }, + { + "id": 12745, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12732, + "src": "21464:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12746, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12734, + "src": "21468:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12747, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12736, + "src": "21472:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12748, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12738, + "src": "21476:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0", + "typeString": "literal_string \"log(uint,uint,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12742, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21409:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21413:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21409:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21409:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12741, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "21393:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21393:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12751, + "nodeType": "ExpressionStatement", + "src": "21393:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21326:3:13", + "parameters": { + "id": 12739, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12732, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21335:2:13", + "nodeType": "VariableDeclaration", + "scope": 12753, + "src": "21330:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12731, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21330:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12734, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21344:2:13", + "nodeType": "VariableDeclaration", + "scope": 12753, + "src": "21339:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12733, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21339:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12736, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21356:2:13", + "nodeType": "VariableDeclaration", + "scope": 12753, + "src": "21348:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12735, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21348:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12738, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21365:2:13", + "nodeType": "VariableDeclaration", + "scope": 12753, + "src": "21360:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12737, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21360:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "21329:39:13" + }, + "returnParameters": { + "id": 12740, + "nodeType": "ParameterList", + "parameters": [], + "src": "21383:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12776, + "nodeType": "FunctionDefinition", + "src": "21493:176:13", + "nodes": [], + "body": { + "id": 12775, + "nodeType": "Block", + "src": "21562:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c616464726573732c6164647265737329", + "id": 12767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21612:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811", + "typeString": "literal_string \"log(uint,uint,address,address)\"" + }, + "value": "log(uint,uint,address,address)" + }, + { + "id": 12768, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12755, + "src": "21646:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12769, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12757, + "src": "21650:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12770, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12759, + "src": "21654:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 12771, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12761, + "src": "21658:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811", + "typeString": "literal_string \"log(uint,uint,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12765, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21588:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21592:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21588:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21588:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12764, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "21572:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21572:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12774, + "nodeType": "ExpressionStatement", + "src": "21572:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21502:3:13", + "parameters": { + "id": 12762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12755, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21511:2:13", + "nodeType": "VariableDeclaration", + "scope": 12776, + "src": "21506:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12754, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21506:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12757, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21520:2:13", + "nodeType": "VariableDeclaration", + "scope": 12776, + "src": "21515:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12756, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21515:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12759, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21532:2:13", + "nodeType": "VariableDeclaration", + "scope": 12776, + "src": "21524:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21524:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12761, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21544:2:13", + "nodeType": "VariableDeclaration", + "scope": 12776, + "src": "21536:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21536:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "21505:42:13" + }, + "returnParameters": { + "id": 12763, + "nodeType": "ParameterList", + "parameters": [], + "src": "21562:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12799, + "nodeType": "FunctionDefinition", + "src": "21675:175:13", + "nodes": [], + "body": { + "id": 12798, + "nodeType": "Block", + "src": "21747:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e742c75696e7429", + "id": 12790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21797:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628", + "typeString": "literal_string \"log(uint,string,uint,uint)\"" + }, + "value": "log(uint,string,uint,uint)" + }, + { + "id": 12791, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12778, + "src": "21827:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12792, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12780, + "src": "21831:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12793, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12782, + "src": "21835:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12794, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12784, + "src": "21839:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628", + "typeString": "literal_string \"log(uint,string,uint,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12788, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21773:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21777:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21773:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21773:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12787, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "21757:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21757:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12797, + "nodeType": "ExpressionStatement", + "src": "21757:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21684:3:13", + "parameters": { + "id": 12785, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12778, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21693:2:13", + "nodeType": "VariableDeclaration", + "scope": 12799, + "src": "21688:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12777, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21688:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12780, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21711:2:13", + "nodeType": "VariableDeclaration", + "scope": 12799, + "src": "21697:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12779, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21697:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12782, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21720:2:13", + "nodeType": "VariableDeclaration", + "scope": 12799, + "src": "21715:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12781, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21715:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12784, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21729:2:13", + "nodeType": "VariableDeclaration", + "scope": 12799, + "src": "21724:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12783, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21724:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "21687:45:13" + }, + "returnParameters": { + "id": 12786, + "nodeType": "ParameterList", + "parameters": [], + "src": "21747:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12822, + "nodeType": "FunctionDefinition", + "src": "21856:186:13", + "nodes": [], + "body": { + "id": 12821, + "nodeType": "Block", + "src": "21937:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e742c737472696e6729", + "id": 12813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21987:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313", + "typeString": "literal_string \"log(uint,string,uint,string)\"" + }, + "value": "log(uint,string,uint,string)" + }, + { + "id": 12814, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12801, + "src": "22019:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12815, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12803, + "src": "22023:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12816, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12805, + "src": "22027:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12817, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12807, + "src": "22031:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313", + "typeString": "literal_string \"log(uint,string,uint,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12811, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21963:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21967:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21963:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21963:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12810, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "21947:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21947:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12820, + "nodeType": "ExpressionStatement", + "src": "21947:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21865:3:13", + "parameters": { + "id": 12808, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12801, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21874:2:13", + "nodeType": "VariableDeclaration", + "scope": 12822, + "src": "21869:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12800, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21869:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12803, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21892:2:13", + "nodeType": "VariableDeclaration", + "scope": 12822, + "src": "21878:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21878:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12805, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21901:2:13", + "nodeType": "VariableDeclaration", + "scope": 12822, + "src": "21896:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12804, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21896:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12807, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21919:2:13", + "nodeType": "VariableDeclaration", + "scope": 12822, + "src": "21905:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12806, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21905:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "21868:54:13" + }, + "returnParameters": { + "id": 12809, + "nodeType": "ParameterList", + "parameters": [], + "src": "21937:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12845, + "nodeType": "FunctionDefinition", + "src": "22048:175:13", + "nodes": [], + "body": { + "id": 12844, + "nodeType": "Block", + "src": "22120:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e742c626f6f6c29", + "id": 12836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22170:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d", + "typeString": "literal_string \"log(uint,string,uint,bool)\"" + }, + "value": "log(uint,string,uint,bool)" + }, + { + "id": 12837, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12824, + "src": "22200:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12838, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12826, + "src": "22204:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12839, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12828, + "src": "22208:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12840, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12830, + "src": "22212:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d", + "typeString": "literal_string \"log(uint,string,uint,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12834, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22146:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22150:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22146:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22146:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12833, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "22130:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22130:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12843, + "nodeType": "ExpressionStatement", + "src": "22130:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22057:3:13", + "parameters": { + "id": 12831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12824, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22066:2:13", + "nodeType": "VariableDeclaration", + "scope": 12845, + "src": "22061:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12823, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22061:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12826, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22084:2:13", + "nodeType": "VariableDeclaration", + "scope": 12845, + "src": "22070:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12825, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22070:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12828, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22093:2:13", + "nodeType": "VariableDeclaration", + "scope": 12845, + "src": "22088:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12827, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22088:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12830, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22102:2:13", + "nodeType": "VariableDeclaration", + "scope": 12845, + "src": "22097:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12829, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22097:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "22060:45:13" + }, + "returnParameters": { + "id": 12832, + "nodeType": "ParameterList", + "parameters": [], + "src": "22120:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12868, + "nodeType": "FunctionDefinition", + "src": "22229:181:13", + "nodes": [], + "body": { + "id": 12867, + "nodeType": "Block", + "src": "22304:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e742c6164647265737329", + "id": 12859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22354:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda", + "typeString": "literal_string \"log(uint,string,uint,address)\"" + }, + "value": "log(uint,string,uint,address)" + }, + { + "id": 12860, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12847, + "src": "22387:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12861, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12849, + "src": "22391:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12862, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12851, + "src": "22395:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12863, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12853, + "src": "22399:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda", + "typeString": "literal_string \"log(uint,string,uint,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12857, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22330:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22334:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22330:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22330:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12856, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "22314:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22314:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12866, + "nodeType": "ExpressionStatement", + "src": "22314:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22238:3:13", + "parameters": { + "id": 12854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12847, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22247:2:13", + "nodeType": "VariableDeclaration", + "scope": 12868, + "src": "22242:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12846, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22242:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12849, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22265:2:13", + "nodeType": "VariableDeclaration", + "scope": 12868, + "src": "22251:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12848, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22251:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12851, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22274:2:13", + "nodeType": "VariableDeclaration", + "scope": 12868, + "src": "22269:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12850, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22269:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12853, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22286:2:13", + "nodeType": "VariableDeclaration", + "scope": 12868, + "src": "22278:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12852, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22278:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "22241:48:13" + }, + "returnParameters": { + "id": 12855, + "nodeType": "ParameterList", + "parameters": [], + "src": "22304:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12891, + "nodeType": "FunctionDefinition", + "src": "22416:186:13", + "nodes": [], + "body": { + "id": 12890, + "nodeType": "Block", + "src": "22497:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e672c75696e7429", + "id": 12882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22547:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b", + "typeString": "literal_string \"log(uint,string,string,uint)\"" + }, + "value": "log(uint,string,string,uint)" + }, + { + "id": 12883, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12870, + "src": "22579:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12884, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12872, + "src": "22583:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12885, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12874, + "src": "22587:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12886, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12876, + "src": "22591:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b", + "typeString": "literal_string \"log(uint,string,string,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12880, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22523:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12881, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22527:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22523:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22523:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12879, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "22507:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22507:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12889, + "nodeType": "ExpressionStatement", + "src": "22507:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22425:3:13", + "parameters": { + "id": 12877, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12870, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22434:2:13", + "nodeType": "VariableDeclaration", + "scope": 12891, + "src": "22429:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12869, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22429:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12872, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22452:2:13", + "nodeType": "VariableDeclaration", + "scope": 12891, + "src": "22438:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12871, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22438:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12874, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22470:2:13", + "nodeType": "VariableDeclaration", + "scope": 12891, + "src": "22456:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12873, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22456:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12876, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22479:2:13", + "nodeType": "VariableDeclaration", + "scope": 12891, + "src": "22474:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12875, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22474:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22428:54:13" + }, + "returnParameters": { + "id": 12878, + "nodeType": "ParameterList", + "parameters": [], + "src": "22497:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12914, + "nodeType": "FunctionDefinition", + "src": "22608:197:13", + "nodes": [], + "body": { + "id": 12913, + "nodeType": "Block", + "src": "22698:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e672c737472696e6729", + "id": 12905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22748:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156", + "typeString": "literal_string \"log(uint,string,string,string)\"" + }, + "value": "log(uint,string,string,string)" + }, + { + "id": 12906, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12893, + "src": "22782:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12907, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12895, + "src": "22786:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12908, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12897, + "src": "22790:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12909, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12899, + "src": "22794:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156", + "typeString": "literal_string \"log(uint,string,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12903, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22724:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22728:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22724:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22724:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12902, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "22708:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22708:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12912, + "nodeType": "ExpressionStatement", + "src": "22708:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22617:3:13", + "parameters": { + "id": 12900, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12893, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22626:2:13", + "nodeType": "VariableDeclaration", + "scope": 12914, + "src": "22621:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12892, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22621:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12895, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22644:2:13", + "nodeType": "VariableDeclaration", + "scope": 12914, + "src": "22630:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12894, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22630:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12897, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22662:2:13", + "nodeType": "VariableDeclaration", + "scope": 12914, + "src": "22648:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12896, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22648:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12899, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22680:2:13", + "nodeType": "VariableDeclaration", + "scope": 12914, + "src": "22666:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12898, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22666:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "22620:63:13" + }, + "returnParameters": { + "id": 12901, + "nodeType": "ParameterList", + "parameters": [], + "src": "22698:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12937, + "nodeType": "FunctionDefinition", + "src": "22811:186:13", + "nodes": [], + "body": { + "id": 12936, + "nodeType": "Block", + "src": "22892:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e672c626f6f6c29", + "id": 12928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22942:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc", + "typeString": "literal_string \"log(uint,string,string,bool)\"" + }, + "value": "log(uint,string,string,bool)" + }, + { + "id": 12929, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12916, + "src": "22974:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12930, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12918, + "src": "22978:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12931, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12920, + "src": "22982:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12932, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12922, + "src": "22986:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc", + "typeString": "literal_string \"log(uint,string,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 12926, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22918:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22922:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22918:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22918:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12925, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "22902:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22902:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12935, + "nodeType": "ExpressionStatement", + "src": "22902:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22820:3:13", + "parameters": { + "id": 12923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12916, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22829:2:13", + "nodeType": "VariableDeclaration", + "scope": 12937, + "src": "22824:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12915, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22824:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12918, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22847:2:13", + "nodeType": "VariableDeclaration", + "scope": 12937, + "src": "22833:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12917, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22833:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12920, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22865:2:13", + "nodeType": "VariableDeclaration", + "scope": 12937, + "src": "22851:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12919, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22851:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12922, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22874:2:13", + "nodeType": "VariableDeclaration", + "scope": 12937, + "src": "22869:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12921, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22869:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "22823:54:13" + }, + "returnParameters": { + "id": 12924, + "nodeType": "ParameterList", + "parameters": [], + "src": "22892:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12960, + "nodeType": "FunctionDefinition", + "src": "23003:192:13", + "nodes": [], + "body": { + "id": 12959, + "nodeType": "Block", + "src": "23087:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e672c6164647265737329", + "id": 12951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23137:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded", + "typeString": "literal_string \"log(uint,string,string,address)\"" + }, + "value": "log(uint,string,string,address)" + }, + { + "id": 12952, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12939, + "src": "23172:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12953, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12941, + "src": "23176:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12954, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12943, + "src": "23180:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12955, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12945, + "src": "23184:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded", + "typeString": "literal_string \"log(uint,string,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 12949, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23113:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23117:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23113:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23113:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12948, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "23097:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23097:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12958, + "nodeType": "ExpressionStatement", + "src": "23097:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23012:3:13", + "parameters": { + "id": 12946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12939, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23021:2:13", + "nodeType": "VariableDeclaration", + "scope": 12960, + "src": "23016:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12938, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23016:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12941, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23039:2:13", + "nodeType": "VariableDeclaration", + "scope": 12960, + "src": "23025:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12940, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23025:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12943, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23057:2:13", + "nodeType": "VariableDeclaration", + "scope": 12960, + "src": "23043:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12942, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23043:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12945, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23069:2:13", + "nodeType": "VariableDeclaration", + "scope": 12960, + "src": "23061:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12944, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23061:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "23015:57:13" + }, + "returnParameters": { + "id": 12947, + "nodeType": "ParameterList", + "parameters": [], + "src": "23087:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 12983, + "nodeType": "FunctionDefinition", + "src": "23201:175:13", + "nodes": [], + "body": { + "id": 12982, + "nodeType": "Block", + "src": "23273:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c75696e7429", + "id": 12974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23323:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081", + "typeString": "literal_string \"log(uint,string,bool,uint)\"" + }, + "value": "log(uint,string,bool,uint)" + }, + { + "id": 12975, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12962, + "src": "23353:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12976, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12964, + "src": "23357:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 12977, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12966, + "src": "23361:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 12978, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12968, + "src": "23365:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081", + "typeString": "literal_string \"log(uint,string,bool,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 12972, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23299:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23303:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23299:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 12979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23299:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12971, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "23283:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 12980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23283:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12981, + "nodeType": "ExpressionStatement", + "src": "23283:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23210:3:13", + "parameters": { + "id": 12969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12962, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23219:2:13", + "nodeType": "VariableDeclaration", + "scope": 12983, + "src": "23214:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12961, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23214:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12964, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23237:2:13", + "nodeType": "VariableDeclaration", + "scope": 12983, + "src": "23223:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12963, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23223:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12966, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23246:2:13", + "nodeType": "VariableDeclaration", + "scope": 12983, + "src": "23241:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12965, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23241:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12968, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23255:2:13", + "nodeType": "VariableDeclaration", + "scope": 12983, + "src": "23250:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12967, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23250:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23213:45:13" + }, + "returnParameters": { + "id": 12970, + "nodeType": "ParameterList", + "parameters": [], + "src": "23273:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13006, + "nodeType": "FunctionDefinition", + "src": "23382:186:13", + "nodes": [], + "body": { + "id": 13005, + "nodeType": "Block", + "src": "23463:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c737472696e6729", + "id": 12997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23513:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4", + "typeString": "literal_string \"log(uint,string,bool,string)\"" + }, + "value": "log(uint,string,bool,string)" + }, + { + "id": 12998, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12985, + "src": "23545:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 12999, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12987, + "src": "23549:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13000, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12989, + "src": "23553:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13001, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12991, + "src": "23557:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4", + "typeString": "literal_string \"log(uint,string,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 12995, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23489:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 12996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23493:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23489:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23489:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 12994, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "23473:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23473:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13004, + "nodeType": "ExpressionStatement", + "src": "23473:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23391:3:13", + "parameters": { + "id": 12992, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12985, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23400:2:13", + "nodeType": "VariableDeclaration", + "scope": 13006, + "src": "23395:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12984, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23395:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12987, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23418:2:13", + "nodeType": "VariableDeclaration", + "scope": 13006, + "src": "23404:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12986, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23404:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12989, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23427:2:13", + "nodeType": "VariableDeclaration", + "scope": 13006, + "src": "23422:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12988, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23422:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12991, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23445:2:13", + "nodeType": "VariableDeclaration", + "scope": 13006, + "src": "23431:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 12990, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23431:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "23394:54:13" + }, + "returnParameters": { + "id": 12993, + "nodeType": "ParameterList", + "parameters": [], + "src": "23463:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13029, + "nodeType": "FunctionDefinition", + "src": "23574:175:13", + "nodes": [], + "body": { + "id": 13028, + "nodeType": "Block", + "src": "23646:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c626f6f6c29", + "id": 13020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23696:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a", + "typeString": "literal_string \"log(uint,string,bool,bool)\"" + }, + "value": "log(uint,string,bool,bool)" + }, + { + "id": 13021, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13008, + "src": "23726:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13022, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13010, + "src": "23730:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13023, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13012, + "src": "23734:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13024, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13014, + "src": "23738:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a", + "typeString": "literal_string \"log(uint,string,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13018, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23672:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23676:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23672:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23672:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13017, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "23656:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23656:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13027, + "nodeType": "ExpressionStatement", + "src": "23656:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23583:3:13", + "parameters": { + "id": 13015, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13008, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23592:2:13", + "nodeType": "VariableDeclaration", + "scope": 13029, + "src": "23587:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13007, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23587:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13010, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23610:2:13", + "nodeType": "VariableDeclaration", + "scope": 13029, + "src": "23596:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13009, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23596:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13012, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23619:2:13", + "nodeType": "VariableDeclaration", + "scope": 13029, + "src": "23614:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13011, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23614:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13014, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23628:2:13", + "nodeType": "VariableDeclaration", + "scope": 13029, + "src": "23623:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13013, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23623:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "23586:45:13" + }, + "returnParameters": { + "id": 13016, + "nodeType": "ParameterList", + "parameters": [], + "src": "23646:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13052, + "nodeType": "FunctionDefinition", + "src": "23755:181:13", + "nodes": [], + "body": { + "id": 13051, + "nodeType": "Block", + "src": "23830:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c6164647265737329", + "id": 13043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23880:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829", + "typeString": "literal_string \"log(uint,string,bool,address)\"" + }, + "value": "log(uint,string,bool,address)" + }, + { + "id": 13044, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13031, + "src": "23913:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13045, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13033, + "src": "23917:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13046, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13035, + "src": "23921:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13047, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13037, + "src": "23925:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829", + "typeString": "literal_string \"log(uint,string,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13041, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23856:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23860:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23856:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23856:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13040, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "23840:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23840:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13050, + "nodeType": "ExpressionStatement", + "src": "23840:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23764:3:13", + "parameters": { + "id": 13038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13031, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23773:2:13", + "nodeType": "VariableDeclaration", + "scope": 13052, + "src": "23768:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13030, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23768:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13033, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23791:2:13", + "nodeType": "VariableDeclaration", + "scope": 13052, + "src": "23777:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13032, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23777:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13035, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23800:2:13", + "nodeType": "VariableDeclaration", + "scope": 13052, + "src": "23795:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13034, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23795:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13037, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23812:2:13", + "nodeType": "VariableDeclaration", + "scope": 13052, + "src": "23804:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13036, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23804:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "23767:48:13" + }, + "returnParameters": { + "id": 13039, + "nodeType": "ParameterList", + "parameters": [], + "src": "23830:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13075, + "nodeType": "FunctionDefinition", + "src": "23942:181:13", + "nodes": [], + "body": { + "id": 13074, + "nodeType": "Block", + "src": "24017:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c616464726573732c75696e7429", + "id": 13066, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24067:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43", + "typeString": "literal_string \"log(uint,string,address,uint)\"" + }, + "value": "log(uint,string,address,uint)" + }, + { + "id": 13067, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13054, + "src": "24100:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13068, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13056, + "src": "24104:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13069, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13058, + "src": "24108:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13070, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13060, + "src": "24112:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43", + "typeString": "literal_string \"log(uint,string,address,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13064, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24043:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13065, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24047:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24043:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24043:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13063, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "24027:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24027:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13073, + "nodeType": "ExpressionStatement", + "src": "24027:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23951:3:13", + "parameters": { + "id": 13061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13054, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23960:2:13", + "nodeType": "VariableDeclaration", + "scope": 13075, + "src": "23955:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13053, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23955:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13056, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23978:2:13", + "nodeType": "VariableDeclaration", + "scope": 13075, + "src": "23964:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13055, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23964:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13058, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23990:2:13", + "nodeType": "VariableDeclaration", + "scope": 13075, + "src": "23982:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13057, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23982:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13060, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23999:2:13", + "nodeType": "VariableDeclaration", + "scope": 13075, + "src": "23994:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13059, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23994:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23954:48:13" + }, + "returnParameters": { + "id": 13062, + "nodeType": "ParameterList", + "parameters": [], + "src": "24017:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13098, + "nodeType": "FunctionDefinition", + "src": "24129:192:13", + "nodes": [], + "body": { + "id": 13097, + "nodeType": "Block", + "src": "24213:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c616464726573732c737472696e6729", + "id": 13089, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24263:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2", + "typeString": "literal_string \"log(uint,string,address,string)\"" + }, + "value": "log(uint,string,address,string)" + }, + { + "id": 13090, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13077, + "src": "24298:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13091, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13079, + "src": "24302:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13092, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13081, + "src": "24306:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13093, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13083, + "src": "24310:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2", + "typeString": "literal_string \"log(uint,string,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13087, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24239:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24243:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24239:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24239:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13086, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "24223:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24223:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13096, + "nodeType": "ExpressionStatement", + "src": "24223:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24138:3:13", + "parameters": { + "id": 13084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13077, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24147:2:13", + "nodeType": "VariableDeclaration", + "scope": 13098, + "src": "24142:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13076, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24142:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13079, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24165:2:13", + "nodeType": "VariableDeclaration", + "scope": 13098, + "src": "24151:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13078, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24151:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13081, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24177:2:13", + "nodeType": "VariableDeclaration", + "scope": 13098, + "src": "24169:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13080, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24169:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13083, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24195:2:13", + "nodeType": "VariableDeclaration", + "scope": 13098, + "src": "24181:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13082, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24181:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "24141:57:13" + }, + "returnParameters": { + "id": 13085, + "nodeType": "ParameterList", + "parameters": [], + "src": "24213:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13121, + "nodeType": "FunctionDefinition", + "src": "24327:181:13", + "nodes": [], + "body": { + "id": 13120, + "nodeType": "Block", + "src": "24402:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c616464726573732c626f6f6c29", + "id": 13112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24452:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1", + "typeString": "literal_string \"log(uint,string,address,bool)\"" + }, + "value": "log(uint,string,address,bool)" + }, + { + "id": 13113, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13100, + "src": "24485:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13114, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13102, + "src": "24489:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13115, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13104, + "src": "24493:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13116, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13106, + "src": "24497:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1", + "typeString": "literal_string \"log(uint,string,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13110, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24428:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24432:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24428:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24428:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13109, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "24412:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24412:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13119, + "nodeType": "ExpressionStatement", + "src": "24412:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24336:3:13", + "parameters": { + "id": 13107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13100, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24345:2:13", + "nodeType": "VariableDeclaration", + "scope": 13121, + "src": "24340:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13099, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24340:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13102, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24363:2:13", + "nodeType": "VariableDeclaration", + "scope": 13121, + "src": "24349:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13101, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24349:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13104, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24375:2:13", + "nodeType": "VariableDeclaration", + "scope": 13121, + "src": "24367:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13103, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24367:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13106, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24384:2:13", + "nodeType": "VariableDeclaration", + "scope": 13121, + "src": "24379:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13105, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24379:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "24339:48:13" + }, + "returnParameters": { + "id": 13108, + "nodeType": "ParameterList", + "parameters": [], + "src": "24402:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13144, + "nodeType": "FunctionDefinition", + "src": "24514:187:13", + "nodes": [], + "body": { + "id": 13143, + "nodeType": "Block", + "src": "24592:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c616464726573732c6164647265737329", + "id": 13135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24642:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb", + "typeString": "literal_string \"log(uint,string,address,address)\"" + }, + "value": "log(uint,string,address,address)" + }, + { + "id": 13136, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13123, + "src": "24678:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13137, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13125, + "src": "24682:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13138, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13127, + "src": "24686:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13139, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13129, + "src": "24690:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb", + "typeString": "literal_string \"log(uint,string,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13133, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24618:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24622:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24618:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24618:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13132, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "24602:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24602:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13142, + "nodeType": "ExpressionStatement", + "src": "24602:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24523:3:13", + "parameters": { + "id": 13130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13123, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24532:2:13", + "nodeType": "VariableDeclaration", + "scope": 13144, + "src": "24527:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13122, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24527:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13125, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24550:2:13", + "nodeType": "VariableDeclaration", + "scope": 13144, + "src": "24536:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13124, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24536:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13127, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24562:2:13", + "nodeType": "VariableDeclaration", + "scope": 13144, + "src": "24554:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13126, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24554:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13129, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24574:2:13", + "nodeType": "VariableDeclaration", + "scope": 13144, + "src": "24566:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24566:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "24526:51:13" + }, + "returnParameters": { + "id": 13131, + "nodeType": "ParameterList", + "parameters": [], + "src": "24592:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13167, + "nodeType": "FunctionDefinition", + "src": "24707:164:13", + "nodes": [], + "body": { + "id": 13166, + "nodeType": "Block", + "src": "24770:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c75696e7429", + "id": 13158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24820:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e", + "typeString": "literal_string \"log(uint,bool,uint,uint)\"" + }, + "value": "log(uint,bool,uint,uint)" + }, + { + "id": 13159, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13146, + "src": "24848:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13160, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13148, + "src": "24852:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13161, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13150, + "src": "24856:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13162, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13152, + "src": "24860:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e", + "typeString": "literal_string \"log(uint,bool,uint,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13156, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24796:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24800:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24796:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24796:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13155, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "24780:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24780:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13165, + "nodeType": "ExpressionStatement", + "src": "24780:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24716:3:13", + "parameters": { + "id": 13153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13146, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24725:2:13", + "nodeType": "VariableDeclaration", + "scope": 13167, + "src": "24720:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13145, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24720:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13148, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24734:2:13", + "nodeType": "VariableDeclaration", + "scope": 13167, + "src": "24729:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13147, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24729:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13150, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24743:2:13", + "nodeType": "VariableDeclaration", + "scope": 13167, + "src": "24738:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13149, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24738:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13152, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24752:2:13", + "nodeType": "VariableDeclaration", + "scope": 13167, + "src": "24747:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13151, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24747:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24719:36:13" + }, + "returnParameters": { + "id": 13154, + "nodeType": "ParameterList", + "parameters": [], + "src": "24770:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13190, + "nodeType": "FunctionDefinition", + "src": "24877:175:13", + "nodes": [], + "body": { + "id": 13189, + "nodeType": "Block", + "src": "24949:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c737472696e6729", + "id": 13181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24999:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63", + "typeString": "literal_string \"log(uint,bool,uint,string)\"" + }, + "value": "log(uint,bool,uint,string)" + }, + { + "id": 13182, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13169, + "src": "25029:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13183, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13171, + "src": "25033:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13184, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13173, + "src": "25037:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13185, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13175, + "src": "25041:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63", + "typeString": "literal_string \"log(uint,bool,uint,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13179, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24975:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24979:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24975:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24975:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13178, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "24959:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24959:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13188, + "nodeType": "ExpressionStatement", + "src": "24959:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24886:3:13", + "parameters": { + "id": 13176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13169, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24895:2:13", + "nodeType": "VariableDeclaration", + "scope": 13190, + "src": "24890:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13168, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24890:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13171, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24904:2:13", + "nodeType": "VariableDeclaration", + "scope": 13190, + "src": "24899:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13170, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24899:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13173, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24913:2:13", + "nodeType": "VariableDeclaration", + "scope": 13190, + "src": "24908:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13172, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24908:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13175, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24931:2:13", + "nodeType": "VariableDeclaration", + "scope": 13190, + "src": "24917:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13174, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24917:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "24889:45:13" + }, + "returnParameters": { + "id": 13177, + "nodeType": "ParameterList", + "parameters": [], + "src": "24949:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13213, + "nodeType": "FunctionDefinition", + "src": "25058:164:13", + "nodes": [], + "body": { + "id": 13212, + "nodeType": "Block", + "src": "25121:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c626f6f6c29", + "id": 13204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25171:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f", + "typeString": "literal_string \"log(uint,bool,uint,bool)\"" + }, + "value": "log(uint,bool,uint,bool)" + }, + { + "id": 13205, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13192, + "src": "25199:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13206, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13194, + "src": "25203:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13207, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13196, + "src": "25207:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13208, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13198, + "src": "25211:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f", + "typeString": "literal_string \"log(uint,bool,uint,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13202, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25147:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25151:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25147:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25147:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13201, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "25131:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25131:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13211, + "nodeType": "ExpressionStatement", + "src": "25131:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25067:3:13", + "parameters": { + "id": 13199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13192, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25076:2:13", + "nodeType": "VariableDeclaration", + "scope": 13213, + "src": "25071:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13191, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25071:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13194, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25085:2:13", + "nodeType": "VariableDeclaration", + "scope": 13213, + "src": "25080:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13193, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25080:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13196, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25094:2:13", + "nodeType": "VariableDeclaration", + "scope": 13213, + "src": "25089:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13195, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25089:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13198, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25103:2:13", + "nodeType": "VariableDeclaration", + "scope": 13213, + "src": "25098:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13197, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25098:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "25070:36:13" + }, + "returnParameters": { + "id": 13200, + "nodeType": "ParameterList", + "parameters": [], + "src": "25121:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13236, + "nodeType": "FunctionDefinition", + "src": "25228:170:13", + "nodes": [], + "body": { + "id": 13235, + "nodeType": "Block", + "src": "25294:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c6164647265737329", + "id": 13227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25344:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3", + "typeString": "literal_string \"log(uint,bool,uint,address)\"" + }, + "value": "log(uint,bool,uint,address)" + }, + { + "id": 13228, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13215, + "src": "25375:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13229, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13217, + "src": "25379:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13230, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13219, + "src": "25383:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13231, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13221, + "src": "25387:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3", + "typeString": "literal_string \"log(uint,bool,uint,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13225, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25320:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25324:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25320:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25320:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13224, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "25304:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25304:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13234, + "nodeType": "ExpressionStatement", + "src": "25304:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25237:3:13", + "parameters": { + "id": 13222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13215, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25246:2:13", + "nodeType": "VariableDeclaration", + "scope": 13236, + "src": "25241:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13214, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25241:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13217, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25255:2:13", + "nodeType": "VariableDeclaration", + "scope": 13236, + "src": "25250:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13216, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25250:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13219, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25264:2:13", + "nodeType": "VariableDeclaration", + "scope": 13236, + "src": "25259:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13218, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25259:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13221, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25276:2:13", + "nodeType": "VariableDeclaration", + "scope": 13236, + "src": "25268:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25268:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "25240:39:13" + }, + "returnParameters": { + "id": 13223, + "nodeType": "ParameterList", + "parameters": [], + "src": "25294:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13259, + "nodeType": "FunctionDefinition", + "src": "25404:175:13", + "nodes": [], + "body": { + "id": 13258, + "nodeType": "Block", + "src": "25476:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c75696e7429", + "id": 13250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25526:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012", + "typeString": "literal_string \"log(uint,bool,string,uint)\"" + }, + "value": "log(uint,bool,string,uint)" + }, + { + "id": 13251, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13238, + "src": "25556:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13252, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13240, + "src": "25560:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13253, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13242, + "src": "25564:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13254, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13244, + "src": "25568:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012", + "typeString": "literal_string \"log(uint,bool,string,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13248, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25502:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25506:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25502:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25502:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13247, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "25486:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25486:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13257, + "nodeType": "ExpressionStatement", + "src": "25486:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25413:3:13", + "parameters": { + "id": 13245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13238, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25422:2:13", + "nodeType": "VariableDeclaration", + "scope": 13259, + "src": "25417:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13237, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25417:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13240, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25431:2:13", + "nodeType": "VariableDeclaration", + "scope": 13259, + "src": "25426:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13239, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25426:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13242, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25449:2:13", + "nodeType": "VariableDeclaration", + "scope": 13259, + "src": "25435:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13241, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25435:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13244, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25458:2:13", + "nodeType": "VariableDeclaration", + "scope": 13259, + "src": "25453:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13243, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25453:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "25416:45:13" + }, + "returnParameters": { + "id": 13246, + "nodeType": "ParameterList", + "parameters": [], + "src": "25476:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13282, + "nodeType": "FunctionDefinition", + "src": "25585:186:13", + "nodes": [], + "body": { + "id": 13281, + "nodeType": "Block", + "src": "25666:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c737472696e6729", + "id": 13273, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25716:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a", + "typeString": "literal_string \"log(uint,bool,string,string)\"" + }, + "value": "log(uint,bool,string,string)" + }, + { + "id": 13274, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13261, + "src": "25748:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13275, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13263, + "src": "25752:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13276, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13265, + "src": "25756:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13277, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13267, + "src": "25760:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a", + "typeString": "literal_string \"log(uint,bool,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13271, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25692:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25696:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25692:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25692:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13270, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "25676:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25676:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13280, + "nodeType": "ExpressionStatement", + "src": "25676:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25594:3:13", + "parameters": { + "id": 13268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13261, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25603:2:13", + "nodeType": "VariableDeclaration", + "scope": 13282, + "src": "25598:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13260, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25598:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13263, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25612:2:13", + "nodeType": "VariableDeclaration", + "scope": 13282, + "src": "25607:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13262, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25607:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13265, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25630:2:13", + "nodeType": "VariableDeclaration", + "scope": 13282, + "src": "25616:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13264, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25616:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13267, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25648:2:13", + "nodeType": "VariableDeclaration", + "scope": 13282, + "src": "25634:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13266, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25634:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "25597:54:13" + }, + "returnParameters": { + "id": 13269, + "nodeType": "ParameterList", + "parameters": [], + "src": "25666:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13305, + "nodeType": "FunctionDefinition", + "src": "25777:175:13", + "nodes": [], + "body": { + "id": 13304, + "nodeType": "Block", + "src": "25849:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c626f6f6c29", + "id": 13296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25899:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d", + "typeString": "literal_string \"log(uint,bool,string,bool)\"" + }, + "value": "log(uint,bool,string,bool)" + }, + { + "id": 13297, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13284, + "src": "25929:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13298, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13286, + "src": "25933:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13299, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13288, + "src": "25937:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13300, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13290, + "src": "25941:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d", + "typeString": "literal_string \"log(uint,bool,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13294, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25875:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25879:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25875:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25875:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13293, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "25859:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25859:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13303, + "nodeType": "ExpressionStatement", + "src": "25859:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25786:3:13", + "parameters": { + "id": 13291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13284, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25795:2:13", + "nodeType": "VariableDeclaration", + "scope": 13305, + "src": "25790:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13283, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25790:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13286, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25804:2:13", + "nodeType": "VariableDeclaration", + "scope": 13305, + "src": "25799:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13285, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25799:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13288, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25822:2:13", + "nodeType": "VariableDeclaration", + "scope": 13305, + "src": "25808:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13287, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25808:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13290, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25831:2:13", + "nodeType": "VariableDeclaration", + "scope": 13305, + "src": "25826:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13289, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25826:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "25789:45:13" + }, + "returnParameters": { + "id": 13292, + "nodeType": "ParameterList", + "parameters": [], + "src": "25849:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13328, + "nodeType": "FunctionDefinition", + "src": "25958:181:13", + "nodes": [], + "body": { + "id": 13327, + "nodeType": "Block", + "src": "26033:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c6164647265737329", + "id": 13319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26083:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d", + "typeString": "literal_string \"log(uint,bool,string,address)\"" + }, + "value": "log(uint,bool,string,address)" + }, + { + "id": 13320, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13307, + "src": "26116:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13321, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13309, + "src": "26120:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13322, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13311, + "src": "26124:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13323, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13313, + "src": "26128:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d", + "typeString": "literal_string \"log(uint,bool,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13317, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26059:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26063:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26059:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26059:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13316, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "26043:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26043:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13326, + "nodeType": "ExpressionStatement", + "src": "26043:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25967:3:13", + "parameters": { + "id": 13314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13307, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25976:2:13", + "nodeType": "VariableDeclaration", + "scope": 13328, + "src": "25971:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13306, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25971:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13309, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25985:2:13", + "nodeType": "VariableDeclaration", + "scope": 13328, + "src": "25980:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13308, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25980:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13311, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26003:2:13", + "nodeType": "VariableDeclaration", + "scope": 13328, + "src": "25989:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13310, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25989:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13313, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26015:2:13", + "nodeType": "VariableDeclaration", + "scope": 13328, + "src": "26007:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13312, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26007:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "25970:48:13" + }, + "returnParameters": { + "id": 13315, + "nodeType": "ParameterList", + "parameters": [], + "src": "26033:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13351, + "nodeType": "FunctionDefinition", + "src": "26145:164:13", + "nodes": [], + "body": { + "id": 13350, + "nodeType": "Block", + "src": "26208:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c75696e7429", + "id": 13342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26258:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed", + "typeString": "literal_string \"log(uint,bool,bool,uint)\"" + }, + "value": "log(uint,bool,bool,uint)" + }, + { + "id": 13343, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13330, + "src": "26286:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13344, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13332, + "src": "26290:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13345, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13334, + "src": "26294:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13346, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13336, + "src": "26298:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed", + "typeString": "literal_string \"log(uint,bool,bool,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13340, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26234:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26238:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26234:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26234:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13339, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "26218:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26218:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13349, + "nodeType": "ExpressionStatement", + "src": "26218:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26154:3:13", + "parameters": { + "id": 13337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13330, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26163:2:13", + "nodeType": "VariableDeclaration", + "scope": 13351, + "src": "26158:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13329, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26158:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13332, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26172:2:13", + "nodeType": "VariableDeclaration", + "scope": 13351, + "src": "26167:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13331, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26167:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13334, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26181:2:13", + "nodeType": "VariableDeclaration", + "scope": 13351, + "src": "26176:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13333, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26176:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13336, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26190:2:13", + "nodeType": "VariableDeclaration", + "scope": 13351, + "src": "26185:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13335, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26185:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26157:36:13" + }, + "returnParameters": { + "id": 13338, + "nodeType": "ParameterList", + "parameters": [], + "src": "26208:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13374, + "nodeType": "FunctionDefinition", + "src": "26315:175:13", + "nodes": [], + "body": { + "id": 13373, + "nodeType": "Block", + "src": "26387:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c737472696e6729", + "id": 13365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26437:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861", + "typeString": "literal_string \"log(uint,bool,bool,string)\"" + }, + "value": "log(uint,bool,bool,string)" + }, + { + "id": 13366, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13353, + "src": "26467:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13367, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13355, + "src": "26471:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13368, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13357, + "src": "26475:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13369, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13359, + "src": "26479:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861", + "typeString": "literal_string \"log(uint,bool,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13363, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26413:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26417:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26413:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26413:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13362, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "26397:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26397:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13372, + "nodeType": "ExpressionStatement", + "src": "26397:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26324:3:13", + "parameters": { + "id": 13360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13353, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26333:2:13", + "nodeType": "VariableDeclaration", + "scope": 13374, + "src": "26328:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13352, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26328:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13355, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26342:2:13", + "nodeType": "VariableDeclaration", + "scope": 13374, + "src": "26337:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13354, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26337:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13357, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26351:2:13", + "nodeType": "VariableDeclaration", + "scope": 13374, + "src": "26346:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13356, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26346:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13359, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26369:2:13", + "nodeType": "VariableDeclaration", + "scope": 13374, + "src": "26355:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13358, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26355:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "26327:45:13" + }, + "returnParameters": { + "id": 13361, + "nodeType": "ParameterList", + "parameters": [], + "src": "26387:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13397, + "nodeType": "FunctionDefinition", + "src": "26496:164:13", + "nodes": [], + "body": { + "id": 13396, + "nodeType": "Block", + "src": "26559:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 13388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26609:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32", + "typeString": "literal_string \"log(uint,bool,bool,bool)\"" + }, + "value": "log(uint,bool,bool,bool)" + }, + { + "id": 13389, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13376, + "src": "26637:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13390, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13378, + "src": "26641:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13391, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13380, + "src": "26645:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13392, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13382, + "src": "26649:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32", + "typeString": "literal_string \"log(uint,bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13386, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26585:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26589:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26585:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26585:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13385, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "26569:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26569:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13395, + "nodeType": "ExpressionStatement", + "src": "26569:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26505:3:13", + "parameters": { + "id": 13383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13376, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26514:2:13", + "nodeType": "VariableDeclaration", + "scope": 13397, + "src": "26509:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13375, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26509:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13378, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26523:2:13", + "nodeType": "VariableDeclaration", + "scope": 13397, + "src": "26518:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13377, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26518:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13380, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26532:2:13", + "nodeType": "VariableDeclaration", + "scope": 13397, + "src": "26527:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13379, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26527:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13382, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26541:2:13", + "nodeType": "VariableDeclaration", + "scope": 13397, + "src": "26536:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13381, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26536:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "26508:36:13" + }, + "returnParameters": { + "id": 13384, + "nodeType": "ParameterList", + "parameters": [], + "src": "26559:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13420, + "nodeType": "FunctionDefinition", + "src": "26666:170:13", + "nodes": [], + "body": { + "id": 13419, + "nodeType": "Block", + "src": "26732:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c6164647265737329", + "id": 13411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26782:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b", + "typeString": "literal_string \"log(uint,bool,bool,address)\"" + }, + "value": "log(uint,bool,bool,address)" + }, + { + "id": 13412, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13399, + "src": "26813:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13413, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13401, + "src": "26817:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13414, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13403, + "src": "26821:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13415, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13405, + "src": "26825:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b", + "typeString": "literal_string \"log(uint,bool,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13409, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26758:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26762:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26758:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26758:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13408, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "26742:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26742:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13418, + "nodeType": "ExpressionStatement", + "src": "26742:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26675:3:13", + "parameters": { + "id": 13406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13399, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26684:2:13", + "nodeType": "VariableDeclaration", + "scope": 13420, + "src": "26679:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13398, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26679:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13401, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26693:2:13", + "nodeType": "VariableDeclaration", + "scope": 13420, + "src": "26688:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13400, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26688:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13403, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26702:2:13", + "nodeType": "VariableDeclaration", + "scope": 13420, + "src": "26697:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13402, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26697:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13405, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26714:2:13", + "nodeType": "VariableDeclaration", + "scope": 13420, + "src": "26706:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26706:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "26678:39:13" + }, + "returnParameters": { + "id": 13407, + "nodeType": "ParameterList", + "parameters": [], + "src": "26732:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13443, + "nodeType": "FunctionDefinition", + "src": "26842:170:13", + "nodes": [], + "body": { + "id": 13442, + "nodeType": "Block", + "src": "26908:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c75696e7429", + "id": 13434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26958:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1", + "typeString": "literal_string \"log(uint,bool,address,uint)\"" + }, + "value": "log(uint,bool,address,uint)" + }, + { + "id": 13435, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13422, + "src": "26989:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13436, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13424, + "src": "26993:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13437, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13426, + "src": "26997:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13438, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13428, + "src": "27001:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1", + "typeString": "literal_string \"log(uint,bool,address,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13432, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26934:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26938:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26934:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26934:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13431, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "26918:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26918:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13441, + "nodeType": "ExpressionStatement", + "src": "26918:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26851:3:13", + "parameters": { + "id": 13429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13422, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26860:2:13", + "nodeType": "VariableDeclaration", + "scope": 13443, + "src": "26855:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13421, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26855:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13424, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26869:2:13", + "nodeType": "VariableDeclaration", + "scope": 13443, + "src": "26864:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13423, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26864:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13426, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26881:2:13", + "nodeType": "VariableDeclaration", + "scope": 13443, + "src": "26873:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26873:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13428, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26890:2:13", + "nodeType": "VariableDeclaration", + "scope": 13443, + "src": "26885:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13427, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26885:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26854:39:13" + }, + "returnParameters": { + "id": 13430, + "nodeType": "ParameterList", + "parameters": [], + "src": "26908:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13466, + "nodeType": "FunctionDefinition", + "src": "27018:181:13", + "nodes": [], + "body": { + "id": 13465, + "nodeType": "Block", + "src": "27093:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c737472696e6729", + "id": 13457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27143:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c", + "typeString": "literal_string \"log(uint,bool,address,string)\"" + }, + "value": "log(uint,bool,address,string)" + }, + { + "id": 13458, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13445, + "src": "27176:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13459, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13447, + "src": "27180:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13460, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13449, + "src": "27184:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13461, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13451, + "src": "27188:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c", + "typeString": "literal_string \"log(uint,bool,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13455, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27119:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27123:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27119:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27119:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13454, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "27103:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27103:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13464, + "nodeType": "ExpressionStatement", + "src": "27103:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27027:3:13", + "parameters": { + "id": 13452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13445, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27036:2:13", + "nodeType": "VariableDeclaration", + "scope": 13466, + "src": "27031:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13444, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27031:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13447, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27045:2:13", + "nodeType": "VariableDeclaration", + "scope": 13466, + "src": "27040:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13446, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27040:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13449, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27057:2:13", + "nodeType": "VariableDeclaration", + "scope": 13466, + "src": "27049:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13448, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27049:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13451, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27075:2:13", + "nodeType": "VariableDeclaration", + "scope": 13466, + "src": "27061:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13450, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27061:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "27030:48:13" + }, + "returnParameters": { + "id": 13453, + "nodeType": "ParameterList", + "parameters": [], + "src": "27093:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13489, + "nodeType": "FunctionDefinition", + "src": "27205:170:13", + "nodes": [], + "body": { + "id": 13488, + "nodeType": "Block", + "src": "27271:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c626f6f6c29", + "id": 13480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27321:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445", + "typeString": "literal_string \"log(uint,bool,address,bool)\"" + }, + "value": "log(uint,bool,address,bool)" + }, + { + "id": 13481, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13468, + "src": "27352:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13482, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13470, + "src": "27356:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13483, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13472, + "src": "27360:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13484, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13474, + "src": "27364:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445", + "typeString": "literal_string \"log(uint,bool,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13478, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27297:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27301:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27297:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27297:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13477, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "27281:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27281:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13487, + "nodeType": "ExpressionStatement", + "src": "27281:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27214:3:13", + "parameters": { + "id": 13475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13468, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27223:2:13", + "nodeType": "VariableDeclaration", + "scope": 13489, + "src": "27218:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13467, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27218:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13470, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27232:2:13", + "nodeType": "VariableDeclaration", + "scope": 13489, + "src": "27227:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13469, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27227:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13472, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27244:2:13", + "nodeType": "VariableDeclaration", + "scope": 13489, + "src": "27236:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27236:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13474, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27253:2:13", + "nodeType": "VariableDeclaration", + "scope": 13489, + "src": "27248:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13473, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27248:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "27217:39:13" + }, + "returnParameters": { + "id": 13476, + "nodeType": "ParameterList", + "parameters": [], + "src": "27271:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13512, + "nodeType": "FunctionDefinition", + "src": "27381:176:13", + "nodes": [], + "body": { + "id": 13511, + "nodeType": "Block", + "src": "27450:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c6164647265737329", + "id": 13503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27500:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2", + "typeString": "literal_string \"log(uint,bool,address,address)\"" + }, + "value": "log(uint,bool,address,address)" + }, + { + "id": 13504, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13491, + "src": "27534:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13505, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13493, + "src": "27538:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13506, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13495, + "src": "27542:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13507, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13497, + "src": "27546:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2", + "typeString": "literal_string \"log(uint,bool,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13501, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27476:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27480:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27476:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27476:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13500, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "27460:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27460:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13510, + "nodeType": "ExpressionStatement", + "src": "27460:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27390:3:13", + "parameters": { + "id": 13498, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13491, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27399:2:13", + "nodeType": "VariableDeclaration", + "scope": 13512, + "src": "27394:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13490, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27394:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13493, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27408:2:13", + "nodeType": "VariableDeclaration", + "scope": 13512, + "src": "27403:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13492, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27403:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13495, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27420:2:13", + "nodeType": "VariableDeclaration", + "scope": 13512, + "src": "27412:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27412:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13497, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27432:2:13", + "nodeType": "VariableDeclaration", + "scope": 13512, + "src": "27424:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13496, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27424:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "27393:42:13" + }, + "returnParameters": { + "id": 13499, + "nodeType": "ParameterList", + "parameters": [], + "src": "27450:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13535, + "nodeType": "FunctionDefinition", + "src": "27563:170:13", + "nodes": [], + "body": { + "id": 13534, + "nodeType": "Block", + "src": "27629:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e742c75696e7429", + "id": 13526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27679:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412", + "typeString": "literal_string \"log(uint,address,uint,uint)\"" + }, + "value": "log(uint,address,uint,uint)" + }, + { + "id": 13527, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13514, + "src": "27710:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13528, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13516, + "src": "27714:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13529, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13518, + "src": "27718:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13530, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13520, + "src": "27722:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412", + "typeString": "literal_string \"log(uint,address,uint,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13524, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27655:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27659:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27655:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27655:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13523, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "27639:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27639:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13533, + "nodeType": "ExpressionStatement", + "src": "27639:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27572:3:13", + "parameters": { + "id": 13521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13514, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27581:2:13", + "nodeType": "VariableDeclaration", + "scope": 13535, + "src": "27576:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13513, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27576:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13516, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27593:2:13", + "nodeType": "VariableDeclaration", + "scope": 13535, + "src": "27585:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13515, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27585:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13518, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27602:2:13", + "nodeType": "VariableDeclaration", + "scope": 13535, + "src": "27597:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13517, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27597:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13520, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27611:2:13", + "nodeType": "VariableDeclaration", + "scope": 13535, + "src": "27606:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13519, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27606:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "27575:39:13" + }, + "returnParameters": { + "id": 13522, + "nodeType": "ParameterList", + "parameters": [], + "src": "27629:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13558, + "nodeType": "FunctionDefinition", + "src": "27739:181:13", + "nodes": [], + "body": { + "id": 13557, + "nodeType": "Block", + "src": "27814:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e742c737472696e6729", + "id": 13549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27864:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b", + "typeString": "literal_string \"log(uint,address,uint,string)\"" + }, + "value": "log(uint,address,uint,string)" + }, + { + "id": 13550, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13537, + "src": "27897:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13551, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13539, + "src": "27901:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13552, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13541, + "src": "27905:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13553, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13543, + "src": "27909:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b", + "typeString": "literal_string \"log(uint,address,uint,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13547, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27840:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27844:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27840:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27840:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13546, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "27824:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27824:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13556, + "nodeType": "ExpressionStatement", + "src": "27824:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27748:3:13", + "parameters": { + "id": 13544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13537, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27757:2:13", + "nodeType": "VariableDeclaration", + "scope": 13558, + "src": "27752:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13536, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27752:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13539, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27769:2:13", + "nodeType": "VariableDeclaration", + "scope": 13558, + "src": "27761:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27761:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13541, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27778:2:13", + "nodeType": "VariableDeclaration", + "scope": 13558, + "src": "27773:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13540, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27773:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13543, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27796:2:13", + "nodeType": "VariableDeclaration", + "scope": 13558, + "src": "27782:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13542, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27782:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "27751:48:13" + }, + "returnParameters": { + "id": 13545, + "nodeType": "ParameterList", + "parameters": [], + "src": "27814:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13581, + "nodeType": "FunctionDefinition", + "src": "27926:170:13", + "nodes": [], + "body": { + "id": 13580, + "nodeType": "Block", + "src": "27992:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e742c626f6f6c29", + "id": 13572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28042:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8", + "typeString": "literal_string \"log(uint,address,uint,bool)\"" + }, + "value": "log(uint,address,uint,bool)" + }, + { + "id": 13573, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13560, + "src": "28073:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13574, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13562, + "src": "28077:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13575, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13564, + "src": "28081:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13576, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13566, + "src": "28085:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8", + "typeString": "literal_string \"log(uint,address,uint,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13570, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28018:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28022:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28018:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28018:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13569, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "28002:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28002:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13579, + "nodeType": "ExpressionStatement", + "src": "28002:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27935:3:13", + "parameters": { + "id": 13567, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13560, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27944:2:13", + "nodeType": "VariableDeclaration", + "scope": 13581, + "src": "27939:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13559, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27939:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13562, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27956:2:13", + "nodeType": "VariableDeclaration", + "scope": 13581, + "src": "27948:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13561, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27948:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13564, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27965:2:13", + "nodeType": "VariableDeclaration", + "scope": 13581, + "src": "27960:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13563, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27960:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13566, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27974:2:13", + "nodeType": "VariableDeclaration", + "scope": 13581, + "src": "27969:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13565, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27969:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "27938:39:13" + }, + "returnParameters": { + "id": 13568, + "nodeType": "ParameterList", + "parameters": [], + "src": "27992:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13604, + "nodeType": "FunctionDefinition", + "src": "28102:176:13", + "nodes": [], + "body": { + "id": 13603, + "nodeType": "Block", + "src": "28171:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e742c6164647265737329", + "id": 13595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28221:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3", + "typeString": "literal_string \"log(uint,address,uint,address)\"" + }, + "value": "log(uint,address,uint,address)" + }, + { + "id": 13596, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13583, + "src": "28255:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13597, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13585, + "src": "28259:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13598, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13587, + "src": "28263:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13599, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13589, + "src": "28267:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3", + "typeString": "literal_string \"log(uint,address,uint,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13593, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28197:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28201:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28197:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28197:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13592, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "28181:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28181:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13602, + "nodeType": "ExpressionStatement", + "src": "28181:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28111:3:13", + "parameters": { + "id": 13590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13583, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28120:2:13", + "nodeType": "VariableDeclaration", + "scope": 13604, + "src": "28115:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13582, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28115:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13585, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28132:2:13", + "nodeType": "VariableDeclaration", + "scope": 13604, + "src": "28124:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28124:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13587, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28141:2:13", + "nodeType": "VariableDeclaration", + "scope": 13604, + "src": "28136:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13586, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28136:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13589, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28153:2:13", + "nodeType": "VariableDeclaration", + "scope": 13604, + "src": "28145:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13588, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28145:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "28114:42:13" + }, + "returnParameters": { + "id": 13591, + "nodeType": "ParameterList", + "parameters": [], + "src": "28171:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13627, + "nodeType": "FunctionDefinition", + "src": "28284:181:13", + "nodes": [], + "body": { + "id": 13626, + "nodeType": "Block", + "src": "28359:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e672c75696e7429", + "id": 13618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28409:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb", + "typeString": "literal_string \"log(uint,address,string,uint)\"" + }, + "value": "log(uint,address,string,uint)" + }, + { + "id": 13619, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13606, + "src": "28442:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13620, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13608, + "src": "28446:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13621, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13610, + "src": "28450:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13622, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13612, + "src": "28454:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb", + "typeString": "literal_string \"log(uint,address,string,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13616, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28385:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28389:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28385:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28385:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13615, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "28369:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28369:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13625, + "nodeType": "ExpressionStatement", + "src": "28369:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28293:3:13", + "parameters": { + "id": 13613, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13606, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28302:2:13", + "nodeType": "VariableDeclaration", + "scope": 13627, + "src": "28297:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13605, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28297:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13608, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28314:2:13", + "nodeType": "VariableDeclaration", + "scope": 13627, + "src": "28306:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13607, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28306:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13610, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28332:2:13", + "nodeType": "VariableDeclaration", + "scope": 13627, + "src": "28318:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13609, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28318:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13612, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28341:2:13", + "nodeType": "VariableDeclaration", + "scope": 13627, + "src": "28336:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13611, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28336:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "28296:48:13" + }, + "returnParameters": { + "id": 13614, + "nodeType": "ParameterList", + "parameters": [], + "src": "28359:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13650, + "nodeType": "FunctionDefinition", + "src": "28471:192:13", + "nodes": [], + "body": { + "id": 13649, + "nodeType": "Block", + "src": "28555:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e672c737472696e6729", + "id": 13641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28605:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1", + "typeString": "literal_string \"log(uint,address,string,string)\"" + }, + "value": "log(uint,address,string,string)" + }, + { + "id": 13642, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13629, + "src": "28640:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13643, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13631, + "src": "28644:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13644, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13633, + "src": "28648:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13645, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13635, + "src": "28652:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1", + "typeString": "literal_string \"log(uint,address,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13639, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28581:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28585:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28581:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28581:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13638, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "28565:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28565:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13648, + "nodeType": "ExpressionStatement", + "src": "28565:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28480:3:13", + "parameters": { + "id": 13636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13629, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28489:2:13", + "nodeType": "VariableDeclaration", + "scope": 13650, + "src": "28484:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13628, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28484:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13631, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28501:2:13", + "nodeType": "VariableDeclaration", + "scope": 13650, + "src": "28493:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28493:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13633, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28519:2:13", + "nodeType": "VariableDeclaration", + "scope": 13650, + "src": "28505:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13632, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28505:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13635, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28537:2:13", + "nodeType": "VariableDeclaration", + "scope": 13650, + "src": "28523:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13634, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28523:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "28483:57:13" + }, + "returnParameters": { + "id": 13637, + "nodeType": "ParameterList", + "parameters": [], + "src": "28555:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13673, + "nodeType": "FunctionDefinition", + "src": "28669:181:13", + "nodes": [], + "body": { + "id": 13672, + "nodeType": "Block", + "src": "28744:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e672c626f6f6c29", + "id": 13664, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28794:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf", + "typeString": "literal_string \"log(uint,address,string,bool)\"" + }, + "value": "log(uint,address,string,bool)" + }, + { + "id": 13665, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13652, + "src": "28827:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13666, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13654, + "src": "28831:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13667, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13656, + "src": "28835:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13668, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13658, + "src": "28839:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf", + "typeString": "literal_string \"log(uint,address,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13662, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28770:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28774:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28770:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28770:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13661, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "28754:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28754:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13671, + "nodeType": "ExpressionStatement", + "src": "28754:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28678:3:13", + "parameters": { + "id": 13659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13652, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28687:2:13", + "nodeType": "VariableDeclaration", + "scope": 13673, + "src": "28682:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13651, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28682:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13654, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28699:2:13", + "nodeType": "VariableDeclaration", + "scope": 13673, + "src": "28691:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13653, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28691:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13656, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28717:2:13", + "nodeType": "VariableDeclaration", + "scope": 13673, + "src": "28703:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13655, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28703:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13658, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28726:2:13", + "nodeType": "VariableDeclaration", + "scope": 13673, + "src": "28721:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28721:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "28681:48:13" + }, + "returnParameters": { + "id": 13660, + "nodeType": "ParameterList", + "parameters": [], + "src": "28744:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13696, + "nodeType": "FunctionDefinition", + "src": "28856:187:13", + "nodes": [], + "body": { + "id": 13695, + "nodeType": "Block", + "src": "28934:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e672c6164647265737329", + "id": 13687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28984:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f", + "typeString": "literal_string \"log(uint,address,string,address)\"" + }, + "value": "log(uint,address,string,address)" + }, + { + "id": 13688, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13675, + "src": "29020:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13689, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13677, + "src": "29024:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13690, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13679, + "src": "29028:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13691, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13681, + "src": "29032:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f", + "typeString": "literal_string \"log(uint,address,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13685, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28960:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28964:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28960:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28960:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13684, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "28944:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28944:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13694, + "nodeType": "ExpressionStatement", + "src": "28944:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28865:3:13", + "parameters": { + "id": 13682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13675, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28874:2:13", + "nodeType": "VariableDeclaration", + "scope": 13696, + "src": "28869:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13674, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28869:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13677, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28886:2:13", + "nodeType": "VariableDeclaration", + "scope": 13696, + "src": "28878:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28878:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13679, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28904:2:13", + "nodeType": "VariableDeclaration", + "scope": 13696, + "src": "28890:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13678, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28890:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13681, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28916:2:13", + "nodeType": "VariableDeclaration", + "scope": 13696, + "src": "28908:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28908:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "28868:51:13" + }, + "returnParameters": { + "id": 13683, + "nodeType": "ParameterList", + "parameters": [], + "src": "28934:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13719, + "nodeType": "FunctionDefinition", + "src": "29049:170:13", + "nodes": [], + "body": { + "id": 13718, + "nodeType": "Block", + "src": "29115:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c75696e7429", + "id": 13710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29165:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2", + "typeString": "literal_string \"log(uint,address,bool,uint)\"" + }, + "value": "log(uint,address,bool,uint)" + }, + { + "id": 13711, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13698, + "src": "29196:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13712, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13700, + "src": "29200:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13713, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13702, + "src": "29204:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13714, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13704, + "src": "29208:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2", + "typeString": "literal_string \"log(uint,address,bool,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13708, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29141:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29145:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29141:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29141:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13707, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "29125:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29125:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13717, + "nodeType": "ExpressionStatement", + "src": "29125:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29058:3:13", + "parameters": { + "id": 13705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13698, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29067:2:13", + "nodeType": "VariableDeclaration", + "scope": 13719, + "src": "29062:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13697, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29062:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13700, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29079:2:13", + "nodeType": "VariableDeclaration", + "scope": 13719, + "src": "29071:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13699, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29071:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13702, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29088:2:13", + "nodeType": "VariableDeclaration", + "scope": 13719, + "src": "29083:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13701, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29083:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13704, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29097:2:13", + "nodeType": "VariableDeclaration", + "scope": 13719, + "src": "29092:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13703, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29092:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29061:39:13" + }, + "returnParameters": { + "id": 13706, + "nodeType": "ParameterList", + "parameters": [], + "src": "29115:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13742, + "nodeType": "FunctionDefinition", + "src": "29225:181:13", + "nodes": [], + "body": { + "id": 13741, + "nodeType": "Block", + "src": "29300:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c737472696e6729", + "id": 13733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29350:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6", + "typeString": "literal_string \"log(uint,address,bool,string)\"" + }, + "value": "log(uint,address,bool,string)" + }, + { + "id": 13734, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13721, + "src": "29383:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13735, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13723, + "src": "29387:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13736, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13725, + "src": "29391:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13737, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13727, + "src": "29395:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6", + "typeString": "literal_string \"log(uint,address,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13731, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29326:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29330:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29326:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29326:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13730, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "29310:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29310:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13740, + "nodeType": "ExpressionStatement", + "src": "29310:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29234:3:13", + "parameters": { + "id": 13728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13721, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29243:2:13", + "nodeType": "VariableDeclaration", + "scope": 13742, + "src": "29238:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13720, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29238:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13723, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29255:2:13", + "nodeType": "VariableDeclaration", + "scope": 13742, + "src": "29247:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13722, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29247:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13725, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29264:2:13", + "nodeType": "VariableDeclaration", + "scope": 13742, + "src": "29259:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13724, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29259:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13727, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29282:2:13", + "nodeType": "VariableDeclaration", + "scope": 13742, + "src": "29268:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13726, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29268:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "29237:48:13" + }, + "returnParameters": { + "id": 13729, + "nodeType": "ParameterList", + "parameters": [], + "src": "29300:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13765, + "nodeType": "FunctionDefinition", + "src": "29412:170:13", + "nodes": [], + "body": { + "id": 13764, + "nodeType": "Block", + "src": "29478:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c626f6f6c29", + "id": 13756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29528:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32", + "typeString": "literal_string \"log(uint,address,bool,bool)\"" + }, + "value": "log(uint,address,bool,bool)" + }, + { + "id": 13757, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13744, + "src": "29559:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13758, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13746, + "src": "29563:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13759, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13748, + "src": "29567:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13760, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13750, + "src": "29571:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32", + "typeString": "literal_string \"log(uint,address,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13754, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29504:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29508:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29504:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29504:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13753, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "29488:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29488:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13763, + "nodeType": "ExpressionStatement", + "src": "29488:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29421:3:13", + "parameters": { + "id": 13751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13744, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29430:2:13", + "nodeType": "VariableDeclaration", + "scope": 13765, + "src": "29425:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13743, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29425:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13746, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29442:2:13", + "nodeType": "VariableDeclaration", + "scope": 13765, + "src": "29434:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13745, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29434:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13748, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29451:2:13", + "nodeType": "VariableDeclaration", + "scope": 13765, + "src": "29446:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13747, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29446:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13750, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29460:2:13", + "nodeType": "VariableDeclaration", + "scope": 13765, + "src": "29455:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13749, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29455:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "29424:39:13" + }, + "returnParameters": { + "id": 13752, + "nodeType": "ParameterList", + "parameters": [], + "src": "29478:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13788, + "nodeType": "FunctionDefinition", + "src": "29588:176:13", + "nodes": [], + "body": { + "id": 13787, + "nodeType": "Block", + "src": "29657:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c6164647265737329", + "id": 13779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29707:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789", + "typeString": "literal_string \"log(uint,address,bool,address)\"" + }, + "value": "log(uint,address,bool,address)" + }, + { + "id": 13780, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13767, + "src": "29741:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13781, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13769, + "src": "29745:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13782, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13771, + "src": "29749:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 13783, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13773, + "src": "29753:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789", + "typeString": "literal_string \"log(uint,address,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13777, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29683:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29687:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29683:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29683:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13776, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "29667:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29667:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13786, + "nodeType": "ExpressionStatement", + "src": "29667:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29597:3:13", + "parameters": { + "id": 13774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13767, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29606:2:13", + "nodeType": "VariableDeclaration", + "scope": 13788, + "src": "29601:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13766, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29601:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13769, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29618:2:13", + "nodeType": "VariableDeclaration", + "scope": 13788, + "src": "29610:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29610:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13771, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29627:2:13", + "nodeType": "VariableDeclaration", + "scope": 13788, + "src": "29622:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13770, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29622:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13773, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29639:2:13", + "nodeType": "VariableDeclaration", + "scope": 13788, + "src": "29631:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13772, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29631:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "29600:42:13" + }, + "returnParameters": { + "id": 13775, + "nodeType": "ParameterList", + "parameters": [], + "src": "29657:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13811, + "nodeType": "FunctionDefinition", + "src": "29770:176:13", + "nodes": [], + "body": { + "id": 13810, + "nodeType": "Block", + "src": "29839:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c616464726573732c75696e7429", + "id": 13802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29889:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b", + "typeString": "literal_string \"log(uint,address,address,uint)\"" + }, + "value": "log(uint,address,address,uint)" + }, + { + "id": 13803, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13790, + "src": "29923:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13804, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13792, + "src": "29927:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13805, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13794, + "src": "29931:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13806, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13796, + "src": "29935:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b", + "typeString": "literal_string \"log(uint,address,address,uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13800, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29865:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29869:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29865:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29865:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13799, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "29849:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29849:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13809, + "nodeType": "ExpressionStatement", + "src": "29849:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29779:3:13", + "parameters": { + "id": 13797, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13790, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29788:2:13", + "nodeType": "VariableDeclaration", + "scope": 13811, + "src": "29783:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13789, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29783:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13792, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29800:2:13", + "nodeType": "VariableDeclaration", + "scope": 13811, + "src": "29792:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13791, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29792:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13794, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29812:2:13", + "nodeType": "VariableDeclaration", + "scope": 13811, + "src": "29804:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13793, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29804:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13796, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29821:2:13", + "nodeType": "VariableDeclaration", + "scope": 13811, + "src": "29816:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13795, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29816:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29782:42:13" + }, + "returnParameters": { + "id": 13798, + "nodeType": "ParameterList", + "parameters": [], + "src": "29839:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13834, + "nodeType": "FunctionDefinition", + "src": "29952:187:13", + "nodes": [], + "body": { + "id": 13833, + "nodeType": "Block", + "src": "30030:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c616464726573732c737472696e6729", + "id": 13825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30080:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622", + "typeString": "literal_string \"log(uint,address,address,string)\"" + }, + "value": "log(uint,address,address,string)" + }, + { + "id": 13826, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13813, + "src": "30116:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13827, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13815, + "src": "30120:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13828, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13817, + "src": "30124:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13829, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13819, + "src": "30128:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622", + "typeString": "literal_string \"log(uint,address,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13823, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30056:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30060:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30056:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30056:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13822, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "30040:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30040:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13832, + "nodeType": "ExpressionStatement", + "src": "30040:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29961:3:13", + "parameters": { + "id": 13820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13813, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29970:2:13", + "nodeType": "VariableDeclaration", + "scope": 13834, + "src": "29965:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13812, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29965:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13815, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29982:2:13", + "nodeType": "VariableDeclaration", + "scope": 13834, + "src": "29974:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13814, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29974:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13817, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29994:2:13", + "nodeType": "VariableDeclaration", + "scope": 13834, + "src": "29986:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13816, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29986:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13819, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30012:2:13", + "nodeType": "VariableDeclaration", + "scope": 13834, + "src": "29998:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13818, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29998:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "29964:51:13" + }, + "returnParameters": { + "id": 13821, + "nodeType": "ParameterList", + "parameters": [], + "src": "30030:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13857, + "nodeType": "FunctionDefinition", + "src": "30145:176:13", + "nodes": [], + "body": { + "id": 13856, + "nodeType": "Block", + "src": "30214:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c616464726573732c626f6f6c29", + "id": 13848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30264:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c", + "typeString": "literal_string \"log(uint,address,address,bool)\"" + }, + "value": "log(uint,address,address,bool)" + }, + { + "id": 13849, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13836, + "src": "30298:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13850, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13838, + "src": "30302:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13851, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13840, + "src": "30306:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13852, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13842, + "src": "30310:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c", + "typeString": "literal_string \"log(uint,address,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13846, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30240:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30244:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30240:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30240:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13845, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "30224:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30224:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13855, + "nodeType": "ExpressionStatement", + "src": "30224:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30154:3:13", + "parameters": { + "id": 13843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13836, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30163:2:13", + "nodeType": "VariableDeclaration", + "scope": 13857, + "src": "30158:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13835, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30158:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13838, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30175:2:13", + "nodeType": "VariableDeclaration", + "scope": 13857, + "src": "30167:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30167:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13840, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30187:2:13", + "nodeType": "VariableDeclaration", + "scope": 13857, + "src": "30179:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13839, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30179:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13842, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30196:2:13", + "nodeType": "VariableDeclaration", + "scope": 13857, + "src": "30191:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13841, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "30191:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "30157:42:13" + }, + "returnParameters": { + "id": 13844, + "nodeType": "ParameterList", + "parameters": [], + "src": "30214:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13880, + "nodeType": "FunctionDefinition", + "src": "30327:182:13", + "nodes": [], + "body": { + "id": 13879, + "nodeType": "Block", + "src": "30399:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c616464726573732c6164647265737329", + "id": 13871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30449:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4", + "typeString": "literal_string \"log(uint,address,address,address)\"" + }, + "value": "log(uint,address,address,address)" + }, + { + "id": 13872, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13859, + "src": "30486:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13873, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13861, + "src": "30490:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13874, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13863, + "src": "30494:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 13875, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13865, + "src": "30498:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4", + "typeString": "literal_string \"log(uint,address,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13869, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30425:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30429:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30425:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30425:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13868, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "30409:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30409:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13878, + "nodeType": "ExpressionStatement", + "src": "30409:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30336:3:13", + "parameters": { + "id": 13866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13859, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30345:2:13", + "nodeType": "VariableDeclaration", + "scope": 13880, + "src": "30340:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13858, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30340:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13861, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30357:2:13", + "nodeType": "VariableDeclaration", + "scope": 13880, + "src": "30349:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13860, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30349:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13863, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30369:2:13", + "nodeType": "VariableDeclaration", + "scope": 13880, + "src": "30361:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13862, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30361:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13865, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30381:2:13", + "nodeType": "VariableDeclaration", + "scope": 13880, + "src": "30373:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30373:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "30339:45:13" + }, + "returnParameters": { + "id": 13867, + "nodeType": "ParameterList", + "parameters": [], + "src": "30399:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13903, + "nodeType": "FunctionDefinition", + "src": "30515:175:13", + "nodes": [], + "body": { + "id": 13902, + "nodeType": "Block", + "src": "30587:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e742c75696e7429", + "id": 13894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30637:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2", + "typeString": "literal_string \"log(string,uint,uint,uint)\"" + }, + "value": "log(string,uint,uint,uint)" + }, + { + "id": 13895, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13882, + "src": "30667:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13896, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13884, + "src": "30671:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13897, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13886, + "src": "30675:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13898, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13888, + "src": "30679:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2", + "typeString": "literal_string \"log(string,uint,uint,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13892, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30613:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30617:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30613:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30613:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13891, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "30597:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30597:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13901, + "nodeType": "ExpressionStatement", + "src": "30597:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30524:3:13", + "parameters": { + "id": 13889, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13882, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30542:2:13", + "nodeType": "VariableDeclaration", + "scope": 13903, + "src": "30528:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13881, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30528:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13884, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30551:2:13", + "nodeType": "VariableDeclaration", + "scope": 13903, + "src": "30546:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13883, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30546:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13886, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30560:2:13", + "nodeType": "VariableDeclaration", + "scope": 13903, + "src": "30555:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13885, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30555:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13888, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30569:2:13", + "nodeType": "VariableDeclaration", + "scope": 13903, + "src": "30564:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13887, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30564:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30527:45:13" + }, + "returnParameters": { + "id": 13890, + "nodeType": "ParameterList", + "parameters": [], + "src": "30587:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13926, + "nodeType": "FunctionDefinition", + "src": "30696:186:13", + "nodes": [], + "body": { + "id": 13925, + "nodeType": "Block", + "src": "30777:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e742c737472696e6729", + "id": 13917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30827:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8", + "typeString": "literal_string \"log(string,uint,uint,string)\"" + }, + "value": "log(string,uint,uint,string)" + }, + { + "id": 13918, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13905, + "src": "30859:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13919, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13907, + "src": "30863:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13920, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13909, + "src": "30867:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13921, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13911, + "src": "30871:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8", + "typeString": "literal_string \"log(string,uint,uint,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 13915, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30803:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30807:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30803:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30803:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13914, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "30787:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30787:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13924, + "nodeType": "ExpressionStatement", + "src": "30787:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30705:3:13", + "parameters": { + "id": 13912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13905, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30723:2:13", + "nodeType": "VariableDeclaration", + "scope": 13926, + "src": "30709:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13904, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30709:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13907, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30732:2:13", + "nodeType": "VariableDeclaration", + "scope": 13926, + "src": "30727:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13906, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30727:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13909, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30741:2:13", + "nodeType": "VariableDeclaration", + "scope": 13926, + "src": "30736:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13908, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30736:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13911, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30759:2:13", + "nodeType": "VariableDeclaration", + "scope": 13926, + "src": "30745:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13910, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30745:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "30708:54:13" + }, + "returnParameters": { + "id": 13913, + "nodeType": "ParameterList", + "parameters": [], + "src": "30777:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13949, + "nodeType": "FunctionDefinition", + "src": "30888:175:13", + "nodes": [], + "body": { + "id": 13948, + "nodeType": "Block", + "src": "30960:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e742c626f6f6c29", + "id": 13940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31010:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d", + "typeString": "literal_string \"log(string,uint,uint,bool)\"" + }, + "value": "log(string,uint,uint,bool)" + }, + { + "id": 13941, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13928, + "src": "31040:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13942, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13930, + "src": "31044:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13943, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13932, + "src": "31048:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13944, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13934, + "src": "31052:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d", + "typeString": "literal_string \"log(string,uint,uint,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 13938, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30986:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30990:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30986:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30986:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13937, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "30970:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30970:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13947, + "nodeType": "ExpressionStatement", + "src": "30970:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30897:3:13", + "parameters": { + "id": 13935, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13928, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30915:2:13", + "nodeType": "VariableDeclaration", + "scope": 13949, + "src": "30901:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13927, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30901:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13930, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30924:2:13", + "nodeType": "VariableDeclaration", + "scope": 13949, + "src": "30919:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13929, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30919:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13932, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30933:2:13", + "nodeType": "VariableDeclaration", + "scope": 13949, + "src": "30928:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13931, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30928:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13934, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30942:2:13", + "nodeType": "VariableDeclaration", + "scope": 13949, + "src": "30937:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 13933, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "30937:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "30900:45:13" + }, + "returnParameters": { + "id": 13936, + "nodeType": "ParameterList", + "parameters": [], + "src": "30960:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13972, + "nodeType": "FunctionDefinition", + "src": "31069:181:13", + "nodes": [], + "body": { + "id": 13971, + "nodeType": "Block", + "src": "31144:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e742c6164647265737329", + "id": 13963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31194:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc", + "typeString": "literal_string \"log(string,uint,uint,address)\"" + }, + "value": "log(string,uint,uint,address)" + }, + { + "id": 13964, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13951, + "src": "31227:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13965, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13953, + "src": "31231:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13966, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13955, + "src": "31235:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13967, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13957, + "src": "31239:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc", + "typeString": "literal_string \"log(string,uint,uint,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 13961, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31170:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31174:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31170:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31170:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13960, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "31154:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31154:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13970, + "nodeType": "ExpressionStatement", + "src": "31154:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31078:3:13", + "parameters": { + "id": 13958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13951, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31096:2:13", + "nodeType": "VariableDeclaration", + "scope": 13972, + "src": "31082:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13950, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31082:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13953, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31105:2:13", + "nodeType": "VariableDeclaration", + "scope": 13972, + "src": "31100:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13952, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31100:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13955, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31114:2:13", + "nodeType": "VariableDeclaration", + "scope": 13972, + "src": "31109:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13954, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31109:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13957, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31126:2:13", + "nodeType": "VariableDeclaration", + "scope": 13972, + "src": "31118:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31118:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "31081:48:13" + }, + "returnParameters": { + "id": 13959, + "nodeType": "ParameterList", + "parameters": [], + "src": "31144:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 13995, + "nodeType": "FunctionDefinition", + "src": "31256:186:13", + "nodes": [], + "body": { + "id": 13994, + "nodeType": "Block", + "src": "31337:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c75696e7429", + "id": 13986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31387:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f", + "typeString": "literal_string \"log(string,uint,string,uint)\"" + }, + "value": "log(string,uint,string,uint)" + }, + { + "id": 13987, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13974, + "src": "31419:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13988, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13976, + "src": "31423:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 13989, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13978, + "src": "31427:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 13990, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13980, + "src": "31431:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f", + "typeString": "literal_string \"log(string,uint,string,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 13984, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31363:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 13985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31367:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31363:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 13991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31363:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 13983, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "31347:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 13992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31347:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13993, + "nodeType": "ExpressionStatement", + "src": "31347:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31265:3:13", + "parameters": { + "id": 13981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13974, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31283:2:13", + "nodeType": "VariableDeclaration", + "scope": 13995, + "src": "31269:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13973, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31269:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13976, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31292:2:13", + "nodeType": "VariableDeclaration", + "scope": 13995, + "src": "31287:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13975, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31287:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13978, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31310:2:13", + "nodeType": "VariableDeclaration", + "scope": 13995, + "src": "31296:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13977, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31296:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13980, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31319:2:13", + "nodeType": "VariableDeclaration", + "scope": 13995, + "src": "31314:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13979, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31314:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "31268:54:13" + }, + "returnParameters": { + "id": 13982, + "nodeType": "ParameterList", + "parameters": [], + "src": "31337:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14018, + "nodeType": "FunctionDefinition", + "src": "31448:197:13", + "nodes": [], + "body": { + "id": 14017, + "nodeType": "Block", + "src": "31538:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c737472696e6729", + "id": 14009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31588:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07", + "typeString": "literal_string \"log(string,uint,string,string)\"" + }, + "value": "log(string,uint,string,string)" + }, + { + "id": 14010, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13997, + "src": "31622:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14011, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13999, + "src": "31626:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14012, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14001, + "src": "31630:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14013, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14003, + "src": "31634:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07", + "typeString": "literal_string \"log(string,uint,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14007, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31564:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31568:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31564:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31564:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14006, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "31548:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31548:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14016, + "nodeType": "ExpressionStatement", + "src": "31548:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31457:3:13", + "parameters": { + "id": 14004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13997, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31475:2:13", + "nodeType": "VariableDeclaration", + "scope": 14018, + "src": "31461:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 13996, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31461:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13999, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31484:2:13", + "nodeType": "VariableDeclaration", + "scope": 14018, + "src": "31479:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13998, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31479:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14001, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31502:2:13", + "nodeType": "VariableDeclaration", + "scope": 14018, + "src": "31488:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14000, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31488:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14003, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31520:2:13", + "nodeType": "VariableDeclaration", + "scope": 14018, + "src": "31506:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14002, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31506:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "31460:63:13" + }, + "returnParameters": { + "id": 14005, + "nodeType": "ParameterList", + "parameters": [], + "src": "31538:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14041, + "nodeType": "FunctionDefinition", + "src": "31651:186:13", + "nodes": [], + "body": { + "id": 14040, + "nodeType": "Block", + "src": "31732:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c626f6f6c29", + "id": 14032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31782:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8", + "typeString": "literal_string \"log(string,uint,string,bool)\"" + }, + "value": "log(string,uint,string,bool)" + }, + { + "id": 14033, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14020, + "src": "31814:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14034, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14022, + "src": "31818:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14035, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14024, + "src": "31822:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14036, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14026, + "src": "31826:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8", + "typeString": "literal_string \"log(string,uint,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14030, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31758:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31762:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31758:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31758:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14029, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "31742:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31742:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14039, + "nodeType": "ExpressionStatement", + "src": "31742:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31660:3:13", + "parameters": { + "id": 14027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14020, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31678:2:13", + "nodeType": "VariableDeclaration", + "scope": 14041, + "src": "31664:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14019, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31664:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14022, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31687:2:13", + "nodeType": "VariableDeclaration", + "scope": 14041, + "src": "31682:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14021, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31682:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14024, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31705:2:13", + "nodeType": "VariableDeclaration", + "scope": 14041, + "src": "31691:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14023, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31691:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14026, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31714:2:13", + "nodeType": "VariableDeclaration", + "scope": 14041, + "src": "31709:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14025, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "31709:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "31663:54:13" + }, + "returnParameters": { + "id": 14028, + "nodeType": "ParameterList", + "parameters": [], + "src": "31732:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14064, + "nodeType": "FunctionDefinition", + "src": "31843:192:13", + "nodes": [], + "body": { + "id": 14063, + "nodeType": "Block", + "src": "31927:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c6164647265737329", + "id": 14055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31977:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c", + "typeString": "literal_string \"log(string,uint,string,address)\"" + }, + "value": "log(string,uint,string,address)" + }, + { + "id": 14056, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14043, + "src": "32012:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14057, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14045, + "src": "32016:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14058, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14047, + "src": "32020:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14059, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14049, + "src": "32024:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c", + "typeString": "literal_string \"log(string,uint,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14053, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31953:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31957:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31953:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31953:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14052, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "31937:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31937:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14062, + "nodeType": "ExpressionStatement", + "src": "31937:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31852:3:13", + "parameters": { + "id": 14050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14043, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31870:2:13", + "nodeType": "VariableDeclaration", + "scope": 14064, + "src": "31856:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14042, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31856:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14045, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31879:2:13", + "nodeType": "VariableDeclaration", + "scope": 14064, + "src": "31874:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14044, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31874:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14047, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31897:2:13", + "nodeType": "VariableDeclaration", + "scope": 14064, + "src": "31883:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14046, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31883:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14049, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31909:2:13", + "nodeType": "VariableDeclaration", + "scope": 14064, + "src": "31901:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14048, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31901:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "31855:57:13" + }, + "returnParameters": { + "id": 14051, + "nodeType": "ParameterList", + "parameters": [], + "src": "31927:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14087, + "nodeType": "FunctionDefinition", + "src": "32041:175:13", + "nodes": [], + "body": { + "id": 14086, + "nodeType": "Block", + "src": "32113:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c75696e7429", + "id": 14078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32163:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f", + "typeString": "literal_string \"log(string,uint,bool,uint)\"" + }, + "value": "log(string,uint,bool,uint)" + }, + { + "id": 14079, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14066, + "src": "32193:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14080, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14068, + "src": "32197:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14081, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14070, + "src": "32201:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14082, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14072, + "src": "32205:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f", + "typeString": "literal_string \"log(string,uint,bool,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14076, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32139:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14077, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32143:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32139:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32139:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14075, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "32123:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32123:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14085, + "nodeType": "ExpressionStatement", + "src": "32123:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32050:3:13", + "parameters": { + "id": 14073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14066, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32068:2:13", + "nodeType": "VariableDeclaration", + "scope": 14087, + "src": "32054:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32054:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14068, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32077:2:13", + "nodeType": "VariableDeclaration", + "scope": 14087, + "src": "32072:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14067, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32072:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14070, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32086:2:13", + "nodeType": "VariableDeclaration", + "scope": 14087, + "src": "32081:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14069, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32081:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14072, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32095:2:13", + "nodeType": "VariableDeclaration", + "scope": 14087, + "src": "32090:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14071, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32090:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "32053:45:13" + }, + "returnParameters": { + "id": 14074, + "nodeType": "ParameterList", + "parameters": [], + "src": "32113:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14110, + "nodeType": "FunctionDefinition", + "src": "32222:186:13", + "nodes": [], + "body": { + "id": 14109, + "nodeType": "Block", + "src": "32303:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c737472696e6729", + "id": 14101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32353:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68", + "typeString": "literal_string \"log(string,uint,bool,string)\"" + }, + "value": "log(string,uint,bool,string)" + }, + { + "id": 14102, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14089, + "src": "32385:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14103, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14091, + "src": "32389:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14104, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14093, + "src": "32393:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14105, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14095, + "src": "32397:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68", + "typeString": "literal_string \"log(string,uint,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14099, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32329:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32333:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32329:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32329:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14098, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "32313:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32313:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14108, + "nodeType": "ExpressionStatement", + "src": "32313:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32231:3:13", + "parameters": { + "id": 14096, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14089, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32249:2:13", + "nodeType": "VariableDeclaration", + "scope": 14110, + "src": "32235:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14088, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32235:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14091, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32258:2:13", + "nodeType": "VariableDeclaration", + "scope": 14110, + "src": "32253:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14090, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32253:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14093, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32267:2:13", + "nodeType": "VariableDeclaration", + "scope": 14110, + "src": "32262:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14092, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32262:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14095, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32285:2:13", + "nodeType": "VariableDeclaration", + "scope": 14110, + "src": "32271:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14094, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32271:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "32234:54:13" + }, + "returnParameters": { + "id": 14097, + "nodeType": "ParameterList", + "parameters": [], + "src": "32303:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14133, + "nodeType": "FunctionDefinition", + "src": "32414:175:13", + "nodes": [], + "body": { + "id": 14132, + "nodeType": "Block", + "src": "32486:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c626f6f6c29", + "id": 14124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32536:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f", + "typeString": "literal_string \"log(string,uint,bool,bool)\"" + }, + "value": "log(string,uint,bool,bool)" + }, + { + "id": 14125, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14112, + "src": "32566:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14126, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14114, + "src": "32570:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14127, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14116, + "src": "32574:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14128, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14118, + "src": "32578:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f", + "typeString": "literal_string \"log(string,uint,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14122, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32512:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32516:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32512:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32512:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14121, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "32496:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32496:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14131, + "nodeType": "ExpressionStatement", + "src": "32496:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32423:3:13", + "parameters": { + "id": 14119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14112, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32441:2:13", + "nodeType": "VariableDeclaration", + "scope": 14133, + "src": "32427:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14111, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32427:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14114, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32450:2:13", + "nodeType": "VariableDeclaration", + "scope": 14133, + "src": "32445:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14113, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32445:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14116, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32459:2:13", + "nodeType": "VariableDeclaration", + "scope": 14133, + "src": "32454:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14115, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32454:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14118, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32468:2:13", + "nodeType": "VariableDeclaration", + "scope": 14133, + "src": "32463:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14117, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32463:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "32426:45:13" + }, + "returnParameters": { + "id": 14120, + "nodeType": "ParameterList", + "parameters": [], + "src": "32486:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14156, + "nodeType": "FunctionDefinition", + "src": "32595:181:13", + "nodes": [], + "body": { + "id": 14155, + "nodeType": "Block", + "src": "32670:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c6164647265737329", + "id": 14147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32720:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539", + "typeString": "literal_string \"log(string,uint,bool,address)\"" + }, + "value": "log(string,uint,bool,address)" + }, + { + "id": 14148, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14135, + "src": "32753:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14149, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14137, + "src": "32757:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14150, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14139, + "src": "32761:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14151, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14141, + "src": "32765:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539", + "typeString": "literal_string \"log(string,uint,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14145, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32696:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32700:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32696:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32696:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14144, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "32680:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32680:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14154, + "nodeType": "ExpressionStatement", + "src": "32680:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32604:3:13", + "parameters": { + "id": 14142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14135, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32622:2:13", + "nodeType": "VariableDeclaration", + "scope": 14156, + "src": "32608:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14134, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32608:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14137, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32631:2:13", + "nodeType": "VariableDeclaration", + "scope": 14156, + "src": "32626:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14136, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32626:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14139, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32640:2:13", + "nodeType": "VariableDeclaration", + "scope": 14156, + "src": "32635:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14138, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32635:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14141, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32652:2:13", + "nodeType": "VariableDeclaration", + "scope": 14156, + "src": "32644:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "32644:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "32607:48:13" + }, + "returnParameters": { + "id": 14143, + "nodeType": "ParameterList", + "parameters": [], + "src": "32670:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14179, + "nodeType": "FunctionDefinition", + "src": "32782:181:13", + "nodes": [], + "body": { + "id": 14178, + "nodeType": "Block", + "src": "32857:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c75696e7429", + "id": 14170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32907:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75", + "typeString": "literal_string \"log(string,uint,address,uint)\"" + }, + "value": "log(string,uint,address,uint)" + }, + { + "id": 14171, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14158, + "src": "32940:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14172, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14160, + "src": "32944:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14173, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14162, + "src": "32948:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14174, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14164, + "src": "32952:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75", + "typeString": "literal_string \"log(string,uint,address,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14168, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32883:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32887:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32883:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32883:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14167, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "32867:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32867:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14177, + "nodeType": "ExpressionStatement", + "src": "32867:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32791:3:13", + "parameters": { + "id": 14165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14158, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32809:2:13", + "nodeType": "VariableDeclaration", + "scope": 14179, + "src": "32795:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14157, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32795:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14160, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32818:2:13", + "nodeType": "VariableDeclaration", + "scope": 14179, + "src": "32813:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14159, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32813:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14162, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32830:2:13", + "nodeType": "VariableDeclaration", + "scope": 14179, + "src": "32822:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14161, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "32822:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14164, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32839:2:13", + "nodeType": "VariableDeclaration", + "scope": 14179, + "src": "32834:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14163, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32834:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "32794:48:13" + }, + "returnParameters": { + "id": 14166, + "nodeType": "ParameterList", + "parameters": [], + "src": "32857:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14202, + "nodeType": "FunctionDefinition", + "src": "32969:192:13", + "nodes": [], + "body": { + "id": 14201, + "nodeType": "Block", + "src": "33053:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c737472696e6729", + "id": 14193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33103:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0", + "typeString": "literal_string \"log(string,uint,address,string)\"" + }, + "value": "log(string,uint,address,string)" + }, + { + "id": 14194, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14181, + "src": "33138:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14195, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14183, + "src": "33142:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14196, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14185, + "src": "33146:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14197, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14187, + "src": "33150:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0", + "typeString": "literal_string \"log(string,uint,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14191, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33079:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33083:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33079:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33079:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14190, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "33063:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33063:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14200, + "nodeType": "ExpressionStatement", + "src": "33063:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32978:3:13", + "parameters": { + "id": 14188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14181, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32996:2:13", + "nodeType": "VariableDeclaration", + "scope": 14202, + "src": "32982:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14180, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32982:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14183, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33005:2:13", + "nodeType": "VariableDeclaration", + "scope": 14202, + "src": "33000:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14182, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33000:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14185, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33017:2:13", + "nodeType": "VariableDeclaration", + "scope": 14202, + "src": "33009:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14184, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33009:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14187, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33035:2:13", + "nodeType": "VariableDeclaration", + "scope": 14202, + "src": "33021:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14186, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33021:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "32981:57:13" + }, + "returnParameters": { + "id": 14189, + "nodeType": "ParameterList", + "parameters": [], + "src": "33053:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14225, + "nodeType": "FunctionDefinition", + "src": "33167:181:13", + "nodes": [], + "body": { + "id": 14224, + "nodeType": "Block", + "src": "33242:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c626f6f6c29", + "id": 14216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33292:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10", + "typeString": "literal_string \"log(string,uint,address,bool)\"" + }, + "value": "log(string,uint,address,bool)" + }, + { + "id": 14217, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14204, + "src": "33325:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14218, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14206, + "src": "33329:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14219, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14208, + "src": "33333:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14220, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14210, + "src": "33337:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10", + "typeString": "literal_string \"log(string,uint,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14214, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33268:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33272:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33268:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33268:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14213, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "33252:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33252:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14223, + "nodeType": "ExpressionStatement", + "src": "33252:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33176:3:13", + "parameters": { + "id": 14211, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14204, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33194:2:13", + "nodeType": "VariableDeclaration", + "scope": 14225, + "src": "33180:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14203, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33180:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14206, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33203:2:13", + "nodeType": "VariableDeclaration", + "scope": 14225, + "src": "33198:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14205, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33198:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14208, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33215:2:13", + "nodeType": "VariableDeclaration", + "scope": 14225, + "src": "33207:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14207, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33207:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14210, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33224:2:13", + "nodeType": "VariableDeclaration", + "scope": 14225, + "src": "33219:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14209, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "33219:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "33179:48:13" + }, + "returnParameters": { + "id": 14212, + "nodeType": "ParameterList", + "parameters": [], + "src": "33242:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14248, + "nodeType": "FunctionDefinition", + "src": "33354:187:13", + "nodes": [], + "body": { + "id": 14247, + "nodeType": "Block", + "src": "33432:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c6164647265737329", + "id": 14239, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33482:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381", + "typeString": "literal_string \"log(string,uint,address,address)\"" + }, + "value": "log(string,uint,address,address)" + }, + { + "id": 14240, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14227, + "src": "33518:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14241, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14229, + "src": "33522:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14242, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14231, + "src": "33526:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14243, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14233, + "src": "33530:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381", + "typeString": "literal_string \"log(string,uint,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14237, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33458:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33462:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33458:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33458:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14236, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "33442:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33442:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14246, + "nodeType": "ExpressionStatement", + "src": "33442:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33363:3:13", + "parameters": { + "id": 14234, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14227, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33381:2:13", + "nodeType": "VariableDeclaration", + "scope": 14248, + "src": "33367:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14226, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33367:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14229, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33390:2:13", + "nodeType": "VariableDeclaration", + "scope": 14248, + "src": "33385:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14228, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33385:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14231, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33402:2:13", + "nodeType": "VariableDeclaration", + "scope": 14248, + "src": "33394:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33394:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14233, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33414:2:13", + "nodeType": "VariableDeclaration", + "scope": 14248, + "src": "33406:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33406:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "33366:51:13" + }, + "returnParameters": { + "id": 14235, + "nodeType": "ParameterList", + "parameters": [], + "src": "33432:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14271, + "nodeType": "FunctionDefinition", + "src": "33547:186:13", + "nodes": [], + "body": { + "id": 14270, + "nodeType": "Block", + "src": "33628:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c75696e7429", + "id": 14262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33678:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926", + "typeString": "literal_string \"log(string,string,uint,uint)\"" + }, + "value": "log(string,string,uint,uint)" + }, + { + "id": 14263, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14250, + "src": "33710:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14264, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14252, + "src": "33714:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14265, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14254, + "src": "33718:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14266, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14256, + "src": "33722:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926", + "typeString": "literal_string \"log(string,string,uint,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14260, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33654:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14261, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33658:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33654:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33654:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14259, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "33638:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33638:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14269, + "nodeType": "ExpressionStatement", + "src": "33638:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33556:3:13", + "parameters": { + "id": 14257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14250, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33574:2:13", + "nodeType": "VariableDeclaration", + "scope": 14271, + "src": "33560:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14249, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33560:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14252, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33592:2:13", + "nodeType": "VariableDeclaration", + "scope": 14271, + "src": "33578:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14251, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33578:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14254, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33601:2:13", + "nodeType": "VariableDeclaration", + "scope": 14271, + "src": "33596:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14253, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33596:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14256, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33610:2:13", + "nodeType": "VariableDeclaration", + "scope": 14271, + "src": "33605:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14255, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33605:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "33559:54:13" + }, + "returnParameters": { + "id": 14258, + "nodeType": "ParameterList", + "parameters": [], + "src": "33628:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14294, + "nodeType": "FunctionDefinition", + "src": "33739:197:13", + "nodes": [], + "body": { + "id": 14293, + "nodeType": "Block", + "src": "33829:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c737472696e6729", + "id": 14285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33879:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a", + "typeString": "literal_string \"log(string,string,uint,string)\"" + }, + "value": "log(string,string,uint,string)" + }, + { + "id": 14286, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14273, + "src": "33913:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14287, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14275, + "src": "33917:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14288, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14277, + "src": "33921:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14289, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14279, + "src": "33925:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a", + "typeString": "literal_string \"log(string,string,uint,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14283, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33855:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33859:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33855:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33855:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14282, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "33839:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33839:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14292, + "nodeType": "ExpressionStatement", + "src": "33839:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33748:3:13", + "parameters": { + "id": 14280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14273, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33766:2:13", + "nodeType": "VariableDeclaration", + "scope": 14294, + "src": "33752:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14272, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33752:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14275, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33784:2:13", + "nodeType": "VariableDeclaration", + "scope": 14294, + "src": "33770:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14274, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33770:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14277, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33793:2:13", + "nodeType": "VariableDeclaration", + "scope": 14294, + "src": "33788:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14276, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33788:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14279, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33811:2:13", + "nodeType": "VariableDeclaration", + "scope": 14294, + "src": "33797:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14278, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33797:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "33751:63:13" + }, + "returnParameters": { + "id": 14281, + "nodeType": "ParameterList", + "parameters": [], + "src": "33829:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14317, + "nodeType": "FunctionDefinition", + "src": "33942:186:13", + "nodes": [], + "body": { + "id": 14316, + "nodeType": "Block", + "src": "34023:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c626f6f6c29", + "id": 14308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34073:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b", + "typeString": "literal_string \"log(string,string,uint,bool)\"" + }, + "value": "log(string,string,uint,bool)" + }, + { + "id": 14309, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14296, + "src": "34105:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14310, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14298, + "src": "34109:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14311, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14300, + "src": "34113:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14312, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14302, + "src": "34117:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b", + "typeString": "literal_string \"log(string,string,uint,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14306, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34049:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34053:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34049:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34049:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14305, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "34033:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34033:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14315, + "nodeType": "ExpressionStatement", + "src": "34033:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33951:3:13", + "parameters": { + "id": 14303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14296, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33969:2:13", + "nodeType": "VariableDeclaration", + "scope": 14317, + "src": "33955:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14295, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33955:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14298, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33987:2:13", + "nodeType": "VariableDeclaration", + "scope": 14317, + "src": "33973:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14297, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33973:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14300, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33996:2:13", + "nodeType": "VariableDeclaration", + "scope": 14317, + "src": "33991:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14299, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33991:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14302, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34005:2:13", + "nodeType": "VariableDeclaration", + "scope": 14317, + "src": "34000:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14301, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34000:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "33954:54:13" + }, + "returnParameters": { + "id": 14304, + "nodeType": "ParameterList", + "parameters": [], + "src": "34023:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14340, + "nodeType": "FunctionDefinition", + "src": "34134:192:13", + "nodes": [], + "body": { + "id": 14339, + "nodeType": "Block", + "src": "34218:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c6164647265737329", + "id": 14331, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34268:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128", + "typeString": "literal_string \"log(string,string,uint,address)\"" + }, + "value": "log(string,string,uint,address)" + }, + { + "id": 14332, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14319, + "src": "34303:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14333, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14321, + "src": "34307:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14334, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14323, + "src": "34311:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14335, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14325, + "src": "34315:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128", + "typeString": "literal_string \"log(string,string,uint,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14329, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34244:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34248:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34244:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34244:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14328, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "34228:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34228:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14338, + "nodeType": "ExpressionStatement", + "src": "34228:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34143:3:13", + "parameters": { + "id": 14326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14319, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34161:2:13", + "nodeType": "VariableDeclaration", + "scope": 14340, + "src": "34147:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14318, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34147:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14321, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34179:2:13", + "nodeType": "VariableDeclaration", + "scope": 14340, + "src": "34165:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14320, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34165:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14323, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34188:2:13", + "nodeType": "VariableDeclaration", + "scope": 14340, + "src": "34183:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14322, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34183:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14325, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34200:2:13", + "nodeType": "VariableDeclaration", + "scope": 14340, + "src": "34192:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "34192:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "34146:57:13" + }, + "returnParameters": { + "id": 14327, + "nodeType": "ParameterList", + "parameters": [], + "src": "34218:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14363, + "nodeType": "FunctionDefinition", + "src": "34332:197:13", + "nodes": [], + "body": { + "id": 14362, + "nodeType": "Block", + "src": "34422:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c75696e7429", + "id": 14354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34472:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f", + "typeString": "literal_string \"log(string,string,string,uint)\"" + }, + "value": "log(string,string,string,uint)" + }, + { + "id": 14355, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14342, + "src": "34506:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14356, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14344, + "src": "34510:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14357, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14346, + "src": "34514:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14358, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14348, + "src": "34518:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f", + "typeString": "literal_string \"log(string,string,string,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14352, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34448:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34452:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34448:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34448:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14351, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "34432:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34432:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14361, + "nodeType": "ExpressionStatement", + "src": "34432:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34341:3:13", + "parameters": { + "id": 14349, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14342, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34359:2:13", + "nodeType": "VariableDeclaration", + "scope": 14363, + "src": "34345:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14341, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34345:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14344, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34377:2:13", + "nodeType": "VariableDeclaration", + "scope": 14363, + "src": "34363:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14343, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34363:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14346, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34395:2:13", + "nodeType": "VariableDeclaration", + "scope": 14363, + "src": "34381:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34381:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14348, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34404:2:13", + "nodeType": "VariableDeclaration", + "scope": 14363, + "src": "34399:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14347, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34399:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "34344:63:13" + }, + "returnParameters": { + "id": 14350, + "nodeType": "ParameterList", + "parameters": [], + "src": "34422:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14386, + "nodeType": "FunctionDefinition", + "src": "34535:208:13", + "nodes": [], + "body": { + "id": 14385, + "nodeType": "Block", + "src": "34634:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729", + "id": 14377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34684:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe", + "typeString": "literal_string \"log(string,string,string,string)\"" + }, + "value": "log(string,string,string,string)" + }, + { + "id": 14378, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14365, + "src": "34720:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14379, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14367, + "src": "34724:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14380, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14369, + "src": "34728:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14381, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14371, + "src": "34732:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe", + "typeString": "literal_string \"log(string,string,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14375, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34660:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34664:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34660:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34660:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14374, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "34644:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34644:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14384, + "nodeType": "ExpressionStatement", + "src": "34644:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34544:3:13", + "parameters": { + "id": 14372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14365, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34562:2:13", + "nodeType": "VariableDeclaration", + "scope": 14386, + "src": "34548:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14364, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34548:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14367, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34580:2:13", + "nodeType": "VariableDeclaration", + "scope": 14386, + "src": "34566:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14366, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34566:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14369, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34598:2:13", + "nodeType": "VariableDeclaration", + "scope": 14386, + "src": "34584:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14368, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34584:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14371, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34616:2:13", + "nodeType": "VariableDeclaration", + "scope": 14386, + "src": "34602:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14370, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34602:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "34547:72:13" + }, + "returnParameters": { + "id": 14373, + "nodeType": "ParameterList", + "parameters": [], + "src": "34634:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14409, + "nodeType": "FunctionDefinition", + "src": "34749:197:13", + "nodes": [], + "body": { + "id": 14408, + "nodeType": "Block", + "src": "34839:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29", + "id": 14400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34889:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332", + "typeString": "literal_string \"log(string,string,string,bool)\"" + }, + "value": "log(string,string,string,bool)" + }, + { + "id": 14401, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14388, + "src": "34923:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14402, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14390, + "src": "34927:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14403, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14392, + "src": "34931:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14404, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14394, + "src": "34935:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332", + "typeString": "literal_string \"log(string,string,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14398, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34865:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34869:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34865:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34865:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14397, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "34849:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34849:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14407, + "nodeType": "ExpressionStatement", + "src": "34849:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34758:3:13", + "parameters": { + "id": 14395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14388, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34776:2:13", + "nodeType": "VariableDeclaration", + "scope": 14409, + "src": "34762:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14387, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34762:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14390, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34794:2:13", + "nodeType": "VariableDeclaration", + "scope": 14409, + "src": "34780:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14389, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34780:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14392, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34812:2:13", + "nodeType": "VariableDeclaration", + "scope": 14409, + "src": "34798:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14391, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34798:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14394, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34821:2:13", + "nodeType": "VariableDeclaration", + "scope": 14409, + "src": "34816:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14393, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34816:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "34761:63:13" + }, + "returnParameters": { + "id": 14396, + "nodeType": "ParameterList", + "parameters": [], + "src": "34839:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14432, + "nodeType": "FunctionDefinition", + "src": "34952:203:13", + "nodes": [], + "body": { + "id": 14431, + "nodeType": "Block", + "src": "35045:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329", + "id": 14423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35095:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16", + "typeString": "literal_string \"log(string,string,string,address)\"" + }, + "value": "log(string,string,string,address)" + }, + { + "id": 14424, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14411, + "src": "35132:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14425, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14413, + "src": "35136:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14426, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14415, + "src": "35140:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14427, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14417, + "src": "35144:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16", + "typeString": "literal_string \"log(string,string,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14421, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35071:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35075:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35071:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35071:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14420, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "35055:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35055:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14430, + "nodeType": "ExpressionStatement", + "src": "35055:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34961:3:13", + "parameters": { + "id": 14418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14411, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34979:2:13", + "nodeType": "VariableDeclaration", + "scope": 14432, + "src": "34965:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14410, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34965:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14413, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34997:2:13", + "nodeType": "VariableDeclaration", + "scope": 14432, + "src": "34983:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14412, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34983:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14415, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35015:2:13", + "nodeType": "VariableDeclaration", + "scope": 14432, + "src": "35001:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14414, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35001:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14417, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35027:2:13", + "nodeType": "VariableDeclaration", + "scope": 14432, + "src": "35019:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35019:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "34964:66:13" + }, + "returnParameters": { + "id": 14419, + "nodeType": "ParameterList", + "parameters": [], + "src": "35045:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14455, + "nodeType": "FunctionDefinition", + "src": "35161:186:13", + "nodes": [], + "body": { + "id": 14454, + "nodeType": "Block", + "src": "35242:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7429", + "id": 14446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35292:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1", + "typeString": "literal_string \"log(string,string,bool,uint)\"" + }, + "value": "log(string,string,bool,uint)" + }, + { + "id": 14447, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14434, + "src": "35324:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14448, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14436, + "src": "35328:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14449, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14438, + "src": "35332:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14450, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14440, + "src": "35336:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1", + "typeString": "literal_string \"log(string,string,bool,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14444, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35268:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35272:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35268:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35268:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14443, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "35252:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35252:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14453, + "nodeType": "ExpressionStatement", + "src": "35252:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35170:3:13", + "parameters": { + "id": 14441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14434, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35188:2:13", + "nodeType": "VariableDeclaration", + "scope": 14455, + "src": "35174:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14433, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35174:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14436, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35206:2:13", + "nodeType": "VariableDeclaration", + "scope": 14455, + "src": "35192:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14435, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35192:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14438, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35215:2:13", + "nodeType": "VariableDeclaration", + "scope": 14455, + "src": "35210:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14437, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35210:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14440, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35224:2:13", + "nodeType": "VariableDeclaration", + "scope": 14455, + "src": "35219:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14439, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "35219:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "35173:54:13" + }, + "returnParameters": { + "id": 14442, + "nodeType": "ParameterList", + "parameters": [], + "src": "35242:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14478, + "nodeType": "FunctionDefinition", + "src": "35353:197:13", + "nodes": [], + "body": { + "id": 14477, + "nodeType": "Block", + "src": "35443:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729", + "id": 14469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35493:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b", + "typeString": "literal_string \"log(string,string,bool,string)\"" + }, + "value": "log(string,string,bool,string)" + }, + { + "id": 14470, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14457, + "src": "35527:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14471, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14459, + "src": "35531:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14472, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14461, + "src": "35535:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14473, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14463, + "src": "35539:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b", + "typeString": "literal_string \"log(string,string,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14467, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35469:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35473:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35469:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35469:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14466, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "35453:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35453:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14476, + "nodeType": "ExpressionStatement", + "src": "35453:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35362:3:13", + "parameters": { + "id": 14464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14457, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35380:2:13", + "nodeType": "VariableDeclaration", + "scope": 14478, + "src": "35366:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14456, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35366:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14459, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35398:2:13", + "nodeType": "VariableDeclaration", + "scope": 14478, + "src": "35384:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14458, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35384:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14461, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35407:2:13", + "nodeType": "VariableDeclaration", + "scope": 14478, + "src": "35402:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14460, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35402:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14463, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35425:2:13", + "nodeType": "VariableDeclaration", + "scope": 14478, + "src": "35411:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14462, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35411:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "35365:63:13" + }, + "returnParameters": { + "id": 14465, + "nodeType": "ParameterList", + "parameters": [], + "src": "35443:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14501, + "nodeType": "FunctionDefinition", + "src": "35556:186:13", + "nodes": [], + "body": { + "id": 14500, + "nodeType": "Block", + "src": "35637:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29", + "id": 14492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35687:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10", + "typeString": "literal_string \"log(string,string,bool,bool)\"" + }, + "value": "log(string,string,bool,bool)" + }, + { + "id": 14493, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14480, + "src": "35719:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14494, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14482, + "src": "35723:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14495, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14484, + "src": "35727:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14496, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14486, + "src": "35731:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10", + "typeString": "literal_string \"log(string,string,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14490, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35663:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35667:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35663:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35663:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14489, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "35647:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35647:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14499, + "nodeType": "ExpressionStatement", + "src": "35647:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35565:3:13", + "parameters": { + "id": 14487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14480, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35583:2:13", + "nodeType": "VariableDeclaration", + "scope": 14501, + "src": "35569:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14479, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35569:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14482, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35601:2:13", + "nodeType": "VariableDeclaration", + "scope": 14501, + "src": "35587:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14481, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35587:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14484, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35610:2:13", + "nodeType": "VariableDeclaration", + "scope": 14501, + "src": "35605:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14483, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35605:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14486, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35619:2:13", + "nodeType": "VariableDeclaration", + "scope": 14501, + "src": "35614:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14485, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35614:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "35568:54:13" + }, + "returnParameters": { + "id": 14488, + "nodeType": "ParameterList", + "parameters": [], + "src": "35637:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14524, + "nodeType": "FunctionDefinition", + "src": "35748:192:13", + "nodes": [], + "body": { + "id": 14523, + "nodeType": "Block", + "src": "35832:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329", + "id": 14515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35882:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d", + "typeString": "literal_string \"log(string,string,bool,address)\"" + }, + "value": "log(string,string,bool,address)" + }, + { + "id": 14516, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14503, + "src": "35917:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14517, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14505, + "src": "35921:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14518, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14507, + "src": "35925:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14519, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14509, + "src": "35929:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d", + "typeString": "literal_string \"log(string,string,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14513, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35858:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35862:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35858:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35858:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14512, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "35842:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35842:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14522, + "nodeType": "ExpressionStatement", + "src": "35842:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35757:3:13", + "parameters": { + "id": 14510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14503, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35775:2:13", + "nodeType": "VariableDeclaration", + "scope": 14524, + "src": "35761:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14502, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35761:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14505, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35793:2:13", + "nodeType": "VariableDeclaration", + "scope": 14524, + "src": "35779:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14504, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35779:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14507, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35802:2:13", + "nodeType": "VariableDeclaration", + "scope": 14524, + "src": "35797:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14506, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35797:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14509, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35814:2:13", + "nodeType": "VariableDeclaration", + "scope": 14524, + "src": "35806:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14508, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35806:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "35760:57:13" + }, + "returnParameters": { + "id": 14511, + "nodeType": "ParameterList", + "parameters": [], + "src": "35832:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14547, + "nodeType": "FunctionDefinition", + "src": "35946:192:13", + "nodes": [], + "body": { + "id": 14546, + "nodeType": "Block", + "src": "36030:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c75696e7429", + "id": 14538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36080:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2", + "typeString": "literal_string \"log(string,string,address,uint)\"" + }, + "value": "log(string,string,address,uint)" + }, + { + "id": 14539, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14526, + "src": "36115:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14540, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14528, + "src": "36119:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14541, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "36123:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14542, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14532, + "src": "36127:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2", + "typeString": "literal_string \"log(string,string,address,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14536, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36056:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36060:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36056:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36056:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14535, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "36040:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36040:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14545, + "nodeType": "ExpressionStatement", + "src": "36040:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35955:3:13", + "parameters": { + "id": 14533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14526, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35973:2:13", + "nodeType": "VariableDeclaration", + "scope": 14547, + "src": "35959:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14525, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35959:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14528, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35991:2:13", + "nodeType": "VariableDeclaration", + "scope": 14547, + "src": "35977:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14527, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35977:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14530, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36003:2:13", + "nodeType": "VariableDeclaration", + "scope": 14547, + "src": "35995:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14529, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35995:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14532, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36012:2:13", + "nodeType": "VariableDeclaration", + "scope": 14547, + "src": "36007:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14531, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "36007:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "35958:57:13" + }, + "returnParameters": { + "id": 14534, + "nodeType": "ParameterList", + "parameters": [], + "src": "36030:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14570, + "nodeType": "FunctionDefinition", + "src": "36144:203:13", + "nodes": [], + "body": { + "id": 14569, + "nodeType": "Block", + "src": "36237:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729", + "id": 14561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36287:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6", + "typeString": "literal_string \"log(string,string,address,string)\"" + }, + "value": "log(string,string,address,string)" + }, + { + "id": 14562, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14549, + "src": "36324:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14563, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14551, + "src": "36328:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14564, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14553, + "src": "36332:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14565, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14555, + "src": "36336:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6", + "typeString": "literal_string \"log(string,string,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14559, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36263:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36267:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36263:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36263:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14558, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "36247:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36247:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14568, + "nodeType": "ExpressionStatement", + "src": "36247:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36153:3:13", + "parameters": { + "id": 14556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14549, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36171:2:13", + "nodeType": "VariableDeclaration", + "scope": 14570, + "src": "36157:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14548, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36157:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14551, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36189:2:13", + "nodeType": "VariableDeclaration", + "scope": 14570, + "src": "36175:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14550, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36175:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14553, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36201:2:13", + "nodeType": "VariableDeclaration", + "scope": 14570, + "src": "36193:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36193:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14555, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36219:2:13", + "nodeType": "VariableDeclaration", + "scope": 14570, + "src": "36205:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14554, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36205:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "36156:66:13" + }, + "returnParameters": { + "id": 14557, + "nodeType": "ParameterList", + "parameters": [], + "src": "36237:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14593, + "nodeType": "FunctionDefinition", + "src": "36353:192:13", + "nodes": [], + "body": { + "id": 14592, + "nodeType": "Block", + "src": "36437:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29", + "id": 14584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36487:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63", + "typeString": "literal_string \"log(string,string,address,bool)\"" + }, + "value": "log(string,string,address,bool)" + }, + { + "id": 14585, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14572, + "src": "36522:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14586, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14574, + "src": "36526:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14587, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14576, + "src": "36530:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14588, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14578, + "src": "36534:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63", + "typeString": "literal_string \"log(string,string,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14582, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36463:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36467:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36463:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36463:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14581, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "36447:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36447:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14591, + "nodeType": "ExpressionStatement", + "src": "36447:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36362:3:13", + "parameters": { + "id": 14579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14572, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36380:2:13", + "nodeType": "VariableDeclaration", + "scope": 14593, + "src": "36366:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14571, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36366:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14574, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36398:2:13", + "nodeType": "VariableDeclaration", + "scope": 14593, + "src": "36384:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14573, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36384:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14576, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36410:2:13", + "nodeType": "VariableDeclaration", + "scope": 14593, + "src": "36402:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14575, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36402:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14578, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36419:2:13", + "nodeType": "VariableDeclaration", + "scope": 14593, + "src": "36414:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14577, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36414:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "36365:57:13" + }, + "returnParameters": { + "id": 14580, + "nodeType": "ParameterList", + "parameters": [], + "src": "36437:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14616, + "nodeType": "FunctionDefinition", + "src": "36551:198:13", + "nodes": [], + "body": { + "id": 14615, + "nodeType": "Block", + "src": "36638:111:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329", + "id": 14607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36688:36:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d", + "typeString": "literal_string \"log(string,string,address,address)\"" + }, + "value": "log(string,string,address,address)" + }, + { + "id": 14608, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14595, + "src": "36726:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14609, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14597, + "src": "36730:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14610, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14599, + "src": "36734:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14611, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14601, + "src": "36738:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d", + "typeString": "literal_string \"log(string,string,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14605, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36664:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36668:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36664:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36664:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14604, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "36648:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36648:94:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14614, + "nodeType": "ExpressionStatement", + "src": "36648:94:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36560:3:13", + "parameters": { + "id": 14602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14595, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36578:2:13", + "nodeType": "VariableDeclaration", + "scope": 14616, + "src": "36564:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14594, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36564:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14597, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36596:2:13", + "nodeType": "VariableDeclaration", + "scope": 14616, + "src": "36582:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14596, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36582:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14599, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36608:2:13", + "nodeType": "VariableDeclaration", + "scope": 14616, + "src": "36600:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14598, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36600:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14601, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36620:2:13", + "nodeType": "VariableDeclaration", + "scope": 14616, + "src": "36612:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14600, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36612:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "36563:60:13" + }, + "returnParameters": { + "id": 14603, + "nodeType": "ParameterList", + "parameters": [], + "src": "36638:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14639, + "nodeType": "FunctionDefinition", + "src": "36755:175:13", + "nodes": [], + "body": { + "id": 14638, + "nodeType": "Block", + "src": "36827:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c75696e7429", + "id": 14630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36877:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701", + "typeString": "literal_string \"log(string,bool,uint,uint)\"" + }, + "value": "log(string,bool,uint,uint)" + }, + { + "id": 14631, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14618, + "src": "36907:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14632, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14620, + "src": "36911:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14633, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14622, + "src": "36915:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14634, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14624, + "src": "36919:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701", + "typeString": "literal_string \"log(string,bool,uint,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14628, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36853:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36857:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36853:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36853:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14627, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "36837:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36837:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14637, + "nodeType": "ExpressionStatement", + "src": "36837:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36764:3:13", + "parameters": { + "id": 14625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14618, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36782:2:13", + "nodeType": "VariableDeclaration", + "scope": 14639, + "src": "36768:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14617, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36768:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14620, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36791:2:13", + "nodeType": "VariableDeclaration", + "scope": 14639, + "src": "36786:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14619, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36786:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14622, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36800:2:13", + "nodeType": "VariableDeclaration", + "scope": 14639, + "src": "36795:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14621, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "36795:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14624, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36809:2:13", + "nodeType": "VariableDeclaration", + "scope": 14639, + "src": "36804:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14623, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "36804:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "36767:45:13" + }, + "returnParameters": { + "id": 14626, + "nodeType": "ParameterList", + "parameters": [], + "src": "36827:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14662, + "nodeType": "FunctionDefinition", + "src": "36936:186:13", + "nodes": [], + "body": { + "id": 14661, + "nodeType": "Block", + "src": "37017:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c737472696e6729", + "id": 14653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37067:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee", + "typeString": "literal_string \"log(string,bool,uint,string)\"" + }, + "value": "log(string,bool,uint,string)" + }, + { + "id": 14654, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14641, + "src": "37099:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14655, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14643, + "src": "37103:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14656, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14645, + "src": "37107:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14657, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14647, + "src": "37111:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee", + "typeString": "literal_string \"log(string,bool,uint,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14651, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37043:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37047:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37043:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37043:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14650, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "37027:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37027:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14660, + "nodeType": "ExpressionStatement", + "src": "37027:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36945:3:13", + "parameters": { + "id": 14648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14641, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36963:2:13", + "nodeType": "VariableDeclaration", + "scope": 14662, + "src": "36949:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14640, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36949:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14643, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36972:2:13", + "nodeType": "VariableDeclaration", + "scope": 14662, + "src": "36967:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14642, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36967:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14645, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36981:2:13", + "nodeType": "VariableDeclaration", + "scope": 14662, + "src": "36976:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14644, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "36976:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14647, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36999:2:13", + "nodeType": "VariableDeclaration", + "scope": 14662, + "src": "36985:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14646, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36985:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "36948:54:13" + }, + "returnParameters": { + "id": 14649, + "nodeType": "ParameterList", + "parameters": [], + "src": "37017:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14685, + "nodeType": "FunctionDefinition", + "src": "37128:175:13", + "nodes": [], + "body": { + "id": 14684, + "nodeType": "Block", + "src": "37200:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c626f6f6c29", + "id": 14676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37250:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb", + "typeString": "literal_string \"log(string,bool,uint,bool)\"" + }, + "value": "log(string,bool,uint,bool)" + }, + { + "id": 14677, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14664, + "src": "37280:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14678, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14666, + "src": "37284:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14679, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14668, + "src": "37288:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14680, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14670, + "src": "37292:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb", + "typeString": "literal_string \"log(string,bool,uint,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14674, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37226:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37230:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37226:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37226:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14673, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "37210:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37210:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14683, + "nodeType": "ExpressionStatement", + "src": "37210:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37137:3:13", + "parameters": { + "id": 14671, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14664, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37155:2:13", + "nodeType": "VariableDeclaration", + "scope": 14685, + "src": "37141:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14663, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37141:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14666, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37164:2:13", + "nodeType": "VariableDeclaration", + "scope": 14685, + "src": "37159:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14665, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37159:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14668, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37173:2:13", + "nodeType": "VariableDeclaration", + "scope": 14685, + "src": "37168:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14667, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "37168:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14670, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37182:2:13", + "nodeType": "VariableDeclaration", + "scope": 14685, + "src": "37177:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14669, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37177:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "37140:45:13" + }, + "returnParameters": { + "id": 14672, + "nodeType": "ParameterList", + "parameters": [], + "src": "37200:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14708, + "nodeType": "FunctionDefinition", + "src": "37309:181:13", + "nodes": [], + "body": { + "id": 14707, + "nodeType": "Block", + "src": "37384:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c6164647265737329", + "id": 14699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37434:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6", + "typeString": "literal_string \"log(string,bool,uint,address)\"" + }, + "value": "log(string,bool,uint,address)" + }, + { + "id": 14700, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14687, + "src": "37467:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14701, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14689, + "src": "37471:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14702, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14691, + "src": "37475:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 14703, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14693, + "src": "37479:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6", + "typeString": "literal_string \"log(string,bool,uint,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14697, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37410:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37414:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37410:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37410:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14696, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "37394:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37394:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14706, + "nodeType": "ExpressionStatement", + "src": "37394:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37318:3:13", + "parameters": { + "id": 14694, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14687, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37336:2:13", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "37322:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14686, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37322:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14689, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37345:2:13", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "37340:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14688, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37340:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14691, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37354:2:13", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "37349:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14690, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "37349:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14693, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37366:2:13", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "37358:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14692, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "37358:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "37321:48:13" + }, + "returnParameters": { + "id": 14695, + "nodeType": "ParameterList", + "parameters": [], + "src": "37384:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14731, + "nodeType": "FunctionDefinition", + "src": "37496:186:13", + "nodes": [], + "body": { + "id": 14730, + "nodeType": "Block", + "src": "37577:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7429", + "id": 14722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37627:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72", + "typeString": "literal_string \"log(string,bool,string,uint)\"" + }, + "value": "log(string,bool,string,uint)" + }, + { + "id": 14723, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14710, + "src": "37659:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14724, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14712, + "src": "37663:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14725, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14714, + "src": "37667:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14726, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14716, + "src": "37671:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72", + "typeString": "literal_string \"log(string,bool,string,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14720, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37603:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37607:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37603:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37603:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14719, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "37587:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37587:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14729, + "nodeType": "ExpressionStatement", + "src": "37587:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37505:3:13", + "parameters": { + "id": 14717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14710, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37523:2:13", + "nodeType": "VariableDeclaration", + "scope": 14731, + "src": "37509:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14709, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37509:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14712, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37532:2:13", + "nodeType": "VariableDeclaration", + "scope": 14731, + "src": "37527:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14711, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37527:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14714, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37550:2:13", + "nodeType": "VariableDeclaration", + "scope": 14731, + "src": "37536:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14713, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37536:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14716, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37559:2:13", + "nodeType": "VariableDeclaration", + "scope": 14731, + "src": "37554:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14715, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "37554:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "37508:54:13" + }, + "returnParameters": { + "id": 14718, + "nodeType": "ParameterList", + "parameters": [], + "src": "37577:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14754, + "nodeType": "FunctionDefinition", + "src": "37688:197:13", + "nodes": [], + "body": { + "id": 14753, + "nodeType": "Block", + "src": "37778:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729", + "id": 14745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37828:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d", + "typeString": "literal_string \"log(string,bool,string,string)\"" + }, + "value": "log(string,bool,string,string)" + }, + { + "id": 14746, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14733, + "src": "37862:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14747, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14735, + "src": "37866:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14748, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14737, + "src": "37870:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14749, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14739, + "src": "37874:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d", + "typeString": "literal_string \"log(string,bool,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14743, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37804:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37808:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37804:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37804:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14742, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "37788:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37788:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14752, + "nodeType": "ExpressionStatement", + "src": "37788:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37697:3:13", + "parameters": { + "id": 14740, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14733, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37715:2:13", + "nodeType": "VariableDeclaration", + "scope": 14754, + "src": "37701:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14732, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37701:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14735, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37724:2:13", + "nodeType": "VariableDeclaration", + "scope": 14754, + "src": "37719:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14734, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37719:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14737, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37742:2:13", + "nodeType": "VariableDeclaration", + "scope": 14754, + "src": "37728:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14736, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37728:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14739, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37760:2:13", + "nodeType": "VariableDeclaration", + "scope": 14754, + "src": "37746:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14738, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37746:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "37700:63:13" + }, + "returnParameters": { + "id": 14741, + "nodeType": "ParameterList", + "parameters": [], + "src": "37778:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14777, + "nodeType": "FunctionDefinition", + "src": "37891:186:13", + "nodes": [], + "body": { + "id": 14776, + "nodeType": "Block", + "src": "37972:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29", + "id": 14768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38022:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b", + "typeString": "literal_string \"log(string,bool,string,bool)\"" + }, + "value": "log(string,bool,string,bool)" + }, + { + "id": 14769, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14756, + "src": "38054:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14770, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14758, + "src": "38058:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14771, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14760, + "src": "38062:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14772, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14762, + "src": "38066:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b", + "typeString": "literal_string \"log(string,bool,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14766, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37998:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38002:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37998:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37998:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14765, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "37982:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37982:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14775, + "nodeType": "ExpressionStatement", + "src": "37982:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37900:3:13", + "parameters": { + "id": 14763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14756, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37918:2:13", + "nodeType": "VariableDeclaration", + "scope": 14777, + "src": "37904:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14755, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37904:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14758, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37927:2:13", + "nodeType": "VariableDeclaration", + "scope": 14777, + "src": "37922:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14757, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37922:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14760, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37945:2:13", + "nodeType": "VariableDeclaration", + "scope": 14777, + "src": "37931:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14759, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37931:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14762, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37954:2:13", + "nodeType": "VariableDeclaration", + "scope": 14777, + "src": "37949:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14761, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37949:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "37903:54:13" + }, + "returnParameters": { + "id": 14764, + "nodeType": "ParameterList", + "parameters": [], + "src": "37972:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14800, + "nodeType": "FunctionDefinition", + "src": "38083:192:13", + "nodes": [], + "body": { + "id": 14799, + "nodeType": "Block", + "src": "38167:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329", + "id": 14791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38217:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8", + "typeString": "literal_string \"log(string,bool,string,address)\"" + }, + "value": "log(string,bool,string,address)" + }, + { + "id": 14792, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14779, + "src": "38252:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14793, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14781, + "src": "38256:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14794, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14783, + "src": "38260:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14795, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14785, + "src": "38264:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8", + "typeString": "literal_string \"log(string,bool,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14789, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38193:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38197:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38193:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38193:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14788, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "38177:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38177:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14798, + "nodeType": "ExpressionStatement", + "src": "38177:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38092:3:13", + "parameters": { + "id": 14786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14779, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38110:2:13", + "nodeType": "VariableDeclaration", + "scope": 14800, + "src": "38096:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14778, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38096:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14781, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38119:2:13", + "nodeType": "VariableDeclaration", + "scope": 14800, + "src": "38114:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14780, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38114:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14783, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38137:2:13", + "nodeType": "VariableDeclaration", + "scope": 14800, + "src": "38123:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14782, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38123:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14785, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38149:2:13", + "nodeType": "VariableDeclaration", + "scope": 14800, + "src": "38141:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14784, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38141:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "38095:57:13" + }, + "returnParameters": { + "id": 14787, + "nodeType": "ParameterList", + "parameters": [], + "src": "38167:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14823, + "nodeType": "FunctionDefinition", + "src": "38281:175:13", + "nodes": [], + "body": { + "id": 14822, + "nodeType": "Block", + "src": "38353:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7429", + "id": 14814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38403:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf", + "typeString": "literal_string \"log(string,bool,bool,uint)\"" + }, + "value": "log(string,bool,bool,uint)" + }, + { + "id": 14815, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14802, + "src": "38433:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14816, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14804, + "src": "38437:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14817, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14806, + "src": "38441:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14818, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14808, + "src": "38445:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf", + "typeString": "literal_string \"log(string,bool,bool,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14812, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38379:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38383:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38379:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38379:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14811, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "38363:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38363:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14821, + "nodeType": "ExpressionStatement", + "src": "38363:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38290:3:13", + "parameters": { + "id": 14809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14802, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38308:2:13", + "nodeType": "VariableDeclaration", + "scope": 14823, + "src": "38294:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14801, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38294:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14804, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38317:2:13", + "nodeType": "VariableDeclaration", + "scope": 14823, + "src": "38312:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14803, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38312:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14806, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38326:2:13", + "nodeType": "VariableDeclaration", + "scope": 14823, + "src": "38321:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14805, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38321:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14808, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38335:2:13", + "nodeType": "VariableDeclaration", + "scope": 14823, + "src": "38330:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14807, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "38330:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "38293:45:13" + }, + "returnParameters": { + "id": 14810, + "nodeType": "ParameterList", + "parameters": [], + "src": "38353:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14846, + "nodeType": "FunctionDefinition", + "src": "38462:186:13", + "nodes": [], + "body": { + "id": 14845, + "nodeType": "Block", + "src": "38543:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729", + "id": 14837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38593:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058", + "typeString": "literal_string \"log(string,bool,bool,string)\"" + }, + "value": "log(string,bool,bool,string)" + }, + { + "id": 14838, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14825, + "src": "38625:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14839, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14827, + "src": "38629:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14840, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14829, + "src": "38633:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14841, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14831, + "src": "38637:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058", + "typeString": "literal_string \"log(string,bool,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14835, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38569:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38573:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38569:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38569:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14834, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "38553:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38553:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14844, + "nodeType": "ExpressionStatement", + "src": "38553:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38471:3:13", + "parameters": { + "id": 14832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14825, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38489:2:13", + "nodeType": "VariableDeclaration", + "scope": 14846, + "src": "38475:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14824, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38475:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14827, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38498:2:13", + "nodeType": "VariableDeclaration", + "scope": 14846, + "src": "38493:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14826, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38493:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14829, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38507:2:13", + "nodeType": "VariableDeclaration", + "scope": 14846, + "src": "38502:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14828, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38502:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14831, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38525:2:13", + "nodeType": "VariableDeclaration", + "scope": 14846, + "src": "38511:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14830, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38511:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "38474:54:13" + }, + "returnParameters": { + "id": 14833, + "nodeType": "ParameterList", + "parameters": [], + "src": "38543:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14869, + "nodeType": "FunctionDefinition", + "src": "38654:175:13", + "nodes": [], + "body": { + "id": 14868, + "nodeType": "Block", + "src": "38726:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 14860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38776:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2", + "typeString": "literal_string \"log(string,bool,bool,bool)\"" + }, + "value": "log(string,bool,bool,bool)" + }, + { + "id": 14861, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14848, + "src": "38806:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14862, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14850, + "src": "38810:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14863, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14852, + "src": "38814:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14864, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14854, + "src": "38818:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2", + "typeString": "literal_string \"log(string,bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14858, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38752:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38756:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38752:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38752:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14857, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "38736:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38736:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14867, + "nodeType": "ExpressionStatement", + "src": "38736:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38663:3:13", + "parameters": { + "id": 14855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14848, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38681:2:13", + "nodeType": "VariableDeclaration", + "scope": 14869, + "src": "38667:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14847, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38667:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14850, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38690:2:13", + "nodeType": "VariableDeclaration", + "scope": 14869, + "src": "38685:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14849, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38685:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14852, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38699:2:13", + "nodeType": "VariableDeclaration", + "scope": 14869, + "src": "38694:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14851, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38694:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14854, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38708:2:13", + "nodeType": "VariableDeclaration", + "scope": 14869, + "src": "38703:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14853, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38703:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "38666:45:13" + }, + "returnParameters": { + "id": 14856, + "nodeType": "ParameterList", + "parameters": [], + "src": "38726:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14892, + "nodeType": "FunctionDefinition", + "src": "38835:181:13", + "nodes": [], + "body": { + "id": 14891, + "nodeType": "Block", + "src": "38910:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329", + "id": 14883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38960:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d", + "typeString": "literal_string \"log(string,bool,bool,address)\"" + }, + "value": "log(string,bool,bool,address)" + }, + { + "id": 14884, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14871, + "src": "38993:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14885, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14873, + "src": "38997:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14886, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14875, + "src": "39001:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14887, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14877, + "src": "39005:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d", + "typeString": "literal_string \"log(string,bool,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14881, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38936:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38940:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38936:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38936:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14880, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "38920:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38920:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14890, + "nodeType": "ExpressionStatement", + "src": "38920:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38844:3:13", + "parameters": { + "id": 14878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14871, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38862:2:13", + "nodeType": "VariableDeclaration", + "scope": 14892, + "src": "38848:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14870, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38848:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14873, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38871:2:13", + "nodeType": "VariableDeclaration", + "scope": 14892, + "src": "38866:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14872, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38866:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14875, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38880:2:13", + "nodeType": "VariableDeclaration", + "scope": 14892, + "src": "38875:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14874, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38875:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14877, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38892:2:13", + "nodeType": "VariableDeclaration", + "scope": 14892, + "src": "38884:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38884:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "38847:48:13" + }, + "returnParameters": { + "id": 14879, + "nodeType": "ParameterList", + "parameters": [], + "src": "38910:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14915, + "nodeType": "FunctionDefinition", + "src": "39022:181:13", + "nodes": [], + "body": { + "id": 14914, + "nodeType": "Block", + "src": "39097:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7429", + "id": 14906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39147:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b", + "typeString": "literal_string \"log(string,bool,address,uint)\"" + }, + "value": "log(string,bool,address,uint)" + }, + { + "id": 14907, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14894, + "src": "39180:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14908, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14896, + "src": "39184:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14909, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14898, + "src": "39188:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14910, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14900, + "src": "39192:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b", + "typeString": "literal_string \"log(string,bool,address,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14904, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39123:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39127:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39123:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39123:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14903, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "39107:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39107:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14913, + "nodeType": "ExpressionStatement", + "src": "39107:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39031:3:13", + "parameters": { + "id": 14901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14894, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39049:2:13", + "nodeType": "VariableDeclaration", + "scope": 14915, + "src": "39035:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14893, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39035:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14896, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39058:2:13", + "nodeType": "VariableDeclaration", + "scope": 14915, + "src": "39053:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14895, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39053:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14898, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39070:2:13", + "nodeType": "VariableDeclaration", + "scope": 14915, + "src": "39062:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14897, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39062:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14900, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39079:2:13", + "nodeType": "VariableDeclaration", + "scope": 14915, + "src": "39074:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14899, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "39074:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "39034:48:13" + }, + "returnParameters": { + "id": 14902, + "nodeType": "ParameterList", + "parameters": [], + "src": "39097:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14938, + "nodeType": "FunctionDefinition", + "src": "39209:192:13", + "nodes": [], + "body": { + "id": 14937, + "nodeType": "Block", + "src": "39293:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729", + "id": 14929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39343:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef", + "typeString": "literal_string \"log(string,bool,address,string)\"" + }, + "value": "log(string,bool,address,string)" + }, + { + "id": 14930, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14917, + "src": "39378:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14931, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14919, + "src": "39382:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14932, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14921, + "src": "39386:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14933, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14923, + "src": "39390:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef", + "typeString": "literal_string \"log(string,bool,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 14927, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39319:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39323:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39319:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39319:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14926, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "39303:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39303:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14936, + "nodeType": "ExpressionStatement", + "src": "39303:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39218:3:13", + "parameters": { + "id": 14924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14917, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39236:2:13", + "nodeType": "VariableDeclaration", + "scope": 14938, + "src": "39222:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14916, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39222:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14919, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39245:2:13", + "nodeType": "VariableDeclaration", + "scope": 14938, + "src": "39240:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14918, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39240:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14921, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39257:2:13", + "nodeType": "VariableDeclaration", + "scope": 14938, + "src": "39249:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14920, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39249:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14923, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39275:2:13", + "nodeType": "VariableDeclaration", + "scope": 14938, + "src": "39261:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14922, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39261:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "39221:57:13" + }, + "returnParameters": { + "id": 14925, + "nodeType": "ParameterList", + "parameters": [], + "src": "39293:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14961, + "nodeType": "FunctionDefinition", + "src": "39407:181:13", + "nodes": [], + "body": { + "id": 14960, + "nodeType": "Block", + "src": "39482:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29", + "id": 14952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39532:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482", + "typeString": "literal_string \"log(string,bool,address,bool)\"" + }, + "value": "log(string,bool,address,bool)" + }, + { + "id": 14953, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14940, + "src": "39565:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14954, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14942, + "src": "39569:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14955, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14944, + "src": "39573:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14956, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14946, + "src": "39577:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482", + "typeString": "literal_string \"log(string,bool,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 14950, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39508:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39512:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39508:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39508:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14949, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "39492:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39492:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14959, + "nodeType": "ExpressionStatement", + "src": "39492:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39416:3:13", + "parameters": { + "id": 14947, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14940, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39434:2:13", + "nodeType": "VariableDeclaration", + "scope": 14961, + "src": "39420:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14939, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39420:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14942, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39443:2:13", + "nodeType": "VariableDeclaration", + "scope": 14961, + "src": "39438:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14941, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39438:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14944, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39455:2:13", + "nodeType": "VariableDeclaration", + "scope": 14961, + "src": "39447:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14943, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39447:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14946, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39464:2:13", + "nodeType": "VariableDeclaration", + "scope": 14961, + "src": "39459:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14945, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39459:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "39419:48:13" + }, + "returnParameters": { + "id": 14948, + "nodeType": "ParameterList", + "parameters": [], + "src": "39482:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 14984, + "nodeType": "FunctionDefinition", + "src": "39594:187:13", + "nodes": [], + "body": { + "id": 14983, + "nodeType": "Block", + "src": "39672:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329", + "id": 14975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39722:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d", + "typeString": "literal_string \"log(string,bool,address,address)\"" + }, + "value": "log(string,bool,address,address)" + }, + { + "id": 14976, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14963, + "src": "39758:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 14977, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14965, + "src": "39762:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 14978, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14967, + "src": "39766:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 14979, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14969, + "src": "39770:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d", + "typeString": "literal_string \"log(string,bool,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 14973, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39698:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39702:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39698:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 14980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39698:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14972, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "39682:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 14981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39682:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14982, + "nodeType": "ExpressionStatement", + "src": "39682:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39603:3:13", + "parameters": { + "id": 14970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14963, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39621:2:13", + "nodeType": "VariableDeclaration", + "scope": 14984, + "src": "39607:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14962, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39607:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14965, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39630:2:13", + "nodeType": "VariableDeclaration", + "scope": 14984, + "src": "39625:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14964, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39625:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14967, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39642:2:13", + "nodeType": "VariableDeclaration", + "scope": 14984, + "src": "39634:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14966, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39634:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14969, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39654:2:13", + "nodeType": "VariableDeclaration", + "scope": 14984, + "src": "39646:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14968, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39646:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "39606:51:13" + }, + "returnParameters": { + "id": 14971, + "nodeType": "ParameterList", + "parameters": [], + "src": "39672:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15007, + "nodeType": "FunctionDefinition", + "src": "39787:181:13", + "nodes": [], + "body": { + "id": 15006, + "nodeType": "Block", + "src": "39862:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c75696e7429", + "id": 14998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39912:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3", + "typeString": "literal_string \"log(string,address,uint,uint)\"" + }, + "value": "log(string,address,uint,uint)" + }, + { + "id": 14999, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14986, + "src": "39945:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15000, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14988, + "src": "39949:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15001, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14990, + "src": "39953:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15002, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14992, + "src": "39957:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3", + "typeString": "literal_string \"log(string,address,uint,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 14996, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39888:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 14997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39892:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39888:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39888:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 14995, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "39872:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39872:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15005, + "nodeType": "ExpressionStatement", + "src": "39872:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39796:3:13", + "parameters": { + "id": 14993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14986, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39814:2:13", + "nodeType": "VariableDeclaration", + "scope": 15007, + "src": "39800:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 14985, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39800:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14988, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39826:2:13", + "nodeType": "VariableDeclaration", + "scope": 15007, + "src": "39818:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14987, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39818:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14990, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39835:2:13", + "nodeType": "VariableDeclaration", + "scope": 15007, + "src": "39830:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14989, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "39830:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14992, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39844:2:13", + "nodeType": "VariableDeclaration", + "scope": 15007, + "src": "39839:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14991, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "39839:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "39799:48:13" + }, + "returnParameters": { + "id": 14994, + "nodeType": "ParameterList", + "parameters": [], + "src": "39862:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15030, + "nodeType": "FunctionDefinition", + "src": "39974:192:13", + "nodes": [], + "body": { + "id": 15029, + "nodeType": "Block", + "src": "40058:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c737472696e6729", + "id": 15021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40108:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98", + "typeString": "literal_string \"log(string,address,uint,string)\"" + }, + "value": "log(string,address,uint,string)" + }, + { + "id": 15022, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15009, + "src": "40143:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15023, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15011, + "src": "40147:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15024, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15013, + "src": "40151:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15025, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15015, + "src": "40155:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98", + "typeString": "literal_string \"log(string,address,uint,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15019, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40084:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40088:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40084:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40084:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15018, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "40068:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40068:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15028, + "nodeType": "ExpressionStatement", + "src": "40068:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39983:3:13", + "parameters": { + "id": 15016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15009, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40001:2:13", + "nodeType": "VariableDeclaration", + "scope": 15030, + "src": "39987:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15008, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39987:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15011, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40013:2:13", + "nodeType": "VariableDeclaration", + "scope": 15030, + "src": "40005:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40005:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15013, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40022:2:13", + "nodeType": "VariableDeclaration", + "scope": 15030, + "src": "40017:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15012, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40017:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15015, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40040:2:13", + "nodeType": "VariableDeclaration", + "scope": 15030, + "src": "40026:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15014, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40026:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "39986:57:13" + }, + "returnParameters": { + "id": 15017, + "nodeType": "ParameterList", + "parameters": [], + "src": "40058:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15053, + "nodeType": "FunctionDefinition", + "src": "40172:181:13", + "nodes": [], + "body": { + "id": 15052, + "nodeType": "Block", + "src": "40247:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c626f6f6c29", + "id": 15044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40297:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554", + "typeString": "literal_string \"log(string,address,uint,bool)\"" + }, + "value": "log(string,address,uint,bool)" + }, + { + "id": 15045, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15032, + "src": "40330:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15046, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15034, + "src": "40334:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15047, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15036, + "src": "40338:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15048, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15038, + "src": "40342:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554", + "typeString": "literal_string \"log(string,address,uint,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15042, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40273:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40277:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40273:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40273:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15041, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "40257:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40257:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15051, + "nodeType": "ExpressionStatement", + "src": "40257:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40181:3:13", + "parameters": { + "id": 15039, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15032, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40199:2:13", + "nodeType": "VariableDeclaration", + "scope": 15053, + "src": "40185:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15031, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40185:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15034, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40211:2:13", + "nodeType": "VariableDeclaration", + "scope": 15053, + "src": "40203:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15033, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40203:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15036, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40220:2:13", + "nodeType": "VariableDeclaration", + "scope": 15053, + "src": "40215:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15035, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40215:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15038, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40229:2:13", + "nodeType": "VariableDeclaration", + "scope": 15053, + "src": "40224:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15037, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40224:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "40184:48:13" + }, + "returnParameters": { + "id": 15040, + "nodeType": "ParameterList", + "parameters": [], + "src": "40247:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15076, + "nodeType": "FunctionDefinition", + "src": "40359:187:13", + "nodes": [], + "body": { + "id": 15075, + "nodeType": "Block", + "src": "40437:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c6164647265737329", + "id": 15067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40487:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2", + "typeString": "literal_string \"log(string,address,uint,address)\"" + }, + "value": "log(string,address,uint,address)" + }, + { + "id": 15068, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15055, + "src": "40523:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15069, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15057, + "src": "40527:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15070, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15059, + "src": "40531:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15071, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15061, + "src": "40535:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2", + "typeString": "literal_string \"log(string,address,uint,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15065, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40463:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15066, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40467:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40463:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40463:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15064, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "40447:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40447:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15074, + "nodeType": "ExpressionStatement", + "src": "40447:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40368:3:13", + "parameters": { + "id": 15062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15055, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40386:2:13", + "nodeType": "VariableDeclaration", + "scope": 15076, + "src": "40372:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15054, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40372:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15057, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40398:2:13", + "nodeType": "VariableDeclaration", + "scope": 15076, + "src": "40390:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15056, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40390:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15059, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40407:2:13", + "nodeType": "VariableDeclaration", + "scope": 15076, + "src": "40402:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15058, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40402:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15061, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40419:2:13", + "nodeType": "VariableDeclaration", + "scope": 15076, + "src": "40411:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40411:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "40371:51:13" + }, + "returnParameters": { + "id": 15063, + "nodeType": "ParameterList", + "parameters": [], + "src": "40437:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15099, + "nodeType": "FunctionDefinition", + "src": "40552:192:13", + "nodes": [], + "body": { + "id": 15098, + "nodeType": "Block", + "src": "40636:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c75696e7429", + "id": 15090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40686:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349", + "typeString": "literal_string \"log(string,address,string,uint)\"" + }, + "value": "log(string,address,string,uint)" + }, + { + "id": 15091, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15078, + "src": "40721:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15092, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15080, + "src": "40725:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15093, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15082, + "src": "40729:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15094, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15084, + "src": "40733:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349", + "typeString": "literal_string \"log(string,address,string,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15088, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40662:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15089, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40666:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40662:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40662:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15087, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "40646:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40646:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15097, + "nodeType": "ExpressionStatement", + "src": "40646:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40561:3:13", + "parameters": { + "id": 15085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15078, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40579:2:13", + "nodeType": "VariableDeclaration", + "scope": 15099, + "src": "40565:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15077, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40565:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15080, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40591:2:13", + "nodeType": "VariableDeclaration", + "scope": 15099, + "src": "40583:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15079, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40583:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15082, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40609:2:13", + "nodeType": "VariableDeclaration", + "scope": 15099, + "src": "40595:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15081, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40595:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15084, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40618:2:13", + "nodeType": "VariableDeclaration", + "scope": 15099, + "src": "40613:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15083, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40613:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "40564:57:13" + }, + "returnParameters": { + "id": 15086, + "nodeType": "ParameterList", + "parameters": [], + "src": "40636:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15122, + "nodeType": "FunctionDefinition", + "src": "40750:203:13", + "nodes": [], + "body": { + "id": 15121, + "nodeType": "Block", + "src": "40843:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729", + "id": 15113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40893:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797", + "typeString": "literal_string \"log(string,address,string,string)\"" + }, + "value": "log(string,address,string,string)" + }, + { + "id": 15114, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15101, + "src": "40930:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15115, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15103, + "src": "40934:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15116, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15105, + "src": "40938:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15117, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15107, + "src": "40942:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797", + "typeString": "literal_string \"log(string,address,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15111, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40869:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40873:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40869:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40869:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15110, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "40853:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40853:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15120, + "nodeType": "ExpressionStatement", + "src": "40853:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40759:3:13", + "parameters": { + "id": 15108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15101, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40777:2:13", + "nodeType": "VariableDeclaration", + "scope": 15122, + "src": "40763:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15100, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40763:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15103, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40789:2:13", + "nodeType": "VariableDeclaration", + "scope": 15122, + "src": "40781:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40781:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15105, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40807:2:13", + "nodeType": "VariableDeclaration", + "scope": 15122, + "src": "40793:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15104, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40793:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15107, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40825:2:13", + "nodeType": "VariableDeclaration", + "scope": 15122, + "src": "40811:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15106, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40811:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "40762:66:13" + }, + "returnParameters": { + "id": 15109, + "nodeType": "ParameterList", + "parameters": [], + "src": "40843:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15145, + "nodeType": "FunctionDefinition", + "src": "40959:192:13", + "nodes": [], + "body": { + "id": 15144, + "nodeType": "Block", + "src": "41043:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29", + "id": 15136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41093:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154", + "typeString": "literal_string \"log(string,address,string,bool)\"" + }, + "value": "log(string,address,string,bool)" + }, + { + "id": 15137, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15124, + "src": "41128:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15138, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15126, + "src": "41132:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15139, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15128, + "src": "41136:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15140, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15130, + "src": "41140:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154", + "typeString": "literal_string \"log(string,address,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15134, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41069:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41073:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41069:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41069:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15133, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "41053:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41053:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15143, + "nodeType": "ExpressionStatement", + "src": "41053:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40968:3:13", + "parameters": { + "id": 15131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15124, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40986:2:13", + "nodeType": "VariableDeclaration", + "scope": 15145, + "src": "40972:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15123, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40972:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15126, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40998:2:13", + "nodeType": "VariableDeclaration", + "scope": 15145, + "src": "40990:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40990:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15128, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41016:2:13", + "nodeType": "VariableDeclaration", + "scope": 15145, + "src": "41002:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15127, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41002:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15130, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41025:2:13", + "nodeType": "VariableDeclaration", + "scope": 15145, + "src": "41020:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15129, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41020:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "40971:57:13" + }, + "returnParameters": { + "id": 15132, + "nodeType": "ParameterList", + "parameters": [], + "src": "41043:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15168, + "nodeType": "FunctionDefinition", + "src": "41157:198:13", + "nodes": [], + "body": { + "id": 15167, + "nodeType": "Block", + "src": "41244:111:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329", + "id": 15159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41294:36:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d", + "typeString": "literal_string \"log(string,address,string,address)\"" + }, + "value": "log(string,address,string,address)" + }, + { + "id": 15160, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15147, + "src": "41332:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15161, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15149, + "src": "41336:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15162, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15151, + "src": "41340:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15163, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15153, + "src": "41344:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d", + "typeString": "literal_string \"log(string,address,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15157, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41270:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41274:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41270:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41270:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15156, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "41254:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41254:94:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15166, + "nodeType": "ExpressionStatement", + "src": "41254:94:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41166:3:13", + "parameters": { + "id": 15154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15147, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41184:2:13", + "nodeType": "VariableDeclaration", + "scope": 15168, + "src": "41170:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15146, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41170:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15149, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41196:2:13", + "nodeType": "VariableDeclaration", + "scope": 15168, + "src": "41188:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15148, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41188:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15151, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41214:2:13", + "nodeType": "VariableDeclaration", + "scope": 15168, + "src": "41200:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15150, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41200:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15153, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41226:2:13", + "nodeType": "VariableDeclaration", + "scope": 15168, + "src": "41218:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15152, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41218:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "41169:60:13" + }, + "returnParameters": { + "id": 15155, + "nodeType": "ParameterList", + "parameters": [], + "src": "41244:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15191, + "nodeType": "FunctionDefinition", + "src": "41361:181:13", + "nodes": [], + "body": { + "id": 15190, + "nodeType": "Block", + "src": "41436:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7429", + "id": 15182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41486:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f", + "typeString": "literal_string \"log(string,address,bool,uint)\"" + }, + "value": "log(string,address,bool,uint)" + }, + { + "id": 15183, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15170, + "src": "41519:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15184, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15172, + "src": "41523:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15185, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15174, + "src": "41527:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15186, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15176, + "src": "41531:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f", + "typeString": "literal_string \"log(string,address,bool,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15180, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41462:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41466:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41462:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41462:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15179, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "41446:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41446:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15189, + "nodeType": "ExpressionStatement", + "src": "41446:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41370:3:13", + "parameters": { + "id": 15177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15170, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41388:2:13", + "nodeType": "VariableDeclaration", + "scope": 15191, + "src": "41374:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15169, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41374:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15172, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41400:2:13", + "nodeType": "VariableDeclaration", + "scope": 15191, + "src": "41392:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15171, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41392:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15174, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41409:2:13", + "nodeType": "VariableDeclaration", + "scope": 15191, + "src": "41404:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15173, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41404:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15176, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41418:2:13", + "nodeType": "VariableDeclaration", + "scope": 15191, + "src": "41413:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15175, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "41413:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "41373:48:13" + }, + "returnParameters": { + "id": 15178, + "nodeType": "ParameterList", + "parameters": [], + "src": "41436:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15214, + "nodeType": "FunctionDefinition", + "src": "41548:192:13", + "nodes": [], + "body": { + "id": 15213, + "nodeType": "Block", + "src": "41632:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729", + "id": 15205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41682:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb", + "typeString": "literal_string \"log(string,address,bool,string)\"" + }, + "value": "log(string,address,bool,string)" + }, + { + "id": 15206, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15193, + "src": "41717:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15207, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15195, + "src": "41721:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15208, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15197, + "src": "41725:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15209, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15199, + "src": "41729:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb", + "typeString": "literal_string \"log(string,address,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15203, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41658:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41662:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41658:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41658:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15202, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "41642:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41642:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15212, + "nodeType": "ExpressionStatement", + "src": "41642:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41557:3:13", + "parameters": { + "id": 15200, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15193, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41575:2:13", + "nodeType": "VariableDeclaration", + "scope": 15214, + "src": "41561:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15192, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41561:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15195, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41587:2:13", + "nodeType": "VariableDeclaration", + "scope": 15214, + "src": "41579:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15194, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41579:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15197, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41596:2:13", + "nodeType": "VariableDeclaration", + "scope": 15214, + "src": "41591:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15196, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41591:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15199, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41614:2:13", + "nodeType": "VariableDeclaration", + "scope": 15214, + "src": "41600:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15198, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41600:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "41560:57:13" + }, + "returnParameters": { + "id": 15201, + "nodeType": "ParameterList", + "parameters": [], + "src": "41632:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15237, + "nodeType": "FunctionDefinition", + "src": "41746:181:13", + "nodes": [], + "body": { + "id": 15236, + "nodeType": "Block", + "src": "41821:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29", + "id": 15228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41871:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039", + "typeString": "literal_string \"log(string,address,bool,bool)\"" + }, + "value": "log(string,address,bool,bool)" + }, + { + "id": 15229, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15216, + "src": "41904:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15230, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15218, + "src": "41908:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15231, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15220, + "src": "41912:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15232, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15222, + "src": "41916:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039", + "typeString": "literal_string \"log(string,address,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15226, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41847:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41851:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41847:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41847:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15225, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "41831:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41831:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15235, + "nodeType": "ExpressionStatement", + "src": "41831:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41755:3:13", + "parameters": { + "id": 15223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15216, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41773:2:13", + "nodeType": "VariableDeclaration", + "scope": 15237, + "src": "41759:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15215, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41759:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15218, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41785:2:13", + "nodeType": "VariableDeclaration", + "scope": 15237, + "src": "41777:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15217, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41777:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15220, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41794:2:13", + "nodeType": "VariableDeclaration", + "scope": 15237, + "src": "41789:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15219, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41789:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15222, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41803:2:13", + "nodeType": "VariableDeclaration", + "scope": 15237, + "src": "41798:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15221, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41798:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "41758:48:13" + }, + "returnParameters": { + "id": 15224, + "nodeType": "ParameterList", + "parameters": [], + "src": "41821:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15260, + "nodeType": "FunctionDefinition", + "src": "41933:187:13", + "nodes": [], + "body": { + "id": 15259, + "nodeType": "Block", + "src": "42011:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329", + "id": 15251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42061:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76", + "typeString": "literal_string \"log(string,address,bool,address)\"" + }, + "value": "log(string,address,bool,address)" + }, + { + "id": 15252, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15239, + "src": "42097:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15253, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15241, + "src": "42101:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15254, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15243, + "src": "42105:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15255, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15245, + "src": "42109:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76", + "typeString": "literal_string \"log(string,address,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15249, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42037:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42041:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42037:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42037:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15248, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "42021:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42021:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15258, + "nodeType": "ExpressionStatement", + "src": "42021:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41942:3:13", + "parameters": { + "id": 15246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15239, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41960:2:13", + "nodeType": "VariableDeclaration", + "scope": 15260, + "src": "41946:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15238, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41946:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15241, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41972:2:13", + "nodeType": "VariableDeclaration", + "scope": 15260, + "src": "41964:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41964:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15243, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41981:2:13", + "nodeType": "VariableDeclaration", + "scope": 15260, + "src": "41976:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15242, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41976:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15245, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41993:2:13", + "nodeType": "VariableDeclaration", + "scope": 15260, + "src": "41985:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15244, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41985:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "41945:51:13" + }, + "returnParameters": { + "id": 15247, + "nodeType": "ParameterList", + "parameters": [], + "src": "42011:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15283, + "nodeType": "FunctionDefinition", + "src": "42126:187:13", + "nodes": [], + "body": { + "id": 15282, + "nodeType": "Block", + "src": "42204:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c75696e7429", + "id": 15274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42254:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02", + "typeString": "literal_string \"log(string,address,address,uint)\"" + }, + "value": "log(string,address,address,uint)" + }, + { + "id": 15275, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15262, + "src": "42290:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15276, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "42294:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15277, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15266, + "src": "42298:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15278, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15268, + "src": "42302:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02", + "typeString": "literal_string \"log(string,address,address,uint)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15272, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42230:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15273, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42234:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42230:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42230:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15271, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "42214:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42214:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15281, + "nodeType": "ExpressionStatement", + "src": "42214:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42135:3:13", + "parameters": { + "id": 15269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15262, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42153:2:13", + "nodeType": "VariableDeclaration", + "scope": 15283, + "src": "42139:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15261, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42139:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15264, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42165:2:13", + "nodeType": "VariableDeclaration", + "scope": 15283, + "src": "42157:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42157:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15266, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42177:2:13", + "nodeType": "VariableDeclaration", + "scope": 15283, + "src": "42169:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42169:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15268, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42186:2:13", + "nodeType": "VariableDeclaration", + "scope": 15283, + "src": "42181:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15267, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42181:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "42138:51:13" + }, + "returnParameters": { + "id": 15270, + "nodeType": "ParameterList", + "parameters": [], + "src": "42204:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15306, + "nodeType": "FunctionDefinition", + "src": "42319:198:13", + "nodes": [], + "body": { + "id": 15305, + "nodeType": "Block", + "src": "42406:111:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729", + "id": 15297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42456:36:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76", + "typeString": "literal_string \"log(string,address,address,string)\"" + }, + "value": "log(string,address,address,string)" + }, + { + "id": 15298, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15285, + "src": "42494:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15299, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15287, + "src": "42498:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15300, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15289, + "src": "42502:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15301, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15291, + "src": "42506:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76", + "typeString": "literal_string \"log(string,address,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15295, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42432:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42436:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42432:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42432:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15294, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "42416:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42416:94:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15304, + "nodeType": "ExpressionStatement", + "src": "42416:94:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42328:3:13", + "parameters": { + "id": 15292, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15285, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42346:2:13", + "nodeType": "VariableDeclaration", + "scope": 15306, + "src": "42332:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15284, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42332:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15287, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42358:2:13", + "nodeType": "VariableDeclaration", + "scope": 15306, + "src": "42350:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15286, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42350:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15289, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42370:2:13", + "nodeType": "VariableDeclaration", + "scope": 15306, + "src": "42362:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15288, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42362:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15291, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42388:2:13", + "nodeType": "VariableDeclaration", + "scope": 15306, + "src": "42374:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15290, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42374:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "42331:60:13" + }, + "returnParameters": { + "id": 15293, + "nodeType": "ParameterList", + "parameters": [], + "src": "42406:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15329, + "nodeType": "FunctionDefinition", + "src": "42523:187:13", + "nodes": [], + "body": { + "id": 15328, + "nodeType": "Block", + "src": "42601:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29", + "id": 15320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42651:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4", + "typeString": "literal_string \"log(string,address,address,bool)\"" + }, + "value": "log(string,address,address,bool)" + }, + { + "id": 15321, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15308, + "src": "42687:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15322, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15310, + "src": "42691:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15323, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15312, + "src": "42695:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15324, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15314, + "src": "42699:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4", + "typeString": "literal_string \"log(string,address,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15318, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42627:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42631:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42627:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42627:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15317, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "42611:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42611:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15327, + "nodeType": "ExpressionStatement", + "src": "42611:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42532:3:13", + "parameters": { + "id": 15315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15308, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42550:2:13", + "nodeType": "VariableDeclaration", + "scope": 15329, + "src": "42536:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15307, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42536:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15310, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42562:2:13", + "nodeType": "VariableDeclaration", + "scope": 15329, + "src": "42554:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15309, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42554:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15312, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42574:2:13", + "nodeType": "VariableDeclaration", + "scope": 15329, + "src": "42566:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15311, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42566:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15314, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42583:2:13", + "nodeType": "VariableDeclaration", + "scope": 15329, + "src": "42578:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15313, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42578:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "42535:51:13" + }, + "returnParameters": { + "id": 15316, + "nodeType": "ParameterList", + "parameters": [], + "src": "42601:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15352, + "nodeType": "FunctionDefinition", + "src": "42716:193:13", + "nodes": [], + "body": { + "id": 15351, + "nodeType": "Block", + "src": "42797:112:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329", + "id": 15343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42847:37:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15", + "typeString": "literal_string \"log(string,address,address,address)\"" + }, + "value": "log(string,address,address,address)" + }, + { + "id": 15344, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15331, + "src": "42886:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15345, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15333, + "src": "42890:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15346, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15335, + "src": "42894:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15347, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15337, + "src": "42898:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15", + "typeString": "literal_string \"log(string,address,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15341, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42823:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42827:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42823:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42823:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15340, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "42807:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42807:95:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15350, + "nodeType": "ExpressionStatement", + "src": "42807:95:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42725:3:13", + "parameters": { + "id": 15338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15331, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42743:2:13", + "nodeType": "VariableDeclaration", + "scope": 15352, + "src": "42729:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15330, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42729:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15333, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42755:2:13", + "nodeType": "VariableDeclaration", + "scope": 15352, + "src": "42747:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15332, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42747:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15335, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42767:2:13", + "nodeType": "VariableDeclaration", + "scope": 15352, + "src": "42759:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42759:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15337, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42779:2:13", + "nodeType": "VariableDeclaration", + "scope": 15352, + "src": "42771:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42771:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "42728:54:13" + }, + "returnParameters": { + "id": 15339, + "nodeType": "ParameterList", + "parameters": [], + "src": "42797:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15375, + "nodeType": "FunctionDefinition", + "src": "42915:164:13", + "nodes": [], + "body": { + "id": 15374, + "nodeType": "Block", + "src": "42978:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c75696e7429", + "id": 15366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43028:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558", + "typeString": "literal_string \"log(bool,uint,uint,uint)\"" + }, + "value": "log(bool,uint,uint,uint)" + }, + { + "id": 15367, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15354, + "src": "43056:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15368, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15356, + "src": "43060:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15369, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15358, + "src": "43064:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15370, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15360, + "src": "43068:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558", + "typeString": "literal_string \"log(bool,uint,uint,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15364, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43004:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43008:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43004:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43004:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15363, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "42988:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42988:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15373, + "nodeType": "ExpressionStatement", + "src": "42988:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42924:3:13", + "parameters": { + "id": 15361, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15354, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42933:2:13", + "nodeType": "VariableDeclaration", + "scope": 15375, + "src": "42928:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15353, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42928:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15356, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42942:2:13", + "nodeType": "VariableDeclaration", + "scope": 15375, + "src": "42937:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15355, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42937:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15358, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42951:2:13", + "nodeType": "VariableDeclaration", + "scope": 15375, + "src": "42946:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15357, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42946:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15360, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42960:2:13", + "nodeType": "VariableDeclaration", + "scope": 15375, + "src": "42955:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15359, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42955:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "42927:36:13" + }, + "returnParameters": { + "id": 15362, + "nodeType": "ParameterList", + "parameters": [], + "src": "42978:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15398, + "nodeType": "FunctionDefinition", + "src": "43085:175:13", + "nodes": [], + "body": { + "id": 15397, + "nodeType": "Block", + "src": "43157:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c737472696e6729", + "id": 15389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43207:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3", + "typeString": "literal_string \"log(bool,uint,uint,string)\"" + }, + "value": "log(bool,uint,uint,string)" + }, + { + "id": 15390, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15377, + "src": "43237:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15391, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15379, + "src": "43241:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15392, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15381, + "src": "43245:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15393, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15383, + "src": "43249:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3", + "typeString": "literal_string \"log(bool,uint,uint,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15387, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43183:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43187:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43183:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43183:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15386, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "43167:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43167:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15396, + "nodeType": "ExpressionStatement", + "src": "43167:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43094:3:13", + "parameters": { + "id": 15384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15377, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43103:2:13", + "nodeType": "VariableDeclaration", + "scope": 15398, + "src": "43098:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15376, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43098:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15379, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43112:2:13", + "nodeType": "VariableDeclaration", + "scope": 15398, + "src": "43107:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15378, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43107:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15381, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43121:2:13", + "nodeType": "VariableDeclaration", + "scope": 15398, + "src": "43116:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15380, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43116:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15383, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43139:2:13", + "nodeType": "VariableDeclaration", + "scope": 15398, + "src": "43125:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15382, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43125:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "43097:45:13" + }, + "returnParameters": { + "id": 15385, + "nodeType": "ParameterList", + "parameters": [], + "src": "43157:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15421, + "nodeType": "FunctionDefinition", + "src": "43266:164:13", + "nodes": [], + "body": { + "id": 15420, + "nodeType": "Block", + "src": "43329:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c626f6f6c29", + "id": 15412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43379:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2", + "typeString": "literal_string \"log(bool,uint,uint,bool)\"" + }, + "value": "log(bool,uint,uint,bool)" + }, + { + "id": 15413, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15400, + "src": "43407:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15414, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15402, + "src": "43411:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15415, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15404, + "src": "43415:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15416, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15406, + "src": "43419:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2", + "typeString": "literal_string \"log(bool,uint,uint,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15410, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43355:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43359:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43355:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43355:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15409, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "43339:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43339:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15419, + "nodeType": "ExpressionStatement", + "src": "43339:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43275:3:13", + "parameters": { + "id": 15407, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15400, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43284:2:13", + "nodeType": "VariableDeclaration", + "scope": 15421, + "src": "43279:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15399, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43279:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15402, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43293:2:13", + "nodeType": "VariableDeclaration", + "scope": 15421, + "src": "43288:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15401, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43288:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15404, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43302:2:13", + "nodeType": "VariableDeclaration", + "scope": 15421, + "src": "43297:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15403, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43297:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15406, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43311:2:13", + "nodeType": "VariableDeclaration", + "scope": 15421, + "src": "43306:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15405, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43306:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "43278:36:13" + }, + "returnParameters": { + "id": 15408, + "nodeType": "ParameterList", + "parameters": [], + "src": "43329:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15444, + "nodeType": "FunctionDefinition", + "src": "43436:170:13", + "nodes": [], + "body": { + "id": 15443, + "nodeType": "Block", + "src": "43502:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c6164647265737329", + "id": 15435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43552:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33", + "typeString": "literal_string \"log(bool,uint,uint,address)\"" + }, + "value": "log(bool,uint,uint,address)" + }, + { + "id": 15436, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15423, + "src": "43583:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15437, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15425, + "src": "43587:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15438, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15427, + "src": "43591:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15439, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15429, + "src": "43595:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33", + "typeString": "literal_string \"log(bool,uint,uint,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15433, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43528:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43532:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43528:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43528:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15432, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "43512:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43512:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15442, + "nodeType": "ExpressionStatement", + "src": "43512:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43445:3:13", + "parameters": { + "id": 15430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15423, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43454:2:13", + "nodeType": "VariableDeclaration", + "scope": 15444, + "src": "43449:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15422, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43449:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15425, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43463:2:13", + "nodeType": "VariableDeclaration", + "scope": 15444, + "src": "43458:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15424, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43458:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15427, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43472:2:13", + "nodeType": "VariableDeclaration", + "scope": 15444, + "src": "43467:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15426, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43467:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15429, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43484:2:13", + "nodeType": "VariableDeclaration", + "scope": 15444, + "src": "43476:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "43476:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "43448:39:13" + }, + "returnParameters": { + "id": 15431, + "nodeType": "ParameterList", + "parameters": [], + "src": "43502:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15467, + "nodeType": "FunctionDefinition", + "src": "43612:175:13", + "nodes": [], + "body": { + "id": 15466, + "nodeType": "Block", + "src": "43684:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c75696e7429", + "id": 15458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43734:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813", + "typeString": "literal_string \"log(bool,uint,string,uint)\"" + }, + "value": "log(bool,uint,string,uint)" + }, + { + "id": 15459, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15446, + "src": "43764:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15460, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15448, + "src": "43768:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15461, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15450, + "src": "43772:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15462, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15452, + "src": "43776:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813", + "typeString": "literal_string \"log(bool,uint,string,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15456, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43710:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43714:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43710:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43710:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15455, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "43694:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43694:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15465, + "nodeType": "ExpressionStatement", + "src": "43694:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43621:3:13", + "parameters": { + "id": 15453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15446, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43630:2:13", + "nodeType": "VariableDeclaration", + "scope": 15467, + "src": "43625:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15445, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43625:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15448, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43639:2:13", + "nodeType": "VariableDeclaration", + "scope": 15467, + "src": "43634:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15447, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43634:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15450, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43657:2:13", + "nodeType": "VariableDeclaration", + "scope": 15467, + "src": "43643:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15449, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43643:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15452, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43666:2:13", + "nodeType": "VariableDeclaration", + "scope": 15467, + "src": "43661:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15451, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43661:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "43624:45:13" + }, + "returnParameters": { + "id": 15454, + "nodeType": "ParameterList", + "parameters": [], + "src": "43684:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15490, + "nodeType": "FunctionDefinition", + "src": "43793:186:13", + "nodes": [], + "body": { + "id": 15489, + "nodeType": "Block", + "src": "43874:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c737472696e6729", + "id": 15481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43924:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee", + "typeString": "literal_string \"log(bool,uint,string,string)\"" + }, + "value": "log(bool,uint,string,string)" + }, + { + "id": 15482, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15469, + "src": "43956:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15483, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15471, + "src": "43960:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15484, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15473, + "src": "43964:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15485, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15475, + "src": "43968:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee", + "typeString": "literal_string \"log(bool,uint,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15479, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43900:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43904:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43900:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43900:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15478, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "43884:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43884:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15488, + "nodeType": "ExpressionStatement", + "src": "43884:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43802:3:13", + "parameters": { + "id": 15476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15469, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43811:2:13", + "nodeType": "VariableDeclaration", + "scope": 15490, + "src": "43806:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15468, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43806:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15471, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43820:2:13", + "nodeType": "VariableDeclaration", + "scope": 15490, + "src": "43815:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15470, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43815:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15473, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43838:2:13", + "nodeType": "VariableDeclaration", + "scope": 15490, + "src": "43824:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15472, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43824:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15475, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43856:2:13", + "nodeType": "VariableDeclaration", + "scope": 15490, + "src": "43842:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15474, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43842:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "43805:54:13" + }, + "returnParameters": { + "id": 15477, + "nodeType": "ParameterList", + "parameters": [], + "src": "43874:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15513, + "nodeType": "FunctionDefinition", + "src": "43985:175:13", + "nodes": [], + "body": { + "id": 15512, + "nodeType": "Block", + "src": "44057:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c626f6f6c29", + "id": 15504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44107:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16", + "typeString": "literal_string \"log(bool,uint,string,bool)\"" + }, + "value": "log(bool,uint,string,bool)" + }, + { + "id": 15505, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15492, + "src": "44137:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15506, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15494, + "src": "44141:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15507, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15496, + "src": "44145:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15508, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15498, + "src": "44149:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16", + "typeString": "literal_string \"log(bool,uint,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15502, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44083:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44087:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44083:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44083:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15501, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "44067:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44067:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15511, + "nodeType": "ExpressionStatement", + "src": "44067:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43994:3:13", + "parameters": { + "id": 15499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15492, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44003:2:13", + "nodeType": "VariableDeclaration", + "scope": 15513, + "src": "43998:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15491, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43998:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15494, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44012:2:13", + "nodeType": "VariableDeclaration", + "scope": 15513, + "src": "44007:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15493, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44007:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15496, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44030:2:13", + "nodeType": "VariableDeclaration", + "scope": 15513, + "src": "44016:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15495, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44016:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15498, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44039:2:13", + "nodeType": "VariableDeclaration", + "scope": 15513, + "src": "44034:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15497, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44034:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "43997:45:13" + }, + "returnParameters": { + "id": 15500, + "nodeType": "ParameterList", + "parameters": [], + "src": "44057:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15536, + "nodeType": "FunctionDefinition", + "src": "44166:181:13", + "nodes": [], + "body": { + "id": 15535, + "nodeType": "Block", + "src": "44241:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c6164647265737329", + "id": 15527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44291:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5", + "typeString": "literal_string \"log(bool,uint,string,address)\"" + }, + "value": "log(bool,uint,string,address)" + }, + { + "id": 15528, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15515, + "src": "44324:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15529, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15517, + "src": "44328:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15530, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15519, + "src": "44332:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15531, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15521, + "src": "44336:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5", + "typeString": "literal_string \"log(bool,uint,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15525, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44267:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44271:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44267:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44267:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15524, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "44251:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44251:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15534, + "nodeType": "ExpressionStatement", + "src": "44251:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44175:3:13", + "parameters": { + "id": 15522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15515, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44184:2:13", + "nodeType": "VariableDeclaration", + "scope": 15536, + "src": "44179:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15514, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44179:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15517, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44193:2:13", + "nodeType": "VariableDeclaration", + "scope": 15536, + "src": "44188:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15516, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44188:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15519, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44211:2:13", + "nodeType": "VariableDeclaration", + "scope": 15536, + "src": "44197:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15518, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44197:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15521, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44223:2:13", + "nodeType": "VariableDeclaration", + "scope": 15536, + "src": "44215:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15520, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44215:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "44178:48:13" + }, + "returnParameters": { + "id": 15523, + "nodeType": "ParameterList", + "parameters": [], + "src": "44241:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15559, + "nodeType": "FunctionDefinition", + "src": "44353:164:13", + "nodes": [], + "body": { + "id": 15558, + "nodeType": "Block", + "src": "44416:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c75696e7429", + "id": 15550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44466:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0", + "typeString": "literal_string \"log(bool,uint,bool,uint)\"" + }, + "value": "log(bool,uint,bool,uint)" + }, + { + "id": 15551, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15538, + "src": "44494:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15552, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15540, + "src": "44498:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15553, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15542, + "src": "44502:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15554, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15544, + "src": "44506:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0", + "typeString": "literal_string \"log(bool,uint,bool,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15548, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44442:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44446:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44442:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44442:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15547, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "44426:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44426:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15557, + "nodeType": "ExpressionStatement", + "src": "44426:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44362:3:13", + "parameters": { + "id": 15545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15538, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44371:2:13", + "nodeType": "VariableDeclaration", + "scope": 15559, + "src": "44366:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44366:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15540, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44380:2:13", + "nodeType": "VariableDeclaration", + "scope": 15559, + "src": "44375:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15539, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44375:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15542, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44389:2:13", + "nodeType": "VariableDeclaration", + "scope": 15559, + "src": "44384:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15541, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44384:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15544, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44398:2:13", + "nodeType": "VariableDeclaration", + "scope": 15559, + "src": "44393:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15543, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44393:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "44365:36:13" + }, + "returnParameters": { + "id": 15546, + "nodeType": "ParameterList", + "parameters": [], + "src": "44416:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15582, + "nodeType": "FunctionDefinition", + "src": "44523:175:13", + "nodes": [], + "body": { + "id": 15581, + "nodeType": "Block", + "src": "44595:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c737472696e6729", + "id": 15573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44645:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad", + "typeString": "literal_string \"log(bool,uint,bool,string)\"" + }, + "value": "log(bool,uint,bool,string)" + }, + { + "id": 15574, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15561, + "src": "44675:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15575, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15563, + "src": "44679:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15576, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15565, + "src": "44683:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15577, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15567, + "src": "44687:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad", + "typeString": "literal_string \"log(bool,uint,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15571, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44621:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44625:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44621:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44621:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15570, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "44605:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44605:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15580, + "nodeType": "ExpressionStatement", + "src": "44605:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44532:3:13", + "parameters": { + "id": 15568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15561, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44541:2:13", + "nodeType": "VariableDeclaration", + "scope": 15582, + "src": "44536:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15560, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44536:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15563, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44550:2:13", + "nodeType": "VariableDeclaration", + "scope": 15582, + "src": "44545:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15562, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44545:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15565, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44559:2:13", + "nodeType": "VariableDeclaration", + "scope": 15582, + "src": "44554:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15564, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44554:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15567, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44577:2:13", + "nodeType": "VariableDeclaration", + "scope": 15582, + "src": "44563:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15566, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44563:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "44535:45:13" + }, + "returnParameters": { + "id": 15569, + "nodeType": "ParameterList", + "parameters": [], + "src": "44595:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15605, + "nodeType": "FunctionDefinition", + "src": "44704:164:13", + "nodes": [], + "body": { + "id": 15604, + "nodeType": "Block", + "src": "44767:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c626f6f6c29", + "id": 15596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44817:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be", + "typeString": "literal_string \"log(bool,uint,bool,bool)\"" + }, + "value": "log(bool,uint,bool,bool)" + }, + { + "id": 15597, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15584, + "src": "44845:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15598, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15586, + "src": "44849:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15599, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15588, + "src": "44853:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15600, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15590, + "src": "44857:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be", + "typeString": "literal_string \"log(bool,uint,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15594, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44793:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44797:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44793:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44793:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15593, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "44777:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44777:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15603, + "nodeType": "ExpressionStatement", + "src": "44777:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44713:3:13", + "parameters": { + "id": 15591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15584, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44722:2:13", + "nodeType": "VariableDeclaration", + "scope": 15605, + "src": "44717:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15583, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44717:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15586, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44731:2:13", + "nodeType": "VariableDeclaration", + "scope": 15605, + "src": "44726:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15585, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44726:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15588, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44740:2:13", + "nodeType": "VariableDeclaration", + "scope": 15605, + "src": "44735:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15587, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44735:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15590, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44749:2:13", + "nodeType": "VariableDeclaration", + "scope": 15605, + "src": "44744:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15589, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44744:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "44716:36:13" + }, + "returnParameters": { + "id": 15592, + "nodeType": "ParameterList", + "parameters": [], + "src": "44767:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15628, + "nodeType": "FunctionDefinition", + "src": "44874:170:13", + "nodes": [], + "body": { + "id": 15627, + "nodeType": "Block", + "src": "44940:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c6164647265737329", + "id": 15619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44990:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b", + "typeString": "literal_string \"log(bool,uint,bool,address)\"" + }, + "value": "log(bool,uint,bool,address)" + }, + { + "id": 15620, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15607, + "src": "45021:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15621, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15609, + "src": "45025:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15622, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15611, + "src": "45029:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15623, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15613, + "src": "45033:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b", + "typeString": "literal_string \"log(bool,uint,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15617, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44966:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44970:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44966:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44966:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15616, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "44950:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44950:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15626, + "nodeType": "ExpressionStatement", + "src": "44950:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44883:3:13", + "parameters": { + "id": 15614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15607, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44892:2:13", + "nodeType": "VariableDeclaration", + "scope": 15628, + "src": "44887:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15606, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44887:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15609, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44901:2:13", + "nodeType": "VariableDeclaration", + "scope": 15628, + "src": "44896:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15608, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44896:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15611, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44910:2:13", + "nodeType": "VariableDeclaration", + "scope": 15628, + "src": "44905:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15610, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44905:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15613, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44922:2:13", + "nodeType": "VariableDeclaration", + "scope": 15628, + "src": "44914:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15612, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44914:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "44886:39:13" + }, + "returnParameters": { + "id": 15615, + "nodeType": "ParameterList", + "parameters": [], + "src": "44940:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15651, + "nodeType": "FunctionDefinition", + "src": "45050:170:13", + "nodes": [], + "body": { + "id": 15650, + "nodeType": "Block", + "src": "45116:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c75696e7429", + "id": 15642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45166:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d", + "typeString": "literal_string \"log(bool,uint,address,uint)\"" + }, + "value": "log(bool,uint,address,uint)" + }, + { + "id": 15643, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15630, + "src": "45197:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15644, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15632, + "src": "45201:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15645, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15634, + "src": "45205:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15646, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15636, + "src": "45209:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d", + "typeString": "literal_string \"log(bool,uint,address,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15640, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45142:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45146:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45142:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45142:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15639, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "45126:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45126:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15649, + "nodeType": "ExpressionStatement", + "src": "45126:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45059:3:13", + "parameters": { + "id": 15637, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15630, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45068:2:13", + "nodeType": "VariableDeclaration", + "scope": 15651, + "src": "45063:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15629, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45063:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15632, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45077:2:13", + "nodeType": "VariableDeclaration", + "scope": 15651, + "src": "45072:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15631, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45072:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15634, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45089:2:13", + "nodeType": "VariableDeclaration", + "scope": 15651, + "src": "45081:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "45081:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15636, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45098:2:13", + "nodeType": "VariableDeclaration", + "scope": 15651, + "src": "45093:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15635, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45093:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "45062:39:13" + }, + "returnParameters": { + "id": 15638, + "nodeType": "ParameterList", + "parameters": [], + "src": "45116:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15674, + "nodeType": "FunctionDefinition", + "src": "45226:181:13", + "nodes": [], + "body": { + "id": 15673, + "nodeType": "Block", + "src": "45301:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c737472696e6729", + "id": 15665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45351:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689", + "typeString": "literal_string \"log(bool,uint,address,string)\"" + }, + "value": "log(bool,uint,address,string)" + }, + { + "id": 15666, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15653, + "src": "45384:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15667, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15655, + "src": "45388:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15668, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15657, + "src": "45392:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15669, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15659, + "src": "45396:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689", + "typeString": "literal_string \"log(bool,uint,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15663, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45327:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15664, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45331:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45327:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45327:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15662, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "45311:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45311:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15672, + "nodeType": "ExpressionStatement", + "src": "45311:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45235:3:13", + "parameters": { + "id": 15660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15653, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45244:2:13", + "nodeType": "VariableDeclaration", + "scope": 15674, + "src": "45239:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15652, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45239:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15655, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45253:2:13", + "nodeType": "VariableDeclaration", + "scope": 15674, + "src": "45248:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15654, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45248:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15657, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45265:2:13", + "nodeType": "VariableDeclaration", + "scope": 15674, + "src": "45257:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15656, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "45257:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15659, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45283:2:13", + "nodeType": "VariableDeclaration", + "scope": 15674, + "src": "45269:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15658, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45269:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "45238:48:13" + }, + "returnParameters": { + "id": 15661, + "nodeType": "ParameterList", + "parameters": [], + "src": "45301:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15697, + "nodeType": "FunctionDefinition", + "src": "45413:170:13", + "nodes": [], + "body": { + "id": 15696, + "nodeType": "Block", + "src": "45479:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c626f6f6c29", + "id": 15688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45529:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa", + "typeString": "literal_string \"log(bool,uint,address,bool)\"" + }, + "value": "log(bool,uint,address,bool)" + }, + { + "id": 15689, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15676, + "src": "45560:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15690, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15678, + "src": "45564:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15691, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15680, + "src": "45568:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15692, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15682, + "src": "45572:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa", + "typeString": "literal_string \"log(bool,uint,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15686, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45505:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45509:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45505:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45505:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15685, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "45489:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45489:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15695, + "nodeType": "ExpressionStatement", + "src": "45489:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45422:3:13", + "parameters": { + "id": 15683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15676, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45431:2:13", + "nodeType": "VariableDeclaration", + "scope": 15697, + "src": "45426:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15675, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45426:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15678, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45440:2:13", + "nodeType": "VariableDeclaration", + "scope": 15697, + "src": "45435:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15677, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45435:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15680, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45452:2:13", + "nodeType": "VariableDeclaration", + "scope": 15697, + "src": "45444:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15679, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "45444:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15682, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45461:2:13", + "nodeType": "VariableDeclaration", + "scope": 15697, + "src": "45456:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15681, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45456:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "45425:39:13" + }, + "returnParameters": { + "id": 15684, + "nodeType": "ParameterList", + "parameters": [], + "src": "45479:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15720, + "nodeType": "FunctionDefinition", + "src": "45589:176:13", + "nodes": [], + "body": { + "id": 15719, + "nodeType": "Block", + "src": "45658:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c6164647265737329", + "id": 15711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45708:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d", + "typeString": "literal_string \"log(bool,uint,address,address)\"" + }, + "value": "log(bool,uint,address,address)" + }, + { + "id": 15712, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15699, + "src": "45742:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15713, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15701, + "src": "45746:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15714, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15703, + "src": "45750:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 15715, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15705, + "src": "45754:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d", + "typeString": "literal_string \"log(bool,uint,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15709, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45684:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45688:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45684:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45684:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15708, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "45668:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45668:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15718, + "nodeType": "ExpressionStatement", + "src": "45668:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45598:3:13", + "parameters": { + "id": 15706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15699, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45607:2:13", + "nodeType": "VariableDeclaration", + "scope": 15720, + "src": "45602:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15698, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45602:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15701, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45616:2:13", + "nodeType": "VariableDeclaration", + "scope": 15720, + "src": "45611:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15700, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45611:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15703, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45628:2:13", + "nodeType": "VariableDeclaration", + "scope": 15720, + "src": "45620:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "45620:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15705, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45640:2:13", + "nodeType": "VariableDeclaration", + "scope": 15720, + "src": "45632:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15704, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "45632:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "45601:42:13" + }, + "returnParameters": { + "id": 15707, + "nodeType": "ParameterList", + "parameters": [], + "src": "45658:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15743, + "nodeType": "FunctionDefinition", + "src": "45771:175:13", + "nodes": [], + "body": { + "id": 15742, + "nodeType": "Block", + "src": "45843:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c75696e7429", + "id": 15734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45893:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9", + "typeString": "literal_string \"log(bool,string,uint,uint)\"" + }, + "value": "log(bool,string,uint,uint)" + }, + { + "id": 15735, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15722, + "src": "45923:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15736, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15724, + "src": "45927:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15737, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15726, + "src": "45931:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15738, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15728, + "src": "45935:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9", + "typeString": "literal_string \"log(bool,string,uint,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15732, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45869:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45873:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45869:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45869:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15731, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "45853:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45853:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15741, + "nodeType": "ExpressionStatement", + "src": "45853:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45780:3:13", + "parameters": { + "id": 15729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15722, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45789:2:13", + "nodeType": "VariableDeclaration", + "scope": 15743, + "src": "45784:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15721, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45784:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15724, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45807:2:13", + "nodeType": "VariableDeclaration", + "scope": 15743, + "src": "45793:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15723, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45793:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15726, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45816:2:13", + "nodeType": "VariableDeclaration", + "scope": 15743, + "src": "45811:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15725, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45811:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15728, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45825:2:13", + "nodeType": "VariableDeclaration", + "scope": 15743, + "src": "45820:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15727, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45820:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "45783:45:13" + }, + "returnParameters": { + "id": 15730, + "nodeType": "ParameterList", + "parameters": [], + "src": "45843:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15766, + "nodeType": "FunctionDefinition", + "src": "45952:186:13", + "nodes": [], + "body": { + "id": 15765, + "nodeType": "Block", + "src": "46033:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c737472696e6729", + "id": 15757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46083:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649", + "typeString": "literal_string \"log(bool,string,uint,string)\"" + }, + "value": "log(bool,string,uint,string)" + }, + { + "id": 15758, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15745, + "src": "46115:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15759, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15747, + "src": "46119:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15760, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15749, + "src": "46123:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15761, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15751, + "src": "46127:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649", + "typeString": "literal_string \"log(bool,string,uint,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15755, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46059:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46063:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46059:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46059:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15754, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "46043:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46043:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15764, + "nodeType": "ExpressionStatement", + "src": "46043:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45961:3:13", + "parameters": { + "id": 15752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15745, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45970:2:13", + "nodeType": "VariableDeclaration", + "scope": 15766, + "src": "45965:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15744, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45965:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15747, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45988:2:13", + "nodeType": "VariableDeclaration", + "scope": 15766, + "src": "45974:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15746, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45974:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15749, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45997:2:13", + "nodeType": "VariableDeclaration", + "scope": 15766, + "src": "45992:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15748, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45992:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15751, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46015:2:13", + "nodeType": "VariableDeclaration", + "scope": 15766, + "src": "46001:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15750, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46001:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "45964:54:13" + }, + "returnParameters": { + "id": 15753, + "nodeType": "ParameterList", + "parameters": [], + "src": "46033:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15789, + "nodeType": "FunctionDefinition", + "src": "46144:175:13", + "nodes": [], + "body": { + "id": 15788, + "nodeType": "Block", + "src": "46216:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c626f6f6c29", + "id": 15780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46266:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8", + "typeString": "literal_string \"log(bool,string,uint,bool)\"" + }, + "value": "log(bool,string,uint,bool)" + }, + { + "id": 15781, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15768, + "src": "46296:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15782, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15770, + "src": "46300:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15783, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15772, + "src": "46304:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15784, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15774, + "src": "46308:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8", + "typeString": "literal_string \"log(bool,string,uint,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15778, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46242:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46246:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46242:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46242:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15777, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "46226:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46226:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15787, + "nodeType": "ExpressionStatement", + "src": "46226:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46153:3:13", + "parameters": { + "id": 15775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15768, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46162:2:13", + "nodeType": "VariableDeclaration", + "scope": 15789, + "src": "46157:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15767, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46157:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15770, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46180:2:13", + "nodeType": "VariableDeclaration", + "scope": 15789, + "src": "46166:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15769, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46166:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15772, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46189:2:13", + "nodeType": "VariableDeclaration", + "scope": 15789, + "src": "46184:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15771, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "46184:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15774, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46198:2:13", + "nodeType": "VariableDeclaration", + "scope": 15789, + "src": "46193:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15773, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46193:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "46156:45:13" + }, + "returnParameters": { + "id": 15776, + "nodeType": "ParameterList", + "parameters": [], + "src": "46216:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15812, + "nodeType": "FunctionDefinition", + "src": "46325:181:13", + "nodes": [], + "body": { + "id": 15811, + "nodeType": "Block", + "src": "46400:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c6164647265737329", + "id": 15803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46450:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a", + "typeString": "literal_string \"log(bool,string,uint,address)\"" + }, + "value": "log(bool,string,uint,address)" + }, + { + "id": 15804, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15791, + "src": "46483:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15805, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15793, + "src": "46487:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15806, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15795, + "src": "46491:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 15807, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15797, + "src": "46495:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a", + "typeString": "literal_string \"log(bool,string,uint,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15801, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46426:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46430:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46426:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46426:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15800, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "46410:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46410:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15810, + "nodeType": "ExpressionStatement", + "src": "46410:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46334:3:13", + "parameters": { + "id": 15798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15791, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46343:2:13", + "nodeType": "VariableDeclaration", + "scope": 15812, + "src": "46338:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15790, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46338:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15793, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46361:2:13", + "nodeType": "VariableDeclaration", + "scope": 15812, + "src": "46347:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15792, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46347:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15795, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46370:2:13", + "nodeType": "VariableDeclaration", + "scope": 15812, + "src": "46365:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15794, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "46365:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15797, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46382:2:13", + "nodeType": "VariableDeclaration", + "scope": 15812, + "src": "46374:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15796, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "46374:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "46337:48:13" + }, + "returnParameters": { + "id": 15799, + "nodeType": "ParameterList", + "parameters": [], + "src": "46400:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15835, + "nodeType": "FunctionDefinition", + "src": "46512:186:13", + "nodes": [], + "body": { + "id": 15834, + "nodeType": "Block", + "src": "46593:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7429", + "id": 15826, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46643:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df", + "typeString": "literal_string \"log(bool,string,string,uint)\"" + }, + "value": "log(bool,string,string,uint)" + }, + { + "id": 15827, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15814, + "src": "46675:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15828, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15816, + "src": "46679:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15829, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15818, + "src": "46683:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15830, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15820, + "src": "46687:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df", + "typeString": "literal_string \"log(bool,string,string,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15824, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46619:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46623:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46619:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46619:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15823, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "46603:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46603:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15833, + "nodeType": "ExpressionStatement", + "src": "46603:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46521:3:13", + "parameters": { + "id": 15821, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15814, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46530:2:13", + "nodeType": "VariableDeclaration", + "scope": 15835, + "src": "46525:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15813, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46525:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15816, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46548:2:13", + "nodeType": "VariableDeclaration", + "scope": 15835, + "src": "46534:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15815, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46534:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15818, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46566:2:13", + "nodeType": "VariableDeclaration", + "scope": 15835, + "src": "46552:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15817, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46552:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15820, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46575:2:13", + "nodeType": "VariableDeclaration", + "scope": 15835, + "src": "46570:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15819, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "46570:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "46524:54:13" + }, + "returnParameters": { + "id": 15822, + "nodeType": "ParameterList", + "parameters": [], + "src": "46593:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15858, + "nodeType": "FunctionDefinition", + "src": "46704:197:13", + "nodes": [], + "body": { + "id": 15857, + "nodeType": "Block", + "src": "46794:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729", + "id": 15849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46844:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9", + "typeString": "literal_string \"log(bool,string,string,string)\"" + }, + "value": "log(bool,string,string,string)" + }, + { + "id": 15850, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15837, + "src": "46878:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15851, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15839, + "src": "46882:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15852, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15841, + "src": "46886:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15853, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15843, + "src": "46890:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9", + "typeString": "literal_string \"log(bool,string,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15847, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46820:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46824:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46820:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46820:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15846, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "46804:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46804:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15856, + "nodeType": "ExpressionStatement", + "src": "46804:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46713:3:13", + "parameters": { + "id": 15844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15837, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46722:2:13", + "nodeType": "VariableDeclaration", + "scope": 15858, + "src": "46717:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15836, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46717:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15839, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46740:2:13", + "nodeType": "VariableDeclaration", + "scope": 15858, + "src": "46726:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15838, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46726:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15841, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46758:2:13", + "nodeType": "VariableDeclaration", + "scope": 15858, + "src": "46744:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15840, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46744:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15843, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46776:2:13", + "nodeType": "VariableDeclaration", + "scope": 15858, + "src": "46762:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15842, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46762:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "46716:63:13" + }, + "returnParameters": { + "id": 15845, + "nodeType": "ParameterList", + "parameters": [], + "src": "46794:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15881, + "nodeType": "FunctionDefinition", + "src": "46907:186:13", + "nodes": [], + "body": { + "id": 15880, + "nodeType": "Block", + "src": "46988:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29", + "id": 15872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47038:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1", + "typeString": "literal_string \"log(bool,string,string,bool)\"" + }, + "value": "log(bool,string,string,bool)" + }, + { + "id": 15873, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15860, + "src": "47070:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15874, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15862, + "src": "47074:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15875, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15864, + "src": "47078:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15876, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15866, + "src": "47082:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1", + "typeString": "literal_string \"log(bool,string,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15870, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47014:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47018:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47014:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47014:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15869, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "46998:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46998:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15879, + "nodeType": "ExpressionStatement", + "src": "46998:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46916:3:13", + "parameters": { + "id": 15867, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15860, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46925:2:13", + "nodeType": "VariableDeclaration", + "scope": 15881, + "src": "46920:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15859, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46920:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15862, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46943:2:13", + "nodeType": "VariableDeclaration", + "scope": 15881, + "src": "46929:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15861, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46929:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15864, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46961:2:13", + "nodeType": "VariableDeclaration", + "scope": 15881, + "src": "46947:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15863, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46947:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15866, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46970:2:13", + "nodeType": "VariableDeclaration", + "scope": 15881, + "src": "46965:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15865, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46965:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "46919:54:13" + }, + "returnParameters": { + "id": 15868, + "nodeType": "ParameterList", + "parameters": [], + "src": "46988:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15904, + "nodeType": "FunctionDefinition", + "src": "47099:192:13", + "nodes": [], + "body": { + "id": 15903, + "nodeType": "Block", + "src": "47183:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329", + "id": 15895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47233:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5", + "typeString": "literal_string \"log(bool,string,string,address)\"" + }, + "value": "log(bool,string,string,address)" + }, + { + "id": 15896, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15883, + "src": "47268:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15897, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15885, + "src": "47272:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15898, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15887, + "src": "47276:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15899, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15889, + "src": "47280:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5", + "typeString": "literal_string \"log(bool,string,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15893, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47209:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47213:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47209:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47209:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15892, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "47193:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47193:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15902, + "nodeType": "ExpressionStatement", + "src": "47193:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47108:3:13", + "parameters": { + "id": 15890, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15883, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47117:2:13", + "nodeType": "VariableDeclaration", + "scope": 15904, + "src": "47112:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15882, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47112:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15885, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47135:2:13", + "nodeType": "VariableDeclaration", + "scope": 15904, + "src": "47121:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15884, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47121:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15887, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47153:2:13", + "nodeType": "VariableDeclaration", + "scope": 15904, + "src": "47139:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15886, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47139:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15889, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47165:2:13", + "nodeType": "VariableDeclaration", + "scope": 15904, + "src": "47157:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15888, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47157:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "47111:57:13" + }, + "returnParameters": { + "id": 15891, + "nodeType": "ParameterList", + "parameters": [], + "src": "47183:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15927, + "nodeType": "FunctionDefinition", + "src": "47297:175:13", + "nodes": [], + "body": { + "id": 15926, + "nodeType": "Block", + "src": "47369:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7429", + "id": 15918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47419:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055", + "typeString": "literal_string \"log(bool,string,bool,uint)\"" + }, + "value": "log(bool,string,bool,uint)" + }, + { + "id": 15919, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15906, + "src": "47449:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15920, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15908, + "src": "47453:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15921, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15910, + "src": "47457:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15922, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15912, + "src": "47461:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055", + "typeString": "literal_string \"log(bool,string,bool,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 15916, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47395:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47399:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47395:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47395:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15915, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "47379:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47379:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15925, + "nodeType": "ExpressionStatement", + "src": "47379:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47306:3:13", + "parameters": { + "id": 15913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15906, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47315:2:13", + "nodeType": "VariableDeclaration", + "scope": 15927, + "src": "47310:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15905, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47310:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15908, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47333:2:13", + "nodeType": "VariableDeclaration", + "scope": 15927, + "src": "47319:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15907, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47319:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15910, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47342:2:13", + "nodeType": "VariableDeclaration", + "scope": 15927, + "src": "47337:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15909, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47337:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15912, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47351:2:13", + "nodeType": "VariableDeclaration", + "scope": 15927, + "src": "47346:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15911, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "47346:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "47309:45:13" + }, + "returnParameters": { + "id": 15914, + "nodeType": "ParameterList", + "parameters": [], + "src": "47369:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15950, + "nodeType": "FunctionDefinition", + "src": "47478:186:13", + "nodes": [], + "body": { + "id": 15949, + "nodeType": "Block", + "src": "47559:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729", + "id": 15941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47609:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468", + "typeString": "literal_string \"log(bool,string,bool,string)\"" + }, + "value": "log(bool,string,bool,string)" + }, + { + "id": 15942, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15929, + "src": "47641:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15943, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15931, + "src": "47645:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15944, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15933, + "src": "47649:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15945, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15935, + "src": "47653:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468", + "typeString": "literal_string \"log(bool,string,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 15939, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47585:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47589:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47585:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47585:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15938, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "47569:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47569:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15948, + "nodeType": "ExpressionStatement", + "src": "47569:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47487:3:13", + "parameters": { + "id": 15936, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15929, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47496:2:13", + "nodeType": "VariableDeclaration", + "scope": 15950, + "src": "47491:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15928, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47491:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15931, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47514:2:13", + "nodeType": "VariableDeclaration", + "scope": 15950, + "src": "47500:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15930, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47500:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15933, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47523:2:13", + "nodeType": "VariableDeclaration", + "scope": 15950, + "src": "47518:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15932, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47518:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15935, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47541:2:13", + "nodeType": "VariableDeclaration", + "scope": 15950, + "src": "47527:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15934, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47527:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "47490:54:13" + }, + "returnParameters": { + "id": 15937, + "nodeType": "ParameterList", + "parameters": [], + "src": "47559:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15973, + "nodeType": "FunctionDefinition", + "src": "47670:175:13", + "nodes": [], + "body": { + "id": 15972, + "nodeType": "Block", + "src": "47742:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29", + "id": 15964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47792:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f", + "typeString": "literal_string \"log(bool,string,bool,bool)\"" + }, + "value": "log(bool,string,bool,bool)" + }, + { + "id": 15965, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15952, + "src": "47822:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15966, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15954, + "src": "47826:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15967, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15956, + "src": "47830:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15968, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15958, + "src": "47834:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f", + "typeString": "literal_string \"log(bool,string,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 15962, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47768:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47772:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47768:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47768:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15961, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "47752:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47752:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15971, + "nodeType": "ExpressionStatement", + "src": "47752:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47679:3:13", + "parameters": { + "id": 15959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15952, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47688:2:13", + "nodeType": "VariableDeclaration", + "scope": 15973, + "src": "47683:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15951, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47683:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15954, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47706:2:13", + "nodeType": "VariableDeclaration", + "scope": 15973, + "src": "47692:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15953, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47692:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15956, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47715:2:13", + "nodeType": "VariableDeclaration", + "scope": 15973, + "src": "47710:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15955, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47710:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15958, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47724:2:13", + "nodeType": "VariableDeclaration", + "scope": 15973, + "src": "47719:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15957, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47719:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "47682:45:13" + }, + "returnParameters": { + "id": 15960, + "nodeType": "ParameterList", + "parameters": [], + "src": "47742:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 15996, + "nodeType": "FunctionDefinition", + "src": "47851:181:13", + "nodes": [], + "body": { + "id": 15995, + "nodeType": "Block", + "src": "47926:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329", + "id": 15987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47976:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5", + "typeString": "literal_string \"log(bool,string,bool,address)\"" + }, + "value": "log(bool,string,bool,address)" + }, + { + "id": 15988, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15975, + "src": "48009:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15989, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15977, + "src": "48013:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 15990, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15979, + "src": "48017:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 15991, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15981, + "src": "48021:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5", + "typeString": "literal_string \"log(bool,string,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 15985, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47952:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 15986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47956:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47952:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 15992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47952:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 15984, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "47936:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 15993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47936:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15994, + "nodeType": "ExpressionStatement", + "src": "47936:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47860:3:13", + "parameters": { + "id": 15982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15975, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47869:2:13", + "nodeType": "VariableDeclaration", + "scope": 15996, + "src": "47864:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15974, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47864:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15977, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47887:2:13", + "nodeType": "VariableDeclaration", + "scope": 15996, + "src": "47873:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15976, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47873:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15979, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47896:2:13", + "nodeType": "VariableDeclaration", + "scope": 15996, + "src": "47891:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15978, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47891:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 15981, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47908:2:13", + "nodeType": "VariableDeclaration", + "scope": 15996, + "src": "47900:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15980, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47900:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "47863:48:13" + }, + "returnParameters": { + "id": 15983, + "nodeType": "ParameterList", + "parameters": [], + "src": "47926:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16019, + "nodeType": "FunctionDefinition", + "src": "48038:181:13", + "nodes": [], + "body": { + "id": 16018, + "nodeType": "Block", + "src": "48113:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7429", + "id": 16010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48163:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca", + "typeString": "literal_string \"log(bool,string,address,uint)\"" + }, + "value": "log(bool,string,address,uint)" + }, + { + "id": 16011, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15998, + "src": "48196:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16012, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16000, + "src": "48200:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16013, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16002, + "src": "48204:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16014, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16004, + "src": "48208:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca", + "typeString": "literal_string \"log(bool,string,address,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16008, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48139:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48143:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48139:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48139:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16007, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "48123:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48123:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16017, + "nodeType": "ExpressionStatement", + "src": "48123:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48047:3:13", + "parameters": { + "id": 16005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15998, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48056:2:13", + "nodeType": "VariableDeclaration", + "scope": 16019, + "src": "48051:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15997, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48051:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16000, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48074:2:13", + "nodeType": "VariableDeclaration", + "scope": 16019, + "src": "48060:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 15999, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48060:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16002, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48086:2:13", + "nodeType": "VariableDeclaration", + "scope": 16019, + "src": "48078:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16001, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48078:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16004, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48095:2:13", + "nodeType": "VariableDeclaration", + "scope": 16019, + "src": "48090:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16003, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "48090:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "48050:48:13" + }, + "returnParameters": { + "id": 16006, + "nodeType": "ParameterList", + "parameters": [], + "src": "48113:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16042, + "nodeType": "FunctionDefinition", + "src": "48225:192:13", + "nodes": [], + "body": { + "id": 16041, + "nodeType": "Block", + "src": "48309:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729", + "id": 16033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48359:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7", + "typeString": "literal_string \"log(bool,string,address,string)\"" + }, + "value": "log(bool,string,address,string)" + }, + { + "id": 16034, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16021, + "src": "48394:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16035, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16023, + "src": "48398:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16036, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16025, + "src": "48402:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16037, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16027, + "src": "48406:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7", + "typeString": "literal_string \"log(bool,string,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16031, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48335:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48339:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48335:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48335:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16030, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "48319:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48319:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16040, + "nodeType": "ExpressionStatement", + "src": "48319:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48234:3:13", + "parameters": { + "id": 16028, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16021, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48243:2:13", + "nodeType": "VariableDeclaration", + "scope": 16042, + "src": "48238:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16020, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48238:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16023, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48261:2:13", + "nodeType": "VariableDeclaration", + "scope": 16042, + "src": "48247:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16022, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48247:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16025, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48273:2:13", + "nodeType": "VariableDeclaration", + "scope": 16042, + "src": "48265:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16024, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48265:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16027, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48291:2:13", + "nodeType": "VariableDeclaration", + "scope": 16042, + "src": "48277:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16026, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48277:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "48237:57:13" + }, + "returnParameters": { + "id": 16029, + "nodeType": "ParameterList", + "parameters": [], + "src": "48309:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16065, + "nodeType": "FunctionDefinition", + "src": "48423:181:13", + "nodes": [], + "body": { + "id": 16064, + "nodeType": "Block", + "src": "48498:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29", + "id": 16056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48548:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d", + "typeString": "literal_string \"log(bool,string,address,bool)\"" + }, + "value": "log(bool,string,address,bool)" + }, + { + "id": 16057, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16044, + "src": "48581:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16058, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16046, + "src": "48585:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16059, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16048, + "src": "48589:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16060, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16050, + "src": "48593:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d", + "typeString": "literal_string \"log(bool,string,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16054, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48524:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48528:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48524:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48524:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16053, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "48508:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48508:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16063, + "nodeType": "ExpressionStatement", + "src": "48508:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48432:3:13", + "parameters": { + "id": 16051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16044, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48441:2:13", + "nodeType": "VariableDeclaration", + "scope": 16065, + "src": "48436:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16043, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48436:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16046, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48459:2:13", + "nodeType": "VariableDeclaration", + "scope": 16065, + "src": "48445:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16045, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48445:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16048, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48471:2:13", + "nodeType": "VariableDeclaration", + "scope": 16065, + "src": "48463:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48463:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16050, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48480:2:13", + "nodeType": "VariableDeclaration", + "scope": 16065, + "src": "48475:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16049, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48475:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "48435:48:13" + }, + "returnParameters": { + "id": 16052, + "nodeType": "ParameterList", + "parameters": [], + "src": "48498:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16088, + "nodeType": "FunctionDefinition", + "src": "48610:187:13", + "nodes": [], + "body": { + "id": 16087, + "nodeType": "Block", + "src": "48688:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329", + "id": 16079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48738:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822", + "typeString": "literal_string \"log(bool,string,address,address)\"" + }, + "value": "log(bool,string,address,address)" + }, + { + "id": 16080, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16067, + "src": "48774:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16081, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16069, + "src": "48778:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16082, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16071, + "src": "48782:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16083, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16073, + "src": "48786:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822", + "typeString": "literal_string \"log(bool,string,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16077, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48714:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48718:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48714:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48714:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16076, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "48698:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48698:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16086, + "nodeType": "ExpressionStatement", + "src": "48698:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48619:3:13", + "parameters": { + "id": 16074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16067, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48628:2:13", + "nodeType": "VariableDeclaration", + "scope": 16088, + "src": "48623:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16066, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48623:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16069, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48646:2:13", + "nodeType": "VariableDeclaration", + "scope": 16088, + "src": "48632:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16068, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48632:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16071, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48658:2:13", + "nodeType": "VariableDeclaration", + "scope": 16088, + "src": "48650:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16070, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48650:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16073, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48670:2:13", + "nodeType": "VariableDeclaration", + "scope": 16088, + "src": "48662:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48662:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "48622:51:13" + }, + "returnParameters": { + "id": 16075, + "nodeType": "ParameterList", + "parameters": [], + "src": "48688:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16111, + "nodeType": "FunctionDefinition", + "src": "48803:164:13", + "nodes": [], + "body": { + "id": 16110, + "nodeType": "Block", + "src": "48866:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c75696e7429", + "id": 16102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48916:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a", + "typeString": "literal_string \"log(bool,bool,uint,uint)\"" + }, + "value": "log(bool,bool,uint,uint)" + }, + { + "id": 16103, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16090, + "src": "48944:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16104, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16092, + "src": "48948:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16105, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16094, + "src": "48952:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16106, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16096, + "src": "48956:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a", + "typeString": "literal_string \"log(bool,bool,uint,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16100, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48892:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48896:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48892:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48892:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16099, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "48876:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48876:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16109, + "nodeType": "ExpressionStatement", + "src": "48876:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48812:3:13", + "parameters": { + "id": 16097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16090, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48821:2:13", + "nodeType": "VariableDeclaration", + "scope": 16111, + "src": "48816:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16089, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48816:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16092, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48830:2:13", + "nodeType": "VariableDeclaration", + "scope": 16111, + "src": "48825:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16091, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48825:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16094, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48839:2:13", + "nodeType": "VariableDeclaration", + "scope": 16111, + "src": "48834:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16093, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "48834:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16096, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48848:2:13", + "nodeType": "VariableDeclaration", + "scope": 16111, + "src": "48843:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16095, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "48843:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "48815:36:13" + }, + "returnParameters": { + "id": 16098, + "nodeType": "ParameterList", + "parameters": [], + "src": "48866:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16134, + "nodeType": "FunctionDefinition", + "src": "48973:175:13", + "nodes": [], + "body": { + "id": 16133, + "nodeType": "Block", + "src": "49045:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c737472696e6729", + "id": 16125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49095:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc", + "typeString": "literal_string \"log(bool,bool,uint,string)\"" + }, + "value": "log(bool,bool,uint,string)" + }, + { + "id": 16126, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16113, + "src": "49125:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16127, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16115, + "src": "49129:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16128, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16117, + "src": "49133:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16129, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16119, + "src": "49137:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc", + "typeString": "literal_string \"log(bool,bool,uint,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16123, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49071:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49075:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49071:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49071:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16122, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "49055:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49055:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16132, + "nodeType": "ExpressionStatement", + "src": "49055:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48982:3:13", + "parameters": { + "id": 16120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16113, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48991:2:13", + "nodeType": "VariableDeclaration", + "scope": 16134, + "src": "48986:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16112, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48986:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16115, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49000:2:13", + "nodeType": "VariableDeclaration", + "scope": 16134, + "src": "48995:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16114, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48995:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16117, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49009:2:13", + "nodeType": "VariableDeclaration", + "scope": 16134, + "src": "49004:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16116, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "49004:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16119, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49027:2:13", + "nodeType": "VariableDeclaration", + "scope": 16134, + "src": "49013:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16118, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49013:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "48985:45:13" + }, + "returnParameters": { + "id": 16121, + "nodeType": "ParameterList", + "parameters": [], + "src": "49045:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16157, + "nodeType": "FunctionDefinition", + "src": "49154:164:13", + "nodes": [], + "body": { + "id": 16156, + "nodeType": "Block", + "src": "49217:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c626f6f6c29", + "id": 16148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49267:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110", + "typeString": "literal_string \"log(bool,bool,uint,bool)\"" + }, + "value": "log(bool,bool,uint,bool)" + }, + { + "id": 16149, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16136, + "src": "49295:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16150, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16138, + "src": "49299:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16151, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16140, + "src": "49303:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16152, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16142, + "src": "49307:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110", + "typeString": "literal_string \"log(bool,bool,uint,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16146, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49243:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49247:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49243:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49243:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16145, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "49227:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49227:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16155, + "nodeType": "ExpressionStatement", + "src": "49227:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49163:3:13", + "parameters": { + "id": 16143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16136, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49172:2:13", + "nodeType": "VariableDeclaration", + "scope": 16157, + "src": "49167:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16135, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49167:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16138, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49181:2:13", + "nodeType": "VariableDeclaration", + "scope": 16157, + "src": "49176:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16137, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49176:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16140, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49190:2:13", + "nodeType": "VariableDeclaration", + "scope": 16157, + "src": "49185:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16139, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "49185:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16142, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49199:2:13", + "nodeType": "VariableDeclaration", + "scope": 16157, + "src": "49194:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16141, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49194:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "49166:36:13" + }, + "returnParameters": { + "id": 16144, + "nodeType": "ParameterList", + "parameters": [], + "src": "49217:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16180, + "nodeType": "FunctionDefinition", + "src": "49324:170:13", + "nodes": [], + "body": { + "id": 16179, + "nodeType": "Block", + "src": "49390:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c6164647265737329", + "id": 16171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49440:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7", + "typeString": "literal_string \"log(bool,bool,uint,address)\"" + }, + "value": "log(bool,bool,uint,address)" + }, + { + "id": 16172, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16159, + "src": "49471:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16173, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16161, + "src": "49475:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16174, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16163, + "src": "49479:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16175, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16165, + "src": "49483:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7", + "typeString": "literal_string \"log(bool,bool,uint,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16169, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49416:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49420:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49416:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49416:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16168, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "49400:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49400:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16178, + "nodeType": "ExpressionStatement", + "src": "49400:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49333:3:13", + "parameters": { + "id": 16166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16159, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49342:2:13", + "nodeType": "VariableDeclaration", + "scope": 16180, + "src": "49337:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16158, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49337:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16161, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49351:2:13", + "nodeType": "VariableDeclaration", + "scope": 16180, + "src": "49346:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16160, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49346:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16163, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49360:2:13", + "nodeType": "VariableDeclaration", + "scope": 16180, + "src": "49355:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16162, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "49355:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16165, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49372:2:13", + "nodeType": "VariableDeclaration", + "scope": 16180, + "src": "49364:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49364:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "49336:39:13" + }, + "returnParameters": { + "id": 16167, + "nodeType": "ParameterList", + "parameters": [], + "src": "49390:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16203, + "nodeType": "FunctionDefinition", + "src": "49500:175:13", + "nodes": [], + "body": { + "id": 16202, + "nodeType": "Block", + "src": "49572:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7429", + "id": 16194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49622:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e", + "typeString": "literal_string \"log(bool,bool,string,uint)\"" + }, + "value": "log(bool,bool,string,uint)" + }, + { + "id": 16195, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16182, + "src": "49652:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16196, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16184, + "src": "49656:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16197, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16186, + "src": "49660:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16198, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16188, + "src": "49664:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e", + "typeString": "literal_string \"log(bool,bool,string,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16192, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49598:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49602:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49598:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49598:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16191, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "49582:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49582:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16201, + "nodeType": "ExpressionStatement", + "src": "49582:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49509:3:13", + "parameters": { + "id": 16189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16182, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49518:2:13", + "nodeType": "VariableDeclaration", + "scope": 16203, + "src": "49513:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16181, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49513:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16184, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49527:2:13", + "nodeType": "VariableDeclaration", + "scope": 16203, + "src": "49522:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16183, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49522:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16186, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49545:2:13", + "nodeType": "VariableDeclaration", + "scope": 16203, + "src": "49531:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16185, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49531:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16188, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49554:2:13", + "nodeType": "VariableDeclaration", + "scope": 16203, + "src": "49549:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16187, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "49549:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "49512:45:13" + }, + "returnParameters": { + "id": 16190, + "nodeType": "ParameterList", + "parameters": [], + "src": "49572:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16226, + "nodeType": "FunctionDefinition", + "src": "49681:186:13", + "nodes": [], + "body": { + "id": 16225, + "nodeType": "Block", + "src": "49762:105:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729", + "id": 16217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49812:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf", + "typeString": "literal_string \"log(bool,bool,string,string)\"" + }, + "value": "log(bool,bool,string,string)" + }, + { + "id": 16218, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16205, + "src": "49844:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16219, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16207, + "src": "49848:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16220, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16209, + "src": "49852:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16221, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16211, + "src": "49856:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf", + "typeString": "literal_string \"log(bool,bool,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16215, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49788:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49792:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49788:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49788:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16214, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "49772:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49772:88:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16224, + "nodeType": "ExpressionStatement", + "src": "49772:88:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49690:3:13", + "parameters": { + "id": 16212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16205, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49699:2:13", + "nodeType": "VariableDeclaration", + "scope": 16226, + "src": "49694:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16204, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49694:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16207, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49708:2:13", + "nodeType": "VariableDeclaration", + "scope": 16226, + "src": "49703:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49703:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16209, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49726:2:13", + "nodeType": "VariableDeclaration", + "scope": 16226, + "src": "49712:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16208, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49712:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16211, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49744:2:13", + "nodeType": "VariableDeclaration", + "scope": 16226, + "src": "49730:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16210, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49730:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "49693:54:13" + }, + "returnParameters": { + "id": 16213, + "nodeType": "ParameterList", + "parameters": [], + "src": "49762:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16249, + "nodeType": "FunctionDefinition", + "src": "49873:175:13", + "nodes": [], + "body": { + "id": 16248, + "nodeType": "Block", + "src": "49945:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29", + "id": 16240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49995:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02", + "typeString": "literal_string \"log(bool,bool,string,bool)\"" + }, + "value": "log(bool,bool,string,bool)" + }, + { + "id": 16241, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16228, + "src": "50025:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16242, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16230, + "src": "50029:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16243, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16232, + "src": "50033:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16244, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16234, + "src": "50037:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02", + "typeString": "literal_string \"log(bool,bool,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16238, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49971:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16239, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49975:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49971:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49971:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16237, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "49955:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49955:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16247, + "nodeType": "ExpressionStatement", + "src": "49955:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49882:3:13", + "parameters": { + "id": 16235, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16228, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49891:2:13", + "nodeType": "VariableDeclaration", + "scope": 16249, + "src": "49886:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16227, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49886:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16230, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49900:2:13", + "nodeType": "VariableDeclaration", + "scope": 16249, + "src": "49895:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16229, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49895:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16232, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49918:2:13", + "nodeType": "VariableDeclaration", + "scope": 16249, + "src": "49904:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16231, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49904:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16234, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49927:2:13", + "nodeType": "VariableDeclaration", + "scope": 16249, + "src": "49922:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16233, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49922:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "49885:45:13" + }, + "returnParameters": { + "id": 16236, + "nodeType": "ParameterList", + "parameters": [], + "src": "49945:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16272, + "nodeType": "FunctionDefinition", + "src": "50054:181:13", + "nodes": [], + "body": { + "id": 16271, + "nodeType": "Block", + "src": "50129:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329", + "id": 16263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50179:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202", + "typeString": "literal_string \"log(bool,bool,string,address)\"" + }, + "value": "log(bool,bool,string,address)" + }, + { + "id": 16264, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16251, + "src": "50212:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16265, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16253, + "src": "50216:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16266, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16255, + "src": "50220:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16267, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16257, + "src": "50224:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202", + "typeString": "literal_string \"log(bool,bool,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16261, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50155:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50159:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50155:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50155:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16260, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "50139:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50139:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16270, + "nodeType": "ExpressionStatement", + "src": "50139:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50063:3:13", + "parameters": { + "id": 16258, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16251, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50072:2:13", + "nodeType": "VariableDeclaration", + "scope": 16272, + "src": "50067:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16250, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50067:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16253, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50081:2:13", + "nodeType": "VariableDeclaration", + "scope": 16272, + "src": "50076:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16252, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50076:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16255, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50099:2:13", + "nodeType": "VariableDeclaration", + "scope": 16272, + "src": "50085:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16254, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50085:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16257, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50111:2:13", + "nodeType": "VariableDeclaration", + "scope": 16272, + "src": "50103:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16256, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50103:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "50066:48:13" + }, + "returnParameters": { + "id": 16259, + "nodeType": "ParameterList", + "parameters": [], + "src": "50129:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16295, + "nodeType": "FunctionDefinition", + "src": "50241:164:13", + "nodes": [], + "body": { + "id": 16294, + "nodeType": "Block", + "src": "50304:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7429", + "id": 16286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50354:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501", + "typeString": "literal_string \"log(bool,bool,bool,uint)\"" + }, + "value": "log(bool,bool,bool,uint)" + }, + { + "id": 16287, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16274, + "src": "50382:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16288, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16276, + "src": "50386:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16289, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16278, + "src": "50390:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16290, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16280, + "src": "50394:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501", + "typeString": "literal_string \"log(bool,bool,bool,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16284, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50330:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50334:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50330:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50330:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16283, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "50314:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50314:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16293, + "nodeType": "ExpressionStatement", + "src": "50314:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50250:3:13", + "parameters": { + "id": 16281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16274, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50259:2:13", + "nodeType": "VariableDeclaration", + "scope": 16295, + "src": "50254:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16273, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50254:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16276, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50268:2:13", + "nodeType": "VariableDeclaration", + "scope": 16295, + "src": "50263:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16275, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50263:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16278, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50277:2:13", + "nodeType": "VariableDeclaration", + "scope": 16295, + "src": "50272:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16277, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50272:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16280, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50286:2:13", + "nodeType": "VariableDeclaration", + "scope": 16295, + "src": "50281:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16279, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "50281:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "50253:36:13" + }, + "returnParameters": { + "id": 16282, + "nodeType": "ParameterList", + "parameters": [], + "src": "50304:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16318, + "nodeType": "FunctionDefinition", + "src": "50411:175:13", + "nodes": [], + "body": { + "id": 16317, + "nodeType": "Block", + "src": "50483:103:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729", + "id": 16309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50533:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15", + "typeString": "literal_string \"log(bool,bool,bool,string)\"" + }, + "value": "log(bool,bool,bool,string)" + }, + { + "id": 16310, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16297, + "src": "50563:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16311, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16299, + "src": "50567:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16312, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16301, + "src": "50571:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16313, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16303, + "src": "50575:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15", + "typeString": "literal_string \"log(bool,bool,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16307, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50509:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50513:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50509:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50509:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16306, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "50493:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50493:86:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16316, + "nodeType": "ExpressionStatement", + "src": "50493:86:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50420:3:13", + "parameters": { + "id": 16304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16297, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50429:2:13", + "nodeType": "VariableDeclaration", + "scope": 16318, + "src": "50424:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16296, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50424:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16299, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50438:2:13", + "nodeType": "VariableDeclaration", + "scope": 16318, + "src": "50433:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16298, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50433:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16301, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50447:2:13", + "nodeType": "VariableDeclaration", + "scope": 16318, + "src": "50442:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16300, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50442:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16303, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50465:2:13", + "nodeType": "VariableDeclaration", + "scope": 16318, + "src": "50451:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16302, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50451:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "50423:45:13" + }, + "returnParameters": { + "id": 16305, + "nodeType": "ParameterList", + "parameters": [], + "src": "50483:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16341, + "nodeType": "FunctionDefinition", + "src": "50592:164:13", + "nodes": [], + "body": { + "id": 16340, + "nodeType": "Block", + "src": "50655:101:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 16332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50705:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f", + "typeString": "literal_string \"log(bool,bool,bool,bool)\"" + }, + "value": "log(bool,bool,bool,bool)" + }, + { + "id": 16333, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16320, + "src": "50733:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16334, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16322, + "src": "50737:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16335, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16324, + "src": "50741:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16336, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16326, + "src": "50745:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f", + "typeString": "literal_string \"log(bool,bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16330, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50681:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16331, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50685:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50681:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50681:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16329, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "50665:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50665:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16339, + "nodeType": "ExpressionStatement", + "src": "50665:84:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50601:3:13", + "parameters": { + "id": 16327, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16320, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50610:2:13", + "nodeType": "VariableDeclaration", + "scope": 16341, + "src": "50605:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16319, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50605:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16322, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50619:2:13", + "nodeType": "VariableDeclaration", + "scope": 16341, + "src": "50614:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16321, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50614:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16324, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50628:2:13", + "nodeType": "VariableDeclaration", + "scope": 16341, + "src": "50623:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16323, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50623:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16326, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50637:2:13", + "nodeType": "VariableDeclaration", + "scope": 16341, + "src": "50632:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16325, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50632:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "50604:36:13" + }, + "returnParameters": { + "id": 16328, + "nodeType": "ParameterList", + "parameters": [], + "src": "50655:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16364, + "nodeType": "FunctionDefinition", + "src": "50762:170:13", + "nodes": [], + "body": { + "id": 16363, + "nodeType": "Block", + "src": "50828:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329", + "id": 16355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50878:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4", + "typeString": "literal_string \"log(bool,bool,bool,address)\"" + }, + "value": "log(bool,bool,bool,address)" + }, + { + "id": 16356, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16343, + "src": "50909:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16357, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16345, + "src": "50913:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16358, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16347, + "src": "50917:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16359, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16349, + "src": "50921:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4", + "typeString": "literal_string \"log(bool,bool,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16353, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50854:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50858:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50854:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50854:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16352, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "50838:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50838:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16362, + "nodeType": "ExpressionStatement", + "src": "50838:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50771:3:13", + "parameters": { + "id": 16350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16343, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50780:2:13", + "nodeType": "VariableDeclaration", + "scope": 16364, + "src": "50775:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16342, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50775:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16345, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50789:2:13", + "nodeType": "VariableDeclaration", + "scope": 16364, + "src": "50784:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16344, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50784:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16347, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50798:2:13", + "nodeType": "VariableDeclaration", + "scope": 16364, + "src": "50793:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16346, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50793:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16349, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50810:2:13", + "nodeType": "VariableDeclaration", + "scope": 16364, + "src": "50802:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16348, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50802:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "50774:39:13" + }, + "returnParameters": { + "id": 16351, + "nodeType": "ParameterList", + "parameters": [], + "src": "50828:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16387, + "nodeType": "FunctionDefinition", + "src": "50938:170:13", + "nodes": [], + "body": { + "id": 16386, + "nodeType": "Block", + "src": "51004:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7429", + "id": 16378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51054:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e", + "typeString": "literal_string \"log(bool,bool,address,uint)\"" + }, + "value": "log(bool,bool,address,uint)" + }, + { + "id": 16379, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16366, + "src": "51085:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16380, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16368, + "src": "51089:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16381, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16370, + "src": "51093:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16382, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16372, + "src": "51097:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e", + "typeString": "literal_string \"log(bool,bool,address,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16376, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51030:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51034:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51030:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51030:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16375, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "51014:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51014:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16385, + "nodeType": "ExpressionStatement", + "src": "51014:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50947:3:13", + "parameters": { + "id": 16373, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16366, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50956:2:13", + "nodeType": "VariableDeclaration", + "scope": 16387, + "src": "50951:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16365, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50951:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16368, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50965:2:13", + "nodeType": "VariableDeclaration", + "scope": 16387, + "src": "50960:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16367, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50960:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16370, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50977:2:13", + "nodeType": "VariableDeclaration", + "scope": 16387, + "src": "50969:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16369, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50969:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16372, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50986:2:13", + "nodeType": "VariableDeclaration", + "scope": 16387, + "src": "50981:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16371, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "50981:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "50950:39:13" + }, + "returnParameters": { + "id": 16374, + "nodeType": "ParameterList", + "parameters": [], + "src": "51004:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16410, + "nodeType": "FunctionDefinition", + "src": "51114:181:13", + "nodes": [], + "body": { + "id": 16409, + "nodeType": "Block", + "src": "51189:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729", + "id": 16401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51239:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2", + "typeString": "literal_string \"log(bool,bool,address,string)\"" + }, + "value": "log(bool,bool,address,string)" + }, + { + "id": 16402, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16389, + "src": "51272:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16403, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16391, + "src": "51276:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16404, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16393, + "src": "51280:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16405, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16395, + "src": "51284:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2", + "typeString": "literal_string \"log(bool,bool,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16399, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51215:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51219:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51215:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51215:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16398, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "51199:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51199:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16408, + "nodeType": "ExpressionStatement", + "src": "51199:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51123:3:13", + "parameters": { + "id": 16396, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16389, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51132:2:13", + "nodeType": "VariableDeclaration", + "scope": 16410, + "src": "51127:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16388, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51127:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16391, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51141:2:13", + "nodeType": "VariableDeclaration", + "scope": 16410, + "src": "51136:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16390, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51136:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16393, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51153:2:13", + "nodeType": "VariableDeclaration", + "scope": 16410, + "src": "51145:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16392, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51145:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16395, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51171:2:13", + "nodeType": "VariableDeclaration", + "scope": 16410, + "src": "51157:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16394, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51157:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "51126:48:13" + }, + "returnParameters": { + "id": 16397, + "nodeType": "ParameterList", + "parameters": [], + "src": "51189:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16433, + "nodeType": "FunctionDefinition", + "src": "51301:170:13", + "nodes": [], + "body": { + "id": 16432, + "nodeType": "Block", + "src": "51367:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29", + "id": 16424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51417:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf", + "typeString": "literal_string \"log(bool,bool,address,bool)\"" + }, + "value": "log(bool,bool,address,bool)" + }, + { + "id": 16425, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16412, + "src": "51448:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16426, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16414, + "src": "51452:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16427, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16416, + "src": "51456:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16428, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16418, + "src": "51460:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf", + "typeString": "literal_string \"log(bool,bool,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16422, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51393:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51397:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51393:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51393:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16421, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "51377:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51377:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16431, + "nodeType": "ExpressionStatement", + "src": "51377:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51310:3:13", + "parameters": { + "id": 16419, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16412, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51319:2:13", + "nodeType": "VariableDeclaration", + "scope": 16433, + "src": "51314:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16411, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51314:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16414, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51328:2:13", + "nodeType": "VariableDeclaration", + "scope": 16433, + "src": "51323:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16413, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51323:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16416, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51340:2:13", + "nodeType": "VariableDeclaration", + "scope": 16433, + "src": "51332:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16415, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51332:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16418, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51349:2:13", + "nodeType": "VariableDeclaration", + "scope": 16433, + "src": "51344:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16417, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51344:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "51313:39:13" + }, + "returnParameters": { + "id": 16420, + "nodeType": "ParameterList", + "parameters": [], + "src": "51367:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16456, + "nodeType": "FunctionDefinition", + "src": "51477:176:13", + "nodes": [], + "body": { + "id": 16455, + "nodeType": "Block", + "src": "51546:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329", + "id": 16447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51596:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4", + "typeString": "literal_string \"log(bool,bool,address,address)\"" + }, + "value": "log(bool,bool,address,address)" + }, + { + "id": 16448, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16435, + "src": "51630:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16449, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16437, + "src": "51634:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16450, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16439, + "src": "51638:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16451, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16441, + "src": "51642:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4", + "typeString": "literal_string \"log(bool,bool,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16445, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51572:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51576:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51572:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51572:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16444, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "51556:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51556:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16454, + "nodeType": "ExpressionStatement", + "src": "51556:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51486:3:13", + "parameters": { + "id": 16442, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16435, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51495:2:13", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "51490:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16434, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51490:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16437, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51504:2:13", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "51499:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16436, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51499:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16439, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51516:2:13", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "51508:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51508:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16441, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51528:2:13", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "51520:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16440, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51520:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "51489:42:13" + }, + "returnParameters": { + "id": 16443, + "nodeType": "ParameterList", + "parameters": [], + "src": "51546:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16479, + "nodeType": "FunctionDefinition", + "src": "51659:170:13", + "nodes": [], + "body": { + "id": 16478, + "nodeType": "Block", + "src": "51725:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c75696e7429", + "id": 16470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51775:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df", + "typeString": "literal_string \"log(bool,address,uint,uint)\"" + }, + "value": "log(bool,address,uint,uint)" + }, + { + "id": 16471, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16458, + "src": "51806:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16472, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16460, + "src": "51810:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16473, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16462, + "src": "51814:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16474, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16464, + "src": "51818:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df", + "typeString": "literal_string \"log(bool,address,uint,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16468, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51751:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51755:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51751:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51751:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16467, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "51735:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51735:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16477, + "nodeType": "ExpressionStatement", + "src": "51735:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51668:3:13", + "parameters": { + "id": 16465, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16458, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51677:2:13", + "nodeType": "VariableDeclaration", + "scope": 16479, + "src": "51672:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16457, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51672:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16460, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51689:2:13", + "nodeType": "VariableDeclaration", + "scope": 16479, + "src": "51681:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16459, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51681:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16462, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51698:2:13", + "nodeType": "VariableDeclaration", + "scope": 16479, + "src": "51693:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16461, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51693:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16464, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51707:2:13", + "nodeType": "VariableDeclaration", + "scope": 16479, + "src": "51702:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16463, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51702:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "51671:39:13" + }, + "returnParameters": { + "id": 16466, + "nodeType": "ParameterList", + "parameters": [], + "src": "51725:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16502, + "nodeType": "FunctionDefinition", + "src": "51835:181:13", + "nodes": [], + "body": { + "id": 16501, + "nodeType": "Block", + "src": "51910:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c737472696e6729", + "id": 16493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51960:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45", + "typeString": "literal_string \"log(bool,address,uint,string)\"" + }, + "value": "log(bool,address,uint,string)" + }, + { + "id": 16494, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "51993:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16495, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16483, + "src": "51997:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16496, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "52001:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16497, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16487, + "src": "52005:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45", + "typeString": "literal_string \"log(bool,address,uint,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16491, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51936:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51940:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51936:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51936:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16490, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "51920:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51920:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16500, + "nodeType": "ExpressionStatement", + "src": "51920:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51844:3:13", + "parameters": { + "id": 16488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16481, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51853:2:13", + "nodeType": "VariableDeclaration", + "scope": 16502, + "src": "51848:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16480, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51848:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16483, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51865:2:13", + "nodeType": "VariableDeclaration", + "scope": 16502, + "src": "51857:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16482, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51857:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16485, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51874:2:13", + "nodeType": "VariableDeclaration", + "scope": 16502, + "src": "51869:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16484, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51869:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16487, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51892:2:13", + "nodeType": "VariableDeclaration", + "scope": 16502, + "src": "51878:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16486, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51878:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "51847:48:13" + }, + "returnParameters": { + "id": 16489, + "nodeType": "ParameterList", + "parameters": [], + "src": "51910:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16525, + "nodeType": "FunctionDefinition", + "src": "52022:170:13", + "nodes": [], + "body": { + "id": 16524, + "nodeType": "Block", + "src": "52088:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c626f6f6c29", + "id": 16516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52138:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f", + "typeString": "literal_string \"log(bool,address,uint,bool)\"" + }, + "value": "log(bool,address,uint,bool)" + }, + { + "id": 16517, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16504, + "src": "52169:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16518, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16506, + "src": "52173:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16519, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16508, + "src": "52177:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16520, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16510, + "src": "52181:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f", + "typeString": "literal_string \"log(bool,address,uint,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16514, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52114:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52118:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52114:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52114:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16513, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "52098:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52098:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16523, + "nodeType": "ExpressionStatement", + "src": "52098:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52031:3:13", + "parameters": { + "id": 16511, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16504, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52040:2:13", + "nodeType": "VariableDeclaration", + "scope": 16525, + "src": "52035:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16503, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52035:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16506, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52052:2:13", + "nodeType": "VariableDeclaration", + "scope": 16525, + "src": "52044:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16505, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52044:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16508, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52061:2:13", + "nodeType": "VariableDeclaration", + "scope": 16525, + "src": "52056:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16507, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52056:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16510, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52070:2:13", + "nodeType": "VariableDeclaration", + "scope": 16525, + "src": "52065:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16509, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52065:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "52034:39:13" + }, + "returnParameters": { + "id": 16512, + "nodeType": "ParameterList", + "parameters": [], + "src": "52088:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16548, + "nodeType": "FunctionDefinition", + "src": "52198:176:13", + "nodes": [], + "body": { + "id": 16547, + "nodeType": "Block", + "src": "52267:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c6164647265737329", + "id": 16539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52317:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687", + "typeString": "literal_string \"log(bool,address,uint,address)\"" + }, + "value": "log(bool,address,uint,address)" + }, + { + "id": 16540, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16527, + "src": "52351:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16541, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16529, + "src": "52355:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16542, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16531, + "src": "52359:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16543, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16533, + "src": "52363:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687", + "typeString": "literal_string \"log(bool,address,uint,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16537, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52293:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52297:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52293:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52293:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16536, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "52277:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52277:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16546, + "nodeType": "ExpressionStatement", + "src": "52277:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52207:3:13", + "parameters": { + "id": 16534, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16527, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52216:2:13", + "nodeType": "VariableDeclaration", + "scope": 16548, + "src": "52211:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16526, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52211:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16529, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52228:2:13", + "nodeType": "VariableDeclaration", + "scope": 16548, + "src": "52220:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16528, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52220:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16531, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52237:2:13", + "nodeType": "VariableDeclaration", + "scope": 16548, + "src": "52232:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16530, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52232:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16533, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52249:2:13", + "nodeType": "VariableDeclaration", + "scope": 16548, + "src": "52241:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16532, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52241:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "52210:42:13" + }, + "returnParameters": { + "id": 16535, + "nodeType": "ParameterList", + "parameters": [], + "src": "52267:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16571, + "nodeType": "FunctionDefinition", + "src": "52380:181:13", + "nodes": [], + "body": { + "id": 16570, + "nodeType": "Block", + "src": "52455:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7429", + "id": 16562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52505:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e", + "typeString": "literal_string \"log(bool,address,string,uint)\"" + }, + "value": "log(bool,address,string,uint)" + }, + { + "id": 16563, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16550, + "src": "52538:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16564, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16552, + "src": "52542:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16565, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16554, + "src": "52546:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16566, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16556, + "src": "52550:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e", + "typeString": "literal_string \"log(bool,address,string,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16560, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52481:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52485:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52481:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52481:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16559, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "52465:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52465:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16569, + "nodeType": "ExpressionStatement", + "src": "52465:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52389:3:13", + "parameters": { + "id": 16557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16550, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52398:2:13", + "nodeType": "VariableDeclaration", + "scope": 16571, + "src": "52393:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16549, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52393:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16552, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52410:2:13", + "nodeType": "VariableDeclaration", + "scope": 16571, + "src": "52402:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16551, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52402:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16554, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52428:2:13", + "nodeType": "VariableDeclaration", + "scope": 16571, + "src": "52414:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16553, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52414:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16556, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52437:2:13", + "nodeType": "VariableDeclaration", + "scope": 16571, + "src": "52432:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16555, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52432:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "52392:48:13" + }, + "returnParameters": { + "id": 16558, + "nodeType": "ParameterList", + "parameters": [], + "src": "52455:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16594, + "nodeType": "FunctionDefinition", + "src": "52567:192:13", + "nodes": [], + "body": { + "id": 16593, + "nodeType": "Block", + "src": "52651:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729", + "id": 16585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52701:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d", + "typeString": "literal_string \"log(bool,address,string,string)\"" + }, + "value": "log(bool,address,string,string)" + }, + { + "id": 16586, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16573, + "src": "52736:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16587, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16575, + "src": "52740:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16588, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16577, + "src": "52744:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16589, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16579, + "src": "52748:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d", + "typeString": "literal_string \"log(bool,address,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16583, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52677:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52681:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52677:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52677:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16582, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "52661:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52661:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16592, + "nodeType": "ExpressionStatement", + "src": "52661:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52576:3:13", + "parameters": { + "id": 16580, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16573, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52585:2:13", + "nodeType": "VariableDeclaration", + "scope": 16594, + "src": "52580:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16572, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52580:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16575, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52597:2:13", + "nodeType": "VariableDeclaration", + "scope": 16594, + "src": "52589:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16574, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52589:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16577, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52615:2:13", + "nodeType": "VariableDeclaration", + "scope": 16594, + "src": "52601:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16576, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52601:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16579, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52633:2:13", + "nodeType": "VariableDeclaration", + "scope": 16594, + "src": "52619:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16578, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52619:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "52579:57:13" + }, + "returnParameters": { + "id": 16581, + "nodeType": "ParameterList", + "parameters": [], + "src": "52651:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16617, + "nodeType": "FunctionDefinition", + "src": "52765:181:13", + "nodes": [], + "body": { + "id": 16616, + "nodeType": "Block", + "src": "52840:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29", + "id": 16608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52890:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc", + "typeString": "literal_string \"log(bool,address,string,bool)\"" + }, + "value": "log(bool,address,string,bool)" + }, + { + "id": 16609, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16596, + "src": "52923:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16610, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16598, + "src": "52927:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16611, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16600, + "src": "52931:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16612, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16602, + "src": "52935:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc", + "typeString": "literal_string \"log(bool,address,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16606, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52866:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52870:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52866:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52866:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16605, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "52850:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52850:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16615, + "nodeType": "ExpressionStatement", + "src": "52850:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52774:3:13", + "parameters": { + "id": 16603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16596, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52783:2:13", + "nodeType": "VariableDeclaration", + "scope": 16617, + "src": "52778:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16595, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52778:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16598, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52795:2:13", + "nodeType": "VariableDeclaration", + "scope": 16617, + "src": "52787:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16597, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52787:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16600, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52813:2:13", + "nodeType": "VariableDeclaration", + "scope": 16617, + "src": "52799:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16599, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52799:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16602, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52822:2:13", + "nodeType": "VariableDeclaration", + "scope": 16617, + "src": "52817:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16601, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52817:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "52777:48:13" + }, + "returnParameters": { + "id": 16604, + "nodeType": "ParameterList", + "parameters": [], + "src": "52840:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16640, + "nodeType": "FunctionDefinition", + "src": "52952:187:13", + "nodes": [], + "body": { + "id": 16639, + "nodeType": "Block", + "src": "53030:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329", + "id": 16631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53080:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654", + "typeString": "literal_string \"log(bool,address,string,address)\"" + }, + "value": "log(bool,address,string,address)" + }, + { + "id": 16632, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16619, + "src": "53116:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16633, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16621, + "src": "53120:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16634, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16623, + "src": "53124:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16635, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16625, + "src": "53128:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654", + "typeString": "literal_string \"log(bool,address,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16629, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53056:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53060:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53056:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53056:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16628, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "53040:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53040:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16638, + "nodeType": "ExpressionStatement", + "src": "53040:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52961:3:13", + "parameters": { + "id": 16626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16619, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52970:2:13", + "nodeType": "VariableDeclaration", + "scope": 16640, + "src": "52965:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16618, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52965:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16621, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52982:2:13", + "nodeType": "VariableDeclaration", + "scope": 16640, + "src": "52974:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52974:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16623, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53000:2:13", + "nodeType": "VariableDeclaration", + "scope": 16640, + "src": "52986:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16622, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52986:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16625, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53012:2:13", + "nodeType": "VariableDeclaration", + "scope": 16640, + "src": "53004:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53004:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "52964:51:13" + }, + "returnParameters": { + "id": 16627, + "nodeType": "ParameterList", + "parameters": [], + "src": "53030:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16663, + "nodeType": "FunctionDefinition", + "src": "53145:170:13", + "nodes": [], + "body": { + "id": 16662, + "nodeType": "Block", + "src": "53211:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7429", + "id": 16654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53261:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9", + "typeString": "literal_string \"log(bool,address,bool,uint)\"" + }, + "value": "log(bool,address,bool,uint)" + }, + { + "id": 16655, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16642, + "src": "53292:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16656, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16644, + "src": "53296:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16657, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16646, + "src": "53300:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16658, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16648, + "src": "53304:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9", + "typeString": "literal_string \"log(bool,address,bool,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16652, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53237:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53241:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53237:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53237:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16651, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "53221:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53221:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16661, + "nodeType": "ExpressionStatement", + "src": "53221:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53154:3:13", + "parameters": { + "id": 16649, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16642, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53163:2:13", + "nodeType": "VariableDeclaration", + "scope": 16663, + "src": "53158:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16641, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53158:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16644, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53175:2:13", + "nodeType": "VariableDeclaration", + "scope": 16663, + "src": "53167:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16643, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53167:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16646, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53184:2:13", + "nodeType": "VariableDeclaration", + "scope": 16663, + "src": "53179:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16645, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53179:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16648, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53193:2:13", + "nodeType": "VariableDeclaration", + "scope": 16663, + "src": "53188:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16647, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "53188:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "53157:39:13" + }, + "returnParameters": { + "id": 16650, + "nodeType": "ParameterList", + "parameters": [], + "src": "53211:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16686, + "nodeType": "FunctionDefinition", + "src": "53321:181:13", + "nodes": [], + "body": { + "id": 16685, + "nodeType": "Block", + "src": "53396:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729", + "id": 16677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53446:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59", + "typeString": "literal_string \"log(bool,address,bool,string)\"" + }, + "value": "log(bool,address,bool,string)" + }, + { + "id": 16678, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16665, + "src": "53479:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16679, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16667, + "src": "53483:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16680, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16669, + "src": "53487:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16681, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16671, + "src": "53491:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59", + "typeString": "literal_string \"log(bool,address,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16675, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53422:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53426:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53422:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53422:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16674, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "53406:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53406:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16684, + "nodeType": "ExpressionStatement", + "src": "53406:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53330:3:13", + "parameters": { + "id": 16672, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16665, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53339:2:13", + "nodeType": "VariableDeclaration", + "scope": 16686, + "src": "53334:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16664, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53334:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16667, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53351:2:13", + "nodeType": "VariableDeclaration", + "scope": 16686, + "src": "53343:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16666, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53343:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16669, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53360:2:13", + "nodeType": "VariableDeclaration", + "scope": 16686, + "src": "53355:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16668, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53355:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16671, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53378:2:13", + "nodeType": "VariableDeclaration", + "scope": 16686, + "src": "53364:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16670, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "53364:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "53333:48:13" + }, + "returnParameters": { + "id": 16673, + "nodeType": "ParameterList", + "parameters": [], + "src": "53396:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16709, + "nodeType": "FunctionDefinition", + "src": "53508:170:13", + "nodes": [], + "body": { + "id": 16708, + "nodeType": "Block", + "src": "53574:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29", + "id": 16700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53624:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577", + "typeString": "literal_string \"log(bool,address,bool,bool)\"" + }, + "value": "log(bool,address,bool,bool)" + }, + { + "id": 16701, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16688, + "src": "53655:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16702, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16690, + "src": "53659:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16703, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16692, + "src": "53663:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16704, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16694, + "src": "53667:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577", + "typeString": "literal_string \"log(bool,address,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16698, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53600:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53604:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53600:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53600:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16697, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "53584:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53584:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16707, + "nodeType": "ExpressionStatement", + "src": "53584:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53517:3:13", + "parameters": { + "id": 16695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16688, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53526:2:13", + "nodeType": "VariableDeclaration", + "scope": 16709, + "src": "53521:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16687, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53521:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16690, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53538:2:13", + "nodeType": "VariableDeclaration", + "scope": 16709, + "src": "53530:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16689, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53530:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16692, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53547:2:13", + "nodeType": "VariableDeclaration", + "scope": 16709, + "src": "53542:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16691, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53542:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16694, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53556:2:13", + "nodeType": "VariableDeclaration", + "scope": 16709, + "src": "53551:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16693, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53551:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "53520:39:13" + }, + "returnParameters": { + "id": 16696, + "nodeType": "ParameterList", + "parameters": [], + "src": "53574:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16732, + "nodeType": "FunctionDefinition", + "src": "53684:176:13", + "nodes": [], + "body": { + "id": 16731, + "nodeType": "Block", + "src": "53753:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329", + "id": 16723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53803:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870", + "typeString": "literal_string \"log(bool,address,bool,address)\"" + }, + "value": "log(bool,address,bool,address)" + }, + { + "id": 16724, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16711, + "src": "53837:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16725, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16713, + "src": "53841:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16726, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16715, + "src": "53845:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16727, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16717, + "src": "53849:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870", + "typeString": "literal_string \"log(bool,address,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16721, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53779:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53783:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53779:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53779:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16720, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "53763:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53763:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16730, + "nodeType": "ExpressionStatement", + "src": "53763:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53693:3:13", + "parameters": { + "id": 16718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16711, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53702:2:13", + "nodeType": "VariableDeclaration", + "scope": 16732, + "src": "53697:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16710, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53697:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16713, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53714:2:13", + "nodeType": "VariableDeclaration", + "scope": 16732, + "src": "53706:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16712, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53706:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16715, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53723:2:13", + "nodeType": "VariableDeclaration", + "scope": 16732, + "src": "53718:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16714, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53718:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16717, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53735:2:13", + "nodeType": "VariableDeclaration", + "scope": 16732, + "src": "53727:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16716, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53727:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "53696:42:13" + }, + "returnParameters": { + "id": 16719, + "nodeType": "ParameterList", + "parameters": [], + "src": "53753:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16755, + "nodeType": "FunctionDefinition", + "src": "53866:176:13", + "nodes": [], + "body": { + "id": 16754, + "nodeType": "Block", + "src": "53935:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7429", + "id": 16746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53985:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7", + "typeString": "literal_string \"log(bool,address,address,uint)\"" + }, + "value": "log(bool,address,address,uint)" + }, + { + "id": 16747, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16734, + "src": "54019:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16748, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16736, + "src": "54023:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16749, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16738, + "src": "54027:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16750, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16740, + "src": "54031:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7", + "typeString": "literal_string \"log(bool,address,address,uint)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16744, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53961:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53965:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53961:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53961:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16743, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "53945:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53945:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16753, + "nodeType": "ExpressionStatement", + "src": "53945:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53875:3:13", + "parameters": { + "id": 16741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16734, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53884:2:13", + "nodeType": "VariableDeclaration", + "scope": 16755, + "src": "53879:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16733, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53879:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16736, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53896:2:13", + "nodeType": "VariableDeclaration", + "scope": 16755, + "src": "53888:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16735, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53888:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16738, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53908:2:13", + "nodeType": "VariableDeclaration", + "scope": 16755, + "src": "53900:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16737, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53900:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16740, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53917:2:13", + "nodeType": "VariableDeclaration", + "scope": 16755, + "src": "53912:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16739, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "53912:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "53878:42:13" + }, + "returnParameters": { + "id": 16742, + "nodeType": "ParameterList", + "parameters": [], + "src": "53935:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16778, + "nodeType": "FunctionDefinition", + "src": "54048:187:13", + "nodes": [], + "body": { + "id": 16777, + "nodeType": "Block", + "src": "54126:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729", + "id": 16769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54176:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432", + "typeString": "literal_string \"log(bool,address,address,string)\"" + }, + "value": "log(bool,address,address,string)" + }, + { + "id": 16770, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16757, + "src": "54212:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16771, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16759, + "src": "54216:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16772, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16761, + "src": "54220:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16773, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16763, + "src": "54224:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432", + "typeString": "literal_string \"log(bool,address,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16767, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54152:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54156:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54152:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54152:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16766, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "54136:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54136:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16776, + "nodeType": "ExpressionStatement", + "src": "54136:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54057:3:13", + "parameters": { + "id": 16764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16757, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54066:2:13", + "nodeType": "VariableDeclaration", + "scope": 16778, + "src": "54061:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16756, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54061:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16759, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54078:2:13", + "nodeType": "VariableDeclaration", + "scope": 16778, + "src": "54070:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54070:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16761, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54090:2:13", + "nodeType": "VariableDeclaration", + "scope": 16778, + "src": "54082:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54082:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16763, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54108:2:13", + "nodeType": "VariableDeclaration", + "scope": 16778, + "src": "54094:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16762, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54094:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "54060:51:13" + }, + "returnParameters": { + "id": 16765, + "nodeType": "ParameterList", + "parameters": [], + "src": "54126:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16801, + "nodeType": "FunctionDefinition", + "src": "54241:176:13", + "nodes": [], + "body": { + "id": 16800, + "nodeType": "Block", + "src": "54310:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29", + "id": 16792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54360:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e", + "typeString": "literal_string \"log(bool,address,address,bool)\"" + }, + "value": "log(bool,address,address,bool)" + }, + { + "id": 16793, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16780, + "src": "54394:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16794, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16782, + "src": "54398:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16795, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16784, + "src": "54402:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16796, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16786, + "src": "54406:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e", + "typeString": "literal_string \"log(bool,address,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16790, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54336:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54340:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54336:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54336:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16789, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "54320:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54320:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16799, + "nodeType": "ExpressionStatement", + "src": "54320:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54250:3:13", + "parameters": { + "id": 16787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16780, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54259:2:13", + "nodeType": "VariableDeclaration", + "scope": 16801, + "src": "54254:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16779, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54254:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16782, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54271:2:13", + "nodeType": "VariableDeclaration", + "scope": 16801, + "src": "54263:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16781, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54263:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16784, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54283:2:13", + "nodeType": "VariableDeclaration", + "scope": 16801, + "src": "54275:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16783, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54275:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16786, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54292:2:13", + "nodeType": "VariableDeclaration", + "scope": 16801, + "src": "54287:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16785, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54287:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "54253:42:13" + }, + "returnParameters": { + "id": 16788, + "nodeType": "ParameterList", + "parameters": [], + "src": "54310:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16824, + "nodeType": "FunctionDefinition", + "src": "54423:182:13", + "nodes": [], + "body": { + "id": 16823, + "nodeType": "Block", + "src": "54495:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329", + "id": 16815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54545:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123", + "typeString": "literal_string \"log(bool,address,address,address)\"" + }, + "value": "log(bool,address,address,address)" + }, + { + "id": 16816, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16803, + "src": "54582:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 16817, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16805, + "src": "54586:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16818, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16807, + "src": "54590:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16819, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16809, + "src": "54594:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123", + "typeString": "literal_string \"log(bool,address,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16813, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54521:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54525:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54521:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54521:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16812, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "54505:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54505:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16822, + "nodeType": "ExpressionStatement", + "src": "54505:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54432:3:13", + "parameters": { + "id": 16810, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16803, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54441:2:13", + "nodeType": "VariableDeclaration", + "scope": 16824, + "src": "54436:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16802, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54436:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16805, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54453:2:13", + "nodeType": "VariableDeclaration", + "scope": 16824, + "src": "54445:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54445:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16807, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54465:2:13", + "nodeType": "VariableDeclaration", + "scope": 16824, + "src": "54457:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16806, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54457:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16809, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54477:2:13", + "nodeType": "VariableDeclaration", + "scope": 16824, + "src": "54469:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54469:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "54435:45:13" + }, + "returnParameters": { + "id": 16811, + "nodeType": "ParameterList", + "parameters": [], + "src": "54495:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16847, + "nodeType": "FunctionDefinition", + "src": "54611:170:13", + "nodes": [], + "body": { + "id": 16846, + "nodeType": "Block", + "src": "54677:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e742c75696e7429", + "id": 16838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54727:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1", + "typeString": "literal_string \"log(address,uint,uint,uint)\"" + }, + "value": "log(address,uint,uint,uint)" + }, + { + "id": 16839, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16826, + "src": "54758:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16840, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16828, + "src": "54762:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16841, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16830, + "src": "54766:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16842, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16832, + "src": "54770:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1", + "typeString": "literal_string \"log(address,uint,uint,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16836, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54703:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54707:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54703:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54703:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16835, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "54687:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54687:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16845, + "nodeType": "ExpressionStatement", + "src": "54687:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54620:3:13", + "parameters": { + "id": 16833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16826, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54632:2:13", + "nodeType": "VariableDeclaration", + "scope": 16847, + "src": "54624:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16825, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54624:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16828, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54641:2:13", + "nodeType": "VariableDeclaration", + "scope": 16847, + "src": "54636:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16827, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "54636:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16830, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54650:2:13", + "nodeType": "VariableDeclaration", + "scope": 16847, + "src": "54645:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16829, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "54645:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16832, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54659:2:13", + "nodeType": "VariableDeclaration", + "scope": 16847, + "src": "54654:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16831, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "54654:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "54623:39:13" + }, + "returnParameters": { + "id": 16834, + "nodeType": "ParameterList", + "parameters": [], + "src": "54677:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16870, + "nodeType": "FunctionDefinition", + "src": "54787:181:13", + "nodes": [], + "body": { + "id": 16869, + "nodeType": "Block", + "src": "54862:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e742c737472696e6729", + "id": 16861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54912:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3", + "typeString": "literal_string \"log(address,uint,uint,string)\"" + }, + "value": "log(address,uint,uint,string)" + }, + { + "id": 16862, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16849, + "src": "54945:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16863, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16851, + "src": "54949:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16864, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16853, + "src": "54953:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16865, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16855, + "src": "54957:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3", + "typeString": "literal_string \"log(address,uint,uint,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16859, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54888:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54892:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54888:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54888:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16858, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "54872:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54872:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16868, + "nodeType": "ExpressionStatement", + "src": "54872:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54796:3:13", + "parameters": { + "id": 16856, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16849, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54808:2:13", + "nodeType": "VariableDeclaration", + "scope": 16870, + "src": "54800:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16848, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54800:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16851, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54817:2:13", + "nodeType": "VariableDeclaration", + "scope": 16870, + "src": "54812:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16850, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "54812:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16853, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54826:2:13", + "nodeType": "VariableDeclaration", + "scope": 16870, + "src": "54821:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16852, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "54821:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16855, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54844:2:13", + "nodeType": "VariableDeclaration", + "scope": 16870, + "src": "54830:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16854, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54830:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "54799:48:13" + }, + "returnParameters": { + "id": 16857, + "nodeType": "ParameterList", + "parameters": [], + "src": "54862:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16893, + "nodeType": "FunctionDefinition", + "src": "54974:170:13", + "nodes": [], + "body": { + "id": 16892, + "nodeType": "Block", + "src": "55040:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e742c626f6f6c29", + "id": 16884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55090:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393", + "typeString": "literal_string \"log(address,uint,uint,bool)\"" + }, + "value": "log(address,uint,uint,bool)" + }, + { + "id": 16885, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16872, + "src": "55121:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16886, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16874, + "src": "55125:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16887, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16876, + "src": "55129:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16888, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16878, + "src": "55133:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393", + "typeString": "literal_string \"log(address,uint,uint,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16882, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55066:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55070:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55066:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55066:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16881, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "55050:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55050:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16891, + "nodeType": "ExpressionStatement", + "src": "55050:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54983:3:13", + "parameters": { + "id": 16879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16872, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54995:2:13", + "nodeType": "VariableDeclaration", + "scope": 16893, + "src": "54987:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54987:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16874, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55004:2:13", + "nodeType": "VariableDeclaration", + "scope": 16893, + "src": "54999:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16873, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "54999:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16876, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55013:2:13", + "nodeType": "VariableDeclaration", + "scope": 16893, + "src": "55008:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16875, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55008:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16878, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55022:2:13", + "nodeType": "VariableDeclaration", + "scope": 16893, + "src": "55017:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16877, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55017:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "54986:39:13" + }, + "returnParameters": { + "id": 16880, + "nodeType": "ParameterList", + "parameters": [], + "src": "55040:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16916, + "nodeType": "FunctionDefinition", + "src": "55150:176:13", + "nodes": [], + "body": { + "id": 16915, + "nodeType": "Block", + "src": "55219:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e742c6164647265737329", + "id": 16907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55269:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957", + "typeString": "literal_string \"log(address,uint,uint,address)\"" + }, + "value": "log(address,uint,uint,address)" + }, + { + "id": 16908, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16895, + "src": "55303:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16909, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16897, + "src": "55307:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16910, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16899, + "src": "55311:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16911, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16901, + "src": "55315:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957", + "typeString": "literal_string \"log(address,uint,uint,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16905, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55245:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55249:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55245:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55245:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16904, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "55229:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55229:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16914, + "nodeType": "ExpressionStatement", + "src": "55229:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55159:3:13", + "parameters": { + "id": 16902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16895, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55171:2:13", + "nodeType": "VariableDeclaration", + "scope": 16916, + "src": "55163:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16894, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55163:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16897, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55180:2:13", + "nodeType": "VariableDeclaration", + "scope": 16916, + "src": "55175:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16896, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55175:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16899, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55189:2:13", + "nodeType": "VariableDeclaration", + "scope": 16916, + "src": "55184:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16898, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55184:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16901, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55201:2:13", + "nodeType": "VariableDeclaration", + "scope": 16916, + "src": "55193:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55193:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "55162:42:13" + }, + "returnParameters": { + "id": 16903, + "nodeType": "ParameterList", + "parameters": [], + "src": "55219:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16939, + "nodeType": "FunctionDefinition", + "src": "55332:181:13", + "nodes": [], + "body": { + "id": 16938, + "nodeType": "Block", + "src": "55407:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c75696e7429", + "id": 16930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55457:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b", + "typeString": "literal_string \"log(address,uint,string,uint)\"" + }, + "value": "log(address,uint,string,uint)" + }, + { + "id": 16931, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16918, + "src": "55490:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16932, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16920, + "src": "55494:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16933, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16922, + "src": "55498:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16934, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16924, + "src": "55502:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b", + "typeString": "literal_string \"log(address,uint,string,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 16928, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55433:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55437:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55433:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55433:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16927, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "55417:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55417:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16937, + "nodeType": "ExpressionStatement", + "src": "55417:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55341:3:13", + "parameters": { + "id": 16925, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16918, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55353:2:13", + "nodeType": "VariableDeclaration", + "scope": 16939, + "src": "55345:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16917, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55345:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16920, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55362:2:13", + "nodeType": "VariableDeclaration", + "scope": 16939, + "src": "55357:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16919, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55357:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16922, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55380:2:13", + "nodeType": "VariableDeclaration", + "scope": 16939, + "src": "55366:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16921, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55366:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16924, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55389:2:13", + "nodeType": "VariableDeclaration", + "scope": 16939, + "src": "55384:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16923, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55384:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "55344:48:13" + }, + "returnParameters": { + "id": 16926, + "nodeType": "ParameterList", + "parameters": [], + "src": "55407:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16962, + "nodeType": "FunctionDefinition", + "src": "55519:192:13", + "nodes": [], + "body": { + "id": 16961, + "nodeType": "Block", + "src": "55603:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c737472696e6729", + "id": 16953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55653:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0", + "typeString": "literal_string \"log(address,uint,string,string)\"" + }, + "value": "log(address,uint,string,string)" + }, + { + "id": 16954, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16941, + "src": "55688:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16955, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16943, + "src": "55692:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16956, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16945, + "src": "55696:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16957, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16947, + "src": "55700:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0", + "typeString": "literal_string \"log(address,uint,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 16951, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55629:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55633:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55629:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55629:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16950, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "55613:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55613:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16960, + "nodeType": "ExpressionStatement", + "src": "55613:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55528:3:13", + "parameters": { + "id": 16948, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16941, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55540:2:13", + "nodeType": "VariableDeclaration", + "scope": 16962, + "src": "55532:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55532:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16943, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55549:2:13", + "nodeType": "VariableDeclaration", + "scope": 16962, + "src": "55544:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16942, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55544:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16945, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55567:2:13", + "nodeType": "VariableDeclaration", + "scope": 16962, + "src": "55553:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16944, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55553:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16947, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55585:2:13", + "nodeType": "VariableDeclaration", + "scope": 16962, + "src": "55571:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16946, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55571:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "55531:57:13" + }, + "returnParameters": { + "id": 16949, + "nodeType": "ParameterList", + "parameters": [], + "src": "55603:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 16985, + "nodeType": "FunctionDefinition", + "src": "55717:181:13", + "nodes": [], + "body": { + "id": 16984, + "nodeType": "Block", + "src": "55792:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c626f6f6c29", + "id": 16976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55842:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a", + "typeString": "literal_string \"log(address,uint,string,bool)\"" + }, + "value": "log(address,uint,string,bool)" + }, + { + "id": 16977, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16964, + "src": "55875:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 16978, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16966, + "src": "55879:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 16979, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16968, + "src": "55883:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 16980, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16970, + "src": "55887:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a", + "typeString": "literal_string \"log(address,uint,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 16974, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55818:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55822:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55818:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 16981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55818:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16973, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "55802:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 16982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55802:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16983, + "nodeType": "ExpressionStatement", + "src": "55802:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55726:3:13", + "parameters": { + "id": 16971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16964, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55738:2:13", + "nodeType": "VariableDeclaration", + "scope": 16985, + "src": "55730:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16963, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55730:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16966, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55747:2:13", + "nodeType": "VariableDeclaration", + "scope": 16985, + "src": "55742:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16965, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55742:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16968, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55765:2:13", + "nodeType": "VariableDeclaration", + "scope": 16985, + "src": "55751:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16967, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55751:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16970, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55774:2:13", + "nodeType": "VariableDeclaration", + "scope": 16985, + "src": "55769:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16969, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55769:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "55729:48:13" + }, + "returnParameters": { + "id": 16972, + "nodeType": "ParameterList", + "parameters": [], + "src": "55792:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17008, + "nodeType": "FunctionDefinition", + "src": "55904:187:13", + "nodes": [], + "body": { + "id": 17007, + "nodeType": "Block", + "src": "55982:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c6164647265737329", + "id": 16999, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56032:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809", + "typeString": "literal_string \"log(address,uint,string,address)\"" + }, + "value": "log(address,uint,string,address)" + }, + { + "id": 17000, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16987, + "src": "56068:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17001, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16989, + "src": "56072:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17002, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16991, + "src": "56076:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17003, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16993, + "src": "56080:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809", + "typeString": "literal_string \"log(address,uint,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 16997, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56008:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 16998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56012:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56008:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56008:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 16996, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "55992:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55992:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17006, + "nodeType": "ExpressionStatement", + "src": "55992:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55913:3:13", + "parameters": { + "id": 16994, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16987, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55925:2:13", + "nodeType": "VariableDeclaration", + "scope": 17008, + "src": "55917:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16986, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55917:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16989, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55934:2:13", + "nodeType": "VariableDeclaration", + "scope": 17008, + "src": "55929:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16988, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55929:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16991, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55952:2:13", + "nodeType": "VariableDeclaration", + "scope": 17008, + "src": "55938:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 16990, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55938:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 16993, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55964:2:13", + "nodeType": "VariableDeclaration", + "scope": 17008, + "src": "55956:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16992, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55956:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "55916:51:13" + }, + "returnParameters": { + "id": 16995, + "nodeType": "ParameterList", + "parameters": [], + "src": "55982:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17031, + "nodeType": "FunctionDefinition", + "src": "56097:170:13", + "nodes": [], + "body": { + "id": 17030, + "nodeType": "Block", + "src": "56163:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c75696e7429", + "id": 17022, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56213:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2", + "typeString": "literal_string \"log(address,uint,bool,uint)\"" + }, + "value": "log(address,uint,bool,uint)" + }, + { + "id": 17023, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17010, + "src": "56244:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17024, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17012, + "src": "56248:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17025, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17014, + "src": "56252:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17026, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17016, + "src": "56256:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2", + "typeString": "literal_string \"log(address,uint,bool,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17020, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56189:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56193:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56189:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56189:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17019, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "56173:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56173:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17029, + "nodeType": "ExpressionStatement", + "src": "56173:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56106:3:13", + "parameters": { + "id": 17017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17010, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56118:2:13", + "nodeType": "VariableDeclaration", + "scope": 17031, + "src": "56110:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17009, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56110:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17012, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56127:2:13", + "nodeType": "VariableDeclaration", + "scope": 17031, + "src": "56122:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17011, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56122:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17014, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56136:2:13", + "nodeType": "VariableDeclaration", + "scope": 17031, + "src": "56131:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17013, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56131:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17016, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56145:2:13", + "nodeType": "VariableDeclaration", + "scope": 17031, + "src": "56140:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17015, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56140:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "56109:39:13" + }, + "returnParameters": { + "id": 17018, + "nodeType": "ParameterList", + "parameters": [], + "src": "56163:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17054, + "nodeType": "FunctionDefinition", + "src": "56273:181:13", + "nodes": [], + "body": { + "id": 17053, + "nodeType": "Block", + "src": "56348:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c737472696e6729", + "id": 17045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56398:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f", + "typeString": "literal_string \"log(address,uint,bool,string)\"" + }, + "value": "log(address,uint,bool,string)" + }, + { + "id": 17046, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17033, + "src": "56431:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17047, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17035, + "src": "56435:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17048, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17037, + "src": "56439:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17049, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17039, + "src": "56443:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f", + "typeString": "literal_string \"log(address,uint,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17043, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56374:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56378:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56374:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56374:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17042, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "56358:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56358:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17052, + "nodeType": "ExpressionStatement", + "src": "56358:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56282:3:13", + "parameters": { + "id": 17040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17033, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56294:2:13", + "nodeType": "VariableDeclaration", + "scope": 17054, + "src": "56286:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17032, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56286:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17035, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56303:2:13", + "nodeType": "VariableDeclaration", + "scope": 17054, + "src": "56298:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17034, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56298:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17037, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56312:2:13", + "nodeType": "VariableDeclaration", + "scope": 17054, + "src": "56307:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17036, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56307:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17039, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56330:2:13", + "nodeType": "VariableDeclaration", + "scope": 17054, + "src": "56316:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17038, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "56316:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "56285:48:13" + }, + "returnParameters": { + "id": 17041, + "nodeType": "ParameterList", + "parameters": [], + "src": "56348:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17077, + "nodeType": "FunctionDefinition", + "src": "56460:170:13", + "nodes": [], + "body": { + "id": 17076, + "nodeType": "Block", + "src": "56526:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c626f6f6c29", + "id": 17068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56576:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b", + "typeString": "literal_string \"log(address,uint,bool,bool)\"" + }, + "value": "log(address,uint,bool,bool)" + }, + { + "id": 17069, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17056, + "src": "56607:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17070, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17058, + "src": "56611:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17071, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17060, + "src": "56615:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17072, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17062, + "src": "56619:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b", + "typeString": "literal_string \"log(address,uint,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17066, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56552:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56556:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56552:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56552:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17065, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "56536:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56536:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17075, + "nodeType": "ExpressionStatement", + "src": "56536:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56469:3:13", + "parameters": { + "id": 17063, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17056, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56481:2:13", + "nodeType": "VariableDeclaration", + "scope": 17077, + "src": "56473:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17055, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56473:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17058, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56490:2:13", + "nodeType": "VariableDeclaration", + "scope": 17077, + "src": "56485:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17057, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56485:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17060, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56499:2:13", + "nodeType": "VariableDeclaration", + "scope": 17077, + "src": "56494:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17059, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56494:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17062, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56508:2:13", + "nodeType": "VariableDeclaration", + "scope": 17077, + "src": "56503:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17061, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56503:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "56472:39:13" + }, + "returnParameters": { + "id": 17064, + "nodeType": "ParameterList", + "parameters": [], + "src": "56526:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17100, + "nodeType": "FunctionDefinition", + "src": "56636:176:13", + "nodes": [], + "body": { + "id": 17099, + "nodeType": "Block", + "src": "56705:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c6164647265737329", + "id": 17091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56755:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d", + "typeString": "literal_string \"log(address,uint,bool,address)\"" + }, + "value": "log(address,uint,bool,address)" + }, + { + "id": 17092, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17079, + "src": "56789:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17093, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17081, + "src": "56793:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17094, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17083, + "src": "56797:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17095, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17085, + "src": "56801:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d", + "typeString": "literal_string \"log(address,uint,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17089, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56731:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56735:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56731:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56731:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17088, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "56715:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56715:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17098, + "nodeType": "ExpressionStatement", + "src": "56715:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56645:3:13", + "parameters": { + "id": 17086, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17079, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56657:2:13", + "nodeType": "VariableDeclaration", + "scope": 17100, + "src": "56649:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17078, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56649:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17081, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56666:2:13", + "nodeType": "VariableDeclaration", + "scope": 17100, + "src": "56661:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17080, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56661:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17083, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56675:2:13", + "nodeType": "VariableDeclaration", + "scope": 17100, + "src": "56670:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17082, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56670:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17085, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56687:2:13", + "nodeType": "VariableDeclaration", + "scope": 17100, + "src": "56679:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17084, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56679:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "56648:42:13" + }, + "returnParameters": { + "id": 17087, + "nodeType": "ParameterList", + "parameters": [], + "src": "56705:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17123, + "nodeType": "FunctionDefinition", + "src": "56818:176:13", + "nodes": [], + "body": { + "id": 17122, + "nodeType": "Block", + "src": "56887:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c75696e7429", + "id": 17114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56937:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e", + "typeString": "literal_string \"log(address,uint,address,uint)\"" + }, + "value": "log(address,uint,address,uint)" + }, + { + "id": 17115, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17102, + "src": "56971:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17116, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17104, + "src": "56975:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17117, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17106, + "src": "56979:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17118, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17108, + "src": "56983:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e", + "typeString": "literal_string \"log(address,uint,address,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17112, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56913:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56917:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56913:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56913:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17111, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "56897:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56897:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17121, + "nodeType": "ExpressionStatement", + "src": "56897:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56827:3:13", + "parameters": { + "id": 17109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17102, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56839:2:13", + "nodeType": "VariableDeclaration", + "scope": 17123, + "src": "56831:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56831:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17104, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56848:2:13", + "nodeType": "VariableDeclaration", + "scope": 17123, + "src": "56843:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17103, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56843:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17106, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56860:2:13", + "nodeType": "VariableDeclaration", + "scope": 17123, + "src": "56852:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56852:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17108, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56869:2:13", + "nodeType": "VariableDeclaration", + "scope": 17123, + "src": "56864:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17107, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56864:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "56830:42:13" + }, + "returnParameters": { + "id": 17110, + "nodeType": "ParameterList", + "parameters": [], + "src": "56887:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17146, + "nodeType": "FunctionDefinition", + "src": "57000:187:13", + "nodes": [], + "body": { + "id": 17145, + "nodeType": "Block", + "src": "57078:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c737472696e6729", + "id": 17137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57128:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4", + "typeString": "literal_string \"log(address,uint,address,string)\"" + }, + "value": "log(address,uint,address,string)" + }, + { + "id": 17138, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17125, + "src": "57164:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17139, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17127, + "src": "57168:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17140, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17129, + "src": "57172:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17141, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17131, + "src": "57176:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4", + "typeString": "literal_string \"log(address,uint,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17135, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57104:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57108:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57104:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57104:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17134, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "57088:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57088:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17144, + "nodeType": "ExpressionStatement", + "src": "57088:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57009:3:13", + "parameters": { + "id": 17132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17125, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57021:2:13", + "nodeType": "VariableDeclaration", + "scope": 17146, + "src": "57013:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17124, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57013:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17127, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57030:2:13", + "nodeType": "VariableDeclaration", + "scope": 17146, + "src": "57025:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17126, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "57025:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17129, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57042:2:13", + "nodeType": "VariableDeclaration", + "scope": 17146, + "src": "57034:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57034:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17131, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57060:2:13", + "nodeType": "VariableDeclaration", + "scope": 17146, + "src": "57046:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17130, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57046:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "57012:51:13" + }, + "returnParameters": { + "id": 17133, + "nodeType": "ParameterList", + "parameters": [], + "src": "57078:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17169, + "nodeType": "FunctionDefinition", + "src": "57193:176:13", + "nodes": [], + "body": { + "id": 17168, + "nodeType": "Block", + "src": "57262:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c626f6f6c29", + "id": 17160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57312:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6", + "typeString": "literal_string \"log(address,uint,address,bool)\"" + }, + "value": "log(address,uint,address,bool)" + }, + { + "id": 17161, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17148, + "src": "57346:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17162, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17150, + "src": "57350:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17163, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17152, + "src": "57354:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17164, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17154, + "src": "57358:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6", + "typeString": "literal_string \"log(address,uint,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17158, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57288:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57292:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57288:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57288:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17157, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "57272:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57272:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17167, + "nodeType": "ExpressionStatement", + "src": "57272:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57202:3:13", + "parameters": { + "id": 17155, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17148, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57214:2:13", + "nodeType": "VariableDeclaration", + "scope": 17169, + "src": "57206:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57206:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17150, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57223:2:13", + "nodeType": "VariableDeclaration", + "scope": 17169, + "src": "57218:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17149, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "57218:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17152, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57235:2:13", + "nodeType": "VariableDeclaration", + "scope": 17169, + "src": "57227:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17151, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57227:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17154, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57244:2:13", + "nodeType": "VariableDeclaration", + "scope": 17169, + "src": "57239:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17153, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "57239:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "57205:42:13" + }, + "returnParameters": { + "id": 17156, + "nodeType": "ParameterList", + "parameters": [], + "src": "57262:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17192, + "nodeType": "FunctionDefinition", + "src": "57375:182:13", + "nodes": [], + "body": { + "id": 17191, + "nodeType": "Block", + "src": "57447:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c6164647265737329", + "id": 17183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57497:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e", + "typeString": "literal_string \"log(address,uint,address,address)\"" + }, + "value": "log(address,uint,address,address)" + }, + { + "id": 17184, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17171, + "src": "57534:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17185, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17173, + "src": "57538:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17186, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17175, + "src": "57542:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17187, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17177, + "src": "57546:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e", + "typeString": "literal_string \"log(address,uint,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17181, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57473:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57477:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57473:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57473:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17180, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "57457:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57457:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17190, + "nodeType": "ExpressionStatement", + "src": "57457:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57384:3:13", + "parameters": { + "id": 17178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17171, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57396:2:13", + "nodeType": "VariableDeclaration", + "scope": 17192, + "src": "57388:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57388:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17173, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57405:2:13", + "nodeType": "VariableDeclaration", + "scope": 17192, + "src": "57400:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17172, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "57400:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17175, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57417:2:13", + "nodeType": "VariableDeclaration", + "scope": 17192, + "src": "57409:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17174, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57409:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17177, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57429:2:13", + "nodeType": "VariableDeclaration", + "scope": 17192, + "src": "57421:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17176, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57421:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "57387:45:13" + }, + "returnParameters": { + "id": 17179, + "nodeType": "ParameterList", + "parameters": [], + "src": "57447:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17215, + "nodeType": "FunctionDefinition", + "src": "57563:181:13", + "nodes": [], + "body": { + "id": 17214, + "nodeType": "Block", + "src": "57638:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c75696e7429", + "id": 17206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57688:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af", + "typeString": "literal_string \"log(address,string,uint,uint)\"" + }, + "value": "log(address,string,uint,uint)" + }, + { + "id": 17207, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17194, + "src": "57721:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17208, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17196, + "src": "57725:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17209, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17198, + "src": "57729:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17210, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17200, + "src": "57733:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af", + "typeString": "literal_string \"log(address,string,uint,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17204, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57664:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57668:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57664:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57664:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17203, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "57648:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57648:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17213, + "nodeType": "ExpressionStatement", + "src": "57648:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57572:3:13", + "parameters": { + "id": 17201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17194, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57584:2:13", + "nodeType": "VariableDeclaration", + "scope": 17215, + "src": "57576:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17193, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57576:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17196, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57602:2:13", + "nodeType": "VariableDeclaration", + "scope": 17215, + "src": "57588:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17195, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57588:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17198, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57611:2:13", + "nodeType": "VariableDeclaration", + "scope": 17215, + "src": "57606:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17197, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "57606:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17200, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57620:2:13", + "nodeType": "VariableDeclaration", + "scope": 17215, + "src": "57615:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17199, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "57615:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "57575:48:13" + }, + "returnParameters": { + "id": 17202, + "nodeType": "ParameterList", + "parameters": [], + "src": "57638:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17238, + "nodeType": "FunctionDefinition", + "src": "57750:192:13", + "nodes": [], + "body": { + "id": 17237, + "nodeType": "Block", + "src": "57834:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c737472696e6729", + "id": 17229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57884:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e", + "typeString": "literal_string \"log(address,string,uint,string)\"" + }, + "value": "log(address,string,uint,string)" + }, + { + "id": 17230, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17217, + "src": "57919:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17231, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17219, + "src": "57923:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17232, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17221, + "src": "57927:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17233, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17223, + "src": "57931:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e", + "typeString": "literal_string \"log(address,string,uint,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17227, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57860:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57864:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57860:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57860:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17226, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "57844:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57844:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17236, + "nodeType": "ExpressionStatement", + "src": "57844:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57759:3:13", + "parameters": { + "id": 17224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17217, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57771:2:13", + "nodeType": "VariableDeclaration", + "scope": 17238, + "src": "57763:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57763:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17219, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57789:2:13", + "nodeType": "VariableDeclaration", + "scope": 17238, + "src": "57775:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17218, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57775:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17221, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57798:2:13", + "nodeType": "VariableDeclaration", + "scope": 17238, + "src": "57793:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17220, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "57793:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17223, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57816:2:13", + "nodeType": "VariableDeclaration", + "scope": 17238, + "src": "57802:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17222, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57802:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "57762:57:13" + }, + "returnParameters": { + "id": 17225, + "nodeType": "ParameterList", + "parameters": [], + "src": "57834:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17261, + "nodeType": "FunctionDefinition", + "src": "57948:181:13", + "nodes": [], + "body": { + "id": 17260, + "nodeType": "Block", + "src": "58023:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c626f6f6c29", + "id": 17252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58073:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895", + "typeString": "literal_string \"log(address,string,uint,bool)\"" + }, + "value": "log(address,string,uint,bool)" + }, + { + "id": 17253, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17240, + "src": "58106:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17254, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17242, + "src": "58110:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17255, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17244, + "src": "58114:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17256, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17246, + "src": "58118:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895", + "typeString": "literal_string \"log(address,string,uint,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17250, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58049:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58053:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58049:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58049:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17249, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "58033:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58033:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17259, + "nodeType": "ExpressionStatement", + "src": "58033:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57957:3:13", + "parameters": { + "id": 17247, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17240, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57969:2:13", + "nodeType": "VariableDeclaration", + "scope": 17261, + "src": "57961:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57961:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17242, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57987:2:13", + "nodeType": "VariableDeclaration", + "scope": 17261, + "src": "57973:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17241, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57973:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17244, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57996:2:13", + "nodeType": "VariableDeclaration", + "scope": 17261, + "src": "57991:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17243, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "57991:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17246, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58005:2:13", + "nodeType": "VariableDeclaration", + "scope": 17261, + "src": "58000:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17245, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58000:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "57960:48:13" + }, + "returnParameters": { + "id": 17248, + "nodeType": "ParameterList", + "parameters": [], + "src": "58023:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17284, + "nodeType": "FunctionDefinition", + "src": "58135:187:13", + "nodes": [], + "body": { + "id": 17283, + "nodeType": "Block", + "src": "58213:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c6164647265737329", + "id": 17275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58263:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4", + "typeString": "literal_string \"log(address,string,uint,address)\"" + }, + "value": "log(address,string,uint,address)" + }, + { + "id": 17276, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17263, + "src": "58299:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17277, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17265, + "src": "58303:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17278, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17267, + "src": "58307:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17279, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17269, + "src": "58311:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4", + "typeString": "literal_string \"log(address,string,uint,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17273, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58239:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58243:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58239:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58239:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17272, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "58223:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58223:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17282, + "nodeType": "ExpressionStatement", + "src": "58223:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58144:3:13", + "parameters": { + "id": 17270, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17263, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58156:2:13", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "58148:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17262, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58148:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17265, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58174:2:13", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "58160:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17264, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58160:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17267, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58183:2:13", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "58178:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17266, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "58178:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17269, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58195:2:13", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "58187:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17268, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58187:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "58147:51:13" + }, + "returnParameters": { + "id": 17271, + "nodeType": "ParameterList", + "parameters": [], + "src": "58213:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17307, + "nodeType": "FunctionDefinition", + "src": "58328:192:13", + "nodes": [], + "body": { + "id": 17306, + "nodeType": "Block", + "src": "58412:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c75696e7429", + "id": 17298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58462:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5", + "typeString": "literal_string \"log(address,string,string,uint)\"" + }, + "value": "log(address,string,string,uint)" + }, + { + "id": 17299, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17286, + "src": "58497:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17300, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17288, + "src": "58501:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17301, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17290, + "src": "58505:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17302, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17292, + "src": "58509:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5", + "typeString": "literal_string \"log(address,string,string,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17296, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58438:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58442:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58438:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58438:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17295, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "58422:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58422:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17305, + "nodeType": "ExpressionStatement", + "src": "58422:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58337:3:13", + "parameters": { + "id": 17293, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17286, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58349:2:13", + "nodeType": "VariableDeclaration", + "scope": 17307, + "src": "58341:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17285, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58341:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17288, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58367:2:13", + "nodeType": "VariableDeclaration", + "scope": 17307, + "src": "58353:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17287, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58353:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17290, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58385:2:13", + "nodeType": "VariableDeclaration", + "scope": 17307, + "src": "58371:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17289, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58371:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17292, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58394:2:13", + "nodeType": "VariableDeclaration", + "scope": 17307, + "src": "58389:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17291, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "58389:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "58340:57:13" + }, + "returnParameters": { + "id": 17294, + "nodeType": "ParameterList", + "parameters": [], + "src": "58412:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17330, + "nodeType": "FunctionDefinition", + "src": "58526:203:13", + "nodes": [], + "body": { + "id": 17329, + "nodeType": "Block", + "src": "58619:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729", + "id": 17321, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58669:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c", + "typeString": "literal_string \"log(address,string,string,string)\"" + }, + "value": "log(address,string,string,string)" + }, + { + "id": 17322, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17309, + "src": "58706:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17323, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17311, + "src": "58710:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17324, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17313, + "src": "58714:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17325, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17315, + "src": "58718:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c", + "typeString": "literal_string \"log(address,string,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17319, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58645:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58649:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58645:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58645:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17318, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "58629:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58629:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17328, + "nodeType": "ExpressionStatement", + "src": "58629:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58535:3:13", + "parameters": { + "id": 17316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17309, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58547:2:13", + "nodeType": "VariableDeclaration", + "scope": 17330, + "src": "58539:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58539:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17311, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58565:2:13", + "nodeType": "VariableDeclaration", + "scope": 17330, + "src": "58551:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17310, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58551:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17313, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58583:2:13", + "nodeType": "VariableDeclaration", + "scope": 17330, + "src": "58569:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17312, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58569:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17315, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58601:2:13", + "nodeType": "VariableDeclaration", + "scope": 17330, + "src": "58587:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17314, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58587:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "58538:66:13" + }, + "returnParameters": { + "id": 17317, + "nodeType": "ParameterList", + "parameters": [], + "src": "58619:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17353, + "nodeType": "FunctionDefinition", + "src": "58735:192:13", + "nodes": [], + "body": { + "id": 17352, + "nodeType": "Block", + "src": "58819:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29", + "id": 17344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58869:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed", + "typeString": "literal_string \"log(address,string,string,bool)\"" + }, + "value": "log(address,string,string,bool)" + }, + { + "id": 17345, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17332, + "src": "58904:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17346, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17334, + "src": "58908:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17347, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17336, + "src": "58912:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17348, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17338, + "src": "58916:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed", + "typeString": "literal_string \"log(address,string,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17342, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58845:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58849:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58845:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58845:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17341, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "58829:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58829:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17351, + "nodeType": "ExpressionStatement", + "src": "58829:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58744:3:13", + "parameters": { + "id": 17339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17332, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58756:2:13", + "nodeType": "VariableDeclaration", + "scope": 17353, + "src": "58748:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58748:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17334, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58774:2:13", + "nodeType": "VariableDeclaration", + "scope": 17353, + "src": "58760:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17333, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58760:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17336, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58792:2:13", + "nodeType": "VariableDeclaration", + "scope": 17353, + "src": "58778:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17335, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58778:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17338, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58801:2:13", + "nodeType": "VariableDeclaration", + "scope": 17353, + "src": "58796:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17337, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58796:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "58747:57:13" + }, + "returnParameters": { + "id": 17340, + "nodeType": "ParameterList", + "parameters": [], + "src": "58819:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17376, + "nodeType": "FunctionDefinition", + "src": "58933:198:13", + "nodes": [], + "body": { + "id": 17375, + "nodeType": "Block", + "src": "59020:111:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329", + "id": 17367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59070:36:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f", + "typeString": "literal_string \"log(address,string,string,address)\"" + }, + "value": "log(address,string,string,address)" + }, + { + "id": 17368, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17355, + "src": "59108:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17369, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17357, + "src": "59112:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17370, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17359, + "src": "59116:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17371, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17361, + "src": "59120:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f", + "typeString": "literal_string \"log(address,string,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17365, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59046:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59050:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59046:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59046:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17364, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "59030:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59030:94:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17374, + "nodeType": "ExpressionStatement", + "src": "59030:94:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58942:3:13", + "parameters": { + "id": 17362, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17355, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58954:2:13", + "nodeType": "VariableDeclaration", + "scope": 17376, + "src": "58946:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58946:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17357, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58972:2:13", + "nodeType": "VariableDeclaration", + "scope": 17376, + "src": "58958:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17356, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58958:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17359, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58990:2:13", + "nodeType": "VariableDeclaration", + "scope": 17376, + "src": "58976:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17358, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58976:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17361, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59002:2:13", + "nodeType": "VariableDeclaration", + "scope": 17376, + "src": "58994:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58994:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "58945:60:13" + }, + "returnParameters": { + "id": 17363, + "nodeType": "ParameterList", + "parameters": [], + "src": "59020:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17399, + "nodeType": "FunctionDefinition", + "src": "59137:181:13", + "nodes": [], + "body": { + "id": 17398, + "nodeType": "Block", + "src": "59212:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7429", + "id": 17390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59262:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a", + "typeString": "literal_string \"log(address,string,bool,uint)\"" + }, + "value": "log(address,string,bool,uint)" + }, + { + "id": 17391, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17378, + "src": "59295:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17392, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17380, + "src": "59299:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17393, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17382, + "src": "59303:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17394, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17384, + "src": "59307:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a", + "typeString": "literal_string \"log(address,string,bool,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17388, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59238:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59242:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59238:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59238:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17387, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "59222:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59222:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17397, + "nodeType": "ExpressionStatement", + "src": "59222:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59146:3:13", + "parameters": { + "id": 17385, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17378, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59158:2:13", + "nodeType": "VariableDeclaration", + "scope": 17399, + "src": "59150:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17377, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59150:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17380, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59176:2:13", + "nodeType": "VariableDeclaration", + "scope": 17399, + "src": "59162:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17379, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "59162:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17382, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59185:2:13", + "nodeType": "VariableDeclaration", + "scope": 17399, + "src": "59180:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17381, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "59180:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17384, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59194:2:13", + "nodeType": "VariableDeclaration", + "scope": 17399, + "src": "59189:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17383, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "59189:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "59149:48:13" + }, + "returnParameters": { + "id": 17386, + "nodeType": "ParameterList", + "parameters": [], + "src": "59212:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17422, + "nodeType": "FunctionDefinition", + "src": "59324:192:13", + "nodes": [], + "body": { + "id": 17421, + "nodeType": "Block", + "src": "59408:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729", + "id": 17413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59458:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc", + "typeString": "literal_string \"log(address,string,bool,string)\"" + }, + "value": "log(address,string,bool,string)" + }, + { + "id": 17414, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17401, + "src": "59493:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17415, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17403, + "src": "59497:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17416, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17405, + "src": "59501:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17417, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17407, + "src": "59505:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc", + "typeString": "literal_string \"log(address,string,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17411, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59434:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59438:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59434:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59434:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17410, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "59418:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59418:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17420, + "nodeType": "ExpressionStatement", + "src": "59418:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59333:3:13", + "parameters": { + "id": 17408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17401, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59345:2:13", + "nodeType": "VariableDeclaration", + "scope": 17422, + "src": "59337:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59337:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17403, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59363:2:13", + "nodeType": "VariableDeclaration", + "scope": 17422, + "src": "59349:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17402, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "59349:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17405, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59372:2:13", + "nodeType": "VariableDeclaration", + "scope": 17422, + "src": "59367:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17404, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "59367:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17407, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59390:2:13", + "nodeType": "VariableDeclaration", + "scope": 17422, + "src": "59376:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17406, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "59376:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "59336:57:13" + }, + "returnParameters": { + "id": 17409, + "nodeType": "ParameterList", + "parameters": [], + "src": "59408:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17445, + "nodeType": "FunctionDefinition", + "src": "59522:181:13", + "nodes": [], + "body": { + "id": 17444, + "nodeType": "Block", + "src": "59597:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29", + "id": 17436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59647:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08", + "typeString": "literal_string \"log(address,string,bool,bool)\"" + }, + "value": "log(address,string,bool,bool)" + }, + { + "id": 17437, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17424, + "src": "59680:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17438, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17426, + "src": "59684:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17439, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17428, + "src": "59688:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17440, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17430, + "src": "59692:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08", + "typeString": "literal_string \"log(address,string,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17434, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59623:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59627:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59623:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59623:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17433, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "59607:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59607:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17443, + "nodeType": "ExpressionStatement", + "src": "59607:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59531:3:13", + "parameters": { + "id": 17431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17424, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59543:2:13", + "nodeType": "VariableDeclaration", + "scope": 17445, + "src": "59535:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17423, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59535:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17426, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59561:2:13", + "nodeType": "VariableDeclaration", + "scope": 17445, + "src": "59547:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17425, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "59547:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17428, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59570:2:13", + "nodeType": "VariableDeclaration", + "scope": 17445, + "src": "59565:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17427, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "59565:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17430, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59579:2:13", + "nodeType": "VariableDeclaration", + "scope": 17445, + "src": "59574:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17429, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "59574:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "59534:48:13" + }, + "returnParameters": { + "id": 17432, + "nodeType": "ParameterList", + "parameters": [], + "src": "59597:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17468, + "nodeType": "FunctionDefinition", + "src": "59709:187:13", + "nodes": [], + "body": { + "id": 17467, + "nodeType": "Block", + "src": "59787:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329", + "id": 17459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59837:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970", + "typeString": "literal_string \"log(address,string,bool,address)\"" + }, + "value": "log(address,string,bool,address)" + }, + { + "id": 17460, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17447, + "src": "59873:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17461, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17449, + "src": "59877:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17462, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17451, + "src": "59881:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17463, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17453, + "src": "59885:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970", + "typeString": "literal_string \"log(address,string,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17457, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59813:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59817:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59813:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59813:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17456, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "59797:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59797:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17466, + "nodeType": "ExpressionStatement", + "src": "59797:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59718:3:13", + "parameters": { + "id": 17454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17447, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59730:2:13", + "nodeType": "VariableDeclaration", + "scope": 17468, + "src": "59722:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59722:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17449, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59748:2:13", + "nodeType": "VariableDeclaration", + "scope": 17468, + "src": "59734:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17448, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "59734:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17451, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59757:2:13", + "nodeType": "VariableDeclaration", + "scope": 17468, + "src": "59752:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17450, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "59752:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17453, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59769:2:13", + "nodeType": "VariableDeclaration", + "scope": 17468, + "src": "59761:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17452, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59761:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "59721:51:13" + }, + "returnParameters": { + "id": 17455, + "nodeType": "ParameterList", + "parameters": [], + "src": "59787:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17491, + "nodeType": "FunctionDefinition", + "src": "59902:187:13", + "nodes": [], + "body": { + "id": 17490, + "nodeType": "Block", + "src": "59980:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c75696e7429", + "id": 17482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60030:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582", + "typeString": "literal_string \"log(address,string,address,uint)\"" + }, + "value": "log(address,string,address,uint)" + }, + { + "id": 17483, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17470, + "src": "60066:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17484, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17472, + "src": "60070:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17485, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17474, + "src": "60074:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17486, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17476, + "src": "60078:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582", + "typeString": "literal_string \"log(address,string,address,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17480, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60006:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60010:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60006:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60006:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17479, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "59990:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59990:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17489, + "nodeType": "ExpressionStatement", + "src": "59990:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59911:3:13", + "parameters": { + "id": 17477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17470, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59923:2:13", + "nodeType": "VariableDeclaration", + "scope": 17491, + "src": "59915:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17469, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59915:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17472, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59941:2:13", + "nodeType": "VariableDeclaration", + "scope": 17491, + "src": "59927:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17471, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "59927:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17474, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59953:2:13", + "nodeType": "VariableDeclaration", + "scope": 17491, + "src": "59945:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59945:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17476, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59962:2:13", + "nodeType": "VariableDeclaration", + "scope": 17491, + "src": "59957:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17475, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "59957:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "59914:51:13" + }, + "returnParameters": { + "id": 17478, + "nodeType": "ParameterList", + "parameters": [], + "src": "59980:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17514, + "nodeType": "FunctionDefinition", + "src": "60095:198:13", + "nodes": [], + "body": { + "id": 17513, + "nodeType": "Block", + "src": "60182:111:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729", + "id": 17505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60232:36:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea", + "typeString": "literal_string \"log(address,string,address,string)\"" + }, + "value": "log(address,string,address,string)" + }, + { + "id": 17506, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17493, + "src": "60270:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17507, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17495, + "src": "60274:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17508, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17497, + "src": "60278:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17509, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17499, + "src": "60282:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea", + "typeString": "literal_string \"log(address,string,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17503, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60208:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60212:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60208:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60208:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17502, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "60192:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60192:94:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17512, + "nodeType": "ExpressionStatement", + "src": "60192:94:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60104:3:13", + "parameters": { + "id": 17500, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17493, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60116:2:13", + "nodeType": "VariableDeclaration", + "scope": 17514, + "src": "60108:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17492, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60108:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17495, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60134:2:13", + "nodeType": "VariableDeclaration", + "scope": 17514, + "src": "60120:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17494, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60120:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17497, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60146:2:13", + "nodeType": "VariableDeclaration", + "scope": 17514, + "src": "60138:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17496, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60138:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17499, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60164:2:13", + "nodeType": "VariableDeclaration", + "scope": 17514, + "src": "60150:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17498, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60150:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "60107:60:13" + }, + "returnParameters": { + "id": 17501, + "nodeType": "ParameterList", + "parameters": [], + "src": "60182:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17537, + "nodeType": "FunctionDefinition", + "src": "60299:187:13", + "nodes": [], + "body": { + "id": 17536, + "nodeType": "Block", + "src": "60377:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29", + "id": 17528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60427:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081", + "typeString": "literal_string \"log(address,string,address,bool)\"" + }, + "value": "log(address,string,address,bool)" + }, + { + "id": 17529, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17516, + "src": "60463:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17530, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17518, + "src": "60467:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17531, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17520, + "src": "60471:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17532, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17522, + "src": "60475:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081", + "typeString": "literal_string \"log(address,string,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17526, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60403:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60407:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60403:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60403:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17525, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "60387:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60387:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17535, + "nodeType": "ExpressionStatement", + "src": "60387:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60308:3:13", + "parameters": { + "id": 17523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17516, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60320:2:13", + "nodeType": "VariableDeclaration", + "scope": 17537, + "src": "60312:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17515, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60312:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17518, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60338:2:13", + "nodeType": "VariableDeclaration", + "scope": 17537, + "src": "60324:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17517, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60324:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17520, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60350:2:13", + "nodeType": "VariableDeclaration", + "scope": 17537, + "src": "60342:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60342:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17522, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60359:2:13", + "nodeType": "VariableDeclaration", + "scope": 17537, + "src": "60354:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17521, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "60354:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "60311:51:13" + }, + "returnParameters": { + "id": 17524, + "nodeType": "ParameterList", + "parameters": [], + "src": "60377:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17560, + "nodeType": "FunctionDefinition", + "src": "60492:193:13", + "nodes": [], + "body": { + "id": 17559, + "nodeType": "Block", + "src": "60573:112:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329", + "id": 17551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60623:37:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121", + "typeString": "literal_string \"log(address,string,address,address)\"" + }, + "value": "log(address,string,address,address)" + }, + { + "id": 17552, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17539, + "src": "60662:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17553, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17541, + "src": "60666:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17554, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17543, + "src": "60670:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17555, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17545, + "src": "60674:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121", + "typeString": "literal_string \"log(address,string,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17549, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60599:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60603:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60599:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60599:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17548, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "60583:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60583:95:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17558, + "nodeType": "ExpressionStatement", + "src": "60583:95:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60501:3:13", + "parameters": { + "id": 17546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17539, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60513:2:13", + "nodeType": "VariableDeclaration", + "scope": 17560, + "src": "60505:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60505:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17541, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60531:2:13", + "nodeType": "VariableDeclaration", + "scope": 17560, + "src": "60517:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17540, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60517:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17543, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60543:2:13", + "nodeType": "VariableDeclaration", + "scope": 17560, + "src": "60535:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17542, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60535:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17545, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60555:2:13", + "nodeType": "VariableDeclaration", + "scope": 17560, + "src": "60547:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60547:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "60504:54:13" + }, + "returnParameters": { + "id": 17547, + "nodeType": "ParameterList", + "parameters": [], + "src": "60573:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17583, + "nodeType": "FunctionDefinition", + "src": "60691:170:13", + "nodes": [], + "body": { + "id": 17582, + "nodeType": "Block", + "src": "60757:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c75696e7429", + "id": 17574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60807:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59", + "typeString": "literal_string \"log(address,bool,uint,uint)\"" + }, + "value": "log(address,bool,uint,uint)" + }, + { + "id": 17575, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17562, + "src": "60838:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17576, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17564, + "src": "60842:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17577, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17566, + "src": "60846:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17578, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17568, + "src": "60850:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59", + "typeString": "literal_string \"log(address,bool,uint,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17572, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60783:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60787:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60783:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60783:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17571, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "60767:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60767:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17581, + "nodeType": "ExpressionStatement", + "src": "60767:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60700:3:13", + "parameters": { + "id": 17569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17562, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60712:2:13", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "60704:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17561, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60704:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17564, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60721:2:13", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "60716:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17563, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "60716:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17566, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60730:2:13", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "60725:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17565, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "60725:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17568, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60739:2:13", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "60734:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17567, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "60734:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "60703:39:13" + }, + "returnParameters": { + "id": 17570, + "nodeType": "ParameterList", + "parameters": [], + "src": "60757:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17606, + "nodeType": "FunctionDefinition", + "src": "60867:181:13", + "nodes": [], + "body": { + "id": 17605, + "nodeType": "Block", + "src": "60942:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c737472696e6729", + "id": 17597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60992:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6", + "typeString": "literal_string \"log(address,bool,uint,string)\"" + }, + "value": "log(address,bool,uint,string)" + }, + { + "id": 17598, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17585, + "src": "61025:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17599, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17587, + "src": "61029:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17600, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17589, + "src": "61033:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17601, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17591, + "src": "61037:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6", + "typeString": "literal_string \"log(address,bool,uint,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17595, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60968:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60972:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60968:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60968:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17594, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "60952:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60952:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17604, + "nodeType": "ExpressionStatement", + "src": "60952:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60876:3:13", + "parameters": { + "id": 17592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17585, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60888:2:13", + "nodeType": "VariableDeclaration", + "scope": 17606, + "src": "60880:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60880:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17587, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60897:2:13", + "nodeType": "VariableDeclaration", + "scope": 17606, + "src": "60892:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17586, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "60892:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17589, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60906:2:13", + "nodeType": "VariableDeclaration", + "scope": 17606, + "src": "60901:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17588, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "60901:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17591, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60924:2:13", + "nodeType": "VariableDeclaration", + "scope": 17606, + "src": "60910:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17590, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60910:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "60879:48:13" + }, + "returnParameters": { + "id": 17593, + "nodeType": "ParameterList", + "parameters": [], + "src": "60942:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17629, + "nodeType": "FunctionDefinition", + "src": "61054:170:13", + "nodes": [], + "body": { + "id": 17628, + "nodeType": "Block", + "src": "61120:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c626f6f6c29", + "id": 17620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61170:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33", + "typeString": "literal_string \"log(address,bool,uint,bool)\"" + }, + "value": "log(address,bool,uint,bool)" + }, + { + "id": 17621, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17608, + "src": "61201:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17622, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17610, + "src": "61205:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17623, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17612, + "src": "61209:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17624, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17614, + "src": "61213:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33", + "typeString": "literal_string \"log(address,bool,uint,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17618, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61146:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61150:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61146:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61146:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17617, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "61130:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61130:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17627, + "nodeType": "ExpressionStatement", + "src": "61130:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61063:3:13", + "parameters": { + "id": 17615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17608, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61075:2:13", + "nodeType": "VariableDeclaration", + "scope": 17629, + "src": "61067:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17607, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61067:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17610, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61084:2:13", + "nodeType": "VariableDeclaration", + "scope": 17629, + "src": "61079:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17609, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61079:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17612, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61093:2:13", + "nodeType": "VariableDeclaration", + "scope": 17629, + "src": "61088:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17611, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "61088:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17614, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61102:2:13", + "nodeType": "VariableDeclaration", + "scope": 17629, + "src": "61097:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17613, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61097:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "61066:39:13" + }, + "returnParameters": { + "id": 17616, + "nodeType": "ParameterList", + "parameters": [], + "src": "61120:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17652, + "nodeType": "FunctionDefinition", + "src": "61230:176:13", + "nodes": [], + "body": { + "id": 17651, + "nodeType": "Block", + "src": "61299:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c6164647265737329", + "id": 17643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61349:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf", + "typeString": "literal_string \"log(address,bool,uint,address)\"" + }, + "value": "log(address,bool,uint,address)" + }, + { + "id": 17644, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17631, + "src": "61383:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17645, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17633, + "src": "61387:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17646, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17635, + "src": "61391:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17647, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17637, + "src": "61395:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf", + "typeString": "literal_string \"log(address,bool,uint,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17641, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61325:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61329:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61325:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61325:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17640, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "61309:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61309:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17650, + "nodeType": "ExpressionStatement", + "src": "61309:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61239:3:13", + "parameters": { + "id": 17638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17631, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61251:2:13", + "nodeType": "VariableDeclaration", + "scope": 17652, + "src": "61243:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61243:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17633, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61260:2:13", + "nodeType": "VariableDeclaration", + "scope": 17652, + "src": "61255:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17632, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61255:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17635, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61269:2:13", + "nodeType": "VariableDeclaration", + "scope": 17652, + "src": "61264:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17634, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "61264:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17637, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61281:2:13", + "nodeType": "VariableDeclaration", + "scope": 17652, + "src": "61273:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61273:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "61242:42:13" + }, + "returnParameters": { + "id": 17639, + "nodeType": "ParameterList", + "parameters": [], + "src": "61299:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17675, + "nodeType": "FunctionDefinition", + "src": "61412:181:13", + "nodes": [], + "body": { + "id": 17674, + "nodeType": "Block", + "src": "61487:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7429", + "id": 17666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61537:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b", + "typeString": "literal_string \"log(address,bool,string,uint)\"" + }, + "value": "log(address,bool,string,uint)" + }, + { + "id": 17667, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17654, + "src": "61570:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17668, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17656, + "src": "61574:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17669, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17658, + "src": "61578:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17670, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17660, + "src": "61582:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b", + "typeString": "literal_string \"log(address,bool,string,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17664, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61513:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61517:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61513:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61513:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17663, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "61497:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61497:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17673, + "nodeType": "ExpressionStatement", + "src": "61497:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61421:3:13", + "parameters": { + "id": 17661, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17654, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61433:2:13", + "nodeType": "VariableDeclaration", + "scope": 17675, + "src": "61425:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17653, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61425:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17656, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61442:2:13", + "nodeType": "VariableDeclaration", + "scope": 17675, + "src": "61437:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17655, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61437:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17658, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61460:2:13", + "nodeType": "VariableDeclaration", + "scope": 17675, + "src": "61446:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17657, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61446:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17660, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61469:2:13", + "nodeType": "VariableDeclaration", + "scope": 17675, + "src": "61464:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17659, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "61464:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "61424:48:13" + }, + "returnParameters": { + "id": 17662, + "nodeType": "ParameterList", + "parameters": [], + "src": "61487:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17698, + "nodeType": "FunctionDefinition", + "src": "61599:192:13", + "nodes": [], + "body": { + "id": 17697, + "nodeType": "Block", + "src": "61683:108:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729", + "id": 17689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61733:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f", + "typeString": "literal_string \"log(address,bool,string,string)\"" + }, + "value": "log(address,bool,string,string)" + }, + { + "id": 17690, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17677, + "src": "61768:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17691, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17679, + "src": "61772:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17692, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17681, + "src": "61776:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17693, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17683, + "src": "61780:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f", + "typeString": "literal_string \"log(address,bool,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17687, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61709:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61713:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61709:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61709:74:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17686, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "61693:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61693:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17696, + "nodeType": "ExpressionStatement", + "src": "61693:91:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61608:3:13", + "parameters": { + "id": 17684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17677, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61620:2:13", + "nodeType": "VariableDeclaration", + "scope": 17698, + "src": "61612:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61612:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17679, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61629:2:13", + "nodeType": "VariableDeclaration", + "scope": 17698, + "src": "61624:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17678, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61624:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17681, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61647:2:13", + "nodeType": "VariableDeclaration", + "scope": 17698, + "src": "61633:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17680, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61633:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17683, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61665:2:13", + "nodeType": "VariableDeclaration", + "scope": 17698, + "src": "61651:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17682, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61651:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "61611:57:13" + }, + "returnParameters": { + "id": 17685, + "nodeType": "ParameterList", + "parameters": [], + "src": "61683:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17721, + "nodeType": "FunctionDefinition", + "src": "61797:181:13", + "nodes": [], + "body": { + "id": 17720, + "nodeType": "Block", + "src": "61872:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29", + "id": 17712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61922:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f", + "typeString": "literal_string \"log(address,bool,string,bool)\"" + }, + "value": "log(address,bool,string,bool)" + }, + { + "id": 17713, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17700, + "src": "61955:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17714, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17702, + "src": "61959:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17715, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17704, + "src": "61963:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17716, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17706, + "src": "61967:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f", + "typeString": "literal_string \"log(address,bool,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17710, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61898:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61902:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61898:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61898:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17709, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "61882:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61882:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17719, + "nodeType": "ExpressionStatement", + "src": "61882:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61806:3:13", + "parameters": { + "id": 17707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17700, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61818:2:13", + "nodeType": "VariableDeclaration", + "scope": 17721, + "src": "61810:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17699, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61810:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17702, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61827:2:13", + "nodeType": "VariableDeclaration", + "scope": 17721, + "src": "61822:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17701, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61822:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17704, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61845:2:13", + "nodeType": "VariableDeclaration", + "scope": 17721, + "src": "61831:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17703, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61831:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17706, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61854:2:13", + "nodeType": "VariableDeclaration", + "scope": 17721, + "src": "61849:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17705, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61849:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "61809:48:13" + }, + "returnParameters": { + "id": 17708, + "nodeType": "ParameterList", + "parameters": [], + "src": "61872:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17744, + "nodeType": "FunctionDefinition", + "src": "61984:187:13", + "nodes": [], + "body": { + "id": 17743, + "nodeType": "Block", + "src": "62062:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329", + "id": 17735, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62112:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc", + "typeString": "literal_string \"log(address,bool,string,address)\"" + }, + "value": "log(address,bool,string,address)" + }, + { + "id": 17736, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17723, + "src": "62148:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17737, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17725, + "src": "62152:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17738, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17727, + "src": "62156:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 17739, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17729, + "src": "62160:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc", + "typeString": "literal_string \"log(address,bool,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17733, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62088:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62092:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62088:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62088:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17732, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "62072:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62072:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17742, + "nodeType": "ExpressionStatement", + "src": "62072:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61993:3:13", + "parameters": { + "id": 17730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17723, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62005:2:13", + "nodeType": "VariableDeclaration", + "scope": 17744, + "src": "61997:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17722, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61997:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17725, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62014:2:13", + "nodeType": "VariableDeclaration", + "scope": 17744, + "src": "62009:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17724, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62009:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17727, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62032:2:13", + "nodeType": "VariableDeclaration", + "scope": 17744, + "src": "62018:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17726, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "62018:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17729, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62044:2:13", + "nodeType": "VariableDeclaration", + "scope": 17744, + "src": "62036:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17728, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62036:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "61996:51:13" + }, + "returnParameters": { + "id": 17731, + "nodeType": "ParameterList", + "parameters": [], + "src": "62062:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17767, + "nodeType": "FunctionDefinition", + "src": "62177:170:13", + "nodes": [], + "body": { + "id": 17766, + "nodeType": "Block", + "src": "62243:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7429", + "id": 17758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62293:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463", + "typeString": "literal_string \"log(address,bool,bool,uint)\"" + }, + "value": "log(address,bool,bool,uint)" + }, + { + "id": 17759, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17746, + "src": "62324:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17760, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17748, + "src": "62328:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17761, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17750, + "src": "62332:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17762, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17752, + "src": "62336:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463", + "typeString": "literal_string \"log(address,bool,bool,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17756, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62269:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62273:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62269:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62269:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17755, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "62253:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62253:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17765, + "nodeType": "ExpressionStatement", + "src": "62253:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62186:3:13", + "parameters": { + "id": 17753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17746, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62198:2:13", + "nodeType": "VariableDeclaration", + "scope": 17767, + "src": "62190:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17745, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62190:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17748, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62207:2:13", + "nodeType": "VariableDeclaration", + "scope": 17767, + "src": "62202:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17747, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62202:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17750, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62216:2:13", + "nodeType": "VariableDeclaration", + "scope": 17767, + "src": "62211:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17749, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62211:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17752, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62225:2:13", + "nodeType": "VariableDeclaration", + "scope": 17767, + "src": "62220:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17751, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "62220:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "62189:39:13" + }, + "returnParameters": { + "id": 17754, + "nodeType": "ParameterList", + "parameters": [], + "src": "62243:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17790, + "nodeType": "FunctionDefinition", + "src": "62353:181:13", + "nodes": [], + "body": { + "id": 17789, + "nodeType": "Block", + "src": "62428:106:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729", + "id": 17781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62478:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300", + "typeString": "literal_string \"log(address,bool,bool,string)\"" + }, + "value": "log(address,bool,bool,string)" + }, + { + "id": 17782, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17769, + "src": "62511:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17783, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17771, + "src": "62515:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17784, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17773, + "src": "62519:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17785, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17775, + "src": "62523:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300", + "typeString": "literal_string \"log(address,bool,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17779, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62454:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62458:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62454:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62454:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17778, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "62438:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62438:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17788, + "nodeType": "ExpressionStatement", + "src": "62438:89:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62362:3:13", + "parameters": { + "id": 17776, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17769, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62374:2:13", + "nodeType": "VariableDeclaration", + "scope": 17790, + "src": "62366:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62366:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17771, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62383:2:13", + "nodeType": "VariableDeclaration", + "scope": 17790, + "src": "62378:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17770, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62378:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17773, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62392:2:13", + "nodeType": "VariableDeclaration", + "scope": 17790, + "src": "62387:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17772, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62387:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17775, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62410:2:13", + "nodeType": "VariableDeclaration", + "scope": 17790, + "src": "62396:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17774, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "62396:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "62365:48:13" + }, + "returnParameters": { + "id": 17777, + "nodeType": "ParameterList", + "parameters": [], + "src": "62428:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17813, + "nodeType": "FunctionDefinition", + "src": "62540:170:13", + "nodes": [], + "body": { + "id": 17812, + "nodeType": "Block", + "src": "62606:104:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 17804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62656:29:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634", + "typeString": "literal_string \"log(address,bool,bool,bool)\"" + }, + "value": "log(address,bool,bool,bool)" + }, + { + "id": 17805, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17792, + "src": "62687:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17806, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17794, + "src": "62691:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17807, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17796, + "src": "62695:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17808, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17798, + "src": "62699:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634", + "typeString": "literal_string \"log(address,bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17802, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62632:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62636:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62632:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62632:70:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17801, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "62616:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62616:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17811, + "nodeType": "ExpressionStatement", + "src": "62616:87:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62549:3:13", + "parameters": { + "id": 17799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17792, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62561:2:13", + "nodeType": "VariableDeclaration", + "scope": 17813, + "src": "62553:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17791, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62553:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17794, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62570:2:13", + "nodeType": "VariableDeclaration", + "scope": 17813, + "src": "62565:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17793, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62565:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17796, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62579:2:13", + "nodeType": "VariableDeclaration", + "scope": 17813, + "src": "62574:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17795, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62574:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17798, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62588:2:13", + "nodeType": "VariableDeclaration", + "scope": 17813, + "src": "62583:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17797, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62583:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "62552:39:13" + }, + "returnParameters": { + "id": 17800, + "nodeType": "ParameterList", + "parameters": [], + "src": "62606:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17836, + "nodeType": "FunctionDefinition", + "src": "62716:176:13", + "nodes": [], + "body": { + "id": 17835, + "nodeType": "Block", + "src": "62785:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329", + "id": 17827, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62835:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953", + "typeString": "literal_string \"log(address,bool,bool,address)\"" + }, + "value": "log(address,bool,bool,address)" + }, + { + "id": 17828, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17815, + "src": "62869:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17829, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17817, + "src": "62873:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17830, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17819, + "src": "62877:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17831, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17821, + "src": "62881:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953", + "typeString": "literal_string \"log(address,bool,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17825, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62811:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17826, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62815:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62811:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62811:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17824, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "62795:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62795:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17834, + "nodeType": "ExpressionStatement", + "src": "62795:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62725:3:13", + "parameters": { + "id": 17822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17815, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62737:2:13", + "nodeType": "VariableDeclaration", + "scope": 17836, + "src": "62729:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17814, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62729:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17817, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62746:2:13", + "nodeType": "VariableDeclaration", + "scope": 17836, + "src": "62741:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17816, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62741:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17819, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62755:2:13", + "nodeType": "VariableDeclaration", + "scope": 17836, + "src": "62750:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17818, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62750:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17821, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62767:2:13", + "nodeType": "VariableDeclaration", + "scope": 17836, + "src": "62759:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17820, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62759:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "62728:42:13" + }, + "returnParameters": { + "id": 17823, + "nodeType": "ParameterList", + "parameters": [], + "src": "62785:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17859, + "nodeType": "FunctionDefinition", + "src": "62898:176:13", + "nodes": [], + "body": { + "id": 17858, + "nodeType": "Block", + "src": "62967:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7429", + "id": 17850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63017:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84", + "typeString": "literal_string \"log(address,bool,address,uint)\"" + }, + "value": "log(address,bool,address,uint)" + }, + { + "id": 17851, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17838, + "src": "63051:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17852, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17840, + "src": "63055:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17853, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17842, + "src": "63059:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17854, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17844, + "src": "63063:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84", + "typeString": "literal_string \"log(address,bool,address,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17848, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62993:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62997:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62993:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62993:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17847, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "62977:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62977:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17857, + "nodeType": "ExpressionStatement", + "src": "62977:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62907:3:13", + "parameters": { + "id": 17845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17838, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62919:2:13", + "nodeType": "VariableDeclaration", + "scope": 17859, + "src": "62911:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62911:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17840, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62928:2:13", + "nodeType": "VariableDeclaration", + "scope": 17859, + "src": "62923:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17839, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62923:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17842, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62940:2:13", + "nodeType": "VariableDeclaration", + "scope": 17859, + "src": "62932:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17841, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62932:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17844, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62949:2:13", + "nodeType": "VariableDeclaration", + "scope": 17859, + "src": "62944:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17843, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "62944:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "62910:42:13" + }, + "returnParameters": { + "id": 17846, + "nodeType": "ParameterList", + "parameters": [], + "src": "62967:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17882, + "nodeType": "FunctionDefinition", + "src": "63080:187:13", + "nodes": [], + "body": { + "id": 17881, + "nodeType": "Block", + "src": "63158:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729", + "id": 17873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63208:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453", + "typeString": "literal_string \"log(address,bool,address,string)\"" + }, + "value": "log(address,bool,address,string)" + }, + { + "id": 17874, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17861, + "src": "63244:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17875, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17863, + "src": "63248:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17876, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17865, + "src": "63252:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17877, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17867, + "src": "63256:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453", + "typeString": "literal_string \"log(address,bool,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17871, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63184:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63188:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63184:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63184:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17870, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "63168:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63168:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17880, + "nodeType": "ExpressionStatement", + "src": "63168:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63089:3:13", + "parameters": { + "id": 17868, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17861, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63101:2:13", + "nodeType": "VariableDeclaration", + "scope": 17882, + "src": "63093:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17860, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63093:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17863, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63110:2:13", + "nodeType": "VariableDeclaration", + "scope": 17882, + "src": "63105:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17862, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63105:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17865, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63122:2:13", + "nodeType": "VariableDeclaration", + "scope": 17882, + "src": "63114:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63114:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17867, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63140:2:13", + "nodeType": "VariableDeclaration", + "scope": 17882, + "src": "63126:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17866, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "63126:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "63092:51:13" + }, + "returnParameters": { + "id": 17869, + "nodeType": "ParameterList", + "parameters": [], + "src": "63158:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17905, + "nodeType": "FunctionDefinition", + "src": "63273:176:13", + "nodes": [], + "body": { + "id": 17904, + "nodeType": "Block", + "src": "63342:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29", + "id": 17896, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63392:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1", + "typeString": "literal_string \"log(address,bool,address,bool)\"" + }, + "value": "log(address,bool,address,bool)" + }, + { + "id": 17897, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17884, + "src": "63426:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17898, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17886, + "src": "63430:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17899, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17888, + "src": "63434:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17900, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17890, + "src": "63438:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1", + "typeString": "literal_string \"log(address,bool,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17894, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63368:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63372:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63368:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63368:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17893, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "63352:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63352:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17903, + "nodeType": "ExpressionStatement", + "src": "63352:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63282:3:13", + "parameters": { + "id": 17891, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17884, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63294:2:13", + "nodeType": "VariableDeclaration", + "scope": 17905, + "src": "63286:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17883, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63286:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17886, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63303:2:13", + "nodeType": "VariableDeclaration", + "scope": 17905, + "src": "63298:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17885, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63298:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17888, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63315:2:13", + "nodeType": "VariableDeclaration", + "scope": 17905, + "src": "63307:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17887, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63307:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17890, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63324:2:13", + "nodeType": "VariableDeclaration", + "scope": 17905, + "src": "63319:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17889, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63319:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "63285:42:13" + }, + "returnParameters": { + "id": 17892, + "nodeType": "ParameterList", + "parameters": [], + "src": "63342:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17928, + "nodeType": "FunctionDefinition", + "src": "63455:182:13", + "nodes": [], + "body": { + "id": 17927, + "nodeType": "Block", + "src": "63527:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329", + "id": 17919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63577:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35", + "typeString": "literal_string \"log(address,bool,address,address)\"" + }, + "value": "log(address,bool,address,address)" + }, + { + "id": 17920, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17907, + "src": "63614:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17921, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17909, + "src": "63618:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 17922, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17911, + "src": "63622:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17923, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17913, + "src": "63626:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35", + "typeString": "literal_string \"log(address,bool,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 17917, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63553:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63557:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63553:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63553:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17916, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "63537:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63537:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17926, + "nodeType": "ExpressionStatement", + "src": "63537:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63464:3:13", + "parameters": { + "id": 17914, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17907, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63476:2:13", + "nodeType": "VariableDeclaration", + "scope": 17928, + "src": "63468:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63468:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17909, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63485:2:13", + "nodeType": "VariableDeclaration", + "scope": 17928, + "src": "63480:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17908, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63480:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17911, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63497:2:13", + "nodeType": "VariableDeclaration", + "scope": 17928, + "src": "63489:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17910, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63489:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17913, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63509:2:13", + "nodeType": "VariableDeclaration", + "scope": 17928, + "src": "63501:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17912, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63501:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "63467:45:13" + }, + "returnParameters": { + "id": 17915, + "nodeType": "ParameterList", + "parameters": [], + "src": "63527:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17951, + "nodeType": "FunctionDefinition", + "src": "63643:176:13", + "nodes": [], + "body": { + "id": 17950, + "nodeType": "Block", + "src": "63712:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c75696e7429", + "id": 17942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63762:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6", + "typeString": "literal_string \"log(address,address,uint,uint)\"" + }, + "value": "log(address,address,uint,uint)" + }, + { + "id": 17943, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17930, + "src": "63796:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17944, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17932, + "src": "63800:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17945, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17934, + "src": "63804:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17946, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17936, + "src": "63808:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6", + "typeString": "literal_string \"log(address,address,uint,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 17940, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63738:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63742:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63738:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63738:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17939, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "63722:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63722:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17949, + "nodeType": "ExpressionStatement", + "src": "63722:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63652:3:13", + "parameters": { + "id": 17937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17930, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63664:2:13", + "nodeType": "VariableDeclaration", + "scope": 17951, + "src": "63656:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17929, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63656:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17932, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63676:2:13", + "nodeType": "VariableDeclaration", + "scope": 17951, + "src": "63668:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17931, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63668:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17934, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63685:2:13", + "nodeType": "VariableDeclaration", + "scope": 17951, + "src": "63680:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17933, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "63680:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17936, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63694:2:13", + "nodeType": "VariableDeclaration", + "scope": 17951, + "src": "63689:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17935, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "63689:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "63655:42:13" + }, + "returnParameters": { + "id": 17938, + "nodeType": "ParameterList", + "parameters": [], + "src": "63712:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17974, + "nodeType": "FunctionDefinition", + "src": "63825:187:13", + "nodes": [], + "body": { + "id": 17973, + "nodeType": "Block", + "src": "63903:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c737472696e6729", + "id": 17965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63953:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815", + "typeString": "literal_string \"log(address,address,uint,string)\"" + }, + "value": "log(address,address,uint,string)" + }, + { + "id": 17966, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17953, + "src": "63989:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17967, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17955, + "src": "63993:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17968, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17957, + "src": "63997:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17969, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17959, + "src": "64001:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815", + "typeString": "literal_string \"log(address,address,uint,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 17963, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63929:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63933:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63929:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63929:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17962, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "63913:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63913:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17972, + "nodeType": "ExpressionStatement", + "src": "63913:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63834:3:13", + "parameters": { + "id": 17960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17953, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63846:2:13", + "nodeType": "VariableDeclaration", + "scope": 17974, + "src": "63838:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63838:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17955, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63858:2:13", + "nodeType": "VariableDeclaration", + "scope": 17974, + "src": "63850:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17954, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63850:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17957, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63867:2:13", + "nodeType": "VariableDeclaration", + "scope": 17974, + "src": "63862:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17956, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "63862:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17959, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63885:2:13", + "nodeType": "VariableDeclaration", + "scope": 17974, + "src": "63871:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 17958, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "63871:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "63837:51:13" + }, + "returnParameters": { + "id": 17961, + "nodeType": "ParameterList", + "parameters": [], + "src": "63903:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 17997, + "nodeType": "FunctionDefinition", + "src": "64018:176:13", + "nodes": [], + "body": { + "id": 17996, + "nodeType": "Block", + "src": "64087:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c626f6f6c29", + "id": 17988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64137:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411", + "typeString": "literal_string \"log(address,address,uint,bool)\"" + }, + "value": "log(address,address,uint,bool)" + }, + { + "id": 17989, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17976, + "src": "64171:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17990, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17978, + "src": "64175:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 17991, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17980, + "src": "64179:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 17992, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17982, + "src": "64183:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411", + "typeString": "literal_string \"log(address,address,uint,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 17986, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64113:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 17987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64117:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64113:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 17993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64113:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 17985, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "64097:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 17994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64097:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17995, + "nodeType": "ExpressionStatement", + "src": "64097:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64027:3:13", + "parameters": { + "id": 17983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17976, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64039:2:13", + "nodeType": "VariableDeclaration", + "scope": 17997, + "src": "64031:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17975, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64031:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17978, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64051:2:13", + "nodeType": "VariableDeclaration", + "scope": 17997, + "src": "64043:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17977, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64043:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17980, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64060:2:13", + "nodeType": "VariableDeclaration", + "scope": 17997, + "src": "64055:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17979, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "64055:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 17982, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64069:2:13", + "nodeType": "VariableDeclaration", + "scope": 17997, + "src": "64064:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17981, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64064:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "64030:42:13" + }, + "returnParameters": { + "id": 17984, + "nodeType": "ParameterList", + "parameters": [], + "src": "64087:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18020, + "nodeType": "FunctionDefinition", + "src": "64200:182:13", + "nodes": [], + "body": { + "id": 18019, + "nodeType": "Block", + "src": "64272:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c6164647265737329", + "id": 18011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64322:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556", + "typeString": "literal_string \"log(address,address,uint,address)\"" + }, + "value": "log(address,address,uint,address)" + }, + { + "id": 18012, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17999, + "src": "64359:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18013, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18001, + "src": "64363:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18014, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18003, + "src": "64367:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 18015, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18005, + "src": "64371:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556", + "typeString": "literal_string \"log(address,address,uint,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 18009, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64298:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64302:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64298:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64298:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18008, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "64282:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64282:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18018, + "nodeType": "ExpressionStatement", + "src": "64282:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64209:3:13", + "parameters": { + "id": 18006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17999, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64221:2:13", + "nodeType": "VariableDeclaration", + "scope": 18020, + "src": "64213:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17998, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64213:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18001, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64233:2:13", + "nodeType": "VariableDeclaration", + "scope": 18020, + "src": "64225:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18000, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64225:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18003, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64242:2:13", + "nodeType": "VariableDeclaration", + "scope": 18020, + "src": "64237:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18002, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "64237:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18005, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64254:2:13", + "nodeType": "VariableDeclaration", + "scope": 18020, + "src": "64246:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18004, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64246:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "64212:45:13" + }, + "returnParameters": { + "id": 18007, + "nodeType": "ParameterList", + "parameters": [], + "src": "64272:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18043, + "nodeType": "FunctionDefinition", + "src": "64388:187:13", + "nodes": [], + "body": { + "id": 18042, + "nodeType": "Block", + "src": "64466:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c75696e7429", + "id": 18034, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64516:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba", + "typeString": "literal_string \"log(address,address,string,uint)\"" + }, + "value": "log(address,address,string,uint)" + }, + { + "id": 18035, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18022, + "src": "64552:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18036, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18024, + "src": "64556:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18037, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18026, + "src": "64560:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 18038, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18028, + "src": "64564:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba", + "typeString": "literal_string \"log(address,address,string,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18032, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64492:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64496:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64492:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64492:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18031, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "64476:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64476:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18041, + "nodeType": "ExpressionStatement", + "src": "64476:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64397:3:13", + "parameters": { + "id": 18029, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18022, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64409:2:13", + "nodeType": "VariableDeclaration", + "scope": 18043, + "src": "64401:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64401:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18024, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64421:2:13", + "nodeType": "VariableDeclaration", + "scope": 18043, + "src": "64413:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18023, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64413:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18026, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64439:2:13", + "nodeType": "VariableDeclaration", + "scope": 18043, + "src": "64425:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18025, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "64425:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18028, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64448:2:13", + "nodeType": "VariableDeclaration", + "scope": 18043, + "src": "64443:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18027, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "64443:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "64400:51:13" + }, + "returnParameters": { + "id": 18030, + "nodeType": "ParameterList", + "parameters": [], + "src": "64466:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18066, + "nodeType": "FunctionDefinition", + "src": "64581:198:13", + "nodes": [], + "body": { + "id": 18065, + "nodeType": "Block", + "src": "64668:111:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729", + "id": 18057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64718:36:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1", + "typeString": "literal_string \"log(address,address,string,string)\"" + }, + "value": "log(address,address,string,string)" + }, + { + "id": 18058, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18045, + "src": "64756:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18059, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18047, + "src": "64760:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18060, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18049, + "src": "64764:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 18061, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18051, + "src": "64768:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1", + "typeString": "literal_string \"log(address,address,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 18055, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64694:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64698:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64694:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64694:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18054, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "64678:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64678:94:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18064, + "nodeType": "ExpressionStatement", + "src": "64678:94:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64590:3:13", + "parameters": { + "id": 18052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18045, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64602:2:13", + "nodeType": "VariableDeclaration", + "scope": 18066, + "src": "64594:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18044, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64594:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18047, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64614:2:13", + "nodeType": "VariableDeclaration", + "scope": 18066, + "src": "64606:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18046, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64606:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18049, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64632:2:13", + "nodeType": "VariableDeclaration", + "scope": 18066, + "src": "64618:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18048, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "64618:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18051, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64650:2:13", + "nodeType": "VariableDeclaration", + "scope": 18066, + "src": "64636:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18050, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "64636:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "64593:60:13" + }, + "returnParameters": { + "id": 18053, + "nodeType": "ParameterList", + "parameters": [], + "src": "64668:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18089, + "nodeType": "FunctionDefinition", + "src": "64785:187:13", + "nodes": [], + "body": { + "id": 18088, + "nodeType": "Block", + "src": "64863:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29", + "id": 18080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64913:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd", + "typeString": "literal_string \"log(address,address,string,bool)\"" + }, + "value": "log(address,address,string,bool)" + }, + { + "id": 18081, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18068, + "src": "64949:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18082, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18070, + "src": "64953:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18083, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18072, + "src": "64957:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 18084, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18074, + "src": "64961:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd", + "typeString": "literal_string \"log(address,address,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 18078, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64889:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64893:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64889:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64889:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18077, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "64873:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64873:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18087, + "nodeType": "ExpressionStatement", + "src": "64873:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64794:3:13", + "parameters": { + "id": 18075, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18068, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64806:2:13", + "nodeType": "VariableDeclaration", + "scope": 18089, + "src": "64798:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18067, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64798:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18070, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64818:2:13", + "nodeType": "VariableDeclaration", + "scope": 18089, + "src": "64810:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18069, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64810:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18072, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64836:2:13", + "nodeType": "VariableDeclaration", + "scope": 18089, + "src": "64822:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18071, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "64822:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18074, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64845:2:13", + "nodeType": "VariableDeclaration", + "scope": 18089, + "src": "64840:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18073, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64840:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "64797:51:13" + }, + "returnParameters": { + "id": 18076, + "nodeType": "ParameterList", + "parameters": [], + "src": "64863:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18112, + "nodeType": "FunctionDefinition", + "src": "64978:193:13", + "nodes": [], + "body": { + "id": 18111, + "nodeType": "Block", + "src": "65059:112:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329", + "id": 18103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65109:37:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687", + "typeString": "literal_string \"log(address,address,string,address)\"" + }, + "value": "log(address,address,string,address)" + }, + { + "id": 18104, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18091, + "src": "65148:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18105, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "65152:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18106, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18095, + "src": "65156:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 18107, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18097, + "src": "65160:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687", + "typeString": "literal_string \"log(address,address,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 18101, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65085:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65089:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65085:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65085:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18100, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "65069:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65069:95:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18110, + "nodeType": "ExpressionStatement", + "src": "65069:95:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64987:3:13", + "parameters": { + "id": 18098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18091, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64999:2:13", + "nodeType": "VariableDeclaration", + "scope": 18112, + "src": "64991:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64991:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18093, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65011:2:13", + "nodeType": "VariableDeclaration", + "scope": 18112, + "src": "65003:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65003:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18095, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65029:2:13", + "nodeType": "VariableDeclaration", + "scope": 18112, + "src": "65015:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18094, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "65015:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18097, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65041:2:13", + "nodeType": "VariableDeclaration", + "scope": 18112, + "src": "65033:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65033:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "64990:54:13" + }, + "returnParameters": { + "id": 18099, + "nodeType": "ParameterList", + "parameters": [], + "src": "65059:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18135, + "nodeType": "FunctionDefinition", + "src": "65177:176:13", + "nodes": [], + "body": { + "id": 18134, + "nodeType": "Block", + "src": "65246:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7429", + "id": 18126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65296:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e", + "typeString": "literal_string \"log(address,address,bool,uint)\"" + }, + "value": "log(address,address,bool,uint)" + }, + { + "id": 18127, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18114, + "src": "65330:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18128, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18116, + "src": "65334:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18129, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18118, + "src": "65338:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 18130, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18120, + "src": "65342:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e", + "typeString": "literal_string \"log(address,address,bool,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18124, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65272:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65276:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65272:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65272:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18123, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "65256:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65256:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18133, + "nodeType": "ExpressionStatement", + "src": "65256:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65186:3:13", + "parameters": { + "id": 18121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18114, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65198:2:13", + "nodeType": "VariableDeclaration", + "scope": 18135, + "src": "65190:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65190:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18116, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65210:2:13", + "nodeType": "VariableDeclaration", + "scope": 18135, + "src": "65202:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18115, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65202:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18118, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65219:2:13", + "nodeType": "VariableDeclaration", + "scope": 18135, + "src": "65214:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18117, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65214:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18120, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65228:2:13", + "nodeType": "VariableDeclaration", + "scope": 18135, + "src": "65223:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18119, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "65223:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "65189:42:13" + }, + "returnParameters": { + "id": 18122, + "nodeType": "ParameterList", + "parameters": [], + "src": "65246:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18158, + "nodeType": "FunctionDefinition", + "src": "65359:187:13", + "nodes": [], + "body": { + "id": 18157, + "nodeType": "Block", + "src": "65437:109:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729", + "id": 18149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65487:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88", + "typeString": "literal_string \"log(address,address,bool,string)\"" + }, + "value": "log(address,address,bool,string)" + }, + { + "id": 18150, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18137, + "src": "65523:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18151, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18139, + "src": "65527:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18152, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18141, + "src": "65531:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 18153, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18143, + "src": "65535:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88", + "typeString": "literal_string \"log(address,address,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 18147, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65463:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65467:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65463:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65463:75:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18146, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "65447:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65447:92:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18156, + "nodeType": "ExpressionStatement", + "src": "65447:92:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65368:3:13", + "parameters": { + "id": 18144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18137, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65380:2:13", + "nodeType": "VariableDeclaration", + "scope": 18158, + "src": "65372:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18136, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65372:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18139, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65392:2:13", + "nodeType": "VariableDeclaration", + "scope": 18158, + "src": "65384:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65384:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18141, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65401:2:13", + "nodeType": "VariableDeclaration", + "scope": 18158, + "src": "65396:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18140, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65396:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18143, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65419:2:13", + "nodeType": "VariableDeclaration", + "scope": 18158, + "src": "65405:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18142, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "65405:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "65371:51:13" + }, + "returnParameters": { + "id": 18145, + "nodeType": "ParameterList", + "parameters": [], + "src": "65437:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18181, + "nodeType": "FunctionDefinition", + "src": "65552:176:13", + "nodes": [], + "body": { + "id": 18180, + "nodeType": "Block", + "src": "65621:107:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29", + "id": 18172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65671:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65", + "typeString": "literal_string \"log(address,address,bool,bool)\"" + }, + "value": "log(address,address,bool,bool)" + }, + { + "id": 18173, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18160, + "src": "65705:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18174, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18162, + "src": "65709:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18175, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18164, + "src": "65713:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 18176, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18166, + "src": "65717:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65", + "typeString": "literal_string \"log(address,address,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 18170, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65647:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65651:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65647:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65647:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18169, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "65631:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65631:90:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18179, + "nodeType": "ExpressionStatement", + "src": "65631:90:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65561:3:13", + "parameters": { + "id": 18167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18160, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65573:2:13", + "nodeType": "VariableDeclaration", + "scope": 18181, + "src": "65565:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65565:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18162, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65585:2:13", + "nodeType": "VariableDeclaration", + "scope": 18181, + "src": "65577:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18161, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65577:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18164, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65594:2:13", + "nodeType": "VariableDeclaration", + "scope": 18181, + "src": "65589:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18163, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65589:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18166, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65603:2:13", + "nodeType": "VariableDeclaration", + "scope": 18181, + "src": "65598:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18165, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65598:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "65564:42:13" + }, + "returnParameters": { + "id": 18168, + "nodeType": "ParameterList", + "parameters": [], + "src": "65621:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18204, + "nodeType": "FunctionDefinition", + "src": "65734:182:13", + "nodes": [], + "body": { + "id": 18203, + "nodeType": "Block", + "src": "65806:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329", + "id": 18195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65856:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c", + "typeString": "literal_string \"log(address,address,bool,address)\"" + }, + "value": "log(address,address,bool,address)" + }, + { + "id": 18196, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18183, + "src": "65893:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18197, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18185, + "src": "65897:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18198, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18187, + "src": "65901:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 18199, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18189, + "src": "65905:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c", + "typeString": "literal_string \"log(address,address,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 18193, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65832:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65836:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65832:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65832:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18192, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "65816:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65816:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18202, + "nodeType": "ExpressionStatement", + "src": "65816:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65743:3:13", + "parameters": { + "id": 18190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18183, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65755:2:13", + "nodeType": "VariableDeclaration", + "scope": 18204, + "src": "65747:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65747:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18185, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65767:2:13", + "nodeType": "VariableDeclaration", + "scope": 18204, + "src": "65759:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18184, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65759:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18187, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65776:2:13", + "nodeType": "VariableDeclaration", + "scope": 18204, + "src": "65771:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18186, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65771:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18189, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65788:2:13", + "nodeType": "VariableDeclaration", + "scope": 18204, + "src": "65780:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18188, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65780:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "65746:45:13" + }, + "returnParameters": { + "id": 18191, + "nodeType": "ParameterList", + "parameters": [], + "src": "65806:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18227, + "nodeType": "FunctionDefinition", + "src": "65922:182:13", + "nodes": [], + "body": { + "id": 18226, + "nodeType": "Block", + "src": "65994:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c75696e7429", + "id": 18218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "66044:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028", + "typeString": "literal_string \"log(address,address,address,uint)\"" + }, + "value": "log(address,address,address,uint)" + }, + { + "id": 18219, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18206, + "src": "66081:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18220, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18208, + "src": "66085:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18221, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18210, + "src": "66089:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18222, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18212, + "src": "66093:2:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028", + "typeString": "literal_string \"log(address,address,address,uint)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18216, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "66020:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "66024:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "66020:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66020:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18215, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "66004:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66004:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18225, + "nodeType": "ExpressionStatement", + "src": "66004:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65931:3:13", + "parameters": { + "id": 18213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18206, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65943:2:13", + "nodeType": "VariableDeclaration", + "scope": 18227, + "src": "65935:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18205, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65935:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18208, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65955:2:13", + "nodeType": "VariableDeclaration", + "scope": 18227, + "src": "65947:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18207, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65947:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18210, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65967:2:13", + "nodeType": "VariableDeclaration", + "scope": 18227, + "src": "65959:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18209, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65959:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18212, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65976:2:13", + "nodeType": "VariableDeclaration", + "scope": 18227, + "src": "65971:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18211, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "65971:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "65934:45:13" + }, + "returnParameters": { + "id": 18214, + "nodeType": "ParameterList", + "parameters": [], + "src": "65994:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18250, + "nodeType": "FunctionDefinition", + "src": "66110:193:13", + "nodes": [], + "body": { + "id": 18249, + "nodeType": "Block", + "src": "66191:112:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729", + "id": 18241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "66241:37:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025", + "typeString": "literal_string \"log(address,address,address,string)\"" + }, + "value": "log(address,address,address,string)" + }, + { + "id": 18242, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18229, + "src": "66280:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18243, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18231, + "src": "66284:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18244, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18233, + "src": "66288:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18245, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18235, + "src": "66292:2:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025", + "typeString": "literal_string \"log(address,address,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 18239, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "66217:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "66221:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "66217:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66217:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18238, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "66201:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66201:95:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18248, + "nodeType": "ExpressionStatement", + "src": "66201:95:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "66119:3:13", + "parameters": { + "id": 18236, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18229, + "mutability": "mutable", + "name": "p0", + "nameLocation": "66131:2:13", + "nodeType": "VariableDeclaration", + "scope": 18250, + "src": "66123:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18228, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66123:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18231, + "mutability": "mutable", + "name": "p1", + "nameLocation": "66143:2:13", + "nodeType": "VariableDeclaration", + "scope": 18250, + "src": "66135:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66135:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18233, + "mutability": "mutable", + "name": "p2", + "nameLocation": "66155:2:13", + "nodeType": "VariableDeclaration", + "scope": 18250, + "src": "66147:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66147:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18235, + "mutability": "mutable", + "name": "p3", + "nameLocation": "66173:2:13", + "nodeType": "VariableDeclaration", + "scope": 18250, + "src": "66159:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18234, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "66159:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "66122:54:13" + }, + "returnParameters": { + "id": 18237, + "nodeType": "ParameterList", + "parameters": [], + "src": "66191:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18273, + "nodeType": "FunctionDefinition", + "src": "66309:182:13", + "nodes": [], + "body": { + "id": 18272, + "nodeType": "Block", + "src": "66381:110:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29", + "id": 18264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "66431:35:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb", + "typeString": "literal_string \"log(address,address,address,bool)\"" + }, + "value": "log(address,address,address,bool)" + }, + { + "id": 18265, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18252, + "src": "66468:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18266, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18254, + "src": "66472:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18267, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18256, + "src": "66476:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18268, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18258, + "src": "66480:2:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb", + "typeString": "literal_string \"log(address,address,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 18262, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "66407:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "66411:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "66407:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66407:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18261, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "66391:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66391:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18271, + "nodeType": "ExpressionStatement", + "src": "66391:93:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "66318:3:13", + "parameters": { + "id": 18259, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18252, + "mutability": "mutable", + "name": "p0", + "nameLocation": "66330:2:13", + "nodeType": "VariableDeclaration", + "scope": 18273, + "src": "66322:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66322:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18254, + "mutability": "mutable", + "name": "p1", + "nameLocation": "66342:2:13", + "nodeType": "VariableDeclaration", + "scope": 18273, + "src": "66334:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18253, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66334:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18256, + "mutability": "mutable", + "name": "p2", + "nameLocation": "66354:2:13", + "nodeType": "VariableDeclaration", + "scope": 18273, + "src": "66346:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18255, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66346:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18258, + "mutability": "mutable", + "name": "p3", + "nameLocation": "66363:2:13", + "nodeType": "VariableDeclaration", + "scope": 18273, + "src": "66358:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18257, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "66358:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "66321:45:13" + }, + "returnParameters": { + "id": 18260, + "nodeType": "ParameterList", + "parameters": [], + "src": "66381:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18296, + "nodeType": "FunctionDefinition", + "src": "66497:188:13", + "nodes": [], + "body": { + "id": 18295, + "nodeType": "Block", + "src": "66572:113:13", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329", + "id": 18287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "66622:38:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5", + "typeString": "literal_string \"log(address,address,address,address)\"" + }, + "value": "log(address,address,address,address)" + }, + { + "id": 18288, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18275, + "src": "66662:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18289, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18277, + "src": "66666:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18290, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18279, + "src": "66670:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 18291, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18281, + "src": "66674:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5", + "typeString": "literal_string \"log(address,address,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 18285, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "66598:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "66602:19:13", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "66598:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66598:79:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18284, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10257, + "src": "66582:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66582:96:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18294, + "nodeType": "ExpressionStatement", + "src": "66582:96:13" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "66506:3:13", + "parameters": { + "id": 18282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18275, + "mutability": "mutable", + "name": "p0", + "nameLocation": "66518:2:13", + "nodeType": "VariableDeclaration", + "scope": 18296, + "src": "66510:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18274, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66510:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18277, + "mutability": "mutable", + "name": "p1", + "nameLocation": "66530:2:13", + "nodeType": "VariableDeclaration", + "scope": 18296, + "src": "66522:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18276, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66522:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18279, + "mutability": "mutable", + "name": "p2", + "nameLocation": "66542:2:13", + "nodeType": "VariableDeclaration", + "scope": 18296, + "src": "66534:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18278, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66534:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18281, + "mutability": "mutable", + "name": "p3", + "nameLocation": "66554:2:13", + "nodeType": "VariableDeclaration", + "scope": 18296, + "src": "66546:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66546:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "66509:48:13" + }, + "returnParameters": { + "id": 18283, + "nodeType": "ParameterList", + "parameters": [], + "src": "66572:0:13" + }, + "scope": 18297, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "console", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 18297 + ], + "name": "console", + "nameLocation": "74:7:13", + "scope": 18298, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/console2.sol": { + "id": 14, + "ast": { + "absolutePath": "lib/forge-std/src/console2.sol", + "id": 26394, + "exportedSymbols": { + "console2": [ + 26393 + ] + }, + "nodeType": "SourceUnit", + "src": "32:69275:14", + "nodes": [ + { + "id": 18299, + "nodeType": "PragmaDirective", + "src": "32:32:14", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.4", + ".22", + "<", + "0.9", + ".0" + ] + }, + { + "id": 26393, + "nodeType": "ContractDefinition", + "src": "525:68782:14", + "nodes": [ + { + "id": 18306, + "nodeType": "VariableDeclaration", + "src": "548:86:14", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "CONSOLE_ADDRESS", + "nameLocation": "565:15:14", + "scope": 26393, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "548:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637", + "id": 18304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "591:42:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x000000000000000000636F6e736F6c652e6c6f67" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "583:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 18302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "583:7:14", + "typeDescriptions": {} + } + }, + "id": 18305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "583:51:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 18322, + "nodeType": "FunctionDefinition", + "src": "641:376:14", + "nodes": [], + "body": { + "id": 18321, + "nodeType": "Block", + "src": "701:316:14", + "nodes": [], + "statements": [ + { + "assignments": [ + 18312 + ], + "declarations": [ + { + "constant": false, + "id": 18312, + "mutability": "mutable", + "name": "payloadLength", + "nameLocation": "719:13:14", + "nodeType": "VariableDeclaration", + "scope": 18321, + "src": "711:21:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18311, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "711:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 18315, + "initialValue": { + "expression": { + "id": 18313, + "name": "payload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18308, + "src": "735:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 18314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "743:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "735:14:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "711:38:14" + }, + { + "assignments": [ + 18317 + ], + "declarations": [ + { + "constant": false, + "id": 18317, + "mutability": "mutable", + "name": "consoleAddress", + "nameLocation": "767:14:14", + "nodeType": "VariableDeclaration", + "scope": 18321, + "src": "759:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18316, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "759:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 18319, + "initialValue": { + "id": 18318, + "name": "CONSOLE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18306, + "src": "784:15:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "759:40:14" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "861:150:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "875:36:14", + "value": { + "arguments": [ + { + "name": "payload", + "nodeType": "YulIdentifier", + "src": "899:7:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "908:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "895:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "895:16:14" + }, + "variables": [ + { + "name": "payloadStart", + "nodeType": "YulTypedName", + "src": "879:12:14", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "924:77:14", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "944:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "944:5:14" + }, + { + "name": "consoleAddress", + "nodeType": "YulIdentifier", + "src": "951:14:14" + }, + { + "name": "payloadStart", + "nodeType": "YulIdentifier", + "src": "967:12:14" + }, + { + "name": "payloadLength", + "nodeType": "YulIdentifier", + "src": "981:13:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "996:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "999:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "staticcall", + "nodeType": "YulIdentifier", + "src": "933:10:14" + }, + "nodeType": "YulFunctionCall", + "src": "933:68:14" + }, + "variables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "928:1:14", + "type": "" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 18317, + "isOffset": false, + "isSlot": false, + "src": "951:14:14", + "valueSize": 1 + }, + { + "declaration": 18308, + "isOffset": false, + "isSlot": false, + "src": "899:7:14", + "valueSize": 1 + }, + { + "declaration": 18312, + "isOffset": false, + "isSlot": false, + "src": "981:13:14", + "valueSize": 1 + } + ], + "id": 18320, + "nodeType": "InlineAssembly", + "src": "852:159:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_sendLogPayload", + "nameLocation": "650:15:14", + "parameters": { + "id": 18309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18308, + "mutability": "mutable", + "name": "payload", + "nameLocation": "679:7:14", + "nodeType": "VariableDeclaration", + "scope": 18322, + "src": "666:20:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 18307, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "666:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "665:22:14" + }, + "returnParameters": { + "id": 18310, + "nodeType": "ParameterList", + "parameters": [], + "src": "701:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "id": 18333, + "nodeType": "FunctionDefinition", + "src": "1023:95:14", + "nodes": [], + "body": { + "id": 18332, + "nodeType": "Block", + "src": "1052:66:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672829", + "id": 18328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1102:7:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39", + "typeString": "literal_string \"log()\"" + }, + "value": "log()" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39", + "typeString": "literal_string \"log()\"" + } + ], + "expression": { + "id": 18326, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1078:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1082:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1078:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1078:32:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18325, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1062:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1062:49:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18331, + "nodeType": "ExpressionStatement", + "src": "1062:49:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "1032:3:14", + "parameters": { + "id": 18323, + "nodeType": "ParameterList", + "parameters": [], + "src": "1035:2:14" + }, + "returnParameters": { + "id": 18324, + "nodeType": "ParameterList", + "parameters": [], + "src": "1052:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18347, + "nodeType": "FunctionDefinition", + "src": "1124:117:14", + "nodes": [], + "body": { + "id": 18346, + "nodeType": "Block", + "src": "1165:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728696e7432353629", + "id": 18341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1215:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8", + "typeString": "literal_string \"log(int256)\"" + }, + "value": "log(int256)" + }, + { + "id": 18342, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18335, + "src": "1230:2:14", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8", + "typeString": "literal_string \"log(int256)\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 18339, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1191:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1195:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1191:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1191:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18338, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1175:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1175:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18345, + "nodeType": "ExpressionStatement", + "src": "1175:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logInt", + "nameLocation": "1133:6:14", + "parameters": { + "id": 18336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18335, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1147:2:14", + "nodeType": "VariableDeclaration", + "scope": 18347, + "src": "1140:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 18334, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1140:6:14", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1139:11:14" + }, + "returnParameters": { + "id": 18337, + "nodeType": "ParameterList", + "parameters": [], + "src": "1165:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18361, + "nodeType": "FunctionDefinition", + "src": "1247:120:14", + "nodes": [], + "body": { + "id": 18360, + "nodeType": "Block", + "src": "1290:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e7432353629", + "id": 18355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1340:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744", + "typeString": "literal_string \"log(uint256)\"" + }, + "value": "log(uint256)" + }, + { + "id": 18356, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18349, + "src": "1356:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744", + "typeString": "literal_string \"log(uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18353, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1316:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1320:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1316:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1316:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18352, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1300:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1300:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18359, + "nodeType": "ExpressionStatement", + "src": "1300:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logUint", + "nameLocation": "1256:7:14", + "parameters": { + "id": 18350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18349, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1272:2:14", + "nodeType": "VariableDeclaration", + "scope": 18361, + "src": "1264:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18348, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1264:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1263:12:14" + }, + "returnParameters": { + "id": 18351, + "nodeType": "ParameterList", + "parameters": [], + "src": "1290:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18375, + "nodeType": "FunctionDefinition", + "src": "1373:127:14", + "nodes": [], + "body": { + "id": 18374, + "nodeType": "Block", + "src": "1424:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e6729", + "id": 18369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1474:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + "value": "log(string)" + }, + { + "id": 18370, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18363, + "src": "1489:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 18367, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1450:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1454:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1450:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1450:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18366, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1434:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1434:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18373, + "nodeType": "ExpressionStatement", + "src": "1434:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logString", + "nameLocation": "1382:9:14", + "parameters": { + "id": 18364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18363, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1406:2:14", + "nodeType": "VariableDeclaration", + "scope": 18375, + "src": "1392:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18362, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1392:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1391:18:14" + }, + "returnParameters": { + "id": 18365, + "nodeType": "ParameterList", + "parameters": [], + "src": "1424:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18389, + "nodeType": "FunctionDefinition", + "src": "1506:114:14", + "nodes": [], + "body": { + "id": 18388, + "nodeType": "Block", + "src": "1546:74:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c29", + "id": 18383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1596:11:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + "value": "log(bool)" + }, + { + "id": 18384, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18377, + "src": "1609:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 18381, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1572:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1576:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1572:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1572:40:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18380, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1556:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1556:57:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18387, + "nodeType": "ExpressionStatement", + "src": "1556:57:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBool", + "nameLocation": "1515:7:14", + "parameters": { + "id": 18378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18377, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1528:2:14", + "nodeType": "VariableDeclaration", + "scope": 18389, + "src": "1523:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18376, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1523:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1522:9:14" + }, + "returnParameters": { + "id": 18379, + "nodeType": "ParameterList", + "parameters": [], + "src": "1546:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18403, + "nodeType": "FunctionDefinition", + "src": "1626:123:14", + "nodes": [], + "body": { + "id": 18402, + "nodeType": "Block", + "src": "1672:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286164647265737329", + "id": 18397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + "value": "log(address)" + }, + { + "id": 18398, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18391, + "src": "1738:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 18395, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1698:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1702:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1698:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1698:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18394, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1682:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1682:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18401, + "nodeType": "ExpressionStatement", + "src": "1682:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logAddress", + "nameLocation": "1635:10:14", + "parameters": { + "id": 18392, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18391, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1654:2:14", + "nodeType": "VariableDeclaration", + "scope": 18403, + "src": "1646:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1646:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1645:12:14" + }, + "returnParameters": { + "id": 18393, + "nodeType": "ParameterList", + "parameters": [], + "src": "1672:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18417, + "nodeType": "FunctionDefinition", + "src": "1755:124:14", + "nodes": [], + "body": { + "id": 18416, + "nodeType": "Block", + "src": "1804:75:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728627974657329", + "id": 18411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1854:12:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238", + "typeString": "literal_string \"log(bytes)\"" + }, + "value": "log(bytes)" + }, + { + "id": 18412, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18405, + "src": "1868:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238", + "typeString": "literal_string \"log(bytes)\"" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 18409, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1830:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1834:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1830:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1830:41:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18408, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1814:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1814:58:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18415, + "nodeType": "ExpressionStatement", + "src": "1814:58:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes", + "nameLocation": "1764:8:14", + "parameters": { + "id": 18406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18405, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1786:2:14", + "nodeType": "VariableDeclaration", + "scope": 18417, + "src": "1773:15:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 18404, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1773:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1772:17:14" + }, + "returnParameters": { + "id": 18407, + "nodeType": "ParameterList", + "parameters": [], + "src": "1804:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18431, + "nodeType": "FunctionDefinition", + "src": "1885:120:14", + "nodes": [], + "body": { + "id": 18430, + "nodeType": "Block", + "src": "1929:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733129", + "id": 18425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1979:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041", + "typeString": "literal_string \"log(bytes1)\"" + }, + "value": "log(bytes1)" + }, + { + "id": 18426, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18419, + "src": "1994:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041", + "typeString": "literal_string \"log(bytes1)\"" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "expression": { + "id": 18423, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1955:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1959:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1955:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1955:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18422, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1939:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1939:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18429, + "nodeType": "ExpressionStatement", + "src": "1939:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes1", + "nameLocation": "1894:9:14", + "parameters": { + "id": 18420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18419, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1911:2:14", + "nodeType": "VariableDeclaration", + "scope": 18431, + "src": "1904:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 18418, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "1904:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + } + ], + "src": "1903:11:14" + }, + "returnParameters": { + "id": 18421, + "nodeType": "ParameterList", + "parameters": [], + "src": "1929:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18445, + "nodeType": "FunctionDefinition", + "src": "2011:120:14", + "nodes": [], + "body": { + "id": 18444, + "nodeType": "Block", + "src": "2055:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733229", + "id": 18439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2105:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224", + "typeString": "literal_string \"log(bytes2)\"" + }, + "value": "log(bytes2)" + }, + { + "id": 18440, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18433, + "src": "2120:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224", + "typeString": "literal_string \"log(bytes2)\"" + }, + { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + } + ], + "expression": { + "id": 18437, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2081:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2085:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2081:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2081:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18436, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "2065:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2065:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18443, + "nodeType": "ExpressionStatement", + "src": "2065:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes2", + "nameLocation": "2020:9:14", + "parameters": { + "id": 18434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18433, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2037:2:14", + "nodeType": "VariableDeclaration", + "scope": 18445, + "src": "2030:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + }, + "typeName": { + "id": 18432, + "name": "bytes2", + "nodeType": "ElementaryTypeName", + "src": "2030:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + } + }, + "visibility": "internal" + } + ], + "src": "2029:11:14" + }, + "returnParameters": { + "id": 18435, + "nodeType": "ParameterList", + "parameters": [], + "src": "2055:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18459, + "nodeType": "FunctionDefinition", + "src": "2137:120:14", + "nodes": [], + "body": { + "id": 18458, + "nodeType": "Block", + "src": "2181:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733329", + "id": 18453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2231:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee", + "typeString": "literal_string \"log(bytes3)\"" + }, + "value": "log(bytes3)" + }, + { + "id": 18454, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18447, + "src": "2246:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee", + "typeString": "literal_string \"log(bytes3)\"" + }, + { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + } + ], + "expression": { + "id": 18451, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2207:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2211:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2207:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2207:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18450, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "2191:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2191:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18457, + "nodeType": "ExpressionStatement", + "src": "2191:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes3", + "nameLocation": "2146:9:14", + "parameters": { + "id": 18448, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18447, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2163:2:14", + "nodeType": "VariableDeclaration", + "scope": 18459, + "src": "2156:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + }, + "typeName": { + "id": 18446, + "name": "bytes3", + "nodeType": "ElementaryTypeName", + "src": "2156:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + } + }, + "visibility": "internal" + } + ], + "src": "2155:11:14" + }, + "returnParameters": { + "id": 18449, + "nodeType": "ParameterList", + "parameters": [], + "src": "2181:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18473, + "nodeType": "FunctionDefinition", + "src": "2263:120:14", + "nodes": [], + "body": { + "id": 18472, + "nodeType": "Block", + "src": "2307:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733429", + "id": 18467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2357:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55", + "typeString": "literal_string \"log(bytes4)\"" + }, + "value": "log(bytes4)" + }, + { + "id": 18468, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18461, + "src": "2372:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55", + "typeString": "literal_string \"log(bytes4)\"" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 18465, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2333:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2337:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2333:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2333:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18464, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "2317:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2317:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18471, + "nodeType": "ExpressionStatement", + "src": "2317:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes4", + "nameLocation": "2272:9:14", + "parameters": { + "id": 18462, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18461, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2289:2:14", + "nodeType": "VariableDeclaration", + "scope": 18473, + "src": "2282:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 18460, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2282:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "2281:11:14" + }, + "returnParameters": { + "id": 18463, + "nodeType": "ParameterList", + "parameters": [], + "src": "2307:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18487, + "nodeType": "FunctionDefinition", + "src": "2389:120:14", + "nodes": [], + "body": { + "id": 18486, + "nodeType": "Block", + "src": "2433:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733529", + "id": 18481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2483:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a", + "typeString": "literal_string \"log(bytes5)\"" + }, + "value": "log(bytes5)" + }, + { + "id": 18482, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18475, + "src": "2498:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a", + "typeString": "literal_string \"log(bytes5)\"" + }, + { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + } + ], + "expression": { + "id": 18479, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2459:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2463:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2459:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2459:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18478, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "2443:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2443:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18485, + "nodeType": "ExpressionStatement", + "src": "2443:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes5", + "nameLocation": "2398:9:14", + "parameters": { + "id": 18476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18475, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2415:2:14", + "nodeType": "VariableDeclaration", + "scope": 18487, + "src": "2408:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + }, + "typeName": { + "id": 18474, + "name": "bytes5", + "nodeType": "ElementaryTypeName", + "src": "2408:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + } + }, + "visibility": "internal" + } + ], + "src": "2407:11:14" + }, + "returnParameters": { + "id": 18477, + "nodeType": "ParameterList", + "parameters": [], + "src": "2433:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18501, + "nodeType": "FunctionDefinition", + "src": "2515:120:14", + "nodes": [], + "body": { + "id": 18500, + "nodeType": "Block", + "src": "2559:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733629", + "id": 18495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2609:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330", + "typeString": "literal_string \"log(bytes6)\"" + }, + "value": "log(bytes6)" + }, + { + "id": 18496, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18489, + "src": "2624:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330", + "typeString": "literal_string \"log(bytes6)\"" + }, + { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + } + ], + "expression": { + "id": 18493, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2585:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2589:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2585:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2585:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18492, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "2569:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2569:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18499, + "nodeType": "ExpressionStatement", + "src": "2569:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes6", + "nameLocation": "2524:9:14", + "parameters": { + "id": 18490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18489, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2541:2:14", + "nodeType": "VariableDeclaration", + "scope": 18501, + "src": "2534:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + }, + "typeName": { + "id": 18488, + "name": "bytes6", + "nodeType": "ElementaryTypeName", + "src": "2534:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + } + }, + "visibility": "internal" + } + ], + "src": "2533:11:14" + }, + "returnParameters": { + "id": 18491, + "nodeType": "ParameterList", + "parameters": [], + "src": "2559:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18515, + "nodeType": "FunctionDefinition", + "src": "2641:120:14", + "nodes": [], + "body": { + "id": 18514, + "nodeType": "Block", + "src": "2685:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733729", + "id": 18509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2735:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29", + "typeString": "literal_string \"log(bytes7)\"" + }, + "value": "log(bytes7)" + }, + { + "id": 18510, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18503, + "src": "2750:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29", + "typeString": "literal_string \"log(bytes7)\"" + }, + { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + } + ], + "expression": { + "id": 18507, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2711:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2715:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2711:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2711:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18506, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "2695:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2695:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18513, + "nodeType": "ExpressionStatement", + "src": "2695:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes7", + "nameLocation": "2650:9:14", + "parameters": { + "id": 18504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18503, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2667:2:14", + "nodeType": "VariableDeclaration", + "scope": 18515, + "src": "2660:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + }, + "typeName": { + "id": 18502, + "name": "bytes7", + "nodeType": "ElementaryTypeName", + "src": "2660:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + } + }, + "visibility": "internal" + } + ], + "src": "2659:11:14" + }, + "returnParameters": { + "id": 18505, + "nodeType": "ParameterList", + "parameters": [], + "src": "2685:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18529, + "nodeType": "FunctionDefinition", + "src": "2767:120:14", + "nodes": [], + "body": { + "id": 18528, + "nodeType": "Block", + "src": "2811:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733829", + "id": 18523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2861:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3", + "typeString": "literal_string \"log(bytes8)\"" + }, + "value": "log(bytes8)" + }, + { + "id": 18524, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18517, + "src": "2876:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3", + "typeString": "literal_string \"log(bytes8)\"" + }, + { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + } + ], + "expression": { + "id": 18521, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2837:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2841:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2837:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2837:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18520, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "2821:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2821:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18527, + "nodeType": "ExpressionStatement", + "src": "2821:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes8", + "nameLocation": "2776:9:14", + "parameters": { + "id": 18518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18517, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2793:2:14", + "nodeType": "VariableDeclaration", + "scope": 18529, + "src": "2786:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + }, + "typeName": { + "id": 18516, + "name": "bytes8", + "nodeType": "ElementaryTypeName", + "src": "2786:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + } + }, + "visibility": "internal" + } + ], + "src": "2785:11:14" + }, + "returnParameters": { + "id": 18519, + "nodeType": "ParameterList", + "parameters": [], + "src": "2811:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18543, + "nodeType": "FunctionDefinition", + "src": "2893:120:14", + "nodes": [], + "body": { + "id": 18542, + "nodeType": "Block", + "src": "2937:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733929", + "id": 18537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2987:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667", + "typeString": "literal_string \"log(bytes9)\"" + }, + "value": "log(bytes9)" + }, + { + "id": 18538, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18531, + "src": "3002:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667", + "typeString": "literal_string \"log(bytes9)\"" + }, + { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + } + ], + "expression": { + "id": 18535, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2963:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2967:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2963:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2963:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18534, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "2947:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2947:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18541, + "nodeType": "ExpressionStatement", + "src": "2947:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes9", + "nameLocation": "2902:9:14", + "parameters": { + "id": 18532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18531, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2919:2:14", + "nodeType": "VariableDeclaration", + "scope": 18543, + "src": "2912:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + }, + "typeName": { + "id": 18530, + "name": "bytes9", + "nodeType": "ElementaryTypeName", + "src": "2912:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + } + }, + "visibility": "internal" + } + ], + "src": "2911:11:14" + }, + "returnParameters": { + "id": 18533, + "nodeType": "ParameterList", + "parameters": [], + "src": "2937:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18557, + "nodeType": "FunctionDefinition", + "src": "3019:123:14", + "nodes": [], + "body": { + "id": 18556, + "nodeType": "Block", + "src": "3065:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313029", + "id": 18551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3115:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66", + "typeString": "literal_string \"log(bytes10)\"" + }, + "value": "log(bytes10)" + }, + { + "id": 18552, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18545, + "src": "3131:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66", + "typeString": "literal_string \"log(bytes10)\"" + }, + { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + } + ], + "expression": { + "id": 18549, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3091:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3095:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3091:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3091:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18548, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "3075:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3075:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18555, + "nodeType": "ExpressionStatement", + "src": "3075:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes10", + "nameLocation": "3028:10:14", + "parameters": { + "id": 18546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18545, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3047:2:14", + "nodeType": "VariableDeclaration", + "scope": 18557, + "src": "3039:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + }, + "typeName": { + "id": 18544, + "name": "bytes10", + "nodeType": "ElementaryTypeName", + "src": "3039:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + } + }, + "visibility": "internal" + } + ], + "src": "3038:12:14" + }, + "returnParameters": { + "id": 18547, + "nodeType": "ParameterList", + "parameters": [], + "src": "3065:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18571, + "nodeType": "FunctionDefinition", + "src": "3148:123:14", + "nodes": [], + "body": { + "id": 18570, + "nodeType": "Block", + "src": "3194:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313129", + "id": 18565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3244:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9", + "typeString": "literal_string \"log(bytes11)\"" + }, + "value": "log(bytes11)" + }, + { + "id": 18566, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18559, + "src": "3260:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9", + "typeString": "literal_string \"log(bytes11)\"" + }, + { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + } + ], + "expression": { + "id": 18563, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3220:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3224:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3220:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3220:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18562, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "3204:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3204:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18569, + "nodeType": "ExpressionStatement", + "src": "3204:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes11", + "nameLocation": "3157:10:14", + "parameters": { + "id": 18560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18559, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3176:2:14", + "nodeType": "VariableDeclaration", + "scope": 18571, + "src": "3168:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + }, + "typeName": { + "id": 18558, + "name": "bytes11", + "nodeType": "ElementaryTypeName", + "src": "3168:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + } + }, + "visibility": "internal" + } + ], + "src": "3167:12:14" + }, + "returnParameters": { + "id": 18561, + "nodeType": "ParameterList", + "parameters": [], + "src": "3194:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18585, + "nodeType": "FunctionDefinition", + "src": "3277:123:14", + "nodes": [], + "body": { + "id": 18584, + "nodeType": "Block", + "src": "3323:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313229", + "id": 18579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3373:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2", + "typeString": "literal_string \"log(bytes12)\"" + }, + "value": "log(bytes12)" + }, + { + "id": 18580, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18573, + "src": "3389:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2", + "typeString": "literal_string \"log(bytes12)\"" + }, + { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + } + ], + "expression": { + "id": 18577, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3349:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3353:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3349:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3349:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18576, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "3333:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3333:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18583, + "nodeType": "ExpressionStatement", + "src": "3333:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes12", + "nameLocation": "3286:10:14", + "parameters": { + "id": 18574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18573, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3305:2:14", + "nodeType": "VariableDeclaration", + "scope": 18585, + "src": "3297:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + }, + "typeName": { + "id": 18572, + "name": "bytes12", + "nodeType": "ElementaryTypeName", + "src": "3297:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + } + }, + "visibility": "internal" + } + ], + "src": "3296:12:14" + }, + "returnParameters": { + "id": 18575, + "nodeType": "ParameterList", + "parameters": [], + "src": "3323:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18599, + "nodeType": "FunctionDefinition", + "src": "3406:123:14", + "nodes": [], + "body": { + "id": 18598, + "nodeType": "Block", + "src": "3452:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313329", + "id": 18593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3502:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec", + "typeString": "literal_string \"log(bytes13)\"" + }, + "value": "log(bytes13)" + }, + { + "id": 18594, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18587, + "src": "3518:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec", + "typeString": "literal_string \"log(bytes13)\"" + }, + { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + } + ], + "expression": { + "id": 18591, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3478:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3482:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3478:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3478:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18590, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "3462:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3462:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18597, + "nodeType": "ExpressionStatement", + "src": "3462:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes13", + "nameLocation": "3415:10:14", + "parameters": { + "id": 18588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18587, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3434:2:14", + "nodeType": "VariableDeclaration", + "scope": 18599, + "src": "3426:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + }, + "typeName": { + "id": 18586, + "name": "bytes13", + "nodeType": "ElementaryTypeName", + "src": "3426:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + } + }, + "visibility": "internal" + } + ], + "src": "3425:12:14" + }, + "returnParameters": { + "id": 18589, + "nodeType": "ParameterList", + "parameters": [], + "src": "3452:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18613, + "nodeType": "FunctionDefinition", + "src": "3535:123:14", + "nodes": [], + "body": { + "id": 18612, + "nodeType": "Block", + "src": "3581:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313429", + "id": 18607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3631:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278", + "typeString": "literal_string \"log(bytes14)\"" + }, + "value": "log(bytes14)" + }, + { + "id": 18608, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18601, + "src": "3647:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278", + "typeString": "literal_string \"log(bytes14)\"" + }, + { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + } + ], + "expression": { + "id": 18605, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3607:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3611:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3607:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3607:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18604, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "3591:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3591:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18611, + "nodeType": "ExpressionStatement", + "src": "3591:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes14", + "nameLocation": "3544:10:14", + "parameters": { + "id": 18602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18601, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3563:2:14", + "nodeType": "VariableDeclaration", + "scope": 18613, + "src": "3555:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + }, + "typeName": { + "id": 18600, + "name": "bytes14", + "nodeType": "ElementaryTypeName", + "src": "3555:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + } + }, + "visibility": "internal" + } + ], + "src": "3554:12:14" + }, + "returnParameters": { + "id": 18603, + "nodeType": "ParameterList", + "parameters": [], + "src": "3581:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18627, + "nodeType": "FunctionDefinition", + "src": "3664:123:14", + "nodes": [], + "body": { + "id": 18626, + "nodeType": "Block", + "src": "3710:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313529", + "id": 18621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3760:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606", + "typeString": "literal_string \"log(bytes15)\"" + }, + "value": "log(bytes15)" + }, + { + "id": 18622, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18615, + "src": "3776:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606", + "typeString": "literal_string \"log(bytes15)\"" + }, + { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + } + ], + "expression": { + "id": 18619, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3736:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3740:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3736:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3736:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18618, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "3720:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3720:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18625, + "nodeType": "ExpressionStatement", + "src": "3720:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes15", + "nameLocation": "3673:10:14", + "parameters": { + "id": 18616, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18615, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3692:2:14", + "nodeType": "VariableDeclaration", + "scope": 18627, + "src": "3684:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + }, + "typeName": { + "id": 18614, + "name": "bytes15", + "nodeType": "ElementaryTypeName", + "src": "3684:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + } + }, + "visibility": "internal" + } + ], + "src": "3683:12:14" + }, + "returnParameters": { + "id": 18617, + "nodeType": "ParameterList", + "parameters": [], + "src": "3710:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18641, + "nodeType": "FunctionDefinition", + "src": "3793:123:14", + "nodes": [], + "body": { + "id": 18640, + "nodeType": "Block", + "src": "3839:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313629", + "id": 18635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3889:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3", + "typeString": "literal_string \"log(bytes16)\"" + }, + "value": "log(bytes16)" + }, + { + "id": 18636, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18629, + "src": "3905:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3", + "typeString": "literal_string \"log(bytes16)\"" + }, + { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + ], + "expression": { + "id": 18633, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3865:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3869:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3865:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3865:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18632, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "3849:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3849:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18639, + "nodeType": "ExpressionStatement", + "src": "3849:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes16", + "nameLocation": "3802:10:14", + "parameters": { + "id": 18630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18629, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3821:2:14", + "nodeType": "VariableDeclaration", + "scope": 18641, + "src": "3813:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 18628, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "3813:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "visibility": "internal" + } + ], + "src": "3812:12:14" + }, + "returnParameters": { + "id": 18631, + "nodeType": "ParameterList", + "parameters": [], + "src": "3839:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18655, + "nodeType": "FunctionDefinition", + "src": "3922:123:14", + "nodes": [], + "body": { + "id": 18654, + "nodeType": "Block", + "src": "3968:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313729", + "id": 18649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4018:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3", + "typeString": "literal_string \"log(bytes17)\"" + }, + "value": "log(bytes17)" + }, + { + "id": 18650, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18643, + "src": "4034:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3", + "typeString": "literal_string \"log(bytes17)\"" + }, + { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + } + ], + "expression": { + "id": 18647, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3994:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3998:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3994:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3994:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18646, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "3978:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3978:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18653, + "nodeType": "ExpressionStatement", + "src": "3978:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes17", + "nameLocation": "3931:10:14", + "parameters": { + "id": 18644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18643, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3950:2:14", + "nodeType": "VariableDeclaration", + "scope": 18655, + "src": "3942:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + }, + "typeName": { + "id": 18642, + "name": "bytes17", + "nodeType": "ElementaryTypeName", + "src": "3942:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + } + }, + "visibility": "internal" + } + ], + "src": "3941:12:14" + }, + "returnParameters": { + "id": 18645, + "nodeType": "ParameterList", + "parameters": [], + "src": "3968:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18669, + "nodeType": "FunctionDefinition", + "src": "4051:123:14", + "nodes": [], + "body": { + "id": 18668, + "nodeType": "Block", + "src": "4097:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313829", + "id": 18663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4147:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116", + "typeString": "literal_string \"log(bytes18)\"" + }, + "value": "log(bytes18)" + }, + { + "id": 18664, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18657, + "src": "4163:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116", + "typeString": "literal_string \"log(bytes18)\"" + }, + { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + } + ], + "expression": { + "id": 18661, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4123:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4127:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4123:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4123:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18660, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "4107:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4107:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18667, + "nodeType": "ExpressionStatement", + "src": "4107:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes18", + "nameLocation": "4060:10:14", + "parameters": { + "id": 18658, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18657, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4079:2:14", + "nodeType": "VariableDeclaration", + "scope": 18669, + "src": "4071:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + }, + "typeName": { + "id": 18656, + "name": "bytes18", + "nodeType": "ElementaryTypeName", + "src": "4071:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + } + }, + "visibility": "internal" + } + ], + "src": "4070:12:14" + }, + "returnParameters": { + "id": 18659, + "nodeType": "ParameterList", + "parameters": [], + "src": "4097:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18683, + "nodeType": "FunctionDefinition", + "src": "4180:123:14", + "nodes": [], + "body": { + "id": 18682, + "nodeType": "Block", + "src": "4226:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313929", + "id": 18677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4276:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada", + "typeString": "literal_string \"log(bytes19)\"" + }, + "value": "log(bytes19)" + }, + { + "id": 18678, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18671, + "src": "4292:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada", + "typeString": "literal_string \"log(bytes19)\"" + }, + { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + } + ], + "expression": { + "id": 18675, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4252:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4256:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4252:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4252:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18674, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "4236:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4236:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18681, + "nodeType": "ExpressionStatement", + "src": "4236:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes19", + "nameLocation": "4189:10:14", + "parameters": { + "id": 18672, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18671, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4208:2:14", + "nodeType": "VariableDeclaration", + "scope": 18683, + "src": "4200:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + }, + "typeName": { + "id": 18670, + "name": "bytes19", + "nodeType": "ElementaryTypeName", + "src": "4200:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + } + }, + "visibility": "internal" + } + ], + "src": "4199:12:14" + }, + "returnParameters": { + "id": 18673, + "nodeType": "ParameterList", + "parameters": [], + "src": "4226:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18697, + "nodeType": "FunctionDefinition", + "src": "4309:123:14", + "nodes": [], + "body": { + "id": 18696, + "nodeType": "Block", + "src": "4355:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323029", + "id": 18691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4405:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231", + "typeString": "literal_string \"log(bytes20)\"" + }, + "value": "log(bytes20)" + }, + { + "id": 18692, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18685, + "src": "4421:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231", + "typeString": "literal_string \"log(bytes20)\"" + }, + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + ], + "expression": { + "id": 18689, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4381:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4385:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4381:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4381:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18688, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "4365:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4365:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18695, + "nodeType": "ExpressionStatement", + "src": "4365:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes20", + "nameLocation": "4318:10:14", + "parameters": { + "id": 18686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18685, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4337:2:14", + "nodeType": "VariableDeclaration", + "scope": 18697, + "src": "4329:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + "typeName": { + "id": 18684, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "4329:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + "visibility": "internal" + } + ], + "src": "4328:12:14" + }, + "returnParameters": { + "id": 18687, + "nodeType": "ParameterList", + "parameters": [], + "src": "4355:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18711, + "nodeType": "FunctionDefinition", + "src": "4438:123:14", + "nodes": [], + "body": { + "id": 18710, + "nodeType": "Block", + "src": "4484:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323129", + "id": 18705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4534:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7", + "typeString": "literal_string \"log(bytes21)\"" + }, + "value": "log(bytes21)" + }, + { + "id": 18706, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18699, + "src": "4550:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7", + "typeString": "literal_string \"log(bytes21)\"" + }, + { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + } + ], + "expression": { + "id": 18703, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4510:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4514:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4510:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4510:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18702, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "4494:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4494:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18709, + "nodeType": "ExpressionStatement", + "src": "4494:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes21", + "nameLocation": "4447:10:14", + "parameters": { + "id": 18700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18699, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4466:2:14", + "nodeType": "VariableDeclaration", + "scope": 18711, + "src": "4458:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + }, + "typeName": { + "id": 18698, + "name": "bytes21", + "nodeType": "ElementaryTypeName", + "src": "4458:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + } + }, + "visibility": "internal" + } + ], + "src": "4457:12:14" + }, + "returnParameters": { + "id": 18701, + "nodeType": "ParameterList", + "parameters": [], + "src": "4484:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18725, + "nodeType": "FunctionDefinition", + "src": "4567:123:14", + "nodes": [], + "body": { + "id": 18724, + "nodeType": "Block", + "src": "4613:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323229", + "id": 18719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4663:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575", + "typeString": "literal_string \"log(bytes22)\"" + }, + "value": "log(bytes22)" + }, + { + "id": 18720, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18713, + "src": "4679:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575", + "typeString": "literal_string \"log(bytes22)\"" + }, + { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + } + ], + "expression": { + "id": 18717, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4639:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4643:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4639:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4639:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18716, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "4623:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4623:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18723, + "nodeType": "ExpressionStatement", + "src": "4623:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes22", + "nameLocation": "4576:10:14", + "parameters": { + "id": 18714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18713, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4595:2:14", + "nodeType": "VariableDeclaration", + "scope": 18725, + "src": "4587:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + }, + "typeName": { + "id": 18712, + "name": "bytes22", + "nodeType": "ElementaryTypeName", + "src": "4587:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + } + }, + "visibility": "internal" + } + ], + "src": "4586:12:14" + }, + "returnParameters": { + "id": 18715, + "nodeType": "ParameterList", + "parameters": [], + "src": "4613:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18739, + "nodeType": "FunctionDefinition", + "src": "4696:123:14", + "nodes": [], + "body": { + "id": 18738, + "nodeType": "Block", + "src": "4742:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323329", + "id": 18733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4792:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061", + "typeString": "literal_string \"log(bytes23)\"" + }, + "value": "log(bytes23)" + }, + { + "id": 18734, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18727, + "src": "4808:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061", + "typeString": "literal_string \"log(bytes23)\"" + }, + { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + } + ], + "expression": { + "id": 18731, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4768:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4772:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4768:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4768:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18730, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "4752:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4752:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18737, + "nodeType": "ExpressionStatement", + "src": "4752:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes23", + "nameLocation": "4705:10:14", + "parameters": { + "id": 18728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18727, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4724:2:14", + "nodeType": "VariableDeclaration", + "scope": 18739, + "src": "4716:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + }, + "typeName": { + "id": 18726, + "name": "bytes23", + "nodeType": "ElementaryTypeName", + "src": "4716:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + } + }, + "visibility": "internal" + } + ], + "src": "4715:12:14" + }, + "returnParameters": { + "id": 18729, + "nodeType": "ParameterList", + "parameters": [], + "src": "4742:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18753, + "nodeType": "FunctionDefinition", + "src": "4825:123:14", + "nodes": [], + "body": { + "id": 18752, + "nodeType": "Block", + "src": "4871:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323429", + "id": 18747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4921:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4", + "typeString": "literal_string \"log(bytes24)\"" + }, + "value": "log(bytes24)" + }, + { + "id": 18748, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18741, + "src": "4937:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4", + "typeString": "literal_string \"log(bytes24)\"" + }, + { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + } + ], + "expression": { + "id": 18745, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4897:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4901:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4897:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4897:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18744, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "4881:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4881:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18751, + "nodeType": "ExpressionStatement", + "src": "4881:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes24", + "nameLocation": "4834:10:14", + "parameters": { + "id": 18742, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18741, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4853:2:14", + "nodeType": "VariableDeclaration", + "scope": 18753, + "src": "4845:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + }, + "typeName": { + "id": 18740, + "name": "bytes24", + "nodeType": "ElementaryTypeName", + "src": "4845:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + } + }, + "visibility": "internal" + } + ], + "src": "4844:12:14" + }, + "returnParameters": { + "id": 18743, + "nodeType": "ParameterList", + "parameters": [], + "src": "4871:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18767, + "nodeType": "FunctionDefinition", + "src": "4954:123:14", + "nodes": [], + "body": { + "id": 18766, + "nodeType": "Block", + "src": "5000:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323529", + "id": 18761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5050:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25", + "typeString": "literal_string \"log(bytes25)\"" + }, + "value": "log(bytes25)" + }, + { + "id": 18762, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18755, + "src": "5066:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25", + "typeString": "literal_string \"log(bytes25)\"" + }, + { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + ], + "expression": { + "id": 18759, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5026:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5030:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5026:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5026:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18758, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "5010:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5010:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18765, + "nodeType": "ExpressionStatement", + "src": "5010:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes25", + "nameLocation": "4963:10:14", + "parameters": { + "id": 18756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18755, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4982:2:14", + "nodeType": "VariableDeclaration", + "scope": 18767, + "src": "4974:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + }, + "typeName": { + "id": 18754, + "name": "bytes25", + "nodeType": "ElementaryTypeName", + "src": "4974:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + }, + "visibility": "internal" + } + ], + "src": "4973:12:14" + }, + "returnParameters": { + "id": 18757, + "nodeType": "ParameterList", + "parameters": [], + "src": "5000:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18781, + "nodeType": "FunctionDefinition", + "src": "5083:123:14", + "nodes": [], + "body": { + "id": 18780, + "nodeType": "Block", + "src": "5129:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323629", + "id": 18775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5179:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b", + "typeString": "literal_string \"log(bytes26)\"" + }, + "value": "log(bytes26)" + }, + { + "id": 18776, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18769, + "src": "5195:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b", + "typeString": "literal_string \"log(bytes26)\"" + }, + { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + } + ], + "expression": { + "id": 18773, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5155:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5159:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5155:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5155:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18772, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "5139:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5139:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18779, + "nodeType": "ExpressionStatement", + "src": "5139:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes26", + "nameLocation": "5092:10:14", + "parameters": { + "id": 18770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18769, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5111:2:14", + "nodeType": "VariableDeclaration", + "scope": 18781, + "src": "5103:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + }, + "typeName": { + "id": 18768, + "name": "bytes26", + "nodeType": "ElementaryTypeName", + "src": "5103:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + } + }, + "visibility": "internal" + } + ], + "src": "5102:12:14" + }, + "returnParameters": { + "id": 18771, + "nodeType": "ParameterList", + "parameters": [], + "src": "5129:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18795, + "nodeType": "FunctionDefinition", + "src": "5212:123:14", + "nodes": [], + "body": { + "id": 18794, + "nodeType": "Block", + "src": "5258:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323729", + "id": 18789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5308:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6", + "typeString": "literal_string \"log(bytes27)\"" + }, + "value": "log(bytes27)" + }, + { + "id": 18790, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18783, + "src": "5324:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6", + "typeString": "literal_string \"log(bytes27)\"" + }, + { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + } + ], + "expression": { + "id": 18787, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5284:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5288:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5284:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5284:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18786, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "5268:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5268:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18793, + "nodeType": "ExpressionStatement", + "src": "5268:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes27", + "nameLocation": "5221:10:14", + "parameters": { + "id": 18784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18783, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5240:2:14", + "nodeType": "VariableDeclaration", + "scope": 18795, + "src": "5232:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + }, + "typeName": { + "id": 18782, + "name": "bytes27", + "nodeType": "ElementaryTypeName", + "src": "5232:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + } + }, + "visibility": "internal" + } + ], + "src": "5231:12:14" + }, + "returnParameters": { + "id": 18785, + "nodeType": "ParameterList", + "parameters": [], + "src": "5258:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18809, + "nodeType": "FunctionDefinition", + "src": "5341:123:14", + "nodes": [], + "body": { + "id": 18808, + "nodeType": "Block", + "src": "5387:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323829", + "id": 18803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5437:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042", + "typeString": "literal_string \"log(bytes28)\"" + }, + "value": "log(bytes28)" + }, + { + "id": 18804, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18797, + "src": "5453:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042", + "typeString": "literal_string \"log(bytes28)\"" + }, + { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + ], + "expression": { + "id": 18801, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5413:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5417:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5413:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5413:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18800, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "5397:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5397:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18807, + "nodeType": "ExpressionStatement", + "src": "5397:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes28", + "nameLocation": "5350:10:14", + "parameters": { + "id": 18798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18797, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5369:2:14", + "nodeType": "VariableDeclaration", + "scope": 18809, + "src": "5361:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + }, + "typeName": { + "id": 18796, + "name": "bytes28", + "nodeType": "ElementaryTypeName", + "src": "5361:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + }, + "visibility": "internal" + } + ], + "src": "5360:12:14" + }, + "returnParameters": { + "id": 18799, + "nodeType": "ParameterList", + "parameters": [], + "src": "5387:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18823, + "nodeType": "FunctionDefinition", + "src": "5470:123:14", + "nodes": [], + "body": { + "id": 18822, + "nodeType": "Block", + "src": "5516:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323929", + "id": 18817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5566:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667", + "typeString": "literal_string \"log(bytes29)\"" + }, + "value": "log(bytes29)" + }, + { + "id": 18818, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18811, + "src": "5582:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667", + "typeString": "literal_string \"log(bytes29)\"" + }, + { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + } + ], + "expression": { + "id": 18815, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5542:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5546:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5542:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5542:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18814, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "5526:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5526:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18821, + "nodeType": "ExpressionStatement", + "src": "5526:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes29", + "nameLocation": "5479:10:14", + "parameters": { + "id": 18812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18811, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5498:2:14", + "nodeType": "VariableDeclaration", + "scope": 18823, + "src": "5490:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + }, + "typeName": { + "id": 18810, + "name": "bytes29", + "nodeType": "ElementaryTypeName", + "src": "5490:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + } + }, + "visibility": "internal" + } + ], + "src": "5489:12:14" + }, + "returnParameters": { + "id": 18813, + "nodeType": "ParameterList", + "parameters": [], + "src": "5516:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18837, + "nodeType": "FunctionDefinition", + "src": "5599:123:14", + "nodes": [], + "body": { + "id": 18836, + "nodeType": "Block", + "src": "5645:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573333029", + "id": 18831, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5695:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad", + "typeString": "literal_string \"log(bytes30)\"" + }, + "value": "log(bytes30)" + }, + { + "id": 18832, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18825, + "src": "5711:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad", + "typeString": "literal_string \"log(bytes30)\"" + }, + { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + } + ], + "expression": { + "id": 18829, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5671:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5675:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5671:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5671:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18828, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "5655:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5655:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18835, + "nodeType": "ExpressionStatement", + "src": "5655:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes30", + "nameLocation": "5608:10:14", + "parameters": { + "id": 18826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18825, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5627:2:14", + "nodeType": "VariableDeclaration", + "scope": 18837, + "src": "5619:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + }, + "typeName": { + "id": 18824, + "name": "bytes30", + "nodeType": "ElementaryTypeName", + "src": "5619:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + } + }, + "visibility": "internal" + } + ], + "src": "5618:12:14" + }, + "returnParameters": { + "id": 18827, + "nodeType": "ParameterList", + "parameters": [], + "src": "5645:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18851, + "nodeType": "FunctionDefinition", + "src": "5728:123:14", + "nodes": [], + "body": { + "id": 18850, + "nodeType": "Block", + "src": "5774:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573333129", + "id": 18845, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5824:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce", + "typeString": "literal_string \"log(bytes31)\"" + }, + "value": "log(bytes31)" + }, + { + "id": 18846, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18839, + "src": "5840:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce", + "typeString": "literal_string \"log(bytes31)\"" + }, + { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + } + ], + "expression": { + "id": 18843, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5800:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5804:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5800:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5800:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18842, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "5784:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5784:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18849, + "nodeType": "ExpressionStatement", + "src": "5784:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes31", + "nameLocation": "5737:10:14", + "parameters": { + "id": 18840, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18839, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5756:2:14", + "nodeType": "VariableDeclaration", + "scope": 18851, + "src": "5748:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + }, + "typeName": { + "id": 18838, + "name": "bytes31", + "nodeType": "ElementaryTypeName", + "src": "5748:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + } + }, + "visibility": "internal" + } + ], + "src": "5747:12:14" + }, + "returnParameters": { + "id": 18841, + "nodeType": "ParameterList", + "parameters": [], + "src": "5774:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18865, + "nodeType": "FunctionDefinition", + "src": "5857:123:14", + "nodes": [], + "body": { + "id": 18864, + "nodeType": "Block", + "src": "5903:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573333229", + "id": 18859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5953:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da", + "typeString": "literal_string \"log(bytes32)\"" + }, + "value": "log(bytes32)" + }, + { + "id": 18860, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18853, + "src": "5969:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da", + "typeString": "literal_string \"log(bytes32)\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 18857, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5929:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5933:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5929:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5929:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18856, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "5913:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5913:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18863, + "nodeType": "ExpressionStatement", + "src": "5913:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes32", + "nameLocation": "5866:10:14", + "parameters": { + "id": 18854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18853, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5885:2:14", + "nodeType": "VariableDeclaration", + "scope": 18865, + "src": "5877:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18852, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5877:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5876:12:14" + }, + "returnParameters": { + "id": 18855, + "nodeType": "ParameterList", + "parameters": [], + "src": "5903:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18879, + "nodeType": "FunctionDefinition", + "src": "5986:116:14", + "nodes": [], + "body": { + "id": 18878, + "nodeType": "Block", + "src": "6025:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e7432353629", + "id": 18873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6075:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744", + "typeString": "literal_string \"log(uint256)\"" + }, + "value": "log(uint256)" + }, + { + "id": 18874, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18867, + "src": "6091:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744", + "typeString": "literal_string \"log(uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18871, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6051:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6055:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6051:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6051:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18870, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "6035:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6035:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18877, + "nodeType": "ExpressionStatement", + "src": "6035:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5995:3:14", + "parameters": { + "id": 18868, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18867, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6007:2:14", + "nodeType": "VariableDeclaration", + "scope": 18879, + "src": "5999:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18866, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5999:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5998:12:14" + }, + "returnParameters": { + "id": 18869, + "nodeType": "ParameterList", + "parameters": [], + "src": "6025:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18893, + "nodeType": "FunctionDefinition", + "src": "6108:114:14", + "nodes": [], + "body": { + "id": 18892, + "nodeType": "Block", + "src": "6146:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728696e7432353629", + "id": 18887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6196:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8", + "typeString": "literal_string \"log(int256)\"" + }, + "value": "log(int256)" + }, + { + "id": 18888, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18881, + "src": "6211:2:14", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8", + "typeString": "literal_string \"log(int256)\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 18885, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6172:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6176:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6172:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6172:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18884, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "6156:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6156:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18891, + "nodeType": "ExpressionStatement", + "src": "6156:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6117:3:14", + "parameters": { + "id": 18882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18881, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6128:2:14", + "nodeType": "VariableDeclaration", + "scope": 18893, + "src": "6121:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 18880, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6121:6:14", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6120:11:14" + }, + "returnParameters": { + "id": 18883, + "nodeType": "ParameterList", + "parameters": [], + "src": "6146:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18907, + "nodeType": "FunctionDefinition", + "src": "6228:121:14", + "nodes": [], + "body": { + "id": 18906, + "nodeType": "Block", + "src": "6273:76:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e6729", + "id": 18901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6323:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + "value": "log(string)" + }, + { + "id": 18902, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18895, + "src": "6338:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 18899, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6299:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6303:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6299:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6299:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18898, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "6283:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6283:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18905, + "nodeType": "ExpressionStatement", + "src": "6283:59:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6237:3:14", + "parameters": { + "id": 18896, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18895, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6255:2:14", + "nodeType": "VariableDeclaration", + "scope": 18907, + "src": "6241:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18894, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6241:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6240:18:14" + }, + "returnParameters": { + "id": 18897, + "nodeType": "ParameterList", + "parameters": [], + "src": "6273:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18921, + "nodeType": "FunctionDefinition", + "src": "6355:110:14", + "nodes": [], + "body": { + "id": 18920, + "nodeType": "Block", + "src": "6391:74:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c29", + "id": 18915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6441:11:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + "value": "log(bool)" + }, + { + "id": 18916, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18909, + "src": "6454:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 18913, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6417:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6421:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6417:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6417:40:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18912, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "6401:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6401:57:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18919, + "nodeType": "ExpressionStatement", + "src": "6401:57:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6364:3:14", + "parameters": { + "id": 18910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18909, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6373:2:14", + "nodeType": "VariableDeclaration", + "scope": 18921, + "src": "6368:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18908, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6368:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6367:9:14" + }, + "returnParameters": { + "id": 18911, + "nodeType": "ParameterList", + "parameters": [], + "src": "6391:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18935, + "nodeType": "FunctionDefinition", + "src": "6471:116:14", + "nodes": [], + "body": { + "id": 18934, + "nodeType": "Block", + "src": "6510:77:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286164647265737329", + "id": 18929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6560:14:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + "value": "log(address)" + }, + { + "id": 18930, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18923, + "src": "6576:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 18927, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6536:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6540:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6536:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6536:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18926, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "6520:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6520:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18933, + "nodeType": "ExpressionStatement", + "src": "6520:60:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6480:3:14", + "parameters": { + "id": 18924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18923, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6492:2:14", + "nodeType": "VariableDeclaration", + "scope": 18935, + "src": "6484:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18922, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6484:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6483:12:14" + }, + "returnParameters": { + "id": 18925, + "nodeType": "ParameterList", + "parameters": [], + "src": "6510:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18952, + "nodeType": "FunctionDefinition", + "src": "6593:140:14", + "nodes": [], + "body": { + "id": 18951, + "nodeType": "Block", + "src": "6644:89:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e7432353629", + "id": 18945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6694:22:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5", + "typeString": "literal_string \"log(uint256,uint256)\"" + }, + "value": "log(uint256,uint256)" + }, + { + "id": 18946, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18937, + "src": "6718:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 18947, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18939, + "src": "6722:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5", + "typeString": "literal_string \"log(uint256,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 18943, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6670:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6674:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6670:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6670:55:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18942, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "6654:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6654:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18950, + "nodeType": "ExpressionStatement", + "src": "6654:72:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6602:3:14", + "parameters": { + "id": 18940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18937, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6614:2:14", + "nodeType": "VariableDeclaration", + "scope": 18952, + "src": "6606:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18936, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6606:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18939, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6626:2:14", + "nodeType": "VariableDeclaration", + "scope": 18952, + "src": "6618:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18938, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6618:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6605:24:14" + }, + "returnParameters": { + "id": 18941, + "nodeType": "ParameterList", + "parameters": [], + "src": "6644:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18969, + "nodeType": "FunctionDefinition", + "src": "6739:145:14", + "nodes": [], + "body": { + "id": 18968, + "nodeType": "Block", + "src": "6796:88:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e6729", + "id": 18962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6846:21:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3", + "typeString": "literal_string \"log(uint256,string)\"" + }, + "value": "log(uint256,string)" + }, + { + "id": 18963, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18954, + "src": "6869:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 18964, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18956, + "src": "6873:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3", + "typeString": "literal_string \"log(uint256,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 18960, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6822:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6826:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6822:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6822:54:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18959, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "6806:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6806:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18967, + "nodeType": "ExpressionStatement", + "src": "6806:71:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6748:3:14", + "parameters": { + "id": 18957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18954, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6760:2:14", + "nodeType": "VariableDeclaration", + "scope": 18969, + "src": "6752:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18953, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6752:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18956, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6778:2:14", + "nodeType": "VariableDeclaration", + "scope": 18969, + "src": "6764:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18955, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6764:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6751:30:14" + }, + "returnParameters": { + "id": 18958, + "nodeType": "ParameterList", + "parameters": [], + "src": "6796:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 18986, + "nodeType": "FunctionDefinition", + "src": "6890:134:14", + "nodes": [], + "body": { + "id": 18985, + "nodeType": "Block", + "src": "6938:86:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c29", + "id": 18979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6988:19:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2", + "typeString": "literal_string \"log(uint256,bool)\"" + }, + "value": "log(uint256,bool)" + }, + { + "id": 18980, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18971, + "src": "7009:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 18981, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18973, + "src": "7013:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2", + "typeString": "literal_string \"log(uint256,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 18977, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6964:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6968:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6964:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6964:52:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18976, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "6948:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 18983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6948:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18984, + "nodeType": "ExpressionStatement", + "src": "6948:69:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6899:3:14", + "parameters": { + "id": 18974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18971, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6911:2:14", + "nodeType": "VariableDeclaration", + "scope": 18986, + "src": "6903:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18970, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6903:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18973, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6920:2:14", + "nodeType": "VariableDeclaration", + "scope": 18986, + "src": "6915:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18972, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6915:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6902:21:14" + }, + "returnParameters": { + "id": 18975, + "nodeType": "ParameterList", + "parameters": [], + "src": "6938:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19003, + "nodeType": "FunctionDefinition", + "src": "7030:140:14", + "nodes": [], + "body": { + "id": 19002, + "nodeType": "Block", + "src": "7081:89:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c6164647265737329", + "id": 18996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7131:22:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27", + "typeString": "literal_string \"log(uint256,address)\"" + }, + "value": "log(uint256,address)" + }, + { + "id": 18997, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18988, + "src": "7155:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 18998, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18990, + "src": "7159:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27", + "typeString": "literal_string \"log(uint256,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 18994, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7107:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 18995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7111:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7107:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 18999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7107:55:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 18993, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "7091:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7091:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19001, + "nodeType": "ExpressionStatement", + "src": "7091:72:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7039:3:14", + "parameters": { + "id": 18991, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18988, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7051:2:14", + "nodeType": "VariableDeclaration", + "scope": 19003, + "src": "7043:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18987, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7043:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18990, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7063:2:14", + "nodeType": "VariableDeclaration", + "scope": 19003, + "src": "7055:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18989, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7055:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7042:24:14" + }, + "returnParameters": { + "id": 18992, + "nodeType": "ParameterList", + "parameters": [], + "src": "7081:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19020, + "nodeType": "FunctionDefinition", + "src": "7176:145:14", + "nodes": [], + "body": { + "id": 19019, + "nodeType": "Block", + "src": "7233:88:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e7432353629", + "id": 19013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7283:21:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e", + "typeString": "literal_string \"log(string,uint256)\"" + }, + "value": "log(string,uint256)" + }, + { + "id": 19014, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19005, + "src": "7306:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19015, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19007, + "src": "7310:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e", + "typeString": "literal_string \"log(string,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19011, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7259:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7263:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7259:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7259:54:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19010, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "7243:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7243:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19018, + "nodeType": "ExpressionStatement", + "src": "7243:71:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7185:3:14", + "parameters": { + "id": 19008, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19005, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7203:2:14", + "nodeType": "VariableDeclaration", + "scope": 19020, + "src": "7189:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19004, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7189:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19007, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7215:2:14", + "nodeType": "VariableDeclaration", + "scope": 19020, + "src": "7207:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19006, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7207:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7188:30:14" + }, + "returnParameters": { + "id": 19009, + "nodeType": "ParameterList", + "parameters": [], + "src": "7233:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19037, + "nodeType": "FunctionDefinition", + "src": "7327:143:14", + "nodes": [], + "body": { + "id": 19036, + "nodeType": "Block", + "src": "7383:87:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c696e7432353629", + "id": 19030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7433:20:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25", + "typeString": "literal_string \"log(string,int256)\"" + }, + "value": "log(string,int256)" + }, + { + "id": 19031, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19022, + "src": "7455:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19032, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19024, + "src": "7459:2:14", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25", + "typeString": "literal_string \"log(string,int256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 19028, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7409:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7413:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7409:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7409:53:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19027, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "7393:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7393:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19035, + "nodeType": "ExpressionStatement", + "src": "7393:70:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7336:3:14", + "parameters": { + "id": 19025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19022, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7354:2:14", + "nodeType": "VariableDeclaration", + "scope": 19037, + "src": "7340:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19021, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7340:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19024, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7365:2:14", + "nodeType": "VariableDeclaration", + "scope": 19037, + "src": "7358:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 19023, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7358:6:14", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "7339:29:14" + }, + "returnParameters": { + "id": 19026, + "nodeType": "ParameterList", + "parameters": [], + "src": "7383:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19054, + "nodeType": "FunctionDefinition", + "src": "7476:150:14", + "nodes": [], + "body": { + "id": 19053, + "nodeType": "Block", + "src": "7539:87:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e6729", + "id": 19047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7589:20:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac", + "typeString": "literal_string \"log(string,string)\"" + }, + "value": "log(string,string)" + }, + { + "id": 19048, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19039, + "src": "7611:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19049, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19041, + "src": "7615:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac", + "typeString": "literal_string \"log(string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19045, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7565:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7569:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7565:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7565:53:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19044, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "7549:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7549:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19052, + "nodeType": "ExpressionStatement", + "src": "7549:70:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7485:3:14", + "parameters": { + "id": 19042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19039, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7503:2:14", + "nodeType": "VariableDeclaration", + "scope": 19054, + "src": "7489:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19038, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7489:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19041, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7521:2:14", + "nodeType": "VariableDeclaration", + "scope": 19054, + "src": "7507:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19040, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7507:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7488:36:14" + }, + "returnParameters": { + "id": 19043, + "nodeType": "ParameterList", + "parameters": [], + "src": "7539:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19071, + "nodeType": "FunctionDefinition", + "src": "7632:139:14", + "nodes": [], + "body": { + "id": 19070, + "nodeType": "Block", + "src": "7686:85:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c29", + "id": 19064, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7736:18:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870", + "typeString": "literal_string \"log(string,bool)\"" + }, + "value": "log(string,bool)" + }, + { + "id": 19065, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19056, + "src": "7756:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19066, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19058, + "src": "7760:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870", + "typeString": "literal_string \"log(string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19062, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7712:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7716:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7712:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7712:51:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19061, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "7696:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7696:68:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19069, + "nodeType": "ExpressionStatement", + "src": "7696:68:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7641:3:14", + "parameters": { + "id": 19059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19056, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7659:2:14", + "nodeType": "VariableDeclaration", + "scope": 19071, + "src": "7645:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19055, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7645:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19058, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7668:2:14", + "nodeType": "VariableDeclaration", + "scope": 19071, + "src": "7663:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19057, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7663:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7644:27:14" + }, + "returnParameters": { + "id": 19060, + "nodeType": "ParameterList", + "parameters": [], + "src": "7686:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19088, + "nodeType": "FunctionDefinition", + "src": "7777:145:14", + "nodes": [], + "body": { + "id": 19087, + "nodeType": "Block", + "src": "7834:88:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c6164647265737329", + "id": 19081, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7884:21:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72", + "typeString": "literal_string \"log(string,address)\"" + }, + "value": "log(string,address)" + }, + { + "id": 19082, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19073, + "src": "7907:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19083, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19075, + "src": "7911:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72", + "typeString": "literal_string \"log(string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19079, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7860:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7864:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7860:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7860:54:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19078, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "7844:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7844:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19086, + "nodeType": "ExpressionStatement", + "src": "7844:71:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7786:3:14", + "parameters": { + "id": 19076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19073, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7804:2:14", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "7790:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19072, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7790:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19075, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7816:2:14", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "7808:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19074, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7808:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7789:30:14" + }, + "returnParameters": { + "id": 19077, + "nodeType": "ParameterList", + "parameters": [], + "src": "7834:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19105, + "nodeType": "FunctionDefinition", + "src": "7928:134:14", + "nodes": [], + "body": { + "id": 19104, + "nodeType": "Block", + "src": "7976:86:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e7432353629", + "id": 19098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8026:19:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7", + "typeString": "literal_string \"log(bool,uint256)\"" + }, + "value": "log(bool,uint256)" + }, + { + "id": 19099, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19090, + "src": "8047:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19100, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19092, + "src": "8051:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7", + "typeString": "literal_string \"log(bool,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19096, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8002:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19097, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8006:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8002:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8002:52:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19095, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "7986:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7986:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19103, + "nodeType": "ExpressionStatement", + "src": "7986:69:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7937:3:14", + "parameters": { + "id": 19093, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19090, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7946:2:14", + "nodeType": "VariableDeclaration", + "scope": 19105, + "src": "7941:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19089, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7941:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19092, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7958:2:14", + "nodeType": "VariableDeclaration", + "scope": 19105, + "src": "7950:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19091, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7950:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7940:21:14" + }, + "returnParameters": { + "id": 19094, + "nodeType": "ParameterList", + "parameters": [], + "src": "7976:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19122, + "nodeType": "FunctionDefinition", + "src": "8068:139:14", + "nodes": [], + "body": { + "id": 19121, + "nodeType": "Block", + "src": "8122:85:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e6729", + "id": 19115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8172:18:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84", + "typeString": "literal_string \"log(bool,string)\"" + }, + "value": "log(bool,string)" + }, + { + "id": 19116, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19107, + "src": "8192:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19117, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19109, + "src": "8196:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84", + "typeString": "literal_string \"log(bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19113, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8148:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8152:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8148:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8148:51:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19112, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "8132:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8132:68:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19120, + "nodeType": "ExpressionStatement", + "src": "8132:68:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8077:3:14", + "parameters": { + "id": 19110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19107, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8086:2:14", + "nodeType": "VariableDeclaration", + "scope": 19122, + "src": "8081:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19106, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8081:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19109, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8104:2:14", + "nodeType": "VariableDeclaration", + "scope": 19122, + "src": "8090:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19108, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8090:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8080:27:14" + }, + "returnParameters": { + "id": 19111, + "nodeType": "ParameterList", + "parameters": [], + "src": "8122:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19139, + "nodeType": "FunctionDefinition", + "src": "8213:128:14", + "nodes": [], + "body": { + "id": 19138, + "nodeType": "Block", + "src": "8258:83:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c29", + "id": 19132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8308:16:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15", + "typeString": "literal_string \"log(bool,bool)\"" + }, + "value": "log(bool,bool)" + }, + { + "id": 19133, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19124, + "src": "8326:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19134, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19126, + "src": "8330:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15", + "typeString": "literal_string \"log(bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19130, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8284:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8288:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8284:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8284:49:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19129, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "8268:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8268:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19137, + "nodeType": "ExpressionStatement", + "src": "8268:66:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8222:3:14", + "parameters": { + "id": 19127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19124, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8231:2:14", + "nodeType": "VariableDeclaration", + "scope": 19139, + "src": "8226:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19123, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8226:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19126, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8240:2:14", + "nodeType": "VariableDeclaration", + "scope": 19139, + "src": "8235:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19125, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8235:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8225:18:14" + }, + "returnParameters": { + "id": 19128, + "nodeType": "ParameterList", + "parameters": [], + "src": "8258:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19156, + "nodeType": "FunctionDefinition", + "src": "8347:134:14", + "nodes": [], + "body": { + "id": 19155, + "nodeType": "Block", + "src": "8395:86:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c6164647265737329", + "id": 19149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8445:19:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55", + "typeString": "literal_string \"log(bool,address)\"" + }, + "value": "log(bool,address)" + }, + { + "id": 19150, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19141, + "src": "8466:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19151, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19143, + "src": "8470:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55", + "typeString": "literal_string \"log(bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19147, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8421:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8425:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8421:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8421:52:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19146, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "8405:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8405:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19154, + "nodeType": "ExpressionStatement", + "src": "8405:69:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8356:3:14", + "parameters": { + "id": 19144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19141, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8365:2:14", + "nodeType": "VariableDeclaration", + "scope": 19156, + "src": "8360:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19140, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8360:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19143, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8377:2:14", + "nodeType": "VariableDeclaration", + "scope": 19156, + "src": "8369:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19142, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8369:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8359:21:14" + }, + "returnParameters": { + "id": 19145, + "nodeType": "ParameterList", + "parameters": [], + "src": "8395:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19173, + "nodeType": "FunctionDefinition", + "src": "8487:140:14", + "nodes": [], + "body": { + "id": 19172, + "nodeType": "Block", + "src": "8538:89:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e7432353629", + "id": 19166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8588:22:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e", + "typeString": "literal_string \"log(address,uint256)\"" + }, + "value": "log(address,uint256)" + }, + { + "id": 19167, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19158, + "src": "8612:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19168, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19160, + "src": "8616:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e", + "typeString": "literal_string \"log(address,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19164, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8564:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19165, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8568:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8564:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8564:55:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19163, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "8548:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8548:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19171, + "nodeType": "ExpressionStatement", + "src": "8548:72:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8496:3:14", + "parameters": { + "id": 19161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19158, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8508:2:14", + "nodeType": "VariableDeclaration", + "scope": 19173, + "src": "8500:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19157, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8500:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19160, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8520:2:14", + "nodeType": "VariableDeclaration", + "scope": 19173, + "src": "8512:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19159, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8512:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8499:24:14" + }, + "returnParameters": { + "id": 19162, + "nodeType": "ParameterList", + "parameters": [], + "src": "8538:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19190, + "nodeType": "FunctionDefinition", + "src": "8633:145:14", + "nodes": [], + "body": { + "id": 19189, + "nodeType": "Block", + "src": "8690:88:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e6729", + "id": 19183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8740:21:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab", + "typeString": "literal_string \"log(address,string)\"" + }, + "value": "log(address,string)" + }, + { + "id": 19184, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19175, + "src": "8763:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19185, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19177, + "src": "8767:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab", + "typeString": "literal_string \"log(address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19181, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8716:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8720:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8716:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8716:54:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19180, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "8700:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8700:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19188, + "nodeType": "ExpressionStatement", + "src": "8700:71:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8642:3:14", + "parameters": { + "id": 19178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19175, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8654:2:14", + "nodeType": "VariableDeclaration", + "scope": 19190, + "src": "8646:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19174, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8646:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19177, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8672:2:14", + "nodeType": "VariableDeclaration", + "scope": 19190, + "src": "8658:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19176, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8658:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8645:30:14" + }, + "returnParameters": { + "id": 19179, + "nodeType": "ParameterList", + "parameters": [], + "src": "8690:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19207, + "nodeType": "FunctionDefinition", + "src": "8784:134:14", + "nodes": [], + "body": { + "id": 19206, + "nodeType": "Block", + "src": "8832:86:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c29", + "id": 19200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8882:19:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b", + "typeString": "literal_string \"log(address,bool)\"" + }, + "value": "log(address,bool)" + }, + { + "id": 19201, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19192, + "src": "8903:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19202, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19194, + "src": "8907:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b", + "typeString": "literal_string \"log(address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19198, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8858:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8862:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8858:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8858:52:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19197, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "8842:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8842:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19205, + "nodeType": "ExpressionStatement", + "src": "8842:69:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8793:3:14", + "parameters": { + "id": 19195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19192, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8805:2:14", + "nodeType": "VariableDeclaration", + "scope": 19207, + "src": "8797:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8797:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19194, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8814:2:14", + "nodeType": "VariableDeclaration", + "scope": 19207, + "src": "8809:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19193, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8809:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8796:21:14" + }, + "returnParameters": { + "id": 19196, + "nodeType": "ParameterList", + "parameters": [], + "src": "8832:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19224, + "nodeType": "FunctionDefinition", + "src": "8924:140:14", + "nodes": [], + "body": { + "id": 19223, + "nodeType": "Block", + "src": "8975:89:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c6164647265737329", + "id": 19217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9025:22:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161", + "typeString": "literal_string \"log(address,address)\"" + }, + "value": "log(address,address)" + }, + { + "id": 19218, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19209, + "src": "9049:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19219, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19211, + "src": "9053:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161", + "typeString": "literal_string \"log(address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19215, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9001:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9005:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9001:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9001:55:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19214, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "8985:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8985:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19222, + "nodeType": "ExpressionStatement", + "src": "8985:72:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8933:3:14", + "parameters": { + "id": 19212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19209, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8945:2:14", + "nodeType": "VariableDeclaration", + "scope": 19224, + "src": "8937:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8937:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19211, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8957:2:14", + "nodeType": "VariableDeclaration", + "scope": 19224, + "src": "8949:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19210, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8949:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8936:24:14" + }, + "returnParameters": { + "id": 19213, + "nodeType": "ParameterList", + "parameters": [], + "src": "8975:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19244, + "nodeType": "FunctionDefinition", + "src": "9070:164:14", + "nodes": [], + "body": { + "id": 19243, + "nodeType": "Block", + "src": "9133:101:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c75696e7432353629", + "id": 19236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9183:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6", + "typeString": "literal_string \"log(uint256,uint256,uint256)\"" + }, + "value": "log(uint256,uint256,uint256)" + }, + { + "id": 19237, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19226, + "src": "9215:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19238, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19228, + "src": "9219:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19239, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19230, + "src": "9223:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6", + "typeString": "literal_string \"log(uint256,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19234, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9159:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9163:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9159:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9159:67:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19233, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "9143:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9143:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19242, + "nodeType": "ExpressionStatement", + "src": "9143:84:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9079:3:14", + "parameters": { + "id": 19231, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19226, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9091:2:14", + "nodeType": "VariableDeclaration", + "scope": 19244, + "src": "9083:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19225, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9083:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19228, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9103:2:14", + "nodeType": "VariableDeclaration", + "scope": 19244, + "src": "9095:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19227, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9095:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19230, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9115:2:14", + "nodeType": "VariableDeclaration", + "scope": 19244, + "src": "9107:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19229, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9107:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9082:36:14" + }, + "returnParameters": { + "id": 19232, + "nodeType": "ParameterList", + "parameters": [], + "src": "9133:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19264, + "nodeType": "FunctionDefinition", + "src": "9240:169:14", + "nodes": [], + "body": { + "id": 19263, + "nodeType": "Block", + "src": "9309:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e6729", + "id": 19256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9359:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262", + "typeString": "literal_string \"log(uint256,uint256,string)\"" + }, + "value": "log(uint256,uint256,string)" + }, + { + "id": 19257, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19246, + "src": "9390:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19258, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19248, + "src": "9394:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19259, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19250, + "src": "9398:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262", + "typeString": "literal_string \"log(uint256,uint256,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19254, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9335:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9339:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9335:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9335:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19253, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "9319:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9319:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19262, + "nodeType": "ExpressionStatement", + "src": "9319:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9249:3:14", + "parameters": { + "id": 19251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19246, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9261:2:14", + "nodeType": "VariableDeclaration", + "scope": 19264, + "src": "9253:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19245, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9253:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19248, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9273:2:14", + "nodeType": "VariableDeclaration", + "scope": 19264, + "src": "9265:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19247, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9265:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19250, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9291:2:14", + "nodeType": "VariableDeclaration", + "scope": 19264, + "src": "9277:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19249, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9277:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9252:42:14" + }, + "returnParameters": { + "id": 19252, + "nodeType": "ParameterList", + "parameters": [], + "src": "9309:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19284, + "nodeType": "FunctionDefinition", + "src": "9415:158:14", + "nodes": [], + "body": { + "id": 19283, + "nodeType": "Block", + "src": "9475:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c29", + "id": 19276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9525:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0", + "typeString": "literal_string \"log(uint256,uint256,bool)\"" + }, + "value": "log(uint256,uint256,bool)" + }, + { + "id": 19277, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19266, + "src": "9554:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19278, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19268, + "src": "9558:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19279, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19270, + "src": "9562:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0", + "typeString": "literal_string \"log(uint256,uint256,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19274, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9501:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9505:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9501:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9501:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19273, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "9485:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9485:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19282, + "nodeType": "ExpressionStatement", + "src": "9485:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9424:3:14", + "parameters": { + "id": 19271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19266, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9436:2:14", + "nodeType": "VariableDeclaration", + "scope": 19284, + "src": "9428:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9428:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19268, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9448:2:14", + "nodeType": "VariableDeclaration", + "scope": 19284, + "src": "9440:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19267, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9440:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19270, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9457:2:14", + "nodeType": "VariableDeclaration", + "scope": 19284, + "src": "9452:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19269, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9452:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "9427:33:14" + }, + "returnParameters": { + "id": 19272, + "nodeType": "ParameterList", + "parameters": [], + "src": "9475:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19304, + "nodeType": "FunctionDefinition", + "src": "9579:164:14", + "nodes": [], + "body": { + "id": 19303, + "nodeType": "Block", + "src": "9642:101:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c6164647265737329", + "id": 19296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9692:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1", + "typeString": "literal_string \"log(uint256,uint256,address)\"" + }, + "value": "log(uint256,uint256,address)" + }, + { + "id": 19297, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19286, + "src": "9724:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19298, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19288, + "src": "9728:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19299, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19290, + "src": "9732:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1", + "typeString": "literal_string \"log(uint256,uint256,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19294, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9668:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9672:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9668:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9668:67:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19293, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "9652:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9652:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19302, + "nodeType": "ExpressionStatement", + "src": "9652:84:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9588:3:14", + "parameters": { + "id": 19291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19286, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9600:2:14", + "nodeType": "VariableDeclaration", + "scope": 19304, + "src": "9592:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9592:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19288, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9612:2:14", + "nodeType": "VariableDeclaration", + "scope": 19304, + "src": "9604:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9604:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19290, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9624:2:14", + "nodeType": "VariableDeclaration", + "scope": 19304, + "src": "9616:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9616:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9591:36:14" + }, + "returnParameters": { + "id": 19292, + "nodeType": "ParameterList", + "parameters": [], + "src": "9642:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19324, + "nodeType": "FunctionDefinition", + "src": "9749:169:14", + "nodes": [], + "body": { + "id": 19323, + "nodeType": "Block", + "src": "9818:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c75696e7432353629", + "id": 19316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9868:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0", + "typeString": "literal_string \"log(uint256,string,uint256)\"" + }, + "value": "log(uint256,string,uint256)" + }, + { + "id": 19317, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19306, + "src": "9899:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19318, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19308, + "src": "9903:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19319, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19310, + "src": "9907:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0", + "typeString": "literal_string \"log(uint256,string,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19314, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9844:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9848:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9844:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9844:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19313, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "9828:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9828:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19322, + "nodeType": "ExpressionStatement", + "src": "9828:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9758:3:14", + "parameters": { + "id": 19311, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19306, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9770:2:14", + "nodeType": "VariableDeclaration", + "scope": 19324, + "src": "9762:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19305, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9762:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19308, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9788:2:14", + "nodeType": "VariableDeclaration", + "scope": 19324, + "src": "9774:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19307, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9774:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19310, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9800:2:14", + "nodeType": "VariableDeclaration", + "scope": 19324, + "src": "9792:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19309, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9792:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9761:42:14" + }, + "returnParameters": { + "id": 19312, + "nodeType": "ParameterList", + "parameters": [], + "src": "9818:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19344, + "nodeType": "FunctionDefinition", + "src": "9924:174:14", + "nodes": [], + "body": { + "id": 19343, + "nodeType": "Block", + "src": "9999:99:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c737472696e6729", + "id": 19336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10049:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35", + "typeString": "literal_string \"log(uint256,string,string)\"" + }, + "value": "log(uint256,string,string)" + }, + { + "id": 19337, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19326, + "src": "10079:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19338, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19328, + "src": "10083:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19339, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19330, + "src": "10087:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35", + "typeString": "literal_string \"log(uint256,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19334, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10025:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10029:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10025:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10025:65:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19333, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "10009:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10009:82:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19342, + "nodeType": "ExpressionStatement", + "src": "10009:82:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9933:3:14", + "parameters": { + "id": 19331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19326, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9945:2:14", + "nodeType": "VariableDeclaration", + "scope": 19344, + "src": "9937:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9937:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19328, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9963:2:14", + "nodeType": "VariableDeclaration", + "scope": 19344, + "src": "9949:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19327, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9949:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19330, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9981:2:14", + "nodeType": "VariableDeclaration", + "scope": 19344, + "src": "9967:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19329, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9967:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9936:48:14" + }, + "returnParameters": { + "id": 19332, + "nodeType": "ParameterList", + "parameters": [], + "src": "9999:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19364, + "nodeType": "FunctionDefinition", + "src": "10104:163:14", + "nodes": [], + "body": { + "id": 19363, + "nodeType": "Block", + "src": "10170:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c29", + "id": 19356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10220:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a", + "typeString": "literal_string \"log(uint256,string,bool)\"" + }, + "value": "log(uint256,string,bool)" + }, + { + "id": 19357, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19346, + "src": "10248:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19358, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19348, + "src": "10252:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19359, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19350, + "src": "10256:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a", + "typeString": "literal_string \"log(uint256,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19354, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10196:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10200:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10196:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10196:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19353, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "10180:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10180:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19362, + "nodeType": "ExpressionStatement", + "src": "10180:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10113:3:14", + "parameters": { + "id": 19351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19346, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10125:2:14", + "nodeType": "VariableDeclaration", + "scope": 19364, + "src": "10117:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19345, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10117:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19348, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10143:2:14", + "nodeType": "VariableDeclaration", + "scope": 19364, + "src": "10129:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19347, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10129:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19350, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10152:2:14", + "nodeType": "VariableDeclaration", + "scope": 19364, + "src": "10147:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19349, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10147:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "10116:39:14" + }, + "returnParameters": { + "id": 19352, + "nodeType": "ParameterList", + "parameters": [], + "src": "10170:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19384, + "nodeType": "FunctionDefinition", + "src": "10273:169:14", + "nodes": [], + "body": { + "id": 19383, + "nodeType": "Block", + "src": "10342:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c6164647265737329", + "id": 19376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10392:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2", + "typeString": "literal_string \"log(uint256,string,address)\"" + }, + "value": "log(uint256,string,address)" + }, + { + "id": 19377, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19366, + "src": "10423:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19378, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19368, + "src": "10427:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19379, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19370, + "src": "10431:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2", + "typeString": "literal_string \"log(uint256,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19374, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10368:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19375, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10372:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10368:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10368:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19373, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "10352:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10352:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19382, + "nodeType": "ExpressionStatement", + "src": "10352:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10282:3:14", + "parameters": { + "id": 19371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19366, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10294:2:14", + "nodeType": "VariableDeclaration", + "scope": 19384, + "src": "10286:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10286:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19368, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10312:2:14", + "nodeType": "VariableDeclaration", + "scope": 19384, + "src": "10298:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19367, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10298:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19370, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10324:2:14", + "nodeType": "VariableDeclaration", + "scope": 19384, + "src": "10316:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19369, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10316:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10285:42:14" + }, + "returnParameters": { + "id": 19372, + "nodeType": "ParameterList", + "parameters": [], + "src": "10342:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19404, + "nodeType": "FunctionDefinition", + "src": "10448:158:14", + "nodes": [], + "body": { + "id": 19403, + "nodeType": "Block", + "src": "10508:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e7432353629", + "id": 19396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10558:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1", + "typeString": "literal_string \"log(uint256,bool,uint256)\"" + }, + "value": "log(uint256,bool,uint256)" + }, + { + "id": 19397, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19386, + "src": "10587:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19398, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19388, + "src": "10591:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19399, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19390, + "src": "10595:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1", + "typeString": "literal_string \"log(uint256,bool,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19394, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10534:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10538:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10534:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10534:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19393, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "10518:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10518:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19402, + "nodeType": "ExpressionStatement", + "src": "10518:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10457:3:14", + "parameters": { + "id": 19391, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19386, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10469:2:14", + "nodeType": "VariableDeclaration", + "scope": 19404, + "src": "10461:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19385, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10461:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19388, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10478:2:14", + "nodeType": "VariableDeclaration", + "scope": 19404, + "src": "10473:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19387, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10473:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19390, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10490:2:14", + "nodeType": "VariableDeclaration", + "scope": 19404, + "src": "10482:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10482:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10460:33:14" + }, + "returnParameters": { + "id": 19392, + "nodeType": "ParameterList", + "parameters": [], + "src": "10508:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19424, + "nodeType": "FunctionDefinition", + "src": "10612:163:14", + "nodes": [], + "body": { + "id": 19423, + "nodeType": "Block", + "src": "10678:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e6729", + "id": 19416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10728:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df", + "typeString": "literal_string \"log(uint256,bool,string)\"" + }, + "value": "log(uint256,bool,string)" + }, + { + "id": 19417, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19406, + "src": "10756:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19418, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19408, + "src": "10760:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19419, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19410, + "src": "10764:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df", + "typeString": "literal_string \"log(uint256,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19414, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10704:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10708:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10704:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10704:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19413, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "10688:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10688:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19422, + "nodeType": "ExpressionStatement", + "src": "10688:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10621:3:14", + "parameters": { + "id": 19411, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19406, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10633:2:14", + "nodeType": "VariableDeclaration", + "scope": 19424, + "src": "10625:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19405, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10625:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19408, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10642:2:14", + "nodeType": "VariableDeclaration", + "scope": 19424, + "src": "10637:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19407, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10637:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19410, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10660:2:14", + "nodeType": "VariableDeclaration", + "scope": 19424, + "src": "10646:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19409, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10646:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10624:39:14" + }, + "returnParameters": { + "id": 19412, + "nodeType": "ParameterList", + "parameters": [], + "src": "10678:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19444, + "nodeType": "FunctionDefinition", + "src": "10781:152:14", + "nodes": [], + "body": { + "id": 19443, + "nodeType": "Block", + "src": "10838:95:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c29", + "id": 19436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10888:24:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6", + "typeString": "literal_string \"log(uint256,bool,bool)\"" + }, + "value": "log(uint256,bool,bool)" + }, + { + "id": 19437, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19426, + "src": "10914:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19438, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19428, + "src": "10918:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19439, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19430, + "src": "10922:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6", + "typeString": "literal_string \"log(uint256,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19434, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10864:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10868:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10864:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10864:61:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19433, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "10848:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10848:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19442, + "nodeType": "ExpressionStatement", + "src": "10848:78:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10790:3:14", + "parameters": { + "id": 19431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19426, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10802:2:14", + "nodeType": "VariableDeclaration", + "scope": 19444, + "src": "10794:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10794:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19428, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10811:2:14", + "nodeType": "VariableDeclaration", + "scope": 19444, + "src": "10806:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19427, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10806:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19430, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10820:2:14", + "nodeType": "VariableDeclaration", + "scope": 19444, + "src": "10815:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19429, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10815:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "10793:30:14" + }, + "returnParameters": { + "id": 19432, + "nodeType": "ParameterList", + "parameters": [], + "src": "10838:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19464, + "nodeType": "FunctionDefinition", + "src": "10939:158:14", + "nodes": [], + "body": { + "id": 19463, + "nodeType": "Block", + "src": "10999:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c6164647265737329", + "id": 19456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11049:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99", + "typeString": "literal_string \"log(uint256,bool,address)\"" + }, + "value": "log(uint256,bool,address)" + }, + { + "id": 19457, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19446, + "src": "11078:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19458, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19448, + "src": "11082:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19459, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19450, + "src": "11086:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99", + "typeString": "literal_string \"log(uint256,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19454, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11025:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11029:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11025:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11025:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19453, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "11009:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11009:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19462, + "nodeType": "ExpressionStatement", + "src": "11009:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10948:3:14", + "parameters": { + "id": 19451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19446, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10960:2:14", + "nodeType": "VariableDeclaration", + "scope": 19464, + "src": "10952:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19445, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10952:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19448, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10969:2:14", + "nodeType": "VariableDeclaration", + "scope": 19464, + "src": "10964:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19447, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10964:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19450, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10981:2:14", + "nodeType": "VariableDeclaration", + "scope": 19464, + "src": "10973:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10973:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10951:33:14" + }, + "returnParameters": { + "id": 19452, + "nodeType": "ParameterList", + "parameters": [], + "src": "10999:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19484, + "nodeType": "FunctionDefinition", + "src": "11103:164:14", + "nodes": [], + "body": { + "id": 19483, + "nodeType": "Block", + "src": "11166:101:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c75696e7432353629", + "id": 19476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11216:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae", + "typeString": "literal_string \"log(uint256,address,uint256)\"" + }, + "value": "log(uint256,address,uint256)" + }, + { + "id": 19477, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19466, + "src": "11248:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19478, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19468, + "src": "11252:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19479, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19470, + "src": "11256:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae", + "typeString": "literal_string \"log(uint256,address,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19474, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11192:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11196:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11192:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11192:67:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19473, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "11176:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11176:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19482, + "nodeType": "ExpressionStatement", + "src": "11176:84:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11112:3:14", + "parameters": { + "id": 19471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19466, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11124:2:14", + "nodeType": "VariableDeclaration", + "scope": 19484, + "src": "11116:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19465, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11116:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19468, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11136:2:14", + "nodeType": "VariableDeclaration", + "scope": 19484, + "src": "11128:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19467, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11128:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19470, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11148:2:14", + "nodeType": "VariableDeclaration", + "scope": 19484, + "src": "11140:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11140:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11115:36:14" + }, + "returnParameters": { + "id": 19472, + "nodeType": "ParameterList", + "parameters": [], + "src": "11166:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19504, + "nodeType": "FunctionDefinition", + "src": "11273:169:14", + "nodes": [], + "body": { + "id": 19503, + "nodeType": "Block", + "src": "11342:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c737472696e6729", + "id": 19496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11392:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c", + "typeString": "literal_string \"log(uint256,address,string)\"" + }, + "value": "log(uint256,address,string)" + }, + { + "id": 19497, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19486, + "src": "11423:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19498, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19488, + "src": "11427:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19499, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19490, + "src": "11431:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c", + "typeString": "literal_string \"log(uint256,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19494, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11368:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11372:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11368:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11368:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19493, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "11352:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11352:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19502, + "nodeType": "ExpressionStatement", + "src": "11352:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11282:3:14", + "parameters": { + "id": 19491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19486, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11294:2:14", + "nodeType": "VariableDeclaration", + "scope": 19504, + "src": "11286:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19485, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11286:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19488, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11306:2:14", + "nodeType": "VariableDeclaration", + "scope": 19504, + "src": "11298:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19487, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11298:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19490, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11324:2:14", + "nodeType": "VariableDeclaration", + "scope": 19504, + "src": "11310:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19489, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11310:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11285:42:14" + }, + "returnParameters": { + "id": 19492, + "nodeType": "ParameterList", + "parameters": [], + "src": "11342:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19524, + "nodeType": "FunctionDefinition", + "src": "11448:158:14", + "nodes": [], + "body": { + "id": 19523, + "nodeType": "Block", + "src": "11508:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c29", + "id": 19516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11558:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c", + "typeString": "literal_string \"log(uint256,address,bool)\"" + }, + "value": "log(uint256,address,bool)" + }, + { + "id": 19517, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19506, + "src": "11587:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19518, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19508, + "src": "11591:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19519, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19510, + "src": "11595:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c", + "typeString": "literal_string \"log(uint256,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19514, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11534:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11538:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11534:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11534:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19513, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "11518:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11518:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19522, + "nodeType": "ExpressionStatement", + "src": "11518:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11457:3:14", + "parameters": { + "id": 19511, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19506, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11469:2:14", + "nodeType": "VariableDeclaration", + "scope": 19524, + "src": "11461:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11461:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19508, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11481:2:14", + "nodeType": "VariableDeclaration", + "scope": 19524, + "src": "11473:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19507, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11473:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19510, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11490:2:14", + "nodeType": "VariableDeclaration", + "scope": 19524, + "src": "11485:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19509, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11485:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "11460:33:14" + }, + "returnParameters": { + "id": 19512, + "nodeType": "ParameterList", + "parameters": [], + "src": "11508:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19544, + "nodeType": "FunctionDefinition", + "src": "11612:164:14", + "nodes": [], + "body": { + "id": 19543, + "nodeType": "Block", + "src": "11675:101:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c6164647265737329", + "id": 19536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11725:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda", + "typeString": "literal_string \"log(uint256,address,address)\"" + }, + "value": "log(uint256,address,address)" + }, + { + "id": 19537, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19526, + "src": "11757:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19538, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19528, + "src": "11761:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19539, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19530, + "src": "11765:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda", + "typeString": "literal_string \"log(uint256,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19534, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11701:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11705:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11701:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11701:67:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19533, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "11685:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11685:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19542, + "nodeType": "ExpressionStatement", + "src": "11685:84:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11621:3:14", + "parameters": { + "id": 19531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19526, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11633:2:14", + "nodeType": "VariableDeclaration", + "scope": 19544, + "src": "11625:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11625:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19528, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11645:2:14", + "nodeType": "VariableDeclaration", + "scope": 19544, + "src": "11637:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19527, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11637:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19530, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11657:2:14", + "nodeType": "VariableDeclaration", + "scope": 19544, + "src": "11649:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19529, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11649:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "11624:36:14" + }, + "returnParameters": { + "id": 19532, + "nodeType": "ParameterList", + "parameters": [], + "src": "11675:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19564, + "nodeType": "FunctionDefinition", + "src": "11782:169:14", + "nodes": [], + "body": { + "id": 19563, + "nodeType": "Block", + "src": "11851:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c75696e7432353629", + "id": 19556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11901:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece", + "typeString": "literal_string \"log(string,uint256,uint256)\"" + }, + "value": "log(string,uint256,uint256)" + }, + { + "id": 19557, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19546, + "src": "11932:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19558, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19548, + "src": "11936:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19559, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19550, + "src": "11940:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece", + "typeString": "literal_string \"log(string,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19554, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11877:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11881:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11877:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11877:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19553, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "11861:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11861:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19562, + "nodeType": "ExpressionStatement", + "src": "11861:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11791:3:14", + "parameters": { + "id": 19551, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19546, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11809:2:14", + "nodeType": "VariableDeclaration", + "scope": 19564, + "src": "11795:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19545, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11795:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19548, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11821:2:14", + "nodeType": "VariableDeclaration", + "scope": 19564, + "src": "11813:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11813:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19550, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11833:2:14", + "nodeType": "VariableDeclaration", + "scope": 19564, + "src": "11825:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19549, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11825:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11794:42:14" + }, + "returnParameters": { + "id": 19552, + "nodeType": "ParameterList", + "parameters": [], + "src": "11851:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19584, + "nodeType": "FunctionDefinition", + "src": "11957:174:14", + "nodes": [], + "body": { + "id": 19583, + "nodeType": "Block", + "src": "12032:99:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e6729", + "id": 19576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12082:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf", + "typeString": "literal_string \"log(string,uint256,string)\"" + }, + "value": "log(string,uint256,string)" + }, + { + "id": 19577, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19566, + "src": "12112:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19578, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19568, + "src": "12116:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19579, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19570, + "src": "12120:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf", + "typeString": "literal_string \"log(string,uint256,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19574, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12058:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12062:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12058:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12058:65:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19573, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "12042:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12042:82:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19582, + "nodeType": "ExpressionStatement", + "src": "12042:82:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11966:3:14", + "parameters": { + "id": 19571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19566, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11984:2:14", + "nodeType": "VariableDeclaration", + "scope": 19584, + "src": "11970:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19565, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11970:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19568, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11996:2:14", + "nodeType": "VariableDeclaration", + "scope": 19584, + "src": "11988:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19567, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11988:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19570, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12014:2:14", + "nodeType": "VariableDeclaration", + "scope": 19584, + "src": "12000:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19569, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12000:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11969:48:14" + }, + "returnParameters": { + "id": 19572, + "nodeType": "ParameterList", + "parameters": [], + "src": "12032:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19604, + "nodeType": "FunctionDefinition", + "src": "12137:163:14", + "nodes": [], + "body": { + "id": 19603, + "nodeType": "Block", + "src": "12203:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c29", + "id": 19596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12253:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e", + "typeString": "literal_string \"log(string,uint256,bool)\"" + }, + "value": "log(string,uint256,bool)" + }, + { + "id": 19597, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19586, + "src": "12281:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19598, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19588, + "src": "12285:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19599, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19590, + "src": "12289:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e", + "typeString": "literal_string \"log(string,uint256,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19594, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12229:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12233:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12229:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12229:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19593, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "12213:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12213:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19602, + "nodeType": "ExpressionStatement", + "src": "12213:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12146:3:14", + "parameters": { + "id": 19591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19586, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12164:2:14", + "nodeType": "VariableDeclaration", + "scope": 19604, + "src": "12150:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19585, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12150:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19588, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12176:2:14", + "nodeType": "VariableDeclaration", + "scope": 19604, + "src": "12168:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12168:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19590, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12185:2:14", + "nodeType": "VariableDeclaration", + "scope": 19604, + "src": "12180:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19589, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12180:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12149:39:14" + }, + "returnParameters": { + "id": 19592, + "nodeType": "ParameterList", + "parameters": [], + "src": "12203:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19624, + "nodeType": "FunctionDefinition", + "src": "12306:169:14", + "nodes": [], + "body": { + "id": 19623, + "nodeType": "Block", + "src": "12375:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c6164647265737329", + "id": 19616, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12425:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335", + "typeString": "literal_string \"log(string,uint256,address)\"" + }, + "value": "log(string,uint256,address)" + }, + { + "id": 19617, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19606, + "src": "12456:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19618, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19608, + "src": "12460:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19619, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19610, + "src": "12464:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335", + "typeString": "literal_string \"log(string,uint256,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19614, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12401:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12405:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12401:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12401:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19613, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "12385:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12385:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19622, + "nodeType": "ExpressionStatement", + "src": "12385:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12315:3:14", + "parameters": { + "id": 19611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19606, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12333:2:14", + "nodeType": "VariableDeclaration", + "scope": 19624, + "src": "12319:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19605, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12319:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19608, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12345:2:14", + "nodeType": "VariableDeclaration", + "scope": 19624, + "src": "12337:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12337:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19610, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12357:2:14", + "nodeType": "VariableDeclaration", + "scope": 19624, + "src": "12349:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19609, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12349:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12318:42:14" + }, + "returnParameters": { + "id": 19612, + "nodeType": "ParameterList", + "parameters": [], + "src": "12375:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19644, + "nodeType": "FunctionDefinition", + "src": "12481:174:14", + "nodes": [], + "body": { + "id": 19643, + "nodeType": "Block", + "src": "12556:99:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e7432353629", + "id": 19636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12606:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0", + "typeString": "literal_string \"log(string,string,uint256)\"" + }, + "value": "log(string,string,uint256)" + }, + { + "id": 19637, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19626, + "src": "12636:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19638, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19628, + "src": "12640:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19639, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19630, + "src": "12644:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0", + "typeString": "literal_string \"log(string,string,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19634, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12582:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12586:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12582:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12582:65:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19633, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "12566:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12566:82:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19642, + "nodeType": "ExpressionStatement", + "src": "12566:82:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12490:3:14", + "parameters": { + "id": 19631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19626, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12508:2:14", + "nodeType": "VariableDeclaration", + "scope": 19644, + "src": "12494:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19625, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12494:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19628, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12526:2:14", + "nodeType": "VariableDeclaration", + "scope": 19644, + "src": "12512:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19627, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12512:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19630, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12538:2:14", + "nodeType": "VariableDeclaration", + "scope": 19644, + "src": "12530:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12530:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12493:48:14" + }, + "returnParameters": { + "id": 19632, + "nodeType": "ParameterList", + "parameters": [], + "src": "12556:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19664, + "nodeType": "FunctionDefinition", + "src": "12661:179:14", + "nodes": [], + "body": { + "id": 19663, + "nodeType": "Block", + "src": "12742:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e6729", + "id": 19656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12792:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f", + "typeString": "literal_string \"log(string,string,string)\"" + }, + "value": "log(string,string,string)" + }, + { + "id": 19657, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19646, + "src": "12821:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19658, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19648, + "src": "12825:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19659, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19650, + "src": "12829:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f", + "typeString": "literal_string \"log(string,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19654, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12768:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12772:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12768:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12768:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19653, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "12752:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12752:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19662, + "nodeType": "ExpressionStatement", + "src": "12752:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12670:3:14", + "parameters": { + "id": 19651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19646, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12688:2:14", + "nodeType": "VariableDeclaration", + "scope": 19664, + "src": "12674:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19645, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12674:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19648, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12706:2:14", + "nodeType": "VariableDeclaration", + "scope": 19664, + "src": "12692:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19647, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12692:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19650, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12724:2:14", + "nodeType": "VariableDeclaration", + "scope": 19664, + "src": "12710:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19649, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12710:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12673:54:14" + }, + "returnParameters": { + "id": 19652, + "nodeType": "ParameterList", + "parameters": [], + "src": "12742:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19684, + "nodeType": "FunctionDefinition", + "src": "12846:168:14", + "nodes": [], + "body": { + "id": 19683, + "nodeType": "Block", + "src": "12918:96:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c29", + "id": 19676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12968:25:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb", + "typeString": "literal_string \"log(string,string,bool)\"" + }, + "value": "log(string,string,bool)" + }, + { + "id": 19677, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19666, + "src": "12995:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19678, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19668, + "src": "12999:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19679, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19670, + "src": "13003:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb", + "typeString": "literal_string \"log(string,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19674, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12944:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12948:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12944:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12944:62:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19673, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "12928:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12928:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19682, + "nodeType": "ExpressionStatement", + "src": "12928:79:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12855:3:14", + "parameters": { + "id": 19671, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19666, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12873:2:14", + "nodeType": "VariableDeclaration", + "scope": 19684, + "src": "12859:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19665, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12859:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19668, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12891:2:14", + "nodeType": "VariableDeclaration", + "scope": 19684, + "src": "12877:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19667, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12877:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19670, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12900:2:14", + "nodeType": "VariableDeclaration", + "scope": 19684, + "src": "12895:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19669, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12895:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12858:45:14" + }, + "returnParameters": { + "id": 19672, + "nodeType": "ParameterList", + "parameters": [], + "src": "12918:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19704, + "nodeType": "FunctionDefinition", + "src": "13020:174:14", + "nodes": [], + "body": { + "id": 19703, + "nodeType": "Block", + "src": "13095:99:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c6164647265737329", + "id": 19696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13145:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768", + "typeString": "literal_string \"log(string,string,address)\"" + }, + "value": "log(string,string,address)" + }, + { + "id": 19697, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19686, + "src": "13175:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19698, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19688, + "src": "13179:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19699, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19690, + "src": "13183:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768", + "typeString": "literal_string \"log(string,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19694, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13121:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19695, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13125:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13121:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13121:65:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19693, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "13105:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13105:82:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19702, + "nodeType": "ExpressionStatement", + "src": "13105:82:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13029:3:14", + "parameters": { + "id": 19691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19686, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13047:2:14", + "nodeType": "VariableDeclaration", + "scope": 19704, + "src": "13033:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19685, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13033:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19688, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13065:2:14", + "nodeType": "VariableDeclaration", + "scope": 19704, + "src": "13051:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19687, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13051:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19690, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13077:2:14", + "nodeType": "VariableDeclaration", + "scope": 19704, + "src": "13069:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19689, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13069:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13032:48:14" + }, + "returnParameters": { + "id": 19692, + "nodeType": "ParameterList", + "parameters": [], + "src": "13095:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19724, + "nodeType": "FunctionDefinition", + "src": "13200:163:14", + "nodes": [], + "body": { + "id": 19723, + "nodeType": "Block", + "src": "13266:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e7432353629", + "id": 19716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13316:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a", + "typeString": "literal_string \"log(string,bool,uint256)\"" + }, + "value": "log(string,bool,uint256)" + }, + { + "id": 19717, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19706, + "src": "13344:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19718, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19708, + "src": "13348:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19719, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19710, + "src": "13352:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a", + "typeString": "literal_string \"log(string,bool,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19714, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13292:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13296:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13292:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13292:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19713, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "13276:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13276:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19722, + "nodeType": "ExpressionStatement", + "src": "13276:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13209:3:14", + "parameters": { + "id": 19711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19706, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13227:2:14", + "nodeType": "VariableDeclaration", + "scope": 19724, + "src": "13213:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19705, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13213:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19708, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13236:2:14", + "nodeType": "VariableDeclaration", + "scope": 19724, + "src": "13231:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19707, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13231:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19710, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13248:2:14", + "nodeType": "VariableDeclaration", + "scope": 19724, + "src": "13240:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19709, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13240:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13212:39:14" + }, + "returnParameters": { + "id": 19712, + "nodeType": "ParameterList", + "parameters": [], + "src": "13266:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19744, + "nodeType": "FunctionDefinition", + "src": "13369:168:14", + "nodes": [], + "body": { + "id": 19743, + "nodeType": "Block", + "src": "13441:96:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e6729", + "id": 19736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13491:25:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7", + "typeString": "literal_string \"log(string,bool,string)\"" + }, + "value": "log(string,bool,string)" + }, + { + "id": 19737, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19726, + "src": "13518:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19738, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19728, + "src": "13522:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19739, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19730, + "src": "13526:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7", + "typeString": "literal_string \"log(string,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19734, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13467:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19735, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13471:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13467:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13467:62:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19733, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "13451:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13451:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19742, + "nodeType": "ExpressionStatement", + "src": "13451:79:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13378:3:14", + "parameters": { + "id": 19731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19726, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13396:2:14", + "nodeType": "VariableDeclaration", + "scope": 19744, + "src": "13382:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19725, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13382:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19728, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13405:2:14", + "nodeType": "VariableDeclaration", + "scope": 19744, + "src": "13400:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19727, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13400:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19730, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13423:2:14", + "nodeType": "VariableDeclaration", + "scope": 19744, + "src": "13409:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19729, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13409:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13381:45:14" + }, + "returnParameters": { + "id": 19732, + "nodeType": "ParameterList", + "parameters": [], + "src": "13441:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19764, + "nodeType": "FunctionDefinition", + "src": "13543:157:14", + "nodes": [], + "body": { + "id": 19763, + "nodeType": "Block", + "src": "13606:94:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c29", + "id": 19756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13656:23:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d", + "typeString": "literal_string \"log(string,bool,bool)\"" + }, + "value": "log(string,bool,bool)" + }, + { + "id": 19757, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19746, + "src": "13681:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19758, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19748, + "src": "13685:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19759, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19750, + "src": "13689:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d", + "typeString": "literal_string \"log(string,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19754, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13632:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13636:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13632:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13632:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19753, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "13616:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13616:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19762, + "nodeType": "ExpressionStatement", + "src": "13616:77:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13552:3:14", + "parameters": { + "id": 19751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19746, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13570:2:14", + "nodeType": "VariableDeclaration", + "scope": 19764, + "src": "13556:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19745, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13556:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19748, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13579:2:14", + "nodeType": "VariableDeclaration", + "scope": 19764, + "src": "13574:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19747, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13574:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19750, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13588:2:14", + "nodeType": "VariableDeclaration", + "scope": 19764, + "src": "13583:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19749, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13583:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13555:36:14" + }, + "returnParameters": { + "id": 19752, + "nodeType": "ParameterList", + "parameters": [], + "src": "13606:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19784, + "nodeType": "FunctionDefinition", + "src": "13706:163:14", + "nodes": [], + "body": { + "id": 19783, + "nodeType": "Block", + "src": "13772:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c6164647265737329", + "id": 19776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13822:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f", + "typeString": "literal_string \"log(string,bool,address)\"" + }, + "value": "log(string,bool,address)" + }, + { + "id": 19777, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19766, + "src": "13850:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19778, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19768, + "src": "13854:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19779, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19770, + "src": "13858:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f", + "typeString": "literal_string \"log(string,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19774, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13798:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13802:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13798:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13798:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19773, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "13782:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13782:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19782, + "nodeType": "ExpressionStatement", + "src": "13782:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13715:3:14", + "parameters": { + "id": 19771, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19766, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13733:2:14", + "nodeType": "VariableDeclaration", + "scope": 19784, + "src": "13719:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19765, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13719:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19768, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13742:2:14", + "nodeType": "VariableDeclaration", + "scope": 19784, + "src": "13737:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19767, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13737:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19770, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13754:2:14", + "nodeType": "VariableDeclaration", + "scope": 19784, + "src": "13746:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13746:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13718:39:14" + }, + "returnParameters": { + "id": 19772, + "nodeType": "ParameterList", + "parameters": [], + "src": "13772:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19804, + "nodeType": "FunctionDefinition", + "src": "13875:169:14", + "nodes": [], + "body": { + "id": 19803, + "nodeType": "Block", + "src": "13944:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e7432353629", + "id": 19796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13994:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4", + "typeString": "literal_string \"log(string,address,uint256)\"" + }, + "value": "log(string,address,uint256)" + }, + { + "id": 19797, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19786, + "src": "14025:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19798, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19788, + "src": "14029:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19799, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19790, + "src": "14033:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4", + "typeString": "literal_string \"log(string,address,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19794, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13970:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13974:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13970:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13970:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19793, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "13954:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13954:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19802, + "nodeType": "ExpressionStatement", + "src": "13954:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13884:3:14", + "parameters": { + "id": 19791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19786, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13902:2:14", + "nodeType": "VariableDeclaration", + "scope": 19804, + "src": "13888:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19785, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13888:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19788, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13914:2:14", + "nodeType": "VariableDeclaration", + "scope": 19804, + "src": "13906:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19787, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13906:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19790, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13926:2:14", + "nodeType": "VariableDeclaration", + "scope": 19804, + "src": "13918:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19789, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13918:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13887:42:14" + }, + "returnParameters": { + "id": 19792, + "nodeType": "ParameterList", + "parameters": [], + "src": "13944:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19824, + "nodeType": "FunctionDefinition", + "src": "14050:174:14", + "nodes": [], + "body": { + "id": 19823, + "nodeType": "Block", + "src": "14125:99:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e6729", + "id": 19816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14175:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634", + "typeString": "literal_string \"log(string,address,string)\"" + }, + "value": "log(string,address,string)" + }, + { + "id": 19817, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19806, + "src": "14205:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19818, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19808, + "src": "14209:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19819, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19810, + "src": "14213:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634", + "typeString": "literal_string \"log(string,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19814, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14151:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14155:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14151:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14151:65:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19813, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "14135:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14135:82:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19822, + "nodeType": "ExpressionStatement", + "src": "14135:82:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14059:3:14", + "parameters": { + "id": 19811, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19806, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14077:2:14", + "nodeType": "VariableDeclaration", + "scope": 19824, + "src": "14063:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19805, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14063:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19808, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14089:2:14", + "nodeType": "VariableDeclaration", + "scope": 19824, + "src": "14081:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19807, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14081:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19810, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14107:2:14", + "nodeType": "VariableDeclaration", + "scope": 19824, + "src": "14093:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19809, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14093:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14062:48:14" + }, + "returnParameters": { + "id": 19812, + "nodeType": "ParameterList", + "parameters": [], + "src": "14125:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19844, + "nodeType": "FunctionDefinition", + "src": "14230:163:14", + "nodes": [], + "body": { + "id": 19843, + "nodeType": "Block", + "src": "14296:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c29", + "id": 19836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14346:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8", + "typeString": "literal_string \"log(string,address,bool)\"" + }, + "value": "log(string,address,bool)" + }, + { + "id": 19837, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19826, + "src": "14374:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19838, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19828, + "src": "14378:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19839, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19830, + "src": "14382:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8", + "typeString": "literal_string \"log(string,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19834, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14322:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14326:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14322:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14322:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19833, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "14306:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14306:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19842, + "nodeType": "ExpressionStatement", + "src": "14306:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14239:3:14", + "parameters": { + "id": 19831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19826, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14257:2:14", + "nodeType": "VariableDeclaration", + "scope": 19844, + "src": "14243:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19825, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14243:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19828, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14269:2:14", + "nodeType": "VariableDeclaration", + "scope": 19844, + "src": "14261:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19827, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14261:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19830, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14278:2:14", + "nodeType": "VariableDeclaration", + "scope": 19844, + "src": "14273:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19829, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14273:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "14242:39:14" + }, + "returnParameters": { + "id": 19832, + "nodeType": "ParameterList", + "parameters": [], + "src": "14296:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19864, + "nodeType": "FunctionDefinition", + "src": "14399:169:14", + "nodes": [], + "body": { + "id": 19863, + "nodeType": "Block", + "src": "14468:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c6164647265737329", + "id": 19856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14518:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8", + "typeString": "literal_string \"log(string,address,address)\"" + }, + "value": "log(string,address,address)" + }, + { + "id": 19857, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19846, + "src": "14549:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19858, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19848, + "src": "14553:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 19859, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19850, + "src": "14557:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8", + "typeString": "literal_string \"log(string,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19854, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14494:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14498:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14494:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14494:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19853, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "14478:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14478:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19862, + "nodeType": "ExpressionStatement", + "src": "14478:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14408:3:14", + "parameters": { + "id": 19851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19846, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14426:2:14", + "nodeType": "VariableDeclaration", + "scope": 19864, + "src": "14412:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19845, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14412:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19848, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14438:2:14", + "nodeType": "VariableDeclaration", + "scope": 19864, + "src": "14430:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14430:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19850, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14450:2:14", + "nodeType": "VariableDeclaration", + "scope": 19864, + "src": "14442:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14442:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14411:42:14" + }, + "returnParameters": { + "id": 19852, + "nodeType": "ParameterList", + "parameters": [], + "src": "14468:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19884, + "nodeType": "FunctionDefinition", + "src": "14574:158:14", + "nodes": [], + "body": { + "id": 19883, + "nodeType": "Block", + "src": "14634:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e7432353629", + "id": 19876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14684:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28", + "typeString": "literal_string \"log(bool,uint256,uint256)\"" + }, + "value": "log(bool,uint256,uint256)" + }, + { + "id": 19877, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19866, + "src": "14713:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19878, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19868, + "src": "14717:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19879, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19870, + "src": "14721:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28", + "typeString": "literal_string \"log(bool,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19874, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14660:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14664:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14660:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14660:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19873, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "14644:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14644:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19882, + "nodeType": "ExpressionStatement", + "src": "14644:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14583:3:14", + "parameters": { + "id": 19871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19866, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14592:2:14", + "nodeType": "VariableDeclaration", + "scope": 19884, + "src": "14587:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19865, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14587:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19868, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14604:2:14", + "nodeType": "VariableDeclaration", + "scope": 19884, + "src": "14596:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14596:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19870, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14616:2:14", + "nodeType": "VariableDeclaration", + "scope": 19884, + "src": "14608:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19869, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14608:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14586:33:14" + }, + "returnParameters": { + "id": 19872, + "nodeType": "ParameterList", + "parameters": [], + "src": "14634:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19904, + "nodeType": "FunctionDefinition", + "src": "14738:163:14", + "nodes": [], + "body": { + "id": 19903, + "nodeType": "Block", + "src": "14804:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e6729", + "id": 19896, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14854:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447", + "typeString": "literal_string \"log(bool,uint256,string)\"" + }, + "value": "log(bool,uint256,string)" + }, + { + "id": 19897, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19886, + "src": "14882:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19898, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19888, + "src": "14886:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19899, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19890, + "src": "14890:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447", + "typeString": "literal_string \"log(bool,uint256,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19894, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14830:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14834:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14830:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14830:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19893, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "14814:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14814:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19902, + "nodeType": "ExpressionStatement", + "src": "14814:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14747:3:14", + "parameters": { + "id": 19891, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19886, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14756:2:14", + "nodeType": "VariableDeclaration", + "scope": 19904, + "src": "14751:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19885, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14751:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19888, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14768:2:14", + "nodeType": "VariableDeclaration", + "scope": 19904, + "src": "14760:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19887, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14760:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19890, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14786:2:14", + "nodeType": "VariableDeclaration", + "scope": 19904, + "src": "14772:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19889, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14772:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14750:39:14" + }, + "returnParameters": { + "id": 19892, + "nodeType": "ParameterList", + "parameters": [], + "src": "14804:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19924, + "nodeType": "FunctionDefinition", + "src": "14907:152:14", + "nodes": [], + "body": { + "id": 19923, + "nodeType": "Block", + "src": "14964:95:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c29", + "id": 19916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15014:24:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26", + "typeString": "literal_string \"log(bool,uint256,bool)\"" + }, + "value": "log(bool,uint256,bool)" + }, + { + "id": 19917, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19906, + "src": "15040:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19918, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19908, + "src": "15044:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19919, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19910, + "src": "15048:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26", + "typeString": "literal_string \"log(bool,uint256,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19914, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14990:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14994:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14990:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14990:61:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19913, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "14974:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14974:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19922, + "nodeType": "ExpressionStatement", + "src": "14974:78:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14916:3:14", + "parameters": { + "id": 19911, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19906, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14925:2:14", + "nodeType": "VariableDeclaration", + "scope": 19924, + "src": "14920:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19905, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14920:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19908, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14937:2:14", + "nodeType": "VariableDeclaration", + "scope": 19924, + "src": "14929:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19907, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14929:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19910, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14946:2:14", + "nodeType": "VariableDeclaration", + "scope": 19924, + "src": "14941:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19909, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14941:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "14919:30:14" + }, + "returnParameters": { + "id": 19912, + "nodeType": "ParameterList", + "parameters": [], + "src": "14964:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19944, + "nodeType": "FunctionDefinition", + "src": "15065:158:14", + "nodes": [], + "body": { + "id": 19943, + "nodeType": "Block", + "src": "15125:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c6164647265737329", + "id": 19936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15175:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574", + "typeString": "literal_string \"log(bool,uint256,address)\"" + }, + "value": "log(bool,uint256,address)" + }, + { + "id": 19937, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19926, + "src": "15204:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19938, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19928, + "src": "15208:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 19939, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19930, + "src": "15212:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574", + "typeString": "literal_string \"log(bool,uint256,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 19934, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15151:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15155:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15151:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15151:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19933, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "15135:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15135:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19942, + "nodeType": "ExpressionStatement", + "src": "15135:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15074:3:14", + "parameters": { + "id": 19931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19926, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15083:2:14", + "nodeType": "VariableDeclaration", + "scope": 19944, + "src": "15078:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19925, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15078:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19928, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15095:2:14", + "nodeType": "VariableDeclaration", + "scope": 19944, + "src": "15087:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19927, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15087:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19930, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15107:2:14", + "nodeType": "VariableDeclaration", + "scope": 19944, + "src": "15099:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19929, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15099:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "15077:33:14" + }, + "returnParameters": { + "id": 19932, + "nodeType": "ParameterList", + "parameters": [], + "src": "15125:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19964, + "nodeType": "FunctionDefinition", + "src": "15229:163:14", + "nodes": [], + "body": { + "id": 19963, + "nodeType": "Block", + "src": "15295:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e7432353629", + "id": 19956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15345:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64", + "typeString": "literal_string \"log(bool,string,uint256)\"" + }, + "value": "log(bool,string,uint256)" + }, + { + "id": 19957, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19946, + "src": "15373:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19958, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19948, + "src": "15377:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19959, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19950, + "src": "15381:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64", + "typeString": "literal_string \"log(bool,string,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 19954, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15321:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15325:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15321:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15321:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19953, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "15305:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15305:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19962, + "nodeType": "ExpressionStatement", + "src": "15305:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15238:3:14", + "parameters": { + "id": 19951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19946, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15247:2:14", + "nodeType": "VariableDeclaration", + "scope": 19964, + "src": "15242:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19945, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15242:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19948, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15265:2:14", + "nodeType": "VariableDeclaration", + "scope": 19964, + "src": "15251:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19947, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15251:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19950, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15277:2:14", + "nodeType": "VariableDeclaration", + "scope": 19964, + "src": "15269:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19949, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15269:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15241:39:14" + }, + "returnParameters": { + "id": 19952, + "nodeType": "ParameterList", + "parameters": [], + "src": "15295:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 19984, + "nodeType": "FunctionDefinition", + "src": "15398:168:14", + "nodes": [], + "body": { + "id": 19983, + "nodeType": "Block", + "src": "15470:96:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e6729", + "id": 19976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15520:25:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102", + "typeString": "literal_string \"log(bool,string,string)\"" + }, + "value": "log(bool,string,string)" + }, + { + "id": 19977, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19966, + "src": "15547:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19978, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19968, + "src": "15551:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19979, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19970, + "src": "15555:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102", + "typeString": "literal_string \"log(bool,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 19974, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15496:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15500:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15496:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 19980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15496:62:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19973, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "15480:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 19981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15480:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19982, + "nodeType": "ExpressionStatement", + "src": "15480:79:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15407:3:14", + "parameters": { + "id": 19971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19966, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15416:2:14", + "nodeType": "VariableDeclaration", + "scope": 19984, + "src": "15411:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19965, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15411:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19968, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15434:2:14", + "nodeType": "VariableDeclaration", + "scope": 19984, + "src": "15420:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19967, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15420:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19970, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15452:2:14", + "nodeType": "VariableDeclaration", + "scope": 19984, + "src": "15438:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19969, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15438:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15410:45:14" + }, + "returnParameters": { + "id": 19972, + "nodeType": "ParameterList", + "parameters": [], + "src": "15470:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20004, + "nodeType": "FunctionDefinition", + "src": "15572:157:14", + "nodes": [], + "body": { + "id": 20003, + "nodeType": "Block", + "src": "15635:94:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c29", + "id": 19996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15685:23:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa", + "typeString": "literal_string \"log(bool,string,bool)\"" + }, + "value": "log(bool,string,bool)" + }, + { + "id": 19997, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19986, + "src": "15710:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 19998, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19988, + "src": "15714:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 19999, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19990, + "src": "15718:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa", + "typeString": "literal_string \"log(bool,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 19994, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15661:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 19995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15665:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15661:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15661:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19993, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "15645:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15645:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20002, + "nodeType": "ExpressionStatement", + "src": "15645:77:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15581:3:14", + "parameters": { + "id": 19991, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19986, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15590:2:14", + "nodeType": "VariableDeclaration", + "scope": 20004, + "src": "15585:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19985, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15585:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19988, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15608:2:14", + "nodeType": "VariableDeclaration", + "scope": 20004, + "src": "15594:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19987, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15594:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 19990, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15617:2:14", + "nodeType": "VariableDeclaration", + "scope": 20004, + "src": "15612:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19989, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15612:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15584:36:14" + }, + "returnParameters": { + "id": 19992, + "nodeType": "ParameterList", + "parameters": [], + "src": "15635:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20024, + "nodeType": "FunctionDefinition", + "src": "15735:163:14", + "nodes": [], + "body": { + "id": 20023, + "nodeType": "Block", + "src": "15801:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c6164647265737329", + "id": 20016, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15851:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79", + "typeString": "literal_string \"log(bool,string,address)\"" + }, + "value": "log(bool,string,address)" + }, + { + "id": 20017, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20006, + "src": "15879:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20018, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20008, + "src": "15883:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20019, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20010, + "src": "15887:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79", + "typeString": "literal_string \"log(bool,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20014, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15827:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15831:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15827:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15827:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20013, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "15811:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15811:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20022, + "nodeType": "ExpressionStatement", + "src": "15811:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15744:3:14", + "parameters": { + "id": 20011, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20006, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15753:2:14", + "nodeType": "VariableDeclaration", + "scope": 20024, + "src": "15748:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20005, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15748:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20008, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15771:2:14", + "nodeType": "VariableDeclaration", + "scope": 20024, + "src": "15757:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20007, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15757:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20010, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15783:2:14", + "nodeType": "VariableDeclaration", + "scope": 20024, + "src": "15775:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20009, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15775:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "15747:39:14" + }, + "returnParameters": { + "id": 20012, + "nodeType": "ParameterList", + "parameters": [], + "src": "15801:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20044, + "nodeType": "FunctionDefinition", + "src": "15904:152:14", + "nodes": [], + "body": { + "id": 20043, + "nodeType": "Block", + "src": "15961:95:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e7432353629", + "id": 20036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16011:24:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211", + "typeString": "literal_string \"log(bool,bool,uint256)\"" + }, + "value": "log(bool,bool,uint256)" + }, + { + "id": 20037, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20026, + "src": "16037:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20038, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20028, + "src": "16041:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20039, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20030, + "src": "16045:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211", + "typeString": "literal_string \"log(bool,bool,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20034, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15987:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20035, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15991:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15987:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15987:61:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20033, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "15971:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15971:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20042, + "nodeType": "ExpressionStatement", + "src": "15971:78:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15913:3:14", + "parameters": { + "id": 20031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20026, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15922:2:14", + "nodeType": "VariableDeclaration", + "scope": 20044, + "src": "15917:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20025, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15917:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20028, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15931:2:14", + "nodeType": "VariableDeclaration", + "scope": 20044, + "src": "15926:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20027, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15926:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20030, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15943:2:14", + "nodeType": "VariableDeclaration", + "scope": 20044, + "src": "15935:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20029, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15935:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15916:30:14" + }, + "returnParameters": { + "id": 20032, + "nodeType": "ParameterList", + "parameters": [], + "src": "15961:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20064, + "nodeType": "FunctionDefinition", + "src": "16062:157:14", + "nodes": [], + "body": { + "id": 20063, + "nodeType": "Block", + "src": "16125:94:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e6729", + "id": 20056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16175:23:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc", + "typeString": "literal_string \"log(bool,bool,string)\"" + }, + "value": "log(bool,bool,string)" + }, + { + "id": 20057, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20046, + "src": "16200:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20058, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20048, + "src": "16204:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20059, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20050, + "src": "16208:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc", + "typeString": "literal_string \"log(bool,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20054, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16151:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16155:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16151:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16151:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20053, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "16135:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16135:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20062, + "nodeType": "ExpressionStatement", + "src": "16135:77:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16071:3:14", + "parameters": { + "id": 20051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20046, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16080:2:14", + "nodeType": "VariableDeclaration", + "scope": 20064, + "src": "16075:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20045, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16075:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20048, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16089:2:14", + "nodeType": "VariableDeclaration", + "scope": 20064, + "src": "16084:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20047, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16084:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20050, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16107:2:14", + "nodeType": "VariableDeclaration", + "scope": 20064, + "src": "16093:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20049, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16093:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "16074:36:14" + }, + "returnParameters": { + "id": 20052, + "nodeType": "ParameterList", + "parameters": [], + "src": "16125:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20084, + "nodeType": "FunctionDefinition", + "src": "16225:146:14", + "nodes": [], + "body": { + "id": 20083, + "nodeType": "Block", + "src": "16279:92:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c29", + "id": 20076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16329:21:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590", + "typeString": "literal_string \"log(bool,bool,bool)\"" + }, + "value": "log(bool,bool,bool)" + }, + { + "id": 20077, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20066, + "src": "16352:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20078, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20068, + "src": "16356:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20079, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20070, + "src": "16360:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590", + "typeString": "literal_string \"log(bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20074, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16305:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16309:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16305:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16305:58:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20073, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "16289:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16289:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20082, + "nodeType": "ExpressionStatement", + "src": "16289:75:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16234:3:14", + "parameters": { + "id": 20071, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20066, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16243:2:14", + "nodeType": "VariableDeclaration", + "scope": 20084, + "src": "16238:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20065, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16238:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20068, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16252:2:14", + "nodeType": "VariableDeclaration", + "scope": 20084, + "src": "16247:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20067, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16247:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20070, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16261:2:14", + "nodeType": "VariableDeclaration", + "scope": 20084, + "src": "16256:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20069, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16256:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16237:27:14" + }, + "returnParameters": { + "id": 20072, + "nodeType": "ParameterList", + "parameters": [], + "src": "16279:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20104, + "nodeType": "FunctionDefinition", + "src": "16377:152:14", + "nodes": [], + "body": { + "id": 20103, + "nodeType": "Block", + "src": "16434:95:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c6164647265737329", + "id": 20096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16484:24:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81", + "typeString": "literal_string \"log(bool,bool,address)\"" + }, + "value": "log(bool,bool,address)" + }, + { + "id": 20097, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20086, + "src": "16510:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20098, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20088, + "src": "16514:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20099, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20090, + "src": "16518:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81", + "typeString": "literal_string \"log(bool,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20094, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16460:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16464:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16460:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16460:61:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20093, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "16444:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16444:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20102, + "nodeType": "ExpressionStatement", + "src": "16444:78:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16386:3:14", + "parameters": { + "id": 20091, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20086, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16395:2:14", + "nodeType": "VariableDeclaration", + "scope": 20104, + "src": "16390:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20085, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16390:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20088, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16404:2:14", + "nodeType": "VariableDeclaration", + "scope": 20104, + "src": "16399:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20087, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16399:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20090, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16416:2:14", + "nodeType": "VariableDeclaration", + "scope": 20104, + "src": "16408:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20089, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16408:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "16389:30:14" + }, + "returnParameters": { + "id": 20092, + "nodeType": "ParameterList", + "parameters": [], + "src": "16434:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20124, + "nodeType": "FunctionDefinition", + "src": "16535:158:14", + "nodes": [], + "body": { + "id": 20123, + "nodeType": "Block", + "src": "16595:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e7432353629", + "id": 20116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16645:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac", + "typeString": "literal_string \"log(bool,address,uint256)\"" + }, + "value": "log(bool,address,uint256)" + }, + { + "id": 20117, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20106, + "src": "16674:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20118, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20108, + "src": "16678:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20119, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20110, + "src": "16682:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac", + "typeString": "literal_string \"log(bool,address,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20114, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16621:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16625:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16621:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16621:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20113, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "16605:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16605:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20122, + "nodeType": "ExpressionStatement", + "src": "16605:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16544:3:14", + "parameters": { + "id": 20111, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20106, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16553:2:14", + "nodeType": "VariableDeclaration", + "scope": 20124, + "src": "16548:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20105, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16548:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20108, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16565:2:14", + "nodeType": "VariableDeclaration", + "scope": 20124, + "src": "16557:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16557:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20110, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16577:2:14", + "nodeType": "VariableDeclaration", + "scope": 20124, + "src": "16569:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20109, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16569:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16547:33:14" + }, + "returnParameters": { + "id": 20112, + "nodeType": "ParameterList", + "parameters": [], + "src": "16595:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20144, + "nodeType": "FunctionDefinition", + "src": "16699:163:14", + "nodes": [], + "body": { + "id": 20143, + "nodeType": "Block", + "src": "16765:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e6729", + "id": 20136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16815:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d", + "typeString": "literal_string \"log(bool,address,string)\"" + }, + "value": "log(bool,address,string)" + }, + { + "id": 20137, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20126, + "src": "16843:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20138, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20128, + "src": "16847:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20139, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20130, + "src": "16851:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d", + "typeString": "literal_string \"log(bool,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20134, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16791:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16795:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16791:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16791:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20133, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "16775:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16775:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20142, + "nodeType": "ExpressionStatement", + "src": "16775:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16708:3:14", + "parameters": { + "id": 20131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20126, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16717:2:14", + "nodeType": "VariableDeclaration", + "scope": 20144, + "src": "16712:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20125, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16712:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20128, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16729:2:14", + "nodeType": "VariableDeclaration", + "scope": 20144, + "src": "16721:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20127, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16721:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20130, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16747:2:14", + "nodeType": "VariableDeclaration", + "scope": 20144, + "src": "16733:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20129, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16733:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "16711:39:14" + }, + "returnParameters": { + "id": 20132, + "nodeType": "ParameterList", + "parameters": [], + "src": "16765:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20164, + "nodeType": "FunctionDefinition", + "src": "16868:152:14", + "nodes": [], + "body": { + "id": 20163, + "nodeType": "Block", + "src": "16925:95:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c29", + "id": 20156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16975:24:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908", + "typeString": "literal_string \"log(bool,address,bool)\"" + }, + "value": "log(bool,address,bool)" + }, + { + "id": 20157, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20146, + "src": "17001:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20158, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20148, + "src": "17005:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20159, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20150, + "src": "17009:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908", + "typeString": "literal_string \"log(bool,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20154, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16951:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16955:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16951:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16951:61:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20153, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "16935:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16935:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20162, + "nodeType": "ExpressionStatement", + "src": "16935:78:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16877:3:14", + "parameters": { + "id": 20151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20146, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16886:2:14", + "nodeType": "VariableDeclaration", + "scope": 20164, + "src": "16881:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20145, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16881:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20148, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16898:2:14", + "nodeType": "VariableDeclaration", + "scope": 20164, + "src": "16890:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16890:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20150, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16907:2:14", + "nodeType": "VariableDeclaration", + "scope": 20164, + "src": "16902:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20149, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16902:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16880:30:14" + }, + "returnParameters": { + "id": 20152, + "nodeType": "ParameterList", + "parameters": [], + "src": "16925:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20184, + "nodeType": "FunctionDefinition", + "src": "17026:158:14", + "nodes": [], + "body": { + "id": 20183, + "nodeType": "Block", + "src": "17086:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c6164647265737329", + "id": 20176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17136:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265", + "typeString": "literal_string \"log(bool,address,address)\"" + }, + "value": "log(bool,address,address)" + }, + { + "id": 20177, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20166, + "src": "17165:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20178, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20168, + "src": "17169:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20179, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20170, + "src": "17173:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265", + "typeString": "literal_string \"log(bool,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20174, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17112:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17116:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17112:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17112:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20173, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "17096:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17096:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20182, + "nodeType": "ExpressionStatement", + "src": "17096:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17035:3:14", + "parameters": { + "id": 20171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20166, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17044:2:14", + "nodeType": "VariableDeclaration", + "scope": 20184, + "src": "17039:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20165, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17039:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20168, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17056:2:14", + "nodeType": "VariableDeclaration", + "scope": 20184, + "src": "17048:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20167, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17048:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20170, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17068:2:14", + "nodeType": "VariableDeclaration", + "scope": 20184, + "src": "17060:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17060:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "17038:33:14" + }, + "returnParameters": { + "id": 20172, + "nodeType": "ParameterList", + "parameters": [], + "src": "17086:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20204, + "nodeType": "FunctionDefinition", + "src": "17190:164:14", + "nodes": [], + "body": { + "id": 20203, + "nodeType": "Block", + "src": "17253:101:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c75696e7432353629", + "id": 20196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17303:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76", + "typeString": "literal_string \"log(address,uint256,uint256)\"" + }, + "value": "log(address,uint256,uint256)" + }, + { + "id": 20197, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20186, + "src": "17335:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20198, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20188, + "src": "17339:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20199, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20190, + "src": "17343:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76", + "typeString": "literal_string \"log(address,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20194, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17279:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17283:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17279:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17279:67:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20193, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "17263:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17263:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20202, + "nodeType": "ExpressionStatement", + "src": "17263:84:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17199:3:14", + "parameters": { + "id": 20191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20186, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17211:2:14", + "nodeType": "VariableDeclaration", + "scope": 20204, + "src": "17203:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17203:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20188, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17223:2:14", + "nodeType": "VariableDeclaration", + "scope": 20204, + "src": "17215:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17215:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20190, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17235:2:14", + "nodeType": "VariableDeclaration", + "scope": 20204, + "src": "17227:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17227:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17202:36:14" + }, + "returnParameters": { + "id": 20192, + "nodeType": "ParameterList", + "parameters": [], + "src": "17253:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20224, + "nodeType": "FunctionDefinition", + "src": "17360:169:14", + "nodes": [], + "body": { + "id": 20223, + "nodeType": "Block", + "src": "17429:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e6729", + "id": 20216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17479:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d", + "typeString": "literal_string \"log(address,uint256,string)\"" + }, + "value": "log(address,uint256,string)" + }, + { + "id": 20217, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20206, + "src": "17510:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20218, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20208, + "src": "17514:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20219, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20210, + "src": "17518:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d", + "typeString": "literal_string \"log(address,uint256,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20214, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17455:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17459:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17455:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17455:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20213, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "17439:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17439:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20222, + "nodeType": "ExpressionStatement", + "src": "17439:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17369:3:14", + "parameters": { + "id": 20211, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20206, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17381:2:14", + "nodeType": "VariableDeclaration", + "scope": 20224, + "src": "17373:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20205, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17373:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20208, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17393:2:14", + "nodeType": "VariableDeclaration", + "scope": 20224, + "src": "17385:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17385:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20210, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17411:2:14", + "nodeType": "VariableDeclaration", + "scope": 20224, + "src": "17397:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20209, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17397:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "17372:42:14" + }, + "returnParameters": { + "id": 20212, + "nodeType": "ParameterList", + "parameters": [], + "src": "17429:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20244, + "nodeType": "FunctionDefinition", + "src": "17535:158:14", + "nodes": [], + "body": { + "id": 20243, + "nodeType": "Block", + "src": "17595:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c29", + "id": 20236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17645:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390", + "typeString": "literal_string \"log(address,uint256,bool)\"" + }, + "value": "log(address,uint256,bool)" + }, + { + "id": 20237, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20226, + "src": "17674:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20238, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20228, + "src": "17678:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20239, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20230, + "src": "17682:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390", + "typeString": "literal_string \"log(address,uint256,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20234, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17621:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17625:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17621:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17621:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20233, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "17605:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17605:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20242, + "nodeType": "ExpressionStatement", + "src": "17605:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17544:3:14", + "parameters": { + "id": 20231, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20226, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17556:2:14", + "nodeType": "VariableDeclaration", + "scope": 20244, + "src": "17548:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20225, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17548:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20228, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17568:2:14", + "nodeType": "VariableDeclaration", + "scope": 20244, + "src": "17560:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20227, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17560:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20230, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17577:2:14", + "nodeType": "VariableDeclaration", + "scope": 20244, + "src": "17572:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20229, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17572:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "17547:33:14" + }, + "returnParameters": { + "id": 20232, + "nodeType": "ParameterList", + "parameters": [], + "src": "17595:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20264, + "nodeType": "FunctionDefinition", + "src": "17699:164:14", + "nodes": [], + "body": { + "id": 20263, + "nodeType": "Block", + "src": "17762:101:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c6164647265737329", + "id": 20256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17812:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36", + "typeString": "literal_string \"log(address,uint256,address)\"" + }, + "value": "log(address,uint256,address)" + }, + { + "id": 20257, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20246, + "src": "17844:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20258, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20248, + "src": "17848:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20259, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20250, + "src": "17852:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36", + "typeString": "literal_string \"log(address,uint256,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20254, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17788:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17792:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17788:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17788:67:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20253, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "17772:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17772:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20262, + "nodeType": "ExpressionStatement", + "src": "17772:84:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17708:3:14", + "parameters": { + "id": 20251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20246, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17720:2:14", + "nodeType": "VariableDeclaration", + "scope": 20264, + "src": "17712:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20245, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17712:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20248, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17732:2:14", + "nodeType": "VariableDeclaration", + "scope": 20264, + "src": "17724:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20247, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17724:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20250, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17744:2:14", + "nodeType": "VariableDeclaration", + "scope": 20264, + "src": "17736:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17736:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "17711:36:14" + }, + "returnParameters": { + "id": 20252, + "nodeType": "ParameterList", + "parameters": [], + "src": "17762:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20284, + "nodeType": "FunctionDefinition", + "src": "17869:169:14", + "nodes": [], + "body": { + "id": 20283, + "nodeType": "Block", + "src": "17938:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e7432353629", + "id": 20276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17988:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200", + "typeString": "literal_string \"log(address,string,uint256)\"" + }, + "value": "log(address,string,uint256)" + }, + { + "id": 20277, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20266, + "src": "18019:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20278, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20268, + "src": "18023:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20279, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20270, + "src": "18027:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200", + "typeString": "literal_string \"log(address,string,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20274, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17964:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17968:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17964:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17964:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20273, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "17948:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17948:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20282, + "nodeType": "ExpressionStatement", + "src": "17948:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17878:3:14", + "parameters": { + "id": 20271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20266, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17890:2:14", + "nodeType": "VariableDeclaration", + "scope": 20284, + "src": "17882:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17882:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20268, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17908:2:14", + "nodeType": "VariableDeclaration", + "scope": 20284, + "src": "17894:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20267, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17894:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20270, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17920:2:14", + "nodeType": "VariableDeclaration", + "scope": 20284, + "src": "17912:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17912:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17881:42:14" + }, + "returnParameters": { + "id": 20272, + "nodeType": "ParameterList", + "parameters": [], + "src": "17938:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20304, + "nodeType": "FunctionDefinition", + "src": "18044:174:14", + "nodes": [], + "body": { + "id": 20303, + "nodeType": "Block", + "src": "18119:99:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e6729", + "id": 20296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18169:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158", + "typeString": "literal_string \"log(address,string,string)\"" + }, + "value": "log(address,string,string)" + }, + { + "id": 20297, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20286, + "src": "18199:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20298, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20288, + "src": "18203:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20299, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20290, + "src": "18207:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158", + "typeString": "literal_string \"log(address,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20294, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18145:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18149:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18145:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18145:65:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20293, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "18129:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18129:82:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20302, + "nodeType": "ExpressionStatement", + "src": "18129:82:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18053:3:14", + "parameters": { + "id": 20291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20286, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18065:2:14", + "nodeType": "VariableDeclaration", + "scope": 20304, + "src": "18057:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20285, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18057:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20288, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18083:2:14", + "nodeType": "VariableDeclaration", + "scope": 20304, + "src": "18069:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20287, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18069:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20290, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18101:2:14", + "nodeType": "VariableDeclaration", + "scope": 20304, + "src": "18087:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20289, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18087:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "18056:48:14" + }, + "returnParameters": { + "id": 20292, + "nodeType": "ParameterList", + "parameters": [], + "src": "18119:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20324, + "nodeType": "FunctionDefinition", + "src": "18224:163:14", + "nodes": [], + "body": { + "id": 20323, + "nodeType": "Block", + "src": "18290:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c29", + "id": 20316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18340:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96", + "typeString": "literal_string \"log(address,string,bool)\"" + }, + "value": "log(address,string,bool)" + }, + { + "id": 20317, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20306, + "src": "18368:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20318, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20308, + "src": "18372:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20319, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20310, + "src": "18376:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96", + "typeString": "literal_string \"log(address,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20314, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18316:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18320:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18316:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18316:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20313, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "18300:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18300:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20322, + "nodeType": "ExpressionStatement", + "src": "18300:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18233:3:14", + "parameters": { + "id": 20311, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20306, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18245:2:14", + "nodeType": "VariableDeclaration", + "scope": 20324, + "src": "18237:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20305, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18237:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20308, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18263:2:14", + "nodeType": "VariableDeclaration", + "scope": 20324, + "src": "18249:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20307, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18249:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20310, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18272:2:14", + "nodeType": "VariableDeclaration", + "scope": 20324, + "src": "18267:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20309, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18267:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "18236:39:14" + }, + "returnParameters": { + "id": 20312, + "nodeType": "ParameterList", + "parameters": [], + "src": "18290:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20344, + "nodeType": "FunctionDefinition", + "src": "18393:169:14", + "nodes": [], + "body": { + "id": 20343, + "nodeType": "Block", + "src": "18462:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c6164647265737329", + "id": 20336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18512:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231", + "typeString": "literal_string \"log(address,string,address)\"" + }, + "value": "log(address,string,address)" + }, + { + "id": 20337, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20326, + "src": "18543:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20338, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20328, + "src": "18547:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20339, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20330, + "src": "18551:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231", + "typeString": "literal_string \"log(address,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20334, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18488:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18492:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18488:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18488:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20333, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "18472:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18472:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20342, + "nodeType": "ExpressionStatement", + "src": "18472:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18402:3:14", + "parameters": { + "id": 20331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20326, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18414:2:14", + "nodeType": "VariableDeclaration", + "scope": 20344, + "src": "18406:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20325, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18406:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20328, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18432:2:14", + "nodeType": "VariableDeclaration", + "scope": 20344, + "src": "18418:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20327, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18418:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20330, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18444:2:14", + "nodeType": "VariableDeclaration", + "scope": 20344, + "src": "18436:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18436:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "18405:42:14" + }, + "returnParameters": { + "id": 20332, + "nodeType": "ParameterList", + "parameters": [], + "src": "18462:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20364, + "nodeType": "FunctionDefinition", + "src": "18568:158:14", + "nodes": [], + "body": { + "id": 20363, + "nodeType": "Block", + "src": "18628:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e7432353629", + "id": 20356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18678:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9", + "typeString": "literal_string \"log(address,bool,uint256)\"" + }, + "value": "log(address,bool,uint256)" + }, + { + "id": 20357, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20346, + "src": "18707:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20358, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20348, + "src": "18711:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20359, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20350, + "src": "18715:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9", + "typeString": "literal_string \"log(address,bool,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20354, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18654:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18658:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18654:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18654:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20353, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "18638:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18638:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20362, + "nodeType": "ExpressionStatement", + "src": "18638:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18577:3:14", + "parameters": { + "id": 20351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20346, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18589:2:14", + "nodeType": "VariableDeclaration", + "scope": 20364, + "src": "18581:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20345, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18581:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20348, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18598:2:14", + "nodeType": "VariableDeclaration", + "scope": 20364, + "src": "18593:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20347, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18593:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20350, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18610:2:14", + "nodeType": "VariableDeclaration", + "scope": 20364, + "src": "18602:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18602:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18580:33:14" + }, + "returnParameters": { + "id": 20352, + "nodeType": "ParameterList", + "parameters": [], + "src": "18628:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20384, + "nodeType": "FunctionDefinition", + "src": "18732:163:14", + "nodes": [], + "body": { + "id": 20383, + "nodeType": "Block", + "src": "18798:97:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e6729", + "id": 20376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18848:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750", + "typeString": "literal_string \"log(address,bool,string)\"" + }, + "value": "log(address,bool,string)" + }, + { + "id": 20377, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20366, + "src": "18876:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20378, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20368, + "src": "18880:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20379, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20370, + "src": "18884:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750", + "typeString": "literal_string \"log(address,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20374, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18824:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20375, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18828:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18824:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18824:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20373, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "18808:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18808:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20382, + "nodeType": "ExpressionStatement", + "src": "18808:80:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18741:3:14", + "parameters": { + "id": 20371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20366, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18753:2:14", + "nodeType": "VariableDeclaration", + "scope": 20384, + "src": "18745:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18745:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20368, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18762:2:14", + "nodeType": "VariableDeclaration", + "scope": 20384, + "src": "18757:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20367, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18757:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20370, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18780:2:14", + "nodeType": "VariableDeclaration", + "scope": 20384, + "src": "18766:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20369, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18766:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "18744:39:14" + }, + "returnParameters": { + "id": 20372, + "nodeType": "ParameterList", + "parameters": [], + "src": "18798:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20404, + "nodeType": "FunctionDefinition", + "src": "18901:152:14", + "nodes": [], + "body": { + "id": 20403, + "nodeType": "Block", + "src": "18958:95:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c29", + "id": 20396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19008:24:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279", + "typeString": "literal_string \"log(address,bool,bool)\"" + }, + "value": "log(address,bool,bool)" + }, + { + "id": 20397, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20386, + "src": "19034:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20398, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20388, + "src": "19038:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20399, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20390, + "src": "19042:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279", + "typeString": "literal_string \"log(address,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20394, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18984:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18988:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18984:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18984:61:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20393, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "18968:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18968:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20402, + "nodeType": "ExpressionStatement", + "src": "18968:78:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18910:3:14", + "parameters": { + "id": 20391, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20386, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18922:2:14", + "nodeType": "VariableDeclaration", + "scope": 20404, + "src": "18914:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20385, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18914:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20388, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18931:2:14", + "nodeType": "VariableDeclaration", + "scope": 20404, + "src": "18926:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20387, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18926:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20390, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18940:2:14", + "nodeType": "VariableDeclaration", + "scope": 20404, + "src": "18935:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20389, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18935:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "18913:30:14" + }, + "returnParameters": { + "id": 20392, + "nodeType": "ParameterList", + "parameters": [], + "src": "18958:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20424, + "nodeType": "FunctionDefinition", + "src": "19059:158:14", + "nodes": [], + "body": { + "id": 20423, + "nodeType": "Block", + "src": "19119:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c6164647265737329", + "id": 20416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19169:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d", + "typeString": "literal_string \"log(address,bool,address)\"" + }, + "value": "log(address,bool,address)" + }, + { + "id": 20417, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20406, + "src": "19198:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20418, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20408, + "src": "19202:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20419, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20410, + "src": "19206:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d", + "typeString": "literal_string \"log(address,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20414, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19145:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19149:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19145:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19145:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20413, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "19129:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19129:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20422, + "nodeType": "ExpressionStatement", + "src": "19129:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19068:3:14", + "parameters": { + "id": 20411, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20406, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19080:2:14", + "nodeType": "VariableDeclaration", + "scope": 20424, + "src": "19072:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20405, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19072:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20408, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19089:2:14", + "nodeType": "VariableDeclaration", + "scope": 20424, + "src": "19084:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20407, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19084:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20410, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19101:2:14", + "nodeType": "VariableDeclaration", + "scope": 20424, + "src": "19093:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20409, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19093:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19071:33:14" + }, + "returnParameters": { + "id": 20412, + "nodeType": "ParameterList", + "parameters": [], + "src": "19119:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20444, + "nodeType": "FunctionDefinition", + "src": "19223:164:14", + "nodes": [], + "body": { + "id": 20443, + "nodeType": "Block", + "src": "19286:101:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e7432353629", + "id": 20436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19336:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4", + "typeString": "literal_string \"log(address,address,uint256)\"" + }, + "value": "log(address,address,uint256)" + }, + { + "id": 20437, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20426, + "src": "19368:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20438, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20428, + "src": "19372:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20439, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20430, + "src": "19376:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4", + "typeString": "literal_string \"log(address,address,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20434, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19312:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19316:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19312:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19312:67:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20433, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "19296:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19296:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20442, + "nodeType": "ExpressionStatement", + "src": "19296:84:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19232:3:14", + "parameters": { + "id": 20431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20426, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19244:2:14", + "nodeType": "VariableDeclaration", + "scope": 20444, + "src": "19236:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19236:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20428, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19256:2:14", + "nodeType": "VariableDeclaration", + "scope": 20444, + "src": "19248:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19248:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20430, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19268:2:14", + "nodeType": "VariableDeclaration", + "scope": 20444, + "src": "19260:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19260:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19235:36:14" + }, + "returnParameters": { + "id": 20432, + "nodeType": "ParameterList", + "parameters": [], + "src": "19286:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20464, + "nodeType": "FunctionDefinition", + "src": "19393:169:14", + "nodes": [], + "body": { + "id": 20463, + "nodeType": "Block", + "src": "19462:100:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e6729", + "id": 20456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19512:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee", + "typeString": "literal_string \"log(address,address,string)\"" + }, + "value": "log(address,address,string)" + }, + { + "id": 20457, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20446, + "src": "19543:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20458, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20448, + "src": "19547:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20459, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20450, + "src": "19551:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee", + "typeString": "literal_string \"log(address,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20454, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19488:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19492:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19488:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19488:66:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20453, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "19472:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19472:83:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20462, + "nodeType": "ExpressionStatement", + "src": "19472:83:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19402:3:14", + "parameters": { + "id": 20451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20446, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19414:2:14", + "nodeType": "VariableDeclaration", + "scope": 20464, + "src": "19406:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20445, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19406:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20448, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19426:2:14", + "nodeType": "VariableDeclaration", + "scope": 20464, + "src": "19418:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19418:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20450, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19444:2:14", + "nodeType": "VariableDeclaration", + "scope": 20464, + "src": "19430:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20449, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "19430:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "19405:42:14" + }, + "returnParameters": { + "id": 20452, + "nodeType": "ParameterList", + "parameters": [], + "src": "19462:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20484, + "nodeType": "FunctionDefinition", + "src": "19568:158:14", + "nodes": [], + "body": { + "id": 20483, + "nodeType": "Block", + "src": "19628:98:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c29", + "id": 20476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19678:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc", + "typeString": "literal_string \"log(address,address,bool)\"" + }, + "value": "log(address,address,bool)" + }, + { + "id": 20477, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20466, + "src": "19707:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20478, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20468, + "src": "19711:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20479, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20470, + "src": "19715:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc", + "typeString": "literal_string \"log(address,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20474, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19654:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19658:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19654:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19654:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20473, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "19638:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19638:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20482, + "nodeType": "ExpressionStatement", + "src": "19638:81:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19577:3:14", + "parameters": { + "id": 20471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20466, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19589:2:14", + "nodeType": "VariableDeclaration", + "scope": 20484, + "src": "19581:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19581:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20468, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19601:2:14", + "nodeType": "VariableDeclaration", + "scope": 20484, + "src": "19593:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20467, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19593:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20470, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19610:2:14", + "nodeType": "VariableDeclaration", + "scope": 20484, + "src": "19605:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20469, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19605:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "19580:33:14" + }, + "returnParameters": { + "id": 20472, + "nodeType": "ParameterList", + "parameters": [], + "src": "19628:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20504, + "nodeType": "FunctionDefinition", + "src": "19732:164:14", + "nodes": [], + "body": { + "id": 20503, + "nodeType": "Block", + "src": "19795:101:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c6164647265737329", + "id": 20496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19845:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830", + "typeString": "literal_string \"log(address,address,address)\"" + }, + "value": "log(address,address,address)" + }, + { + "id": 20497, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20486, + "src": "19877:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20498, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20488, + "src": "19881:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20499, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20490, + "src": "19885:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830", + "typeString": "literal_string \"log(address,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20494, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19821:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "19825:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19821:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19821:67:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20493, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "19805:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19805:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20502, + "nodeType": "ExpressionStatement", + "src": "19805:84:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19741:3:14", + "parameters": { + "id": 20491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20486, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19753:2:14", + "nodeType": "VariableDeclaration", + "scope": 20504, + "src": "19745:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20485, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19745:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20488, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19765:2:14", + "nodeType": "VariableDeclaration", + "scope": 20504, + "src": "19757:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20487, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19757:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20490, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19777:2:14", + "nodeType": "VariableDeclaration", + "scope": 20504, + "src": "19769:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20489, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19769:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19744:36:14" + }, + "returnParameters": { + "id": 20492, + "nodeType": "ParameterList", + "parameters": [], + "src": "19795:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20527, + "nodeType": "FunctionDefinition", + "src": "19902:188:14", + "nodes": [], + "body": { + "id": 20526, + "nodeType": "Block", + "src": "19977:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629", + "id": 20518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20027:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f", + "typeString": "literal_string \"log(uint256,uint256,uint256,uint256)\"" + }, + "value": "log(uint256,uint256,uint256,uint256)" + }, + { + "id": 20519, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20506, + "src": "20067:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20520, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20508, + "src": "20071:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20521, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20510, + "src": "20075:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20522, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20512, + "src": "20079:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f", + "typeString": "literal_string \"log(uint256,uint256,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20516, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20003:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20007:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20003:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20003:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20515, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "19987:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19987:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20525, + "nodeType": "ExpressionStatement", + "src": "19987:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19911:3:14", + "parameters": { + "id": 20513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20506, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19923:2:14", + "nodeType": "VariableDeclaration", + "scope": 20527, + "src": "19915:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19915:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20508, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19935:2:14", + "nodeType": "VariableDeclaration", + "scope": 20527, + "src": "19927:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19927:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20510, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19947:2:14", + "nodeType": "VariableDeclaration", + "scope": 20527, + "src": "19939:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19939:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20512, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19959:2:14", + "nodeType": "VariableDeclaration", + "scope": 20527, + "src": "19951:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20511, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19951:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19914:48:14" + }, + "returnParameters": { + "id": 20514, + "nodeType": "ParameterList", + "parameters": [], + "src": "19977:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20550, + "nodeType": "FunctionDefinition", + "src": "20096:193:14", + "nodes": [], + "body": { + "id": 20549, + "nodeType": "Block", + "src": "20177:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729", + "id": 20541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20227:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef", + "typeString": "literal_string \"log(uint256,uint256,uint256,string)\"" + }, + "value": "log(uint256,uint256,uint256,string)" + }, + { + "id": 20542, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20529, + "src": "20266:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20543, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20531, + "src": "20270:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20544, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20533, + "src": "20274:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20545, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20535, + "src": "20278:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef", + "typeString": "literal_string \"log(uint256,uint256,uint256,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20539, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20203:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20207:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20203:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20203:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20538, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "20187:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20187:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20548, + "nodeType": "ExpressionStatement", + "src": "20187:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20105:3:14", + "parameters": { + "id": 20536, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20529, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20117:2:14", + "nodeType": "VariableDeclaration", + "scope": 20550, + "src": "20109:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20528, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20109:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20531, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20129:2:14", + "nodeType": "VariableDeclaration", + "scope": 20550, + "src": "20121:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20530, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20121:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20533, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20141:2:14", + "nodeType": "VariableDeclaration", + "scope": 20550, + "src": "20133:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20532, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20133:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20535, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20159:2:14", + "nodeType": "VariableDeclaration", + "scope": 20550, + "src": "20145:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20534, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20145:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "20108:54:14" + }, + "returnParameters": { + "id": 20537, + "nodeType": "ParameterList", + "parameters": [], + "src": "20177:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20573, + "nodeType": "FunctionDefinition", + "src": "20295:182:14", + "nodes": [], + "body": { + "id": 20572, + "nodeType": "Block", + "src": "20367:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29", + "id": 20564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20417:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3", + "typeString": "literal_string \"log(uint256,uint256,uint256,bool)\"" + }, + "value": "log(uint256,uint256,uint256,bool)" + }, + { + "id": 20565, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20552, + "src": "20454:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20566, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20554, + "src": "20458:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20567, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20556, + "src": "20462:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20568, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20558, + "src": "20466:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3", + "typeString": "literal_string \"log(uint256,uint256,uint256,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20562, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20393:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20397:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20393:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20393:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20561, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "20377:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20377:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20571, + "nodeType": "ExpressionStatement", + "src": "20377:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20304:3:14", + "parameters": { + "id": 20559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20552, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20316:2:14", + "nodeType": "VariableDeclaration", + "scope": 20573, + "src": "20308:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20308:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20554, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20328:2:14", + "nodeType": "VariableDeclaration", + "scope": 20573, + "src": "20320:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20553, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20320:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20556, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20340:2:14", + "nodeType": "VariableDeclaration", + "scope": 20573, + "src": "20332:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20555, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20332:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20558, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20349:2:14", + "nodeType": "VariableDeclaration", + "scope": 20573, + "src": "20344:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20557, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20344:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "20307:45:14" + }, + "returnParameters": { + "id": 20560, + "nodeType": "ParameterList", + "parameters": [], + "src": "20367:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20596, + "nodeType": "FunctionDefinition", + "src": "20483:188:14", + "nodes": [], + "body": { + "id": 20595, + "nodeType": "Block", + "src": "20558:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329", + "id": 20587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20608:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79", + "typeString": "literal_string \"log(uint256,uint256,uint256,address)\"" + }, + "value": "log(uint256,uint256,uint256,address)" + }, + { + "id": 20588, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20575, + "src": "20648:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20589, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20577, + "src": "20652:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20590, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "20656:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20591, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "20660:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79", + "typeString": "literal_string \"log(uint256,uint256,uint256,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20585, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20584:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20588:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20584:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20584:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20584, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "20568:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20568:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20594, + "nodeType": "ExpressionStatement", + "src": "20568:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20492:3:14", + "parameters": { + "id": 20582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20575, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20504:2:14", + "nodeType": "VariableDeclaration", + "scope": 20596, + "src": "20496:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20574, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20496:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20577, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20516:2:14", + "nodeType": "VariableDeclaration", + "scope": 20596, + "src": "20508:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20508:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20579, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20528:2:14", + "nodeType": "VariableDeclaration", + "scope": 20596, + "src": "20520:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20578, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20520:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20581, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20540:2:14", + "nodeType": "VariableDeclaration", + "scope": 20596, + "src": "20532:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20532:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "20495:48:14" + }, + "returnParameters": { + "id": 20583, + "nodeType": "ParameterList", + "parameters": [], + "src": "20558:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20619, + "nodeType": "FunctionDefinition", + "src": "20677:193:14", + "nodes": [], + "body": { + "id": 20618, + "nodeType": "Block", + "src": "20758:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629", + "id": 20610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20808:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114", + "typeString": "literal_string \"log(uint256,uint256,string,uint256)\"" + }, + "value": "log(uint256,uint256,string,uint256)" + }, + { + "id": 20611, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20598, + "src": "20847:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20612, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20600, + "src": "20851:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20613, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20602, + "src": "20855:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20614, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20604, + "src": "20859:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114", + "typeString": "literal_string \"log(uint256,uint256,string,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20608, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20784:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20788:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20784:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20784:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20607, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "20768:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20768:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20617, + "nodeType": "ExpressionStatement", + "src": "20768:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20686:3:14", + "parameters": { + "id": 20605, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20598, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20698:2:14", + "nodeType": "VariableDeclaration", + "scope": 20619, + "src": "20690:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20690:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20600, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20710:2:14", + "nodeType": "VariableDeclaration", + "scope": 20619, + "src": "20702:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20599, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20702:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20602, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20728:2:14", + "nodeType": "VariableDeclaration", + "scope": 20619, + "src": "20714:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20601, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20714:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20604, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20740:2:14", + "nodeType": "VariableDeclaration", + "scope": 20619, + "src": "20732:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20732:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20689:54:14" + }, + "returnParameters": { + "id": 20606, + "nodeType": "ParameterList", + "parameters": [], + "src": "20758:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20642, + "nodeType": "FunctionDefinition", + "src": "20876:198:14", + "nodes": [], + "body": { + "id": 20641, + "nodeType": "Block", + "src": "20963:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729", + "id": 20633, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21013:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0", + "typeString": "literal_string \"log(uint256,uint256,string,string)\"" + }, + "value": "log(uint256,uint256,string,string)" + }, + { + "id": 20634, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20621, + "src": "21051:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20635, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20623, + "src": "21055:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20636, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20625, + "src": "21059:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20637, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20627, + "src": "21063:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0", + "typeString": "literal_string \"log(uint256,uint256,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20631, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20989:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20632, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "20993:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20989:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20989:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20630, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "20973:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20973:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20640, + "nodeType": "ExpressionStatement", + "src": "20973:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20885:3:14", + "parameters": { + "id": 20628, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20621, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20897:2:14", + "nodeType": "VariableDeclaration", + "scope": 20642, + "src": "20889:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20620, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20889:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20623, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20909:2:14", + "nodeType": "VariableDeclaration", + "scope": 20642, + "src": "20901:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20622, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20901:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20625, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20927:2:14", + "nodeType": "VariableDeclaration", + "scope": 20642, + "src": "20913:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20624, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20913:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20627, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20945:2:14", + "nodeType": "VariableDeclaration", + "scope": 20642, + "src": "20931:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20626, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20931:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "20888:60:14" + }, + "returnParameters": { + "id": 20629, + "nodeType": "ParameterList", + "parameters": [], + "src": "20963:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20665, + "nodeType": "FunctionDefinition", + "src": "21080:187:14", + "nodes": [], + "body": { + "id": 20664, + "nodeType": "Block", + "src": "21158:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29", + "id": 20656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21208:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9", + "typeString": "literal_string \"log(uint256,uint256,string,bool)\"" + }, + "value": "log(uint256,uint256,string,bool)" + }, + { + "id": 20657, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20644, + "src": "21244:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20658, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20646, + "src": "21248:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20659, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20648, + "src": "21252:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20660, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20650, + "src": "21256:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9", + "typeString": "literal_string \"log(uint256,uint256,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20654, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21184:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21188:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21184:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21184:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20653, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "21168:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21168:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20663, + "nodeType": "ExpressionStatement", + "src": "21168:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21089:3:14", + "parameters": { + "id": 20651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20644, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21101:2:14", + "nodeType": "VariableDeclaration", + "scope": 20665, + "src": "21093:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21093:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20646, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21113:2:14", + "nodeType": "VariableDeclaration", + "scope": 20665, + "src": "21105:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20645, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21105:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20648, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21131:2:14", + "nodeType": "VariableDeclaration", + "scope": 20665, + "src": "21117:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20647, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21117:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20650, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21140:2:14", + "nodeType": "VariableDeclaration", + "scope": 20665, + "src": "21135:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20649, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21135:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "21092:51:14" + }, + "returnParameters": { + "id": 20652, + "nodeType": "ParameterList", + "parameters": [], + "src": "21158:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20688, + "nodeType": "FunctionDefinition", + "src": "21273:193:14", + "nodes": [], + "body": { + "id": 20687, + "nodeType": "Block", + "src": "21354:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329", + "id": 20679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21404:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53", + "typeString": "literal_string \"log(uint256,uint256,string,address)\"" + }, + "value": "log(uint256,uint256,string,address)" + }, + { + "id": 20680, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20667, + "src": "21443:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20681, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20669, + "src": "21447:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20682, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20671, + "src": "21451:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20683, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20673, + "src": "21455:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53", + "typeString": "literal_string \"log(uint256,uint256,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20677, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21380:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21384:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21380:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21380:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20676, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "21364:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21364:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20686, + "nodeType": "ExpressionStatement", + "src": "21364:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21282:3:14", + "parameters": { + "id": 20674, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20667, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21294:2:14", + "nodeType": "VariableDeclaration", + "scope": 20688, + "src": "21286:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21286:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20669, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21306:2:14", + "nodeType": "VariableDeclaration", + "scope": 20688, + "src": "21298:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21298:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20671, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21324:2:14", + "nodeType": "VariableDeclaration", + "scope": 20688, + "src": "21310:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20670, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21310:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20673, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21336:2:14", + "nodeType": "VariableDeclaration", + "scope": 20688, + "src": "21328:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20672, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21328:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "21285:54:14" + }, + "returnParameters": { + "id": 20675, + "nodeType": "ParameterList", + "parameters": [], + "src": "21354:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20711, + "nodeType": "FunctionDefinition", + "src": "21472:182:14", + "nodes": [], + "body": { + "id": 20710, + "nodeType": "Block", + "src": "21544:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629", + "id": 20702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21594:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd", + "typeString": "literal_string \"log(uint256,uint256,bool,uint256)\"" + }, + "value": "log(uint256,uint256,bool,uint256)" + }, + { + "id": 20703, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20690, + "src": "21631:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20704, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20692, + "src": "21635:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20705, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20694, + "src": "21639:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20706, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20696, + "src": "21643:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd", + "typeString": "literal_string \"log(uint256,uint256,bool,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20700, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21570:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20701, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21574:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21570:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21570:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20699, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "21554:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21554:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20709, + "nodeType": "ExpressionStatement", + "src": "21554:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21481:3:14", + "parameters": { + "id": 20697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20690, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21493:2:14", + "nodeType": "VariableDeclaration", + "scope": 20711, + "src": "21485:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20689, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21485:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20692, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21505:2:14", + "nodeType": "VariableDeclaration", + "scope": 20711, + "src": "21497:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21497:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20694, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21514:2:14", + "nodeType": "VariableDeclaration", + "scope": 20711, + "src": "21509:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20693, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21509:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20696, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21526:2:14", + "nodeType": "VariableDeclaration", + "scope": 20711, + "src": "21518:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20695, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21518:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "21484:45:14" + }, + "returnParameters": { + "id": 20698, + "nodeType": "ParameterList", + "parameters": [], + "src": "21544:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20734, + "nodeType": "FunctionDefinition", + "src": "21660:187:14", + "nodes": [], + "body": { + "id": 20733, + "nodeType": "Block", + "src": "21738:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729", + "id": 20725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21788:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a", + "typeString": "literal_string \"log(uint256,uint256,bool,string)\"" + }, + "value": "log(uint256,uint256,bool,string)" + }, + { + "id": 20726, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20713, + "src": "21824:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20727, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20715, + "src": "21828:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20728, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20717, + "src": "21832:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20729, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20719, + "src": "21836:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a", + "typeString": "literal_string \"log(uint256,uint256,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20723, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21764:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21768:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21764:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21764:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20722, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "21748:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21748:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20732, + "nodeType": "ExpressionStatement", + "src": "21748:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21669:3:14", + "parameters": { + "id": 20720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20713, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21681:2:14", + "nodeType": "VariableDeclaration", + "scope": 20734, + "src": "21673:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20712, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21673:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20715, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21693:2:14", + "nodeType": "VariableDeclaration", + "scope": 20734, + "src": "21685:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21685:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20717, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21702:2:14", + "nodeType": "VariableDeclaration", + "scope": 20734, + "src": "21697:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20716, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21697:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20719, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21720:2:14", + "nodeType": "VariableDeclaration", + "scope": 20734, + "src": "21706:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20718, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21706:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "21672:51:14" + }, + "returnParameters": { + "id": 20721, + "nodeType": "ParameterList", + "parameters": [], + "src": "21738:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20757, + "nodeType": "FunctionDefinition", + "src": "21853:176:14", + "nodes": [], + "body": { + "id": 20756, + "nodeType": "Block", + "src": "21922:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29", + "id": 20748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21972:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe", + "typeString": "literal_string \"log(uint256,uint256,bool,bool)\"" + }, + "value": "log(uint256,uint256,bool,bool)" + }, + { + "id": 20749, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20736, + "src": "22006:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20750, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20738, + "src": "22010:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20751, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20740, + "src": "22014:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20752, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20742, + "src": "22018:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe", + "typeString": "literal_string \"log(uint256,uint256,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20746, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21948:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "21952:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21948:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21948:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20745, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "21932:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21932:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20755, + "nodeType": "ExpressionStatement", + "src": "21932:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21862:3:14", + "parameters": { + "id": 20743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20736, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21874:2:14", + "nodeType": "VariableDeclaration", + "scope": 20757, + "src": "21866:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20735, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21866:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20738, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21886:2:14", + "nodeType": "VariableDeclaration", + "scope": 20757, + "src": "21878:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20737, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21878:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20740, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21895:2:14", + "nodeType": "VariableDeclaration", + "scope": 20757, + "src": "21890:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20739, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21890:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20742, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21904:2:14", + "nodeType": "VariableDeclaration", + "scope": 20757, + "src": "21899:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20741, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21899:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "21865:42:14" + }, + "returnParameters": { + "id": 20744, + "nodeType": "ParameterList", + "parameters": [], + "src": "21922:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20780, + "nodeType": "FunctionDefinition", + "src": "22035:182:14", + "nodes": [], + "body": { + "id": 20779, + "nodeType": "Block", + "src": "22107:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329", + "id": 20771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22157:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b", + "typeString": "literal_string \"log(uint256,uint256,bool,address)\"" + }, + "value": "log(uint256,uint256,bool,address)" + }, + { + "id": 20772, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20759, + "src": "22194:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20773, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20761, + "src": "22198:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20774, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20763, + "src": "22202:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 20775, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20765, + "src": "22206:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b", + "typeString": "literal_string \"log(uint256,uint256,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20769, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22133:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22137:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22133:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22133:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20768, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "22117:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22117:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20778, + "nodeType": "ExpressionStatement", + "src": "22117:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22044:3:14", + "parameters": { + "id": 20766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20759, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22056:2:14", + "nodeType": "VariableDeclaration", + "scope": 20780, + "src": "22048:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22048:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20761, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22068:2:14", + "nodeType": "VariableDeclaration", + "scope": 20780, + "src": "22060:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22060:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20763, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22077:2:14", + "nodeType": "VariableDeclaration", + "scope": 20780, + "src": "22072:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20762, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22072:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20765, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22089:2:14", + "nodeType": "VariableDeclaration", + "scope": 20780, + "src": "22081:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22081:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "22047:45:14" + }, + "returnParameters": { + "id": 20767, + "nodeType": "ParameterList", + "parameters": [], + "src": "22107:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20803, + "nodeType": "FunctionDefinition", + "src": "22223:188:14", + "nodes": [], + "body": { + "id": 20802, + "nodeType": "Block", + "src": "22298:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629", + "id": 20794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22348:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36", + "typeString": "literal_string \"log(uint256,uint256,address,uint256)\"" + }, + "value": "log(uint256,uint256,address,uint256)" + }, + { + "id": 20795, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20782, + "src": "22388:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20796, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20784, + "src": "22392:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20797, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20786, + "src": "22396:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20798, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20788, + "src": "22400:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36", + "typeString": "literal_string \"log(uint256,uint256,address,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20792, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22324:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22328:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22324:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22324:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20791, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "22308:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22308:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20801, + "nodeType": "ExpressionStatement", + "src": "22308:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22232:3:14", + "parameters": { + "id": 20789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20782, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22244:2:14", + "nodeType": "VariableDeclaration", + "scope": 20803, + "src": "22236:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22236:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20784, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22256:2:14", + "nodeType": "VariableDeclaration", + "scope": 20803, + "src": "22248:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20783, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22248:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20786, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22268:2:14", + "nodeType": "VariableDeclaration", + "scope": 20803, + "src": "22260:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20785, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22260:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20788, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22280:2:14", + "nodeType": "VariableDeclaration", + "scope": 20803, + "src": "22272:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20787, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22272:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22235:48:14" + }, + "returnParameters": { + "id": 20790, + "nodeType": "ParameterList", + "parameters": [], + "src": "22298:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20826, + "nodeType": "FunctionDefinition", + "src": "22417:193:14", + "nodes": [], + "body": { + "id": 20825, + "nodeType": "Block", + "src": "22498:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729", + "id": 20817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22548:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40", + "typeString": "literal_string \"log(uint256,uint256,address,string)\"" + }, + "value": "log(uint256,uint256,address,string)" + }, + { + "id": 20818, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20805, + "src": "22587:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20819, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20807, + "src": "22591:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20820, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20809, + "src": "22595:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20821, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20811, + "src": "22599:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40", + "typeString": "literal_string \"log(uint256,uint256,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20815, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22524:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22528:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22524:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22524:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20814, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "22508:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22508:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20824, + "nodeType": "ExpressionStatement", + "src": "22508:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22426:3:14", + "parameters": { + "id": 20812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20805, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22438:2:14", + "nodeType": "VariableDeclaration", + "scope": 20826, + "src": "22430:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20804, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22430:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20807, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22450:2:14", + "nodeType": "VariableDeclaration", + "scope": 20826, + "src": "22442:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20806, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22442:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20809, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22462:2:14", + "nodeType": "VariableDeclaration", + "scope": 20826, + "src": "22454:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22454:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20811, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22480:2:14", + "nodeType": "VariableDeclaration", + "scope": 20826, + "src": "22466:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20810, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22466:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "22429:54:14" + }, + "returnParameters": { + "id": 20813, + "nodeType": "ParameterList", + "parameters": [], + "src": "22498:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20849, + "nodeType": "FunctionDefinition", + "src": "22616:182:14", + "nodes": [], + "body": { + "id": 20848, + "nodeType": "Block", + "src": "22688:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29", + "id": 20840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22738:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201", + "typeString": "literal_string \"log(uint256,uint256,address,bool)\"" + }, + "value": "log(uint256,uint256,address,bool)" + }, + { + "id": 20841, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20828, + "src": "22775:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20842, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20830, + "src": "22779:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20843, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20832, + "src": "22783:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20844, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20834, + "src": "22787:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201", + "typeString": "literal_string \"log(uint256,uint256,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20838, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22714:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22718:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22714:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22714:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20837, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "22698:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22698:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20847, + "nodeType": "ExpressionStatement", + "src": "22698:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22625:3:14", + "parameters": { + "id": 20835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20828, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22637:2:14", + "nodeType": "VariableDeclaration", + "scope": 20849, + "src": "22629:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20827, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22629:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20830, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22649:2:14", + "nodeType": "VariableDeclaration", + "scope": 20849, + "src": "22641:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22641:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20832, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22661:2:14", + "nodeType": "VariableDeclaration", + "scope": 20849, + "src": "22653:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22653:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20834, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22670:2:14", + "nodeType": "VariableDeclaration", + "scope": 20849, + "src": "22665:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20833, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22665:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "22628:45:14" + }, + "returnParameters": { + "id": 20836, + "nodeType": "ParameterList", + "parameters": [], + "src": "22688:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20872, + "nodeType": "FunctionDefinition", + "src": "22804:188:14", + "nodes": [], + "body": { + "id": 20871, + "nodeType": "Block", + "src": "22879:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329", + "id": 20863, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22929:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d", + "typeString": "literal_string \"log(uint256,uint256,address,address)\"" + }, + "value": "log(uint256,uint256,address,address)" + }, + { + "id": 20864, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20851, + "src": "22969:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20865, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20853, + "src": "22973:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20866, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20855, + "src": "22977:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 20867, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20857, + "src": "22981:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d", + "typeString": "literal_string \"log(uint256,uint256,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20861, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22905:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "22909:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22905:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22905:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20860, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "22889:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22889:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20870, + "nodeType": "ExpressionStatement", + "src": "22889:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22813:3:14", + "parameters": { + "id": 20858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20851, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22825:2:14", + "nodeType": "VariableDeclaration", + "scope": 20872, + "src": "22817:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22817:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20853, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22837:2:14", + "nodeType": "VariableDeclaration", + "scope": 20872, + "src": "22829:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20852, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22829:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20855, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22849:2:14", + "nodeType": "VariableDeclaration", + "scope": 20872, + "src": "22841:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22841:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20857, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22861:2:14", + "nodeType": "VariableDeclaration", + "scope": 20872, + "src": "22853:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22853:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "22816:48:14" + }, + "returnParameters": { + "id": 20859, + "nodeType": "ParameterList", + "parameters": [], + "src": "22879:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20895, + "nodeType": "FunctionDefinition", + "src": "22998:193:14", + "nodes": [], + "body": { + "id": 20894, + "nodeType": "Block", + "src": "23079:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629", + "id": 20886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23129:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f", + "typeString": "literal_string \"log(uint256,string,uint256,uint256)\"" + }, + "value": "log(uint256,string,uint256,uint256)" + }, + { + "id": 20887, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20874, + "src": "23168:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20888, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20876, + "src": "23172:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20889, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20878, + "src": "23176:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20890, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20880, + "src": "23180:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f", + "typeString": "literal_string \"log(uint256,string,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20884, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23105:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23109:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23105:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23105:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20883, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "23089:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23089:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20893, + "nodeType": "ExpressionStatement", + "src": "23089:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23007:3:14", + "parameters": { + "id": 20881, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20874, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23019:2:14", + "nodeType": "VariableDeclaration", + "scope": 20895, + "src": "23011:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23011:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20876, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23037:2:14", + "nodeType": "VariableDeclaration", + "scope": 20895, + "src": "23023:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20875, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23023:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20878, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23049:2:14", + "nodeType": "VariableDeclaration", + "scope": 20895, + "src": "23041:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20877, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23041:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20880, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23061:2:14", + "nodeType": "VariableDeclaration", + "scope": 20895, + "src": "23053:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20879, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23053:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23010:54:14" + }, + "returnParameters": { + "id": 20882, + "nodeType": "ParameterList", + "parameters": [], + "src": "23079:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20918, + "nodeType": "FunctionDefinition", + "src": "23197:198:14", + "nodes": [], + "body": { + "id": 20917, + "nodeType": "Block", + "src": "23284:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729", + "id": 20909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23334:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace", + "typeString": "literal_string \"log(uint256,string,uint256,string)\"" + }, + "value": "log(uint256,string,uint256,string)" + }, + { + "id": 20910, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20897, + "src": "23372:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20911, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20899, + "src": "23376:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20912, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20901, + "src": "23380:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20913, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20903, + "src": "23384:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace", + "typeString": "literal_string \"log(uint256,string,uint256,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20907, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23310:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23314:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23310:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23310:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20906, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "23294:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23294:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20916, + "nodeType": "ExpressionStatement", + "src": "23294:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23206:3:14", + "parameters": { + "id": 20904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20897, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23218:2:14", + "nodeType": "VariableDeclaration", + "scope": 20918, + "src": "23210:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20896, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23210:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20899, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23236:2:14", + "nodeType": "VariableDeclaration", + "scope": 20918, + "src": "23222:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20898, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23222:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20901, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23248:2:14", + "nodeType": "VariableDeclaration", + "scope": 20918, + "src": "23240:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23240:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20903, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23266:2:14", + "nodeType": "VariableDeclaration", + "scope": 20918, + "src": "23252:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20902, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23252:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "23209:60:14" + }, + "returnParameters": { + "id": 20905, + "nodeType": "ParameterList", + "parameters": [], + "src": "23284:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20941, + "nodeType": "FunctionDefinition", + "src": "23401:187:14", + "nodes": [], + "body": { + "id": 20940, + "nodeType": "Block", + "src": "23479:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29", + "id": 20932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23529:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c", + "typeString": "literal_string \"log(uint256,string,uint256,bool)\"" + }, + "value": "log(uint256,string,uint256,bool)" + }, + { + "id": 20933, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20920, + "src": "23565:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20934, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20922, + "src": "23569:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20935, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20924, + "src": "23573:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20936, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20926, + "src": "23577:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c", + "typeString": "literal_string \"log(uint256,string,uint256,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 20930, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23505:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23509:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23505:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23505:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20929, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "23489:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23489:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20939, + "nodeType": "ExpressionStatement", + "src": "23489:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23410:3:14", + "parameters": { + "id": 20927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20920, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23422:2:14", + "nodeType": "VariableDeclaration", + "scope": 20941, + "src": "23414:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20919, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23414:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20922, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23440:2:14", + "nodeType": "VariableDeclaration", + "scope": 20941, + "src": "23426:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20921, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23426:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20924, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23452:2:14", + "nodeType": "VariableDeclaration", + "scope": 20941, + "src": "23444:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20923, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23444:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20926, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23461:2:14", + "nodeType": "VariableDeclaration", + "scope": 20941, + "src": "23456:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20925, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23456:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "23413:51:14" + }, + "returnParameters": { + "id": 20928, + "nodeType": "ParameterList", + "parameters": [], + "src": "23479:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20964, + "nodeType": "FunctionDefinition", + "src": "23594:193:14", + "nodes": [], + "body": { + "id": 20963, + "nodeType": "Block", + "src": "23675:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329", + "id": 20955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23725:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08", + "typeString": "literal_string \"log(uint256,string,uint256,address)\"" + }, + "value": "log(uint256,string,uint256,address)" + }, + { + "id": 20956, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20943, + "src": "23764:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20957, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20945, + "src": "23768:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20958, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20947, + "src": "23772:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20959, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20949, + "src": "23776:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08", + "typeString": "literal_string \"log(uint256,string,uint256,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 20953, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23701:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23705:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23701:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23701:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20952, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "23685:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23685:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20962, + "nodeType": "ExpressionStatement", + "src": "23685:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23603:3:14", + "parameters": { + "id": 20950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20943, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23615:2:14", + "nodeType": "VariableDeclaration", + "scope": 20964, + "src": "23607:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23607:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20945, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23633:2:14", + "nodeType": "VariableDeclaration", + "scope": 20964, + "src": "23619:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20944, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23619:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20947, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23645:2:14", + "nodeType": "VariableDeclaration", + "scope": 20964, + "src": "23637:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23637:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20949, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23657:2:14", + "nodeType": "VariableDeclaration", + "scope": 20964, + "src": "23649:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20948, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23649:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "23606:54:14" + }, + "returnParameters": { + "id": 20951, + "nodeType": "ParameterList", + "parameters": [], + "src": "23675:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 20987, + "nodeType": "FunctionDefinition", + "src": "23793:198:14", + "nodes": [], + "body": { + "id": 20986, + "nodeType": "Block", + "src": "23880:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629", + "id": 20978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23930:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1", + "typeString": "literal_string \"log(uint256,string,string,uint256)\"" + }, + "value": "log(uint256,string,string,uint256)" + }, + { + "id": 20979, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20966, + "src": "23968:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 20980, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20968, + "src": "23972:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20981, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20970, + "src": "23976:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 20982, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20972, + "src": "23980:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1", + "typeString": "literal_string \"log(uint256,string,string,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 20976, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23906:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 20977, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "23910:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23906:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 20983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23906:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20975, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "23890:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 20984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23890:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20985, + "nodeType": "ExpressionStatement", + "src": "23890:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23802:3:14", + "parameters": { + "id": 20973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20966, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23814:2:14", + "nodeType": "VariableDeclaration", + "scope": 20987, + "src": "23806:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20965, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23806:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20968, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23832:2:14", + "nodeType": "VariableDeclaration", + "scope": 20987, + "src": "23818:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20967, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23818:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20970, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23850:2:14", + "nodeType": "VariableDeclaration", + "scope": 20987, + "src": "23836:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20969, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23836:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20972, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23862:2:14", + "nodeType": "VariableDeclaration", + "scope": 20987, + "src": "23854:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20971, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23854:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23805:60:14" + }, + "returnParameters": { + "id": 20974, + "nodeType": "ParameterList", + "parameters": [], + "src": "23880:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21010, + "nodeType": "FunctionDefinition", + "src": "23997:203:14", + "nodes": [], + "body": { + "id": 21009, + "nodeType": "Block", + "src": "24090:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729", + "id": 21001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24140:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a", + "typeString": "literal_string \"log(uint256,string,string,string)\"" + }, + "value": "log(uint256,string,string,string)" + }, + { + "id": 21002, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20989, + "src": "24177:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21003, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20991, + "src": "24181:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21004, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20993, + "src": "24185:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21005, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20995, + "src": "24189:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a", + "typeString": "literal_string \"log(uint256,string,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 20999, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24116:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24120:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24116:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24116:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 20998, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "24100:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24100:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21008, + "nodeType": "ExpressionStatement", + "src": "24100:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24006:3:14", + "parameters": { + "id": 20996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20989, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24018:2:14", + "nodeType": "VariableDeclaration", + "scope": 21010, + "src": "24010:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20988, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24010:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20991, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24036:2:14", + "nodeType": "VariableDeclaration", + "scope": 21010, + "src": "24022:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20990, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24022:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20993, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24054:2:14", + "nodeType": "VariableDeclaration", + "scope": 21010, + "src": "24040:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20992, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24040:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20995, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24072:2:14", + "nodeType": "VariableDeclaration", + "scope": 21010, + "src": "24058:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 20994, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24058:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "24009:66:14" + }, + "returnParameters": { + "id": 20997, + "nodeType": "ParameterList", + "parameters": [], + "src": "24090:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21033, + "nodeType": "FunctionDefinition", + "src": "24206:192:14", + "nodes": [], + "body": { + "id": 21032, + "nodeType": "Block", + "src": "24290:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29", + "id": 21024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24340:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9", + "typeString": "literal_string \"log(uint256,string,string,bool)\"" + }, + "value": "log(uint256,string,string,bool)" + }, + { + "id": 21025, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21012, + "src": "24375:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21026, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21014, + "src": "24379:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21027, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21016, + "src": "24383:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21028, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21018, + "src": "24387:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9", + "typeString": "literal_string \"log(uint256,string,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21022, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24316:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24320:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24316:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24316:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21021, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "24300:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24300:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21031, + "nodeType": "ExpressionStatement", + "src": "24300:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24215:3:14", + "parameters": { + "id": 21019, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21012, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24227:2:14", + "nodeType": "VariableDeclaration", + "scope": 21033, + "src": "24219:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21011, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24219:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21014, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24245:2:14", + "nodeType": "VariableDeclaration", + "scope": 21033, + "src": "24231:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21013, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24231:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21016, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24263:2:14", + "nodeType": "VariableDeclaration", + "scope": 21033, + "src": "24249:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21015, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24249:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21018, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24272:2:14", + "nodeType": "VariableDeclaration", + "scope": 21033, + "src": "24267:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24267:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "24218:57:14" + }, + "returnParameters": { + "id": 21020, + "nodeType": "ParameterList", + "parameters": [], + "src": "24290:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21056, + "nodeType": "FunctionDefinition", + "src": "24404:198:14", + "nodes": [], + "body": { + "id": 21055, + "nodeType": "Block", + "src": "24491:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329", + "id": 21047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24541:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7", + "typeString": "literal_string \"log(uint256,string,string,address)\"" + }, + "value": "log(uint256,string,string,address)" + }, + { + "id": 21048, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21035, + "src": "24579:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21049, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "24583:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21050, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21039, + "src": "24587:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21051, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21041, + "src": "24591:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7", + "typeString": "literal_string \"log(uint256,string,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21045, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24517:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24521:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24517:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24517:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21044, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "24501:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24501:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21054, + "nodeType": "ExpressionStatement", + "src": "24501:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24413:3:14", + "parameters": { + "id": 21042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21035, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24425:2:14", + "nodeType": "VariableDeclaration", + "scope": 21056, + "src": "24417:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21034, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24417:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21037, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24443:2:14", + "nodeType": "VariableDeclaration", + "scope": 21056, + "src": "24429:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21036, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24429:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21039, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24461:2:14", + "nodeType": "VariableDeclaration", + "scope": 21056, + "src": "24447:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21038, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24447:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21041, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24473:2:14", + "nodeType": "VariableDeclaration", + "scope": 21056, + "src": "24465:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21040, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24465:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "24416:60:14" + }, + "returnParameters": { + "id": 21043, + "nodeType": "ParameterList", + "parameters": [], + "src": "24491:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21079, + "nodeType": "FunctionDefinition", + "src": "24608:187:14", + "nodes": [], + "body": { + "id": 21078, + "nodeType": "Block", + "src": "24686:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629", + "id": 21070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24736:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a", + "typeString": "literal_string \"log(uint256,string,bool,uint256)\"" + }, + "value": "log(uint256,string,bool,uint256)" + }, + { + "id": 21071, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21058, + "src": "24772:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21072, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21060, + "src": "24776:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21073, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21062, + "src": "24780:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21074, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21064, + "src": "24784:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a", + "typeString": "literal_string \"log(uint256,string,bool,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21068, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24712:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24716:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24712:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24712:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21067, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "24696:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24696:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21077, + "nodeType": "ExpressionStatement", + "src": "24696:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24617:3:14", + "parameters": { + "id": 21065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21058, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24629:2:14", + "nodeType": "VariableDeclaration", + "scope": 21079, + "src": "24621:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21057, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24621:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21060, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24647:2:14", + "nodeType": "VariableDeclaration", + "scope": 21079, + "src": "24633:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21059, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24633:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21062, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24656:2:14", + "nodeType": "VariableDeclaration", + "scope": 21079, + "src": "24651:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21061, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24651:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21064, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24668:2:14", + "nodeType": "VariableDeclaration", + "scope": 21079, + "src": "24660:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21063, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24660:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24620:51:14" + }, + "returnParameters": { + "id": 21066, + "nodeType": "ParameterList", + "parameters": [], + "src": "24686:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21102, + "nodeType": "FunctionDefinition", + "src": "24801:192:14", + "nodes": [], + "body": { + "id": 21101, + "nodeType": "Block", + "src": "24885:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729", + "id": 21093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24935:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c", + "typeString": "literal_string \"log(uint256,string,bool,string)\"" + }, + "value": "log(uint256,string,bool,string)" + }, + { + "id": 21094, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21081, + "src": "24970:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21095, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21083, + "src": "24974:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21096, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21085, + "src": "24978:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21097, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21087, + "src": "24982:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c", + "typeString": "literal_string \"log(uint256,string,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21091, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24911:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21092, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "24915:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24911:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24911:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21090, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "24895:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24895:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21100, + "nodeType": "ExpressionStatement", + "src": "24895:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24810:3:14", + "parameters": { + "id": 21088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21081, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24822:2:14", + "nodeType": "VariableDeclaration", + "scope": 21102, + "src": "24814:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24814:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21083, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24840:2:14", + "nodeType": "VariableDeclaration", + "scope": 21102, + "src": "24826:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21082, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24826:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21085, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24849:2:14", + "nodeType": "VariableDeclaration", + "scope": 21102, + "src": "24844:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21084, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24844:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21087, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24867:2:14", + "nodeType": "VariableDeclaration", + "scope": 21102, + "src": "24853:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21086, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24853:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "24813:57:14" + }, + "returnParameters": { + "id": 21089, + "nodeType": "ParameterList", + "parameters": [], + "src": "24885:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21125, + "nodeType": "FunctionDefinition", + "src": "24999:181:14", + "nodes": [], + "body": { + "id": 21124, + "nodeType": "Block", + "src": "25074:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29", + "id": 21116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25124:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f", + "typeString": "literal_string \"log(uint256,string,bool,bool)\"" + }, + "value": "log(uint256,string,bool,bool)" + }, + { + "id": 21117, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21104, + "src": "25157:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21118, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21106, + "src": "25161:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21119, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21108, + "src": "25165:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21120, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21110, + "src": "25169:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f", + "typeString": "literal_string \"log(uint256,string,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21114, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25100:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25104:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25100:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25100:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21113, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "25084:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25084:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21123, + "nodeType": "ExpressionStatement", + "src": "25084:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25008:3:14", + "parameters": { + "id": 21111, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21104, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25020:2:14", + "nodeType": "VariableDeclaration", + "scope": 21125, + "src": "25012:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21103, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25012:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21106, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25038:2:14", + "nodeType": "VariableDeclaration", + "scope": 21125, + "src": "25024:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21105, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25024:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21108, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25047:2:14", + "nodeType": "VariableDeclaration", + "scope": 21125, + "src": "25042:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21107, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25042:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21110, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25056:2:14", + "nodeType": "VariableDeclaration", + "scope": 21125, + "src": "25051:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21109, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25051:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "25011:48:14" + }, + "returnParameters": { + "id": 21112, + "nodeType": "ParameterList", + "parameters": [], + "src": "25074:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21148, + "nodeType": "FunctionDefinition", + "src": "25186:187:14", + "nodes": [], + "body": { + "id": 21147, + "nodeType": "Block", + "src": "25264:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329", + "id": 21139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25314:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550", + "typeString": "literal_string \"log(uint256,string,bool,address)\"" + }, + "value": "log(uint256,string,bool,address)" + }, + { + "id": 21140, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21127, + "src": "25350:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21141, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21129, + "src": "25354:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21142, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21131, + "src": "25358:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21143, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21133, + "src": "25362:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550", + "typeString": "literal_string \"log(uint256,string,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21137, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25290:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25294:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25290:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25290:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21136, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "25274:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25274:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21146, + "nodeType": "ExpressionStatement", + "src": "25274:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25195:3:14", + "parameters": { + "id": 21134, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21127, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25207:2:14", + "nodeType": "VariableDeclaration", + "scope": 21148, + "src": "25199:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25199:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21129, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25225:2:14", + "nodeType": "VariableDeclaration", + "scope": 21148, + "src": "25211:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21128, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25211:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21131, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25234:2:14", + "nodeType": "VariableDeclaration", + "scope": 21148, + "src": "25229:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21130, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25229:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21133, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25246:2:14", + "nodeType": "VariableDeclaration", + "scope": 21148, + "src": "25238:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25238:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "25198:51:14" + }, + "returnParameters": { + "id": 21135, + "nodeType": "ParameterList", + "parameters": [], + "src": "25264:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21171, + "nodeType": "FunctionDefinition", + "src": "25379:193:14", + "nodes": [], + "body": { + "id": 21170, + "nodeType": "Block", + "src": "25460:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629", + "id": 21162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25510:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908", + "typeString": "literal_string \"log(uint256,string,address,uint256)\"" + }, + "value": "log(uint256,string,address,uint256)" + }, + { + "id": 21163, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21150, + "src": "25549:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21164, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21152, + "src": "25553:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21165, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21154, + "src": "25557:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21166, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21156, + "src": "25561:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908", + "typeString": "literal_string \"log(uint256,string,address,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21160, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25486:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25490:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25486:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25486:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21159, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "25470:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25470:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21169, + "nodeType": "ExpressionStatement", + "src": "25470:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25388:3:14", + "parameters": { + "id": 21157, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21150, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25400:2:14", + "nodeType": "VariableDeclaration", + "scope": 21171, + "src": "25392:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21149, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25392:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21152, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25418:2:14", + "nodeType": "VariableDeclaration", + "scope": 21171, + "src": "25404:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21151, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25404:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21154, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25430:2:14", + "nodeType": "VariableDeclaration", + "scope": 21171, + "src": "25422:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25422:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21156, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25442:2:14", + "nodeType": "VariableDeclaration", + "scope": 21171, + "src": "25434:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21155, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25434:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "25391:54:14" + }, + "returnParameters": { + "id": 21158, + "nodeType": "ParameterList", + "parameters": [], + "src": "25460:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21194, + "nodeType": "FunctionDefinition", + "src": "25578:198:14", + "nodes": [], + "body": { + "id": 21193, + "nodeType": "Block", + "src": "25665:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729", + "id": 21185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25715:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720", + "typeString": "literal_string \"log(uint256,string,address,string)\"" + }, + "value": "log(uint256,string,address,string)" + }, + { + "id": 21186, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21173, + "src": "25753:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21187, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21175, + "src": "25757:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21188, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21177, + "src": "25761:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21189, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21179, + "src": "25765:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720", + "typeString": "literal_string \"log(uint256,string,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21183, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25691:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25695:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25691:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25691:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21182, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "25675:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25675:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21192, + "nodeType": "ExpressionStatement", + "src": "25675:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25587:3:14", + "parameters": { + "id": 21180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21173, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25599:2:14", + "nodeType": "VariableDeclaration", + "scope": 21194, + "src": "25591:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21172, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25591:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21175, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25617:2:14", + "nodeType": "VariableDeclaration", + "scope": 21194, + "src": "25603:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21174, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25603:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21177, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25629:2:14", + "nodeType": "VariableDeclaration", + "scope": 21194, + "src": "25621:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21176, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25621:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21179, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25647:2:14", + "nodeType": "VariableDeclaration", + "scope": 21194, + "src": "25633:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21178, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25633:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "25590:60:14" + }, + "returnParameters": { + "id": 21181, + "nodeType": "ParameterList", + "parameters": [], + "src": "25665:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21217, + "nodeType": "FunctionDefinition", + "src": "25782:187:14", + "nodes": [], + "body": { + "id": 21216, + "nodeType": "Block", + "src": "25860:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29", + "id": 21208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25910:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5", + "typeString": "literal_string \"log(uint256,string,address,bool)\"" + }, + "value": "log(uint256,string,address,bool)" + }, + { + "id": 21209, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21196, + "src": "25946:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21210, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21198, + "src": "25950:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21211, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21200, + "src": "25954:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21212, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21202, + "src": "25958:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5", + "typeString": "literal_string \"log(uint256,string,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21206, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25886:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25890:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25886:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25886:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21205, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "25870:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25870:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21215, + "nodeType": "ExpressionStatement", + "src": "25870:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25791:3:14", + "parameters": { + "id": 21203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21196, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25803:2:14", + "nodeType": "VariableDeclaration", + "scope": 21217, + "src": "25795:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21195, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25795:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21198, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25821:2:14", + "nodeType": "VariableDeclaration", + "scope": 21217, + "src": "25807:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21197, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25807:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21200, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25833:2:14", + "nodeType": "VariableDeclaration", + "scope": 21217, + "src": "25825:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25825:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21202, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25842:2:14", + "nodeType": "VariableDeclaration", + "scope": 21217, + "src": "25837:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21201, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25837:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "25794:51:14" + }, + "returnParameters": { + "id": 21204, + "nodeType": "ParameterList", + "parameters": [], + "src": "25860:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21240, + "nodeType": "FunctionDefinition", + "src": "25975:193:14", + "nodes": [], + "body": { + "id": 21239, + "nodeType": "Block", + "src": "26056:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329", + "id": 21231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26106:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd", + "typeString": "literal_string \"log(uint256,string,address,address)\"" + }, + "value": "log(uint256,string,address,address)" + }, + { + "id": 21232, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21219, + "src": "26145:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21233, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21221, + "src": "26149:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21234, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21223, + "src": "26153:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21235, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21225, + "src": "26157:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd", + "typeString": "literal_string \"log(uint256,string,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21229, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26082:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26086:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26082:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26082:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21228, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "26066:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26066:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21238, + "nodeType": "ExpressionStatement", + "src": "26066:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25984:3:14", + "parameters": { + "id": 21226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21219, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25996:2:14", + "nodeType": "VariableDeclaration", + "scope": 21240, + "src": "25988:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21218, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25988:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21221, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26014:2:14", + "nodeType": "VariableDeclaration", + "scope": 21240, + "src": "26000:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21220, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26000:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21223, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26026:2:14", + "nodeType": "VariableDeclaration", + "scope": 21240, + "src": "26018:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26018:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21225, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26038:2:14", + "nodeType": "VariableDeclaration", + "scope": 21240, + "src": "26030:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21224, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26030:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "25987:54:14" + }, + "returnParameters": { + "id": 21227, + "nodeType": "ParameterList", + "parameters": [], + "src": "26056:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21263, + "nodeType": "FunctionDefinition", + "src": "26174:182:14", + "nodes": [], + "body": { + "id": 21262, + "nodeType": "Block", + "src": "26246:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629", + "id": 21254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26296:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4", + "typeString": "literal_string \"log(uint256,bool,uint256,uint256)\"" + }, + "value": "log(uint256,bool,uint256,uint256)" + }, + { + "id": 21255, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21242, + "src": "26333:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21256, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21244, + "src": "26337:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21257, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21246, + "src": "26341:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21258, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21248, + "src": "26345:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4", + "typeString": "literal_string \"log(uint256,bool,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21252, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26272:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26276:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26272:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26272:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21251, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "26256:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26256:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21261, + "nodeType": "ExpressionStatement", + "src": "26256:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26183:3:14", + "parameters": { + "id": 21249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21242, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26195:2:14", + "nodeType": "VariableDeclaration", + "scope": 21263, + "src": "26187:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21241, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26187:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21244, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26204:2:14", + "nodeType": "VariableDeclaration", + "scope": 21263, + "src": "26199:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21243, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26199:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21246, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26216:2:14", + "nodeType": "VariableDeclaration", + "scope": 21263, + "src": "26208:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21245, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26208:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21248, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26228:2:14", + "nodeType": "VariableDeclaration", + "scope": 21263, + "src": "26220:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21247, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26220:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26186:45:14" + }, + "returnParameters": { + "id": 21250, + "nodeType": "ParameterList", + "parameters": [], + "src": "26246:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21286, + "nodeType": "FunctionDefinition", + "src": "26362:187:14", + "nodes": [], + "body": { + "id": 21285, + "nodeType": "Block", + "src": "26440:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729", + "id": 21277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26490:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b", + "typeString": "literal_string \"log(uint256,bool,uint256,string)\"" + }, + "value": "log(uint256,bool,uint256,string)" + }, + { + "id": 21278, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21265, + "src": "26526:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21279, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21267, + "src": "26530:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21280, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21269, + "src": "26534:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21281, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21271, + "src": "26538:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b", + "typeString": "literal_string \"log(uint256,bool,uint256,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21275, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26466:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26470:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26466:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26466:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21274, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "26450:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26450:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21284, + "nodeType": "ExpressionStatement", + "src": "26450:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26371:3:14", + "parameters": { + "id": 21272, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21265, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26383:2:14", + "nodeType": "VariableDeclaration", + "scope": 21286, + "src": "26375:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26375:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21267, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26392:2:14", + "nodeType": "VariableDeclaration", + "scope": 21286, + "src": "26387:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21266, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26387:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21269, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26404:2:14", + "nodeType": "VariableDeclaration", + "scope": 21286, + "src": "26396:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26396:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21271, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26422:2:14", + "nodeType": "VariableDeclaration", + "scope": 21286, + "src": "26408:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21270, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26408:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "26374:51:14" + }, + "returnParameters": { + "id": 21273, + "nodeType": "ParameterList", + "parameters": [], + "src": "26440:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21309, + "nodeType": "FunctionDefinition", + "src": "26555:176:14", + "nodes": [], + "body": { + "id": 21308, + "nodeType": "Block", + "src": "26624:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29", + "id": 21300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26674:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1", + "typeString": "literal_string \"log(uint256,bool,uint256,bool)\"" + }, + "value": "log(uint256,bool,uint256,bool)" + }, + { + "id": 21301, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21288, + "src": "26708:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21302, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21290, + "src": "26712:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21303, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21292, + "src": "26716:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21304, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21294, + "src": "26720:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1", + "typeString": "literal_string \"log(uint256,bool,uint256,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21298, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26650:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26654:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26650:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26650:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21297, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "26634:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26634:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21307, + "nodeType": "ExpressionStatement", + "src": "26634:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26564:3:14", + "parameters": { + "id": 21295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21288, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26576:2:14", + "nodeType": "VariableDeclaration", + "scope": 21309, + "src": "26568:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26568:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21290, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26585:2:14", + "nodeType": "VariableDeclaration", + "scope": 21309, + "src": "26580:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21289, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26580:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21292, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26597:2:14", + "nodeType": "VariableDeclaration", + "scope": 21309, + "src": "26589:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21291, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26589:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21294, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26606:2:14", + "nodeType": "VariableDeclaration", + "scope": 21309, + "src": "26601:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21293, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26601:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "26567:42:14" + }, + "returnParameters": { + "id": 21296, + "nodeType": "ParameterList", + "parameters": [], + "src": "26624:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21332, + "nodeType": "FunctionDefinition", + "src": "26737:182:14", + "nodes": [], + "body": { + "id": 21331, + "nodeType": "Block", + "src": "26809:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329", + "id": 21323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26859:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b", + "typeString": "literal_string \"log(uint256,bool,uint256,address)\"" + }, + "value": "log(uint256,bool,uint256,address)" + }, + { + "id": 21324, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21311, + "src": "26896:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21325, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21313, + "src": "26900:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21326, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21315, + "src": "26904:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21327, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21317, + "src": "26908:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b", + "typeString": "literal_string \"log(uint256,bool,uint256,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21321, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26835:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21322, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26839:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26835:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26835:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21320, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "26819:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26819:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21330, + "nodeType": "ExpressionStatement", + "src": "26819:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26746:3:14", + "parameters": { + "id": 21318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21311, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26758:2:14", + "nodeType": "VariableDeclaration", + "scope": 21332, + "src": "26750:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21310, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26750:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21313, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26767:2:14", + "nodeType": "VariableDeclaration", + "scope": 21332, + "src": "26762:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21312, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26762:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21315, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26779:2:14", + "nodeType": "VariableDeclaration", + "scope": 21332, + "src": "26771:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26771:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21317, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26791:2:14", + "nodeType": "VariableDeclaration", + "scope": 21332, + "src": "26783:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21316, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26783:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "26749:45:14" + }, + "returnParameters": { + "id": 21319, + "nodeType": "ParameterList", + "parameters": [], + "src": "26809:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21355, + "nodeType": "FunctionDefinition", + "src": "26925:187:14", + "nodes": [], + "body": { + "id": 21354, + "nodeType": "Block", + "src": "27003:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629", + "id": 21346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27053:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8", + "typeString": "literal_string \"log(uint256,bool,string,uint256)\"" + }, + "value": "log(uint256,bool,string,uint256)" + }, + { + "id": 21347, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21334, + "src": "27089:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21348, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21336, + "src": "27093:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21349, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21338, + "src": "27097:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21350, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21340, + "src": "27101:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8", + "typeString": "literal_string \"log(uint256,bool,string,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21344, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27029:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27033:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27029:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27029:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21343, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "27013:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27013:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21353, + "nodeType": "ExpressionStatement", + "src": "27013:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26934:3:14", + "parameters": { + "id": 21341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21334, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26946:2:14", + "nodeType": "VariableDeclaration", + "scope": 21355, + "src": "26938:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21333, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26938:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21336, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26955:2:14", + "nodeType": "VariableDeclaration", + "scope": 21355, + "src": "26950:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21335, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26950:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21338, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26973:2:14", + "nodeType": "VariableDeclaration", + "scope": 21355, + "src": "26959:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21337, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26959:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21340, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26985:2:14", + "nodeType": "VariableDeclaration", + "scope": 21355, + "src": "26977:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26977:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26937:51:14" + }, + "returnParameters": { + "id": 21342, + "nodeType": "ParameterList", + "parameters": [], + "src": "27003:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21378, + "nodeType": "FunctionDefinition", + "src": "27118:192:14", + "nodes": [], + "body": { + "id": 21377, + "nodeType": "Block", + "src": "27202:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729", + "id": 21369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27252:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd", + "typeString": "literal_string \"log(uint256,bool,string,string)\"" + }, + "value": "log(uint256,bool,string,string)" + }, + { + "id": 21370, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21357, + "src": "27287:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21371, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21359, + "src": "27291:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21372, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21361, + "src": "27295:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21373, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21363, + "src": "27299:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd", + "typeString": "literal_string \"log(uint256,bool,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21367, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27228:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27232:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27228:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27228:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21366, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "27212:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27212:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21376, + "nodeType": "ExpressionStatement", + "src": "27212:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27127:3:14", + "parameters": { + "id": 21364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21357, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27139:2:14", + "nodeType": "VariableDeclaration", + "scope": 21378, + "src": "27131:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27131:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21359, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27148:2:14", + "nodeType": "VariableDeclaration", + "scope": 21378, + "src": "27143:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21358, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27143:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21361, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27166:2:14", + "nodeType": "VariableDeclaration", + "scope": 21378, + "src": "27152:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21360, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27152:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21363, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27184:2:14", + "nodeType": "VariableDeclaration", + "scope": 21378, + "src": "27170:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21362, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27170:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "27130:57:14" + }, + "returnParameters": { + "id": 21365, + "nodeType": "ParameterList", + "parameters": [], + "src": "27202:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21401, + "nodeType": "FunctionDefinition", + "src": "27316:181:14", + "nodes": [], + "body": { + "id": 21400, + "nodeType": "Block", + "src": "27391:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29", + "id": 21392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27441:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad", + "typeString": "literal_string \"log(uint256,bool,string,bool)\"" + }, + "value": "log(uint256,bool,string,bool)" + }, + { + "id": 21393, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21380, + "src": "27474:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21394, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21382, + "src": "27478:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21395, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "27482:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21396, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21386, + "src": "27486:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad", + "typeString": "literal_string \"log(uint256,bool,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21390, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27417:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27421:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27417:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27417:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21389, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "27401:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27401:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21399, + "nodeType": "ExpressionStatement", + "src": "27401:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27325:3:14", + "parameters": { + "id": 21387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21380, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27337:2:14", + "nodeType": "VariableDeclaration", + "scope": 21401, + "src": "27329:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21379, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27329:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21382, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27346:2:14", + "nodeType": "VariableDeclaration", + "scope": 21401, + "src": "27341:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21381, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27341:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21384, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27364:2:14", + "nodeType": "VariableDeclaration", + "scope": 21401, + "src": "27350:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21383, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27350:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21386, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27373:2:14", + "nodeType": "VariableDeclaration", + "scope": 21401, + "src": "27368:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21385, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27368:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "27328:48:14" + }, + "returnParameters": { + "id": 21388, + "nodeType": "ParameterList", + "parameters": [], + "src": "27391:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21424, + "nodeType": "FunctionDefinition", + "src": "27503:187:14", + "nodes": [], + "body": { + "id": 21423, + "nodeType": "Block", + "src": "27581:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329", + "id": 21415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27631:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5", + "typeString": "literal_string \"log(uint256,bool,string,address)\"" + }, + "value": "log(uint256,bool,string,address)" + }, + { + "id": 21416, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21403, + "src": "27667:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21417, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21405, + "src": "27671:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21418, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21407, + "src": "27675:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21419, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21409, + "src": "27679:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5", + "typeString": "literal_string \"log(uint256,bool,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21413, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27607:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27611:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27607:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27607:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21412, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "27591:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27591:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21422, + "nodeType": "ExpressionStatement", + "src": "27591:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27512:3:14", + "parameters": { + "id": 21410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21403, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27524:2:14", + "nodeType": "VariableDeclaration", + "scope": 21424, + "src": "27516:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21402, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27516:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21405, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27533:2:14", + "nodeType": "VariableDeclaration", + "scope": 21424, + "src": "27528:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21404, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27528:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21407, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27551:2:14", + "nodeType": "VariableDeclaration", + "scope": 21424, + "src": "27537:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21406, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27537:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21409, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27563:2:14", + "nodeType": "VariableDeclaration", + "scope": 21424, + "src": "27555:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27555:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "27515:51:14" + }, + "returnParameters": { + "id": 21411, + "nodeType": "ParameterList", + "parameters": [], + "src": "27581:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21447, + "nodeType": "FunctionDefinition", + "src": "27696:176:14", + "nodes": [], + "body": { + "id": 21446, + "nodeType": "Block", + "src": "27765:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629", + "id": 21438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27815:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1", + "typeString": "literal_string \"log(uint256,bool,bool,uint256)\"" + }, + "value": "log(uint256,bool,bool,uint256)" + }, + { + "id": 21439, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21426, + "src": "27849:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21440, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21428, + "src": "27853:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21441, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21430, + "src": "27857:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21442, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21432, + "src": "27861:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1", + "typeString": "literal_string \"log(uint256,bool,bool,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21436, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27791:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27795:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27791:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27791:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21435, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "27775:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27775:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21445, + "nodeType": "ExpressionStatement", + "src": "27775:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27705:3:14", + "parameters": { + "id": 21433, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21426, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27717:2:14", + "nodeType": "VariableDeclaration", + "scope": 21447, + "src": "27709:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27709:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21428, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27726:2:14", + "nodeType": "VariableDeclaration", + "scope": 21447, + "src": "27721:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21427, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27721:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21430, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27735:2:14", + "nodeType": "VariableDeclaration", + "scope": 21447, + "src": "27730:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21429, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27730:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21432, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27747:2:14", + "nodeType": "VariableDeclaration", + "scope": 21447, + "src": "27739:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21431, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27739:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "27708:42:14" + }, + "returnParameters": { + "id": 21434, + "nodeType": "ParameterList", + "parameters": [], + "src": "27765:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21470, + "nodeType": "FunctionDefinition", + "src": "27878:181:14", + "nodes": [], + "body": { + "id": 21469, + "nodeType": "Block", + "src": "27953:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729", + "id": 21461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28003:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439", + "typeString": "literal_string \"log(uint256,bool,bool,string)\"" + }, + "value": "log(uint256,bool,bool,string)" + }, + { + "id": 21462, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21449, + "src": "28036:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21463, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21451, + "src": "28040:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21464, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21453, + "src": "28044:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21465, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21455, + "src": "28048:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439", + "typeString": "literal_string \"log(uint256,bool,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21459, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27979:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "27983:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27979:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27979:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21458, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "27963:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27963:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21468, + "nodeType": "ExpressionStatement", + "src": "27963:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27887:3:14", + "parameters": { + "id": 21456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21449, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27899:2:14", + "nodeType": "VariableDeclaration", + "scope": 21470, + "src": "27891:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21448, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27891:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21451, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27908:2:14", + "nodeType": "VariableDeclaration", + "scope": 21470, + "src": "27903:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21450, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27903:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21453, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27917:2:14", + "nodeType": "VariableDeclaration", + "scope": 21470, + "src": "27912:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21452, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27912:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21455, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27935:2:14", + "nodeType": "VariableDeclaration", + "scope": 21470, + "src": "27921:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21454, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27921:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "27890:48:14" + }, + "returnParameters": { + "id": 21457, + "nodeType": "ParameterList", + "parameters": [], + "src": "27953:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21493, + "nodeType": "FunctionDefinition", + "src": "28065:170:14", + "nodes": [], + "body": { + "id": 21492, + "nodeType": "Block", + "src": "28131:104:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 21484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28181:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473", + "typeString": "literal_string \"log(uint256,bool,bool,bool)\"" + }, + "value": "log(uint256,bool,bool,bool)" + }, + { + "id": 21485, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21472, + "src": "28212:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21486, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21474, + "src": "28216:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21487, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21476, + "src": "28220:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21488, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21478, + "src": "28224:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473", + "typeString": "literal_string \"log(uint256,bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21482, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28157:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28161:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28157:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28157:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21481, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "28141:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28141:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21491, + "nodeType": "ExpressionStatement", + "src": "28141:87:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28074:3:14", + "parameters": { + "id": 21479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21472, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28086:2:14", + "nodeType": "VariableDeclaration", + "scope": 21493, + "src": "28078:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21471, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28078:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21474, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28095:2:14", + "nodeType": "VariableDeclaration", + "scope": 21493, + "src": "28090:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21473, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28090:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21476, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28104:2:14", + "nodeType": "VariableDeclaration", + "scope": 21493, + "src": "28099:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21475, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28099:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21478, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28113:2:14", + "nodeType": "VariableDeclaration", + "scope": 21493, + "src": "28108:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21477, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28108:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "28077:39:14" + }, + "returnParameters": { + "id": 21480, + "nodeType": "ParameterList", + "parameters": [], + "src": "28131:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21516, + "nodeType": "FunctionDefinition", + "src": "28241:176:14", + "nodes": [], + "body": { + "id": 21515, + "nodeType": "Block", + "src": "28310:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329", + "id": 21507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28360:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31", + "typeString": "literal_string \"log(uint256,bool,bool,address)\"" + }, + "value": "log(uint256,bool,bool,address)" + }, + { + "id": 21508, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21495, + "src": "28394:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21509, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21497, + "src": "28398:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21510, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21499, + "src": "28402:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21511, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21501, + "src": "28406:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31", + "typeString": "literal_string \"log(uint256,bool,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21505, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28336:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28340:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28336:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28336:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21504, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "28320:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28320:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21514, + "nodeType": "ExpressionStatement", + "src": "28320:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28250:3:14", + "parameters": { + "id": 21502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21495, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28262:2:14", + "nodeType": "VariableDeclaration", + "scope": 21516, + "src": "28254:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28254:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21497, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28271:2:14", + "nodeType": "VariableDeclaration", + "scope": 21516, + "src": "28266:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21496, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28266:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21499, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28280:2:14", + "nodeType": "VariableDeclaration", + "scope": 21516, + "src": "28275:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21498, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28275:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21501, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28292:2:14", + "nodeType": "VariableDeclaration", + "scope": 21516, + "src": "28284:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21500, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28284:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "28253:42:14" + }, + "returnParameters": { + "id": 21503, + "nodeType": "ParameterList", + "parameters": [], + "src": "28310:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21539, + "nodeType": "FunctionDefinition", + "src": "28423:182:14", + "nodes": [], + "body": { + "id": 21538, + "nodeType": "Block", + "src": "28495:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629", + "id": 21530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28545:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88", + "typeString": "literal_string \"log(uint256,bool,address,uint256)\"" + }, + "value": "log(uint256,bool,address,uint256)" + }, + { + "id": 21531, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21518, + "src": "28582:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21532, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21520, + "src": "28586:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21533, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21522, + "src": "28590:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21534, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21524, + "src": "28594:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88", + "typeString": "literal_string \"log(uint256,bool,address,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21528, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28521:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28525:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28521:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28521:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21527, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "28505:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28505:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21537, + "nodeType": "ExpressionStatement", + "src": "28505:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28432:3:14", + "parameters": { + "id": 21525, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21518, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28444:2:14", + "nodeType": "VariableDeclaration", + "scope": 21539, + "src": "28436:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21517, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28436:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21520, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28453:2:14", + "nodeType": "VariableDeclaration", + "scope": 21539, + "src": "28448:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21519, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28448:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21522, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28465:2:14", + "nodeType": "VariableDeclaration", + "scope": 21539, + "src": "28457:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21521, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28457:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21524, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28477:2:14", + "nodeType": "VariableDeclaration", + "scope": 21539, + "src": "28469:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21523, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28469:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "28435:45:14" + }, + "returnParameters": { + "id": 21526, + "nodeType": "ParameterList", + "parameters": [], + "src": "28495:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21562, + "nodeType": "FunctionDefinition", + "src": "28611:187:14", + "nodes": [], + "body": { + "id": 21561, + "nodeType": "Block", + "src": "28689:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729", + "id": 21553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28739:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461", + "typeString": "literal_string \"log(uint256,bool,address,string)\"" + }, + "value": "log(uint256,bool,address,string)" + }, + { + "id": 21554, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21541, + "src": "28775:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21555, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21543, + "src": "28779:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21556, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21545, + "src": "28783:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21557, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21547, + "src": "28787:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461", + "typeString": "literal_string \"log(uint256,bool,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21551, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28715:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28719:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28715:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28715:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21550, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "28699:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28699:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21560, + "nodeType": "ExpressionStatement", + "src": "28699:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28620:3:14", + "parameters": { + "id": 21548, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21541, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28632:2:14", + "nodeType": "VariableDeclaration", + "scope": 21562, + "src": "28624:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28624:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21543, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28641:2:14", + "nodeType": "VariableDeclaration", + "scope": 21562, + "src": "28636:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21542, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28636:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21545, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28653:2:14", + "nodeType": "VariableDeclaration", + "scope": 21562, + "src": "28645:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28645:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21547, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28671:2:14", + "nodeType": "VariableDeclaration", + "scope": 21562, + "src": "28657:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21546, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28657:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "28623:51:14" + }, + "returnParameters": { + "id": 21549, + "nodeType": "ParameterList", + "parameters": [], + "src": "28689:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21585, + "nodeType": "FunctionDefinition", + "src": "28804:176:14", + "nodes": [], + "body": { + "id": 21584, + "nodeType": "Block", + "src": "28873:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29", + "id": 21576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28923:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a", + "typeString": "literal_string \"log(uint256,bool,address,bool)\"" + }, + "value": "log(uint256,bool,address,bool)" + }, + { + "id": 21577, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21564, + "src": "28957:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21578, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21566, + "src": "28961:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21579, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21568, + "src": "28965:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21580, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21570, + "src": "28969:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a", + "typeString": "literal_string \"log(uint256,bool,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21574, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28899:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28903:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28899:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28899:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21573, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "28883:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28883:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21583, + "nodeType": "ExpressionStatement", + "src": "28883:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28813:3:14", + "parameters": { + "id": 21571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21564, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28825:2:14", + "nodeType": "VariableDeclaration", + "scope": 21585, + "src": "28817:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21563, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28817:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21566, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28834:2:14", + "nodeType": "VariableDeclaration", + "scope": 21585, + "src": "28829:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21565, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28829:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21568, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28846:2:14", + "nodeType": "VariableDeclaration", + "scope": 21585, + "src": "28838:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21567, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28838:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21570, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28855:2:14", + "nodeType": "VariableDeclaration", + "scope": 21585, + "src": "28850:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21569, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28850:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "28816:42:14" + }, + "returnParameters": { + "id": 21572, + "nodeType": "ParameterList", + "parameters": [], + "src": "28873:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21608, + "nodeType": "FunctionDefinition", + "src": "28986:182:14", + "nodes": [], + "body": { + "id": 21607, + "nodeType": "Block", + "src": "29058:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329", + "id": 21599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29108:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190", + "typeString": "literal_string \"log(uint256,bool,address,address)\"" + }, + "value": "log(uint256,bool,address,address)" + }, + { + "id": 21600, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21587, + "src": "29145:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21601, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21589, + "src": "29149:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21602, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21591, + "src": "29153:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21603, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21593, + "src": "29157:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190", + "typeString": "literal_string \"log(uint256,bool,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21597, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29084:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29088:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29084:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29084:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21596, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "29068:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29068:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21606, + "nodeType": "ExpressionStatement", + "src": "29068:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28995:3:14", + "parameters": { + "id": 21594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21587, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29007:2:14", + "nodeType": "VariableDeclaration", + "scope": 21608, + "src": "28999:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21586, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28999:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21589, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29016:2:14", + "nodeType": "VariableDeclaration", + "scope": 21608, + "src": "29011:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21588, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29011:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21591, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29028:2:14", + "nodeType": "VariableDeclaration", + "scope": 21608, + "src": "29020:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21590, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29020:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21593, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29040:2:14", + "nodeType": "VariableDeclaration", + "scope": 21608, + "src": "29032:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29032:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "28998:45:14" + }, + "returnParameters": { + "id": 21595, + "nodeType": "ParameterList", + "parameters": [], + "src": "29058:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21631, + "nodeType": "FunctionDefinition", + "src": "29174:188:14", + "nodes": [], + "body": { + "id": 21630, + "nodeType": "Block", + "src": "29249:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629", + "id": 21622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29299:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a", + "typeString": "literal_string \"log(uint256,address,uint256,uint256)\"" + }, + "value": "log(uint256,address,uint256,uint256)" + }, + { + "id": 21623, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21610, + "src": "29339:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21624, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21612, + "src": "29343:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21625, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21614, + "src": "29347:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21626, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21616, + "src": "29351:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a", + "typeString": "literal_string \"log(uint256,address,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21620, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29275:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29279:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29275:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29275:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21619, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "29259:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29259:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21629, + "nodeType": "ExpressionStatement", + "src": "29259:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29183:3:14", + "parameters": { + "id": 21617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21610, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29195:2:14", + "nodeType": "VariableDeclaration", + "scope": 21631, + "src": "29187:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21609, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29187:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21612, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29207:2:14", + "nodeType": "VariableDeclaration", + "scope": 21631, + "src": "29199:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21611, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29199:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21614, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29219:2:14", + "nodeType": "VariableDeclaration", + "scope": 21631, + "src": "29211:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21613, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29211:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21616, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29231:2:14", + "nodeType": "VariableDeclaration", + "scope": 21631, + "src": "29223:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21615, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29223:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29186:48:14" + }, + "returnParameters": { + "id": 21618, + "nodeType": "ParameterList", + "parameters": [], + "src": "29249:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21654, + "nodeType": "FunctionDefinition", + "src": "29368:193:14", + "nodes": [], + "body": { + "id": 21653, + "nodeType": "Block", + "src": "29449:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729", + "id": 21645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29499:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd", + "typeString": "literal_string \"log(uint256,address,uint256,string)\"" + }, + "value": "log(uint256,address,uint256,string)" + }, + { + "id": 21646, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21633, + "src": "29538:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21647, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21635, + "src": "29542:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21648, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21637, + "src": "29546:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21649, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21639, + "src": "29550:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd", + "typeString": "literal_string \"log(uint256,address,uint256,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21643, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29475:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21644, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29479:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29475:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29475:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21642, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "29459:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29459:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21652, + "nodeType": "ExpressionStatement", + "src": "29459:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29377:3:14", + "parameters": { + "id": 21640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21633, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29389:2:14", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "29381:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29381:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21635, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29401:2:14", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "29393:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29393:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21637, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29413:2:14", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "29405:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29405:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21639, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29431:2:14", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "29417:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21638, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29417:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "29380:54:14" + }, + "returnParameters": { + "id": 21641, + "nodeType": "ParameterList", + "parameters": [], + "src": "29449:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21677, + "nodeType": "FunctionDefinition", + "src": "29567:182:14", + "nodes": [], + "body": { + "id": 21676, + "nodeType": "Block", + "src": "29639:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29", + "id": 21668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29689:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f", + "typeString": "literal_string \"log(uint256,address,uint256,bool)\"" + }, + "value": "log(uint256,address,uint256,bool)" + }, + { + "id": 21669, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21656, + "src": "29726:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21670, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21658, + "src": "29730:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21671, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21660, + "src": "29734:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21672, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21662, + "src": "29738:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f", + "typeString": "literal_string \"log(uint256,address,uint256,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21666, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29665:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29669:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29665:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29665:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21665, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "29649:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29649:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21675, + "nodeType": "ExpressionStatement", + "src": "29649:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29576:3:14", + "parameters": { + "id": 21663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21656, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29588:2:14", + "nodeType": "VariableDeclaration", + "scope": 21677, + "src": "29580:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21655, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29580:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21658, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29600:2:14", + "nodeType": "VariableDeclaration", + "scope": 21677, + "src": "29592:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21657, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29592:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21660, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29612:2:14", + "nodeType": "VariableDeclaration", + "scope": 21677, + "src": "29604:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29604:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21662, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29621:2:14", + "nodeType": "VariableDeclaration", + "scope": 21677, + "src": "29616:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21661, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29616:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "29579:45:14" + }, + "returnParameters": { + "id": 21664, + "nodeType": "ParameterList", + "parameters": [], + "src": "29639:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21700, + "nodeType": "FunctionDefinition", + "src": "29755:188:14", + "nodes": [], + "body": { + "id": 21699, + "nodeType": "Block", + "src": "29830:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329", + "id": 21691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29880:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379", + "typeString": "literal_string \"log(uint256,address,uint256,address)\"" + }, + "value": "log(uint256,address,uint256,address)" + }, + { + "id": 21692, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21679, + "src": "29920:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21693, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21681, + "src": "29924:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21694, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21683, + "src": "29928:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21695, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21685, + "src": "29932:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379", + "typeString": "literal_string \"log(uint256,address,uint256,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21689, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29856:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29860:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29856:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29856:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21688, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "29840:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29840:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21698, + "nodeType": "ExpressionStatement", + "src": "29840:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29764:3:14", + "parameters": { + "id": 21686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21679, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29776:2:14", + "nodeType": "VariableDeclaration", + "scope": 21700, + "src": "29768:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29768:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21681, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29788:2:14", + "nodeType": "VariableDeclaration", + "scope": 21700, + "src": "29780:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29780:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21683, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29800:2:14", + "nodeType": "VariableDeclaration", + "scope": 21700, + "src": "29792:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21682, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29792:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21685, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29812:2:14", + "nodeType": "VariableDeclaration", + "scope": 21700, + "src": "29804:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29804:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "29767:48:14" + }, + "returnParameters": { + "id": 21687, + "nodeType": "ParameterList", + "parameters": [], + "src": "29830:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21723, + "nodeType": "FunctionDefinition", + "src": "29949:193:14", + "nodes": [], + "body": { + "id": 21722, + "nodeType": "Block", + "src": "30030:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629", + "id": 21714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30080:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0", + "typeString": "literal_string \"log(uint256,address,string,uint256)\"" + }, + "value": "log(uint256,address,string,uint256)" + }, + { + "id": 21715, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21702, + "src": "30119:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21716, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21704, + "src": "30123:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21717, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21706, + "src": "30127:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21718, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21708, + "src": "30131:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0", + "typeString": "literal_string \"log(uint256,address,string,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21712, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30056:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30060:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30056:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30056:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21711, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "30040:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30040:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21721, + "nodeType": "ExpressionStatement", + "src": "30040:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29958:3:14", + "parameters": { + "id": 21709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21702, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29970:2:14", + "nodeType": "VariableDeclaration", + "scope": 21723, + "src": "29962:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21701, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29962:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21704, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29982:2:14", + "nodeType": "VariableDeclaration", + "scope": 21723, + "src": "29974:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21703, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29974:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21706, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30000:2:14", + "nodeType": "VariableDeclaration", + "scope": 21723, + "src": "29986:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21705, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29986:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21708, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30012:2:14", + "nodeType": "VariableDeclaration", + "scope": 21723, + "src": "30004:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30004:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29961:54:14" + }, + "returnParameters": { + "id": 21710, + "nodeType": "ParameterList", + "parameters": [], + "src": "30030:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21746, + "nodeType": "FunctionDefinition", + "src": "30148:198:14", + "nodes": [], + "body": { + "id": 21745, + "nodeType": "Block", + "src": "30235:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729", + "id": 21737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30285:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b", + "typeString": "literal_string \"log(uint256,address,string,string)\"" + }, + "value": "log(uint256,address,string,string)" + }, + { + "id": 21738, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21725, + "src": "30323:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21739, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21727, + "src": "30327:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21740, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21729, + "src": "30331:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21741, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21731, + "src": "30335:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b", + "typeString": "literal_string \"log(uint256,address,string,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21735, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30261:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30265:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30261:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30261:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21734, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "30245:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30245:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21744, + "nodeType": "ExpressionStatement", + "src": "30245:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30157:3:14", + "parameters": { + "id": 21732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21725, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30169:2:14", + "nodeType": "VariableDeclaration", + "scope": 21746, + "src": "30161:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30161:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21727, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30181:2:14", + "nodeType": "VariableDeclaration", + "scope": 21746, + "src": "30173:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21726, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30173:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21729, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30199:2:14", + "nodeType": "VariableDeclaration", + "scope": 21746, + "src": "30185:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21728, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30185:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21731, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30217:2:14", + "nodeType": "VariableDeclaration", + "scope": 21746, + "src": "30203:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21730, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30203:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "30160:60:14" + }, + "returnParameters": { + "id": 21733, + "nodeType": "ParameterList", + "parameters": [], + "src": "30235:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21769, + "nodeType": "FunctionDefinition", + "src": "30352:187:14", + "nodes": [], + "body": { + "id": 21768, + "nodeType": "Block", + "src": "30430:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29", + "id": 21760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30480:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b", + "typeString": "literal_string \"log(uint256,address,string,bool)\"" + }, + "value": "log(uint256,address,string,bool)" + }, + { + "id": 21761, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21748, + "src": "30516:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21762, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21750, + "src": "30520:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21763, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21752, + "src": "30524:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21764, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21754, + "src": "30528:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b", + "typeString": "literal_string \"log(uint256,address,string,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21758, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30456:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30460:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30456:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30456:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21757, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "30440:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30440:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21767, + "nodeType": "ExpressionStatement", + "src": "30440:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30361:3:14", + "parameters": { + "id": 21755, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21748, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30373:2:14", + "nodeType": "VariableDeclaration", + "scope": 21769, + "src": "30365:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21747, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30365:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21750, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30385:2:14", + "nodeType": "VariableDeclaration", + "scope": 21769, + "src": "30377:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21749, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30377:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21752, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30403:2:14", + "nodeType": "VariableDeclaration", + "scope": 21769, + "src": "30389:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21751, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30389:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21754, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30412:2:14", + "nodeType": "VariableDeclaration", + "scope": 21769, + "src": "30407:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21753, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "30407:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "30364:51:14" + }, + "returnParameters": { + "id": 21756, + "nodeType": "ParameterList", + "parameters": [], + "src": "30430:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21792, + "nodeType": "FunctionDefinition", + "src": "30545:193:14", + "nodes": [], + "body": { + "id": 21791, + "nodeType": "Block", + "src": "30626:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329", + "id": 21783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30676:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9", + "typeString": "literal_string \"log(uint256,address,string,address)\"" + }, + "value": "log(uint256,address,string,address)" + }, + { + "id": 21784, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21771, + "src": "30715:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21785, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21773, + "src": "30719:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21786, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21775, + "src": "30723:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21787, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21777, + "src": "30727:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9", + "typeString": "literal_string \"log(uint256,address,string,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21781, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30652:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21782, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30656:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30652:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30652:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21780, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "30636:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30636:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21790, + "nodeType": "ExpressionStatement", + "src": "30636:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30554:3:14", + "parameters": { + "id": 21778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21771, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30566:2:14", + "nodeType": "VariableDeclaration", + "scope": 21792, + "src": "30558:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30558:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21773, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30578:2:14", + "nodeType": "VariableDeclaration", + "scope": 21792, + "src": "30570:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21772, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30570:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21775, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30596:2:14", + "nodeType": "VariableDeclaration", + "scope": 21792, + "src": "30582:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21774, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30582:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21777, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30608:2:14", + "nodeType": "VariableDeclaration", + "scope": 21792, + "src": "30600:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21776, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30600:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "30557:54:14" + }, + "returnParameters": { + "id": 21779, + "nodeType": "ParameterList", + "parameters": [], + "src": "30626:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21815, + "nodeType": "FunctionDefinition", + "src": "30744:182:14", + "nodes": [], + "body": { + "id": 21814, + "nodeType": "Block", + "src": "30816:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629", + "id": 21806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30866:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1", + "typeString": "literal_string \"log(uint256,address,bool,uint256)\"" + }, + "value": "log(uint256,address,bool,uint256)" + }, + { + "id": 21807, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21794, + "src": "30903:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21808, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21796, + "src": "30907:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21809, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21798, + "src": "30911:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21810, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21800, + "src": "30915:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1", + "typeString": "literal_string \"log(uint256,address,bool,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21804, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30842:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "30846:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30842:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30842:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21803, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "30826:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30826:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21813, + "nodeType": "ExpressionStatement", + "src": "30826:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30753:3:14", + "parameters": { + "id": 21801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21794, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30765:2:14", + "nodeType": "VariableDeclaration", + "scope": 21815, + "src": "30757:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21793, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30757:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21796, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30777:2:14", + "nodeType": "VariableDeclaration", + "scope": 21815, + "src": "30769:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21795, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30769:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21798, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30786:2:14", + "nodeType": "VariableDeclaration", + "scope": 21815, + "src": "30781:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21797, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "30781:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21800, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30798:2:14", + "nodeType": "VariableDeclaration", + "scope": 21815, + "src": "30790:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30790:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30756:45:14" + }, + "returnParameters": { + "id": 21802, + "nodeType": "ParameterList", + "parameters": [], + "src": "30816:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21838, + "nodeType": "FunctionDefinition", + "src": "30932:187:14", + "nodes": [], + "body": { + "id": 21837, + "nodeType": "Block", + "src": "31010:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729", + "id": 21829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31060:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d", + "typeString": "literal_string \"log(uint256,address,bool,string)\"" + }, + "value": "log(uint256,address,bool,string)" + }, + { + "id": 21830, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21817, + "src": "31096:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21831, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21819, + "src": "31100:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21832, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21821, + "src": "31104:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21833, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21823, + "src": "31108:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d", + "typeString": "literal_string \"log(uint256,address,bool,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21827, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31036:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31040:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31036:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31036:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21826, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "31020:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31020:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21836, + "nodeType": "ExpressionStatement", + "src": "31020:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30941:3:14", + "parameters": { + "id": 21824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21817, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30953:2:14", + "nodeType": "VariableDeclaration", + "scope": 21838, + "src": "30945:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21816, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30945:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21819, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30965:2:14", + "nodeType": "VariableDeclaration", + "scope": 21838, + "src": "30957:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21818, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30957:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21821, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30974:2:14", + "nodeType": "VariableDeclaration", + "scope": 21838, + "src": "30969:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21820, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "30969:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21823, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30992:2:14", + "nodeType": "VariableDeclaration", + "scope": 21838, + "src": "30978:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21822, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30978:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "30944:51:14" + }, + "returnParameters": { + "id": 21825, + "nodeType": "ParameterList", + "parameters": [], + "src": "31010:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21861, + "nodeType": "FunctionDefinition", + "src": "31125:176:14", + "nodes": [], + "body": { + "id": 21860, + "nodeType": "Block", + "src": "31194:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29", + "id": 21852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31244:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1", + "typeString": "literal_string \"log(uint256,address,bool,bool)\"" + }, + "value": "log(uint256,address,bool,bool)" + }, + { + "id": 21853, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21840, + "src": "31278:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21854, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21842, + "src": "31282:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21855, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21844, + "src": "31286:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21856, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21846, + "src": "31290:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1", + "typeString": "literal_string \"log(uint256,address,bool,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21850, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31220:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21851, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31224:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31220:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31220:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21849, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "31204:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31204:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21859, + "nodeType": "ExpressionStatement", + "src": "31204:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31134:3:14", + "parameters": { + "id": 21847, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21840, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31146:2:14", + "nodeType": "VariableDeclaration", + "scope": 21861, + "src": "31138:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21839, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31138:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21842, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31158:2:14", + "nodeType": "VariableDeclaration", + "scope": 21861, + "src": "31150:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21841, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31150:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21844, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31167:2:14", + "nodeType": "VariableDeclaration", + "scope": 21861, + "src": "31162:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21843, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "31162:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21846, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31176:2:14", + "nodeType": "VariableDeclaration", + "scope": 21861, + "src": "31171:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21845, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "31171:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "31137:42:14" + }, + "returnParameters": { + "id": 21848, + "nodeType": "ParameterList", + "parameters": [], + "src": "31194:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21884, + "nodeType": "FunctionDefinition", + "src": "31307:182:14", + "nodes": [], + "body": { + "id": 21883, + "nodeType": "Block", + "src": "31379:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329", + "id": 21875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31429:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05", + "typeString": "literal_string \"log(uint256,address,bool,address)\"" + }, + "value": "log(uint256,address,bool,address)" + }, + { + "id": 21876, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21863, + "src": "31466:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21877, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21865, + "src": "31470:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21878, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21867, + "src": "31474:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 21879, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21869, + "src": "31478:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05", + "typeString": "literal_string \"log(uint256,address,bool,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21873, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31405:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31409:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31405:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31405:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21872, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "31389:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31389:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21882, + "nodeType": "ExpressionStatement", + "src": "31389:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31316:3:14", + "parameters": { + "id": 21870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21863, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31328:2:14", + "nodeType": "VariableDeclaration", + "scope": 21884, + "src": "31320:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21862, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31320:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21865, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31340:2:14", + "nodeType": "VariableDeclaration", + "scope": 21884, + "src": "31332:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31332:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21867, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31349:2:14", + "nodeType": "VariableDeclaration", + "scope": 21884, + "src": "31344:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21866, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "31344:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21869, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31361:2:14", + "nodeType": "VariableDeclaration", + "scope": 21884, + "src": "31353:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21868, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31353:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "31319:45:14" + }, + "returnParameters": { + "id": 21871, + "nodeType": "ParameterList", + "parameters": [], + "src": "31379:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21907, + "nodeType": "FunctionDefinition", + "src": "31495:188:14", + "nodes": [], + "body": { + "id": 21906, + "nodeType": "Block", + "src": "31570:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629", + "id": 21898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31620:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a", + "typeString": "literal_string \"log(uint256,address,address,uint256)\"" + }, + "value": "log(uint256,address,address,uint256)" + }, + { + "id": 21899, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21886, + "src": "31660:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21900, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21888, + "src": "31664:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21901, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21890, + "src": "31668:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21902, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21892, + "src": "31672:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a", + "typeString": "literal_string \"log(uint256,address,address,uint256)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21896, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31596:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31600:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31596:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31596:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21895, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "31580:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31580:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21905, + "nodeType": "ExpressionStatement", + "src": "31580:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31504:3:14", + "parameters": { + "id": 21893, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21886, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31516:2:14", + "nodeType": "VariableDeclaration", + "scope": 21907, + "src": "31508:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31508:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21888, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31528:2:14", + "nodeType": "VariableDeclaration", + "scope": 21907, + "src": "31520:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21887, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31520:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21890, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31540:2:14", + "nodeType": "VariableDeclaration", + "scope": 21907, + "src": "31532:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31532:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21892, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31552:2:14", + "nodeType": "VariableDeclaration", + "scope": 21907, + "src": "31544:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21891, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31544:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "31507:48:14" + }, + "returnParameters": { + "id": 21894, + "nodeType": "ParameterList", + "parameters": [], + "src": "31570:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21930, + "nodeType": "FunctionDefinition", + "src": "31689:193:14", + "nodes": [], + "body": { + "id": 21929, + "nodeType": "Block", + "src": "31770:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729", + "id": 21921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31820:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882", + "typeString": "literal_string \"log(uint256,address,address,string)\"" + }, + "value": "log(uint256,address,address,string)" + }, + { + "id": 21922, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21909, + "src": "31859:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21923, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21911, + "src": "31863:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21924, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21913, + "src": "31867:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21925, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21915, + "src": "31871:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882", + "typeString": "literal_string \"log(uint256,address,address,string)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 21919, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31796:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31800:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31796:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31796:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21918, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "31780:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31780:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21928, + "nodeType": "ExpressionStatement", + "src": "31780:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31698:3:14", + "parameters": { + "id": 21916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21909, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31710:2:14", + "nodeType": "VariableDeclaration", + "scope": 21930, + "src": "31702:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21908, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31702:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21911, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31722:2:14", + "nodeType": "VariableDeclaration", + "scope": 21930, + "src": "31714:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21910, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31714:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21913, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31734:2:14", + "nodeType": "VariableDeclaration", + "scope": 21930, + "src": "31726:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21912, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31726:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21915, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31752:2:14", + "nodeType": "VariableDeclaration", + "scope": 21930, + "src": "31738:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21914, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31738:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "31701:54:14" + }, + "returnParameters": { + "id": 21917, + "nodeType": "ParameterList", + "parameters": [], + "src": "31770:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21953, + "nodeType": "FunctionDefinition", + "src": "31888:182:14", + "nodes": [], + "body": { + "id": 21952, + "nodeType": "Block", + "src": "31960:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29", + "id": 21944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32010:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d", + "typeString": "literal_string \"log(uint256,address,address,bool)\"" + }, + "value": "log(uint256,address,address,bool)" + }, + { + "id": 21945, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21932, + "src": "32047:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21946, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21934, + "src": "32051:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21947, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21936, + "src": "32055:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21948, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21938, + "src": "32059:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d", + "typeString": "literal_string \"log(uint256,address,address,bool)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 21942, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31986:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "31990:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31986:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31986:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21941, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "31970:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31970:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21951, + "nodeType": "ExpressionStatement", + "src": "31970:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31897:3:14", + "parameters": { + "id": 21939, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21932, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31909:2:14", + "nodeType": "VariableDeclaration", + "scope": 21953, + "src": "31901:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21931, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31901:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21934, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31921:2:14", + "nodeType": "VariableDeclaration", + "scope": 21953, + "src": "31913:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21933, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31913:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21936, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31933:2:14", + "nodeType": "VariableDeclaration", + "scope": 21953, + "src": "31925:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21935, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31925:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21938, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31942:2:14", + "nodeType": "VariableDeclaration", + "scope": 21953, + "src": "31937:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21937, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "31937:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "31900:45:14" + }, + "returnParameters": { + "id": 21940, + "nodeType": "ParameterList", + "parameters": [], + "src": "31960:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21976, + "nodeType": "FunctionDefinition", + "src": "32076:188:14", + "nodes": [], + "body": { + "id": 21975, + "nodeType": "Block", + "src": "32151:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329", + "id": 21967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32201:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553", + "typeString": "literal_string \"log(uint256,address,address,address)\"" + }, + "value": "log(uint256,address,address,address)" + }, + { + "id": 21968, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21955, + "src": "32241:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21969, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21957, + "src": "32245:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21970, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21959, + "src": "32249:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 21971, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21961, + "src": "32253:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553", + "typeString": "literal_string \"log(uint256,address,address,address)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 21965, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32177:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32181:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32177:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32177:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21964, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "32161:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32161:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21974, + "nodeType": "ExpressionStatement", + "src": "32161:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32085:3:14", + "parameters": { + "id": 21962, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21955, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32097:2:14", + "nodeType": "VariableDeclaration", + "scope": 21976, + "src": "32089:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21954, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32089:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21957, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32109:2:14", + "nodeType": "VariableDeclaration", + "scope": 21976, + "src": "32101:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "32101:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21959, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32121:2:14", + "nodeType": "VariableDeclaration", + "scope": 21976, + "src": "32113:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21958, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "32113:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21961, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32133:2:14", + "nodeType": "VariableDeclaration", + "scope": 21976, + "src": "32125:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21960, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "32125:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "32088:48:14" + }, + "returnParameters": { + "id": 21963, + "nodeType": "ParameterList", + "parameters": [], + "src": "32151:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 21999, + "nodeType": "FunctionDefinition", + "src": "32270:193:14", + "nodes": [], + "body": { + "id": 21998, + "nodeType": "Block", + "src": "32351:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629", + "id": 21990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32401:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5", + "typeString": "literal_string \"log(string,uint256,uint256,uint256)\"" + }, + "value": "log(string,uint256,uint256,uint256)" + }, + { + "id": 21991, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21978, + "src": "32440:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 21992, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21980, + "src": "32444:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21993, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21982, + "src": "32448:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 21994, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21984, + "src": "32452:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5", + "typeString": "literal_string \"log(string,uint256,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 21988, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32377:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32381:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32377:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 21995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32377:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 21987, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "32361:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 21996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32361:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21997, + "nodeType": "ExpressionStatement", + "src": "32361:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32279:3:14", + "parameters": { + "id": 21985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21978, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32297:2:14", + "nodeType": "VariableDeclaration", + "scope": 21999, + "src": "32283:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 21977, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32283:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21980, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32309:2:14", + "nodeType": "VariableDeclaration", + "scope": 21999, + "src": "32301:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32301:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21982, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32321:2:14", + "nodeType": "VariableDeclaration", + "scope": 21999, + "src": "32313:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21981, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32313:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21984, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32333:2:14", + "nodeType": "VariableDeclaration", + "scope": 21999, + "src": "32325:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32325:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "32282:54:14" + }, + "returnParameters": { + "id": 21986, + "nodeType": "ParameterList", + "parameters": [], + "src": "32351:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22022, + "nodeType": "FunctionDefinition", + "src": "32469:198:14", + "nodes": [], + "body": { + "id": 22021, + "nodeType": "Block", + "src": "32556:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729", + "id": 22013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32606:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f", + "typeString": "literal_string \"log(string,uint256,uint256,string)\"" + }, + "value": "log(string,uint256,uint256,string)" + }, + { + "id": 22014, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22001, + "src": "32644:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22015, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22003, + "src": "32648:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22016, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22005, + "src": "32652:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22017, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22007, + "src": "32656:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f", + "typeString": "literal_string \"log(string,uint256,uint256,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22011, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32582:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32586:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32582:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32582:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22010, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "32566:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32566:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22020, + "nodeType": "ExpressionStatement", + "src": "32566:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32478:3:14", + "parameters": { + "id": 22008, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22001, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32496:2:14", + "nodeType": "VariableDeclaration", + "scope": 22022, + "src": "32482:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22000, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32482:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22003, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32508:2:14", + "nodeType": "VariableDeclaration", + "scope": 22022, + "src": "32500:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22002, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32500:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22005, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32520:2:14", + "nodeType": "VariableDeclaration", + "scope": 22022, + "src": "32512:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32512:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22007, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32538:2:14", + "nodeType": "VariableDeclaration", + "scope": 22022, + "src": "32524:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22006, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32524:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "32481:60:14" + }, + "returnParameters": { + "id": 22009, + "nodeType": "ParameterList", + "parameters": [], + "src": "32556:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22045, + "nodeType": "FunctionDefinition", + "src": "32673:187:14", + "nodes": [], + "body": { + "id": 22044, + "nodeType": "Block", + "src": "32751:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29", + "id": 22036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32801:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f", + "typeString": "literal_string \"log(string,uint256,uint256,bool)\"" + }, + "value": "log(string,uint256,uint256,bool)" + }, + { + "id": 22037, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22024, + "src": "32837:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22038, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22026, + "src": "32841:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22039, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22028, + "src": "32845:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22040, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22030, + "src": "32849:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f", + "typeString": "literal_string \"log(string,uint256,uint256,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22034, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32777:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22035, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32781:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32777:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32777:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22033, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "32761:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32761:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22043, + "nodeType": "ExpressionStatement", + "src": "32761:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32682:3:14", + "parameters": { + "id": 22031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22024, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32700:2:14", + "nodeType": "VariableDeclaration", + "scope": 22045, + "src": "32686:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22023, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32686:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22026, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32712:2:14", + "nodeType": "VariableDeclaration", + "scope": 22045, + "src": "32704:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22025, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32704:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22028, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32724:2:14", + "nodeType": "VariableDeclaration", + "scope": 22045, + "src": "32716:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22027, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32716:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22030, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32733:2:14", + "nodeType": "VariableDeclaration", + "scope": 22045, + "src": "32728:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22029, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32728:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "32685:51:14" + }, + "returnParameters": { + "id": 22032, + "nodeType": "ParameterList", + "parameters": [], + "src": "32751:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22068, + "nodeType": "FunctionDefinition", + "src": "32866:193:14", + "nodes": [], + "body": { + "id": 22067, + "nodeType": "Block", + "src": "32947:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329", + "id": 22059, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32997:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118", + "typeString": "literal_string \"log(string,uint256,uint256,address)\"" + }, + "value": "log(string,uint256,uint256,address)" + }, + { + "id": 22060, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22047, + "src": "33036:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22061, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22049, + "src": "33040:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22062, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22051, + "src": "33044:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22063, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22053, + "src": "33048:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118", + "typeString": "literal_string \"log(string,uint256,uint256,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22057, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32973:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "32977:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32973:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32973:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22056, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "32957:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32957:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22066, + "nodeType": "ExpressionStatement", + "src": "32957:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32875:3:14", + "parameters": { + "id": 22054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22047, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32893:2:14", + "nodeType": "VariableDeclaration", + "scope": 22068, + "src": "32879:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22046, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32879:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22049, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32905:2:14", + "nodeType": "VariableDeclaration", + "scope": 22068, + "src": "32897:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22048, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32897:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22051, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32917:2:14", + "nodeType": "VariableDeclaration", + "scope": 22068, + "src": "32909:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32909:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22053, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32929:2:14", + "nodeType": "VariableDeclaration", + "scope": 22068, + "src": "32921:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22052, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "32921:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "32878:54:14" + }, + "returnParameters": { + "id": 22055, + "nodeType": "ParameterList", + "parameters": [], + "src": "32947:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22091, + "nodeType": "FunctionDefinition", + "src": "33065:198:14", + "nodes": [], + "body": { + "id": 22090, + "nodeType": "Block", + "src": "33152:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629", + "id": 22082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33202:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9", + "typeString": "literal_string \"log(string,uint256,string,uint256)\"" + }, + "value": "log(string,uint256,string,uint256)" + }, + { + "id": 22083, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22070, + "src": "33240:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22084, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22072, + "src": "33244:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22085, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22074, + "src": "33248:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22086, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22076, + "src": "33252:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9", + "typeString": "literal_string \"log(string,uint256,string,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22080, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33178:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22081, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33182:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33178:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33178:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22079, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "33162:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33162:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22089, + "nodeType": "ExpressionStatement", + "src": "33162:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33074:3:14", + "parameters": { + "id": 22077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22070, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33092:2:14", + "nodeType": "VariableDeclaration", + "scope": 22091, + "src": "33078:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22069, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33078:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22072, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33104:2:14", + "nodeType": "VariableDeclaration", + "scope": 22091, + "src": "33096:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22071, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33096:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22074, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33122:2:14", + "nodeType": "VariableDeclaration", + "scope": 22091, + "src": "33108:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22073, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33108:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22076, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33134:2:14", + "nodeType": "VariableDeclaration", + "scope": 22091, + "src": "33126:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33126:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "33077:60:14" + }, + "returnParameters": { + "id": 22078, + "nodeType": "ParameterList", + "parameters": [], + "src": "33152:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22114, + "nodeType": "FunctionDefinition", + "src": "33269:203:14", + "nodes": [], + "body": { + "id": 22113, + "nodeType": "Block", + "src": "33362:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729", + "id": 22105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33412:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089", + "typeString": "literal_string \"log(string,uint256,string,string)\"" + }, + "value": "log(string,uint256,string,string)" + }, + { + "id": 22106, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22093, + "src": "33449:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22107, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22095, + "src": "33453:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22108, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22097, + "src": "33457:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22109, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22099, + "src": "33461:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089", + "typeString": "literal_string \"log(string,uint256,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22103, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33388:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33392:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33388:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33388:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22102, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "33372:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33372:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22112, + "nodeType": "ExpressionStatement", + "src": "33372:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33278:3:14", + "parameters": { + "id": 22100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22093, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33296:2:14", + "nodeType": "VariableDeclaration", + "scope": 22114, + "src": "33282:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22092, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33282:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22095, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33308:2:14", + "nodeType": "VariableDeclaration", + "scope": 22114, + "src": "33300:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22094, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33300:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22097, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33326:2:14", + "nodeType": "VariableDeclaration", + "scope": 22114, + "src": "33312:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22096, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33312:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22099, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33344:2:14", + "nodeType": "VariableDeclaration", + "scope": 22114, + "src": "33330:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22098, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33330:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "33281:66:14" + }, + "returnParameters": { + "id": 22101, + "nodeType": "ParameterList", + "parameters": [], + "src": "33362:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22137, + "nodeType": "FunctionDefinition", + "src": "33478:192:14", + "nodes": [], + "body": { + "id": 22136, + "nodeType": "Block", + "src": "33562:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29", + "id": 22128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33612:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f", + "typeString": "literal_string \"log(string,uint256,string,bool)\"" + }, + "value": "log(string,uint256,string,bool)" + }, + { + "id": 22129, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22116, + "src": "33647:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22130, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22118, + "src": "33651:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22131, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22120, + "src": "33655:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22132, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22122, + "src": "33659:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f", + "typeString": "literal_string \"log(string,uint256,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22126, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33588:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33592:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33588:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33588:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22125, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "33572:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33572:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22135, + "nodeType": "ExpressionStatement", + "src": "33572:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33487:3:14", + "parameters": { + "id": 22123, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22116, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33505:2:14", + "nodeType": "VariableDeclaration", + "scope": 22137, + "src": "33491:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22115, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33491:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22118, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33517:2:14", + "nodeType": "VariableDeclaration", + "scope": 22137, + "src": "33509:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33509:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22120, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33535:2:14", + "nodeType": "VariableDeclaration", + "scope": 22137, + "src": "33521:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22119, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33521:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22122, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33544:2:14", + "nodeType": "VariableDeclaration", + "scope": 22137, + "src": "33539:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22121, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "33539:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "33490:57:14" + }, + "returnParameters": { + "id": 22124, + "nodeType": "ParameterList", + "parameters": [], + "src": "33562:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22160, + "nodeType": "FunctionDefinition", + "src": "33676:198:14", + "nodes": [], + "body": { + "id": 22159, + "nodeType": "Block", + "src": "33763:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329", + "id": 22151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33813:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb", + "typeString": "literal_string \"log(string,uint256,string,address)\"" + }, + "value": "log(string,uint256,string,address)" + }, + { + "id": 22152, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22139, + "src": "33851:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22153, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22141, + "src": "33855:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22154, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22143, + "src": "33859:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22155, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22145, + "src": "33863:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb", + "typeString": "literal_string \"log(string,uint256,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22149, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33789:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33793:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33789:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33789:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22148, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "33773:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33773:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22158, + "nodeType": "ExpressionStatement", + "src": "33773:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33685:3:14", + "parameters": { + "id": 22146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22139, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33703:2:14", + "nodeType": "VariableDeclaration", + "scope": 22160, + "src": "33689:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22138, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33689:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22141, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33715:2:14", + "nodeType": "VariableDeclaration", + "scope": 22160, + "src": "33707:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22140, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33707:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22143, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33733:2:14", + "nodeType": "VariableDeclaration", + "scope": 22160, + "src": "33719:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22142, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33719:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22145, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33745:2:14", + "nodeType": "VariableDeclaration", + "scope": 22160, + "src": "33737:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22144, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33737:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "33688:60:14" + }, + "returnParameters": { + "id": 22147, + "nodeType": "ParameterList", + "parameters": [], + "src": "33763:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22183, + "nodeType": "FunctionDefinition", + "src": "33880:187:14", + "nodes": [], + "body": { + "id": 22182, + "nodeType": "Block", + "src": "33958:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629", + "id": 22174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34008:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13", + "typeString": "literal_string \"log(string,uint256,bool,uint256)\"" + }, + "value": "log(string,uint256,bool,uint256)" + }, + { + "id": 22175, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22162, + "src": "34044:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22176, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22164, + "src": "34048:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22177, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22166, + "src": "34052:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22178, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22168, + "src": "34056:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13", + "typeString": "literal_string \"log(string,uint256,bool,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22172, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33984:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "33988:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33984:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33984:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22171, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "33968:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33968:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22181, + "nodeType": "ExpressionStatement", + "src": "33968:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33889:3:14", + "parameters": { + "id": 22169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22162, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33907:2:14", + "nodeType": "VariableDeclaration", + "scope": 22183, + "src": "33893:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22161, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33893:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22164, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33919:2:14", + "nodeType": "VariableDeclaration", + "scope": 22183, + "src": "33911:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33911:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22166, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33928:2:14", + "nodeType": "VariableDeclaration", + "scope": 22183, + "src": "33923:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22165, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "33923:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22168, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33940:2:14", + "nodeType": "VariableDeclaration", + "scope": 22183, + "src": "33932:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33932:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "33892:51:14" + }, + "returnParameters": { + "id": 22170, + "nodeType": "ParameterList", + "parameters": [], + "src": "33958:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22206, + "nodeType": "FunctionDefinition", + "src": "34073:192:14", + "nodes": [], + "body": { + "id": 22205, + "nodeType": "Block", + "src": "34157:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729", + "id": 22197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34207:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87", + "typeString": "literal_string \"log(string,uint256,bool,string)\"" + }, + "value": "log(string,uint256,bool,string)" + }, + { + "id": 22198, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22185, + "src": "34242:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22199, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22187, + "src": "34246:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22200, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22189, + "src": "34250:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22201, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22191, + "src": "34254:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87", + "typeString": "literal_string \"log(string,uint256,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22195, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34183:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34187:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34183:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34183:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22194, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "34167:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34167:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22204, + "nodeType": "ExpressionStatement", + "src": "34167:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34082:3:14", + "parameters": { + "id": 22192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22185, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34100:2:14", + "nodeType": "VariableDeclaration", + "scope": 22206, + "src": "34086:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22184, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34086:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22187, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34112:2:14", + "nodeType": "VariableDeclaration", + "scope": 22206, + "src": "34104:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22186, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34104:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22189, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34121:2:14", + "nodeType": "VariableDeclaration", + "scope": 22206, + "src": "34116:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22188, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34116:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22191, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34139:2:14", + "nodeType": "VariableDeclaration", + "scope": 22206, + "src": "34125:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22190, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34125:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "34085:57:14" + }, + "returnParameters": { + "id": 22193, + "nodeType": "ParameterList", + "parameters": [], + "src": "34157:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22229, + "nodeType": "FunctionDefinition", + "src": "34271:181:14", + "nodes": [], + "body": { + "id": 22228, + "nodeType": "Block", + "src": "34346:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29", + "id": 22220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34396:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76", + "typeString": "literal_string \"log(string,uint256,bool,bool)\"" + }, + "value": "log(string,uint256,bool,bool)" + }, + { + "id": 22221, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22208, + "src": "34429:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22222, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22210, + "src": "34433:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22223, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22212, + "src": "34437:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22224, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22214, + "src": "34441:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76", + "typeString": "literal_string \"log(string,uint256,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22218, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34372:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34376:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34372:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34372:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22217, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "34356:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34356:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22227, + "nodeType": "ExpressionStatement", + "src": "34356:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34280:3:14", + "parameters": { + "id": 22215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22208, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34298:2:14", + "nodeType": "VariableDeclaration", + "scope": 22229, + "src": "34284:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22207, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34284:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22210, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34310:2:14", + "nodeType": "VariableDeclaration", + "scope": 22229, + "src": "34302:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22209, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34302:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22212, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34319:2:14", + "nodeType": "VariableDeclaration", + "scope": 22229, + "src": "34314:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22211, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34314:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22214, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34328:2:14", + "nodeType": "VariableDeclaration", + "scope": 22229, + "src": "34323:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22213, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34323:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "34283:48:14" + }, + "returnParameters": { + "id": 22216, + "nodeType": "ParameterList", + "parameters": [], + "src": "34346:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22252, + "nodeType": "FunctionDefinition", + "src": "34458:187:14", + "nodes": [], + "body": { + "id": 22251, + "nodeType": "Block", + "src": "34536:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329", + "id": 22243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34586:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7", + "typeString": "literal_string \"log(string,uint256,bool,address)\"" + }, + "value": "log(string,uint256,bool,address)" + }, + { + "id": 22244, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22231, + "src": "34622:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22245, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22233, + "src": "34626:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22246, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22235, + "src": "34630:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22247, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22237, + "src": "34634:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7", + "typeString": "literal_string \"log(string,uint256,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22241, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34562:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34566:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34562:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34562:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22240, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "34546:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34546:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22250, + "nodeType": "ExpressionStatement", + "src": "34546:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34467:3:14", + "parameters": { + "id": 22238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22231, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34485:2:14", + "nodeType": "VariableDeclaration", + "scope": 22252, + "src": "34471:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22230, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34471:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22233, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34497:2:14", + "nodeType": "VariableDeclaration", + "scope": 22252, + "src": "34489:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22232, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34489:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22235, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34506:2:14", + "nodeType": "VariableDeclaration", + "scope": 22252, + "src": "34501:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22234, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34501:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22237, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34518:2:14", + "nodeType": "VariableDeclaration", + "scope": 22252, + "src": "34510:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "34510:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "34470:51:14" + }, + "returnParameters": { + "id": 22239, + "nodeType": "ParameterList", + "parameters": [], + "src": "34536:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22275, + "nodeType": "FunctionDefinition", + "src": "34651:193:14", + "nodes": [], + "body": { + "id": 22274, + "nodeType": "Block", + "src": "34732:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629", + "id": 22266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34782:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff", + "typeString": "literal_string \"log(string,uint256,address,uint256)\"" + }, + "value": "log(string,uint256,address,uint256)" + }, + { + "id": 22267, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22254, + "src": "34821:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22268, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22256, + "src": "34825:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22269, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22258, + "src": "34829:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 22270, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "34833:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff", + "typeString": "literal_string \"log(string,uint256,address,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22264, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34758:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34762:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34758:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34758:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22263, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "34742:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34742:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22273, + "nodeType": "ExpressionStatement", + "src": "34742:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34660:3:14", + "parameters": { + "id": 22261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22254, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34678:2:14", + "nodeType": "VariableDeclaration", + "scope": 22275, + "src": "34664:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22253, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34664:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22256, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34690:2:14", + "nodeType": "VariableDeclaration", + "scope": 22275, + "src": "34682:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22255, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34682:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22258, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34702:2:14", + "nodeType": "VariableDeclaration", + "scope": 22275, + "src": "34694:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22257, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "34694:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22260, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34714:2:14", + "nodeType": "VariableDeclaration", + "scope": 22275, + "src": "34706:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22259, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34706:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "34663:54:14" + }, + "returnParameters": { + "id": 22262, + "nodeType": "ParameterList", + "parameters": [], + "src": "34732:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22298, + "nodeType": "FunctionDefinition", + "src": "34850:198:14", + "nodes": [], + "body": { + "id": 22297, + "nodeType": "Block", + "src": "34937:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729", + "id": 22289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34987:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b", + "typeString": "literal_string \"log(string,uint256,address,string)\"" + }, + "value": "log(string,uint256,address,string)" + }, + { + "id": 22290, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22277, + "src": "35025:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22291, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22279, + "src": "35029:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22292, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22281, + "src": "35033:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 22293, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22283, + "src": "35037:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b", + "typeString": "literal_string \"log(string,uint256,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22287, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34963:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "34967:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34963:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34963:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22286, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "34947:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34947:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22296, + "nodeType": "ExpressionStatement", + "src": "34947:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34859:3:14", + "parameters": { + "id": 22284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22277, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34877:2:14", + "nodeType": "VariableDeclaration", + "scope": 22298, + "src": "34863:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22276, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34863:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22279, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34889:2:14", + "nodeType": "VariableDeclaration", + "scope": 22298, + "src": "34881:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34881:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22281, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34901:2:14", + "nodeType": "VariableDeclaration", + "scope": 22298, + "src": "34893:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "34893:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22283, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34919:2:14", + "nodeType": "VariableDeclaration", + "scope": 22298, + "src": "34905:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22282, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34905:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "34862:60:14" + }, + "returnParameters": { + "id": 22285, + "nodeType": "ParameterList", + "parameters": [], + "src": "34937:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22321, + "nodeType": "FunctionDefinition", + "src": "35054:187:14", + "nodes": [], + "body": { + "id": 22320, + "nodeType": "Block", + "src": "35132:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29", + "id": 22312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35182:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190", + "typeString": "literal_string \"log(string,uint256,address,bool)\"" + }, + "value": "log(string,uint256,address,bool)" + }, + { + "id": 22313, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22300, + "src": "35218:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22314, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22302, + "src": "35222:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22315, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22304, + "src": "35226:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 22316, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22306, + "src": "35230:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190", + "typeString": "literal_string \"log(string,uint256,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22310, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35158:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35162:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35158:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35158:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22309, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "35142:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35142:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22319, + "nodeType": "ExpressionStatement", + "src": "35142:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35063:3:14", + "parameters": { + "id": 22307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22300, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35081:2:14", + "nodeType": "VariableDeclaration", + "scope": 22321, + "src": "35067:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22299, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35067:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22302, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35093:2:14", + "nodeType": "VariableDeclaration", + "scope": 22321, + "src": "35085:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22301, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35085:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22304, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35105:2:14", + "nodeType": "VariableDeclaration", + "scope": 22321, + "src": "35097:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35097:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22306, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35114:2:14", + "nodeType": "VariableDeclaration", + "scope": 22321, + "src": "35109:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22305, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35109:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "35066:51:14" + }, + "returnParameters": { + "id": 22308, + "nodeType": "ParameterList", + "parameters": [], + "src": "35132:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22344, + "nodeType": "FunctionDefinition", + "src": "35247:193:14", + "nodes": [], + "body": { + "id": 22343, + "nodeType": "Block", + "src": "35328:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329", + "id": 22335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35378:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d", + "typeString": "literal_string \"log(string,uint256,address,address)\"" + }, + "value": "log(string,uint256,address,address)" + }, + { + "id": 22336, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22323, + "src": "35417:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22337, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22325, + "src": "35421:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22338, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22327, + "src": "35425:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 22339, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22329, + "src": "35429:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d", + "typeString": "literal_string \"log(string,uint256,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22333, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35354:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35358:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35354:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35354:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22332, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "35338:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35338:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22342, + "nodeType": "ExpressionStatement", + "src": "35338:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35256:3:14", + "parameters": { + "id": 22330, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22323, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35274:2:14", + "nodeType": "VariableDeclaration", + "scope": 22344, + "src": "35260:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22322, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35260:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22325, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35286:2:14", + "nodeType": "VariableDeclaration", + "scope": 22344, + "src": "35278:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35278:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22327, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35298:2:14", + "nodeType": "VariableDeclaration", + "scope": 22344, + "src": "35290:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35290:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22329, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35310:2:14", + "nodeType": "VariableDeclaration", + "scope": 22344, + "src": "35302:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35302:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "35259:54:14" + }, + "returnParameters": { + "id": 22331, + "nodeType": "ParameterList", + "parameters": [], + "src": "35328:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22367, + "nodeType": "FunctionDefinition", + "src": "35446:198:14", + "nodes": [], + "body": { + "id": 22366, + "nodeType": "Block", + "src": "35533:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629", + "id": 22358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35583:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776", + "typeString": "literal_string \"log(string,string,uint256,uint256)\"" + }, + "value": "log(string,string,uint256,uint256)" + }, + { + "id": 22359, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22346, + "src": "35621:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22360, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22348, + "src": "35625:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22361, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22350, + "src": "35629:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22362, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22352, + "src": "35633:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776", + "typeString": "literal_string \"log(string,string,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22356, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35559:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35563:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35559:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35559:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22355, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "35543:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35543:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22365, + "nodeType": "ExpressionStatement", + "src": "35543:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35455:3:14", + "parameters": { + "id": 22353, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22346, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35473:2:14", + "nodeType": "VariableDeclaration", + "scope": 22367, + "src": "35459:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35459:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22348, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35491:2:14", + "nodeType": "VariableDeclaration", + "scope": 22367, + "src": "35477:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22347, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35477:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22350, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35503:2:14", + "nodeType": "VariableDeclaration", + "scope": 22367, + "src": "35495:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35495:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22352, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35515:2:14", + "nodeType": "VariableDeclaration", + "scope": 22367, + "src": "35507:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35507:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "35458:60:14" + }, + "returnParameters": { + "id": 22354, + "nodeType": "ParameterList", + "parameters": [], + "src": "35533:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22390, + "nodeType": "FunctionDefinition", + "src": "35650:203:14", + "nodes": [], + "body": { + "id": 22389, + "nodeType": "Block", + "src": "35743:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729", + "id": 22381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35793:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909", + "typeString": "literal_string \"log(string,string,uint256,string)\"" + }, + "value": "log(string,string,uint256,string)" + }, + { + "id": 22382, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22369, + "src": "35830:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22383, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22371, + "src": "35834:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22384, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22373, + "src": "35838:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22385, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22375, + "src": "35842:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909", + "typeString": "literal_string \"log(string,string,uint256,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35769:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35773:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35769:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35769:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22378, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "35753:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35753:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22388, + "nodeType": "ExpressionStatement", + "src": "35753:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35659:3:14", + "parameters": { + "id": 22376, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22369, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35677:2:14", + "nodeType": "VariableDeclaration", + "scope": 22390, + "src": "35663:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22368, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35663:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22371, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35695:2:14", + "nodeType": "VariableDeclaration", + "scope": 22390, + "src": "35681:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22370, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35681:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22373, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35707:2:14", + "nodeType": "VariableDeclaration", + "scope": 22390, + "src": "35699:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35699:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22375, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35725:2:14", + "nodeType": "VariableDeclaration", + "scope": 22390, + "src": "35711:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22374, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35711:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "35662:66:14" + }, + "returnParameters": { + "id": 22377, + "nodeType": "ParameterList", + "parameters": [], + "src": "35743:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22413, + "nodeType": "FunctionDefinition", + "src": "35859:192:14", + "nodes": [], + "body": { + "id": 22412, + "nodeType": "Block", + "src": "35943:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29", + "id": 22404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35993:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2", + "typeString": "literal_string \"log(string,string,uint256,bool)\"" + }, + "value": "log(string,string,uint256,bool)" + }, + { + "id": 22405, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22392, + "src": "36028:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22406, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22394, + "src": "36032:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22407, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22396, + "src": "36036:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22408, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22398, + "src": "36040:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2", + "typeString": "literal_string \"log(string,string,uint256,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22402, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35969:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "35973:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35969:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35969:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22401, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "35953:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35953:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22411, + "nodeType": "ExpressionStatement", + "src": "35953:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35868:3:14", + "parameters": { + "id": 22399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22392, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35886:2:14", + "nodeType": "VariableDeclaration", + "scope": 22413, + "src": "35872:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22391, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35872:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22394, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35904:2:14", + "nodeType": "VariableDeclaration", + "scope": 22413, + "src": "35890:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22393, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35890:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22396, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35916:2:14", + "nodeType": "VariableDeclaration", + "scope": 22413, + "src": "35908:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35908:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22398, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35925:2:14", + "nodeType": "VariableDeclaration", + "scope": 22413, + "src": "35920:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22397, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35920:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "35871:57:14" + }, + "returnParameters": { + "id": 22400, + "nodeType": "ParameterList", + "parameters": [], + "src": "35943:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22436, + "nodeType": "FunctionDefinition", + "src": "36057:198:14", + "nodes": [], + "body": { + "id": 22435, + "nodeType": "Block", + "src": "36144:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329", + "id": 22427, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36194:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6", + "typeString": "literal_string \"log(string,string,uint256,address)\"" + }, + "value": "log(string,string,uint256,address)" + }, + { + "id": 22428, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22415, + "src": "36232:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22429, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22417, + "src": "36236:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22430, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22419, + "src": "36240:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22431, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22421, + "src": "36244:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6", + "typeString": "literal_string \"log(string,string,uint256,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22425, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36170:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36174:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36170:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36170:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22424, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "36154:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36154:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22434, + "nodeType": "ExpressionStatement", + "src": "36154:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36066:3:14", + "parameters": { + "id": 22422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22415, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36084:2:14", + "nodeType": "VariableDeclaration", + "scope": 22436, + "src": "36070:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22414, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36070:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22417, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36102:2:14", + "nodeType": "VariableDeclaration", + "scope": 22436, + "src": "36088:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22416, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36088:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22419, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36114:2:14", + "nodeType": "VariableDeclaration", + "scope": 22436, + "src": "36106:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "36106:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22421, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36126:2:14", + "nodeType": "VariableDeclaration", + "scope": 22436, + "src": "36118:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36118:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "36069:60:14" + }, + "returnParameters": { + "id": 22423, + "nodeType": "ParameterList", + "parameters": [], + "src": "36144:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22459, + "nodeType": "FunctionDefinition", + "src": "36261:203:14", + "nodes": [], + "body": { + "id": 22458, + "nodeType": "Block", + "src": "36354:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629", + "id": 22450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36404:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689", + "typeString": "literal_string \"log(string,string,string,uint256)\"" + }, + "value": "log(string,string,string,uint256)" + }, + { + "id": 22451, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22438, + "src": "36441:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22452, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22440, + "src": "36445:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22453, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22442, + "src": "36449:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22454, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22444, + "src": "36453:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689", + "typeString": "literal_string \"log(string,string,string,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22448, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36380:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36384:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36380:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36380:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22447, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "36364:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36364:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22457, + "nodeType": "ExpressionStatement", + "src": "36364:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36270:3:14", + "parameters": { + "id": 22445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22438, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36288:2:14", + "nodeType": "VariableDeclaration", + "scope": 22459, + "src": "36274:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22437, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36274:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22440, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36306:2:14", + "nodeType": "VariableDeclaration", + "scope": 22459, + "src": "36292:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22439, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36292:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22442, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36324:2:14", + "nodeType": "VariableDeclaration", + "scope": 22459, + "src": "36310:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22441, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36310:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22444, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36336:2:14", + "nodeType": "VariableDeclaration", + "scope": 22459, + "src": "36328:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22443, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "36328:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "36273:66:14" + }, + "returnParameters": { + "id": 22446, + "nodeType": "ParameterList", + "parameters": [], + "src": "36354:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22482, + "nodeType": "FunctionDefinition", + "src": "36470:208:14", + "nodes": [], + "body": { + "id": 22481, + "nodeType": "Block", + "src": "36569:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729", + "id": 22473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36619:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe", + "typeString": "literal_string \"log(string,string,string,string)\"" + }, + "value": "log(string,string,string,string)" + }, + { + "id": 22474, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22461, + "src": "36655:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22475, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22463, + "src": "36659:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22476, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22465, + "src": "36663:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22477, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22467, + "src": "36667:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe", + "typeString": "literal_string \"log(string,string,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22471, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36595:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36599:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36595:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36595:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22470, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "36579:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36579:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22480, + "nodeType": "ExpressionStatement", + "src": "36579:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36479:3:14", + "parameters": { + "id": 22468, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22461, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36497:2:14", + "nodeType": "VariableDeclaration", + "scope": 22482, + "src": "36483:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22460, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36483:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22463, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36515:2:14", + "nodeType": "VariableDeclaration", + "scope": 22482, + "src": "36501:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22462, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36501:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22465, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36533:2:14", + "nodeType": "VariableDeclaration", + "scope": 22482, + "src": "36519:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36519:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22467, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36551:2:14", + "nodeType": "VariableDeclaration", + "scope": 22482, + "src": "36537:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22466, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36537:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "36482:72:14" + }, + "returnParameters": { + "id": 22469, + "nodeType": "ParameterList", + "parameters": [], + "src": "36569:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22505, + "nodeType": "FunctionDefinition", + "src": "36684:197:14", + "nodes": [], + "body": { + "id": 22504, + "nodeType": "Block", + "src": "36774:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29", + "id": 22496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36824:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332", + "typeString": "literal_string \"log(string,string,string,bool)\"" + }, + "value": "log(string,string,string,bool)" + }, + { + "id": 22497, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22484, + "src": "36858:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22498, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22486, + "src": "36862:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22499, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22488, + "src": "36866:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22500, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22490, + "src": "36870:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332", + "typeString": "literal_string \"log(string,string,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22494, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36800:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "36804:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36800:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36800:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22493, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "36784:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36784:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22503, + "nodeType": "ExpressionStatement", + "src": "36784:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36693:3:14", + "parameters": { + "id": 22491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22484, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36711:2:14", + "nodeType": "VariableDeclaration", + "scope": 22505, + "src": "36697:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36697:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22486, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36729:2:14", + "nodeType": "VariableDeclaration", + "scope": 22505, + "src": "36715:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22485, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36715:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22488, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36747:2:14", + "nodeType": "VariableDeclaration", + "scope": 22505, + "src": "36733:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22487, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36733:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22490, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36756:2:14", + "nodeType": "VariableDeclaration", + "scope": 22505, + "src": "36751:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22489, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36751:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "36696:63:14" + }, + "returnParameters": { + "id": 22492, + "nodeType": "ParameterList", + "parameters": [], + "src": "36774:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22528, + "nodeType": "FunctionDefinition", + "src": "36887:203:14", + "nodes": [], + "body": { + "id": 22527, + "nodeType": "Block", + "src": "36980:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329", + "id": 22519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37030:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16", + "typeString": "literal_string \"log(string,string,string,address)\"" + }, + "value": "log(string,string,string,address)" + }, + { + "id": 22520, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22507, + "src": "37067:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22521, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22509, + "src": "37071:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22522, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22511, + "src": "37075:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22523, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22513, + "src": "37079:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16", + "typeString": "literal_string \"log(string,string,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22517, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37006:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37010:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37006:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37006:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22516, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "36990:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36990:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22526, + "nodeType": "ExpressionStatement", + "src": "36990:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36896:3:14", + "parameters": { + "id": 22514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22507, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36914:2:14", + "nodeType": "VariableDeclaration", + "scope": 22528, + "src": "36900:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22506, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36900:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22509, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36932:2:14", + "nodeType": "VariableDeclaration", + "scope": 22528, + "src": "36918:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22508, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36918:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22511, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36950:2:14", + "nodeType": "VariableDeclaration", + "scope": 22528, + "src": "36936:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22510, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36936:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22513, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36962:2:14", + "nodeType": "VariableDeclaration", + "scope": 22528, + "src": "36954:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36954:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "36899:66:14" + }, + "returnParameters": { + "id": 22515, + "nodeType": "ParameterList", + "parameters": [], + "src": "36980:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22551, + "nodeType": "FunctionDefinition", + "src": "37096:192:14", + "nodes": [], + "body": { + "id": 22550, + "nodeType": "Block", + "src": "37180:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629", + "id": 22542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37230:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729", + "typeString": "literal_string \"log(string,string,bool,uint256)\"" + }, + "value": "log(string,string,bool,uint256)" + }, + { + "id": 22543, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22530, + "src": "37265:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22544, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22532, + "src": "37269:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22545, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22534, + "src": "37273:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22546, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22536, + "src": "37277:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729", + "typeString": "literal_string \"log(string,string,bool,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22540, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37206:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37210:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37206:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37206:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22539, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "37190:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37190:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22549, + "nodeType": "ExpressionStatement", + "src": "37190:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37105:3:14", + "parameters": { + "id": 22537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22530, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37123:2:14", + "nodeType": "VariableDeclaration", + "scope": 22551, + "src": "37109:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22529, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37109:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22532, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37141:2:14", + "nodeType": "VariableDeclaration", + "scope": 22551, + "src": "37127:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22531, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37127:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22534, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37150:2:14", + "nodeType": "VariableDeclaration", + "scope": 22551, + "src": "37145:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22533, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37145:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22536, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37162:2:14", + "nodeType": "VariableDeclaration", + "scope": 22551, + "src": "37154:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "37154:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "37108:57:14" + }, + "returnParameters": { + "id": 22538, + "nodeType": "ParameterList", + "parameters": [], + "src": "37180:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22574, + "nodeType": "FunctionDefinition", + "src": "37294:197:14", + "nodes": [], + "body": { + "id": 22573, + "nodeType": "Block", + "src": "37384:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729", + "id": 22565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37434:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b", + "typeString": "literal_string \"log(string,string,bool,string)\"" + }, + "value": "log(string,string,bool,string)" + }, + { + "id": 22566, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22553, + "src": "37468:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22567, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22555, + "src": "37472:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22568, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22557, + "src": "37476:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22569, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22559, + "src": "37480:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b", + "typeString": "literal_string \"log(string,string,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22563, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37410:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37414:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37410:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37410:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22562, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "37394:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37394:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22572, + "nodeType": "ExpressionStatement", + "src": "37394:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37303:3:14", + "parameters": { + "id": 22560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22553, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37321:2:14", + "nodeType": "VariableDeclaration", + "scope": 22574, + "src": "37307:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22552, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37307:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22555, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37339:2:14", + "nodeType": "VariableDeclaration", + "scope": 22574, + "src": "37325:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22554, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37325:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22557, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37348:2:14", + "nodeType": "VariableDeclaration", + "scope": 22574, + "src": "37343:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22556, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37343:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22559, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37366:2:14", + "nodeType": "VariableDeclaration", + "scope": 22574, + "src": "37352:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22558, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37352:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "37306:63:14" + }, + "returnParameters": { + "id": 22561, + "nodeType": "ParameterList", + "parameters": [], + "src": "37384:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22597, + "nodeType": "FunctionDefinition", + "src": "37497:186:14", + "nodes": [], + "body": { + "id": 22596, + "nodeType": "Block", + "src": "37578:105:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29", + "id": 22588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37628:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10", + "typeString": "literal_string \"log(string,string,bool,bool)\"" + }, + "value": "log(string,string,bool,bool)" + }, + { + "id": 22589, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22576, + "src": "37660:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22590, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22578, + "src": "37664:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22591, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22580, + "src": "37668:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22592, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22582, + "src": "37672:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10", + "typeString": "literal_string \"log(string,string,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22586, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37604:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37608:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37604:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37604:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22585, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "37588:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37588:88:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22595, + "nodeType": "ExpressionStatement", + "src": "37588:88:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37506:3:14", + "parameters": { + "id": 22583, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22576, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37524:2:14", + "nodeType": "VariableDeclaration", + "scope": 22597, + "src": "37510:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22575, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37510:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22578, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37542:2:14", + "nodeType": "VariableDeclaration", + "scope": 22597, + "src": "37528:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22577, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37528:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22580, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37551:2:14", + "nodeType": "VariableDeclaration", + "scope": 22597, + "src": "37546:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22579, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37546:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22582, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37560:2:14", + "nodeType": "VariableDeclaration", + "scope": 22597, + "src": "37555:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22581, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37555:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "37509:54:14" + }, + "returnParameters": { + "id": 22584, + "nodeType": "ParameterList", + "parameters": [], + "src": "37578:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22620, + "nodeType": "FunctionDefinition", + "src": "37689:192:14", + "nodes": [], + "body": { + "id": 22619, + "nodeType": "Block", + "src": "37773:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329", + "id": 22611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37823:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d", + "typeString": "literal_string \"log(string,string,bool,address)\"" + }, + "value": "log(string,string,bool,address)" + }, + { + "id": 22612, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22599, + "src": "37858:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22613, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22601, + "src": "37862:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22614, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22603, + "src": "37866:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22615, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22605, + "src": "37870:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d", + "typeString": "literal_string \"log(string,string,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22609, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37799:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "37803:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37799:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37799:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22608, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "37783:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37783:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22618, + "nodeType": "ExpressionStatement", + "src": "37783:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37698:3:14", + "parameters": { + "id": 22606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22599, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37716:2:14", + "nodeType": "VariableDeclaration", + "scope": 22620, + "src": "37702:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22598, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37702:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22601, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37734:2:14", + "nodeType": "VariableDeclaration", + "scope": 22620, + "src": "37720:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22600, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37720:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22603, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37743:2:14", + "nodeType": "VariableDeclaration", + "scope": 22620, + "src": "37738:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22602, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37738:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22605, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37755:2:14", + "nodeType": "VariableDeclaration", + "scope": 22620, + "src": "37747:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "37747:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "37701:57:14" + }, + "returnParameters": { + "id": 22607, + "nodeType": "ParameterList", + "parameters": [], + "src": "37773:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22643, + "nodeType": "FunctionDefinition", + "src": "37887:198:14", + "nodes": [], + "body": { + "id": 22642, + "nodeType": "Block", + "src": "37974:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629", + "id": 22634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38024:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00", + "typeString": "literal_string \"log(string,string,address,uint256)\"" + }, + "value": "log(string,string,address,uint256)" + }, + { + "id": 22635, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22622, + "src": "38062:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22636, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22624, + "src": "38066:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22637, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22626, + "src": "38070:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 22638, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22628, + "src": "38074:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00", + "typeString": "literal_string \"log(string,string,address,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22632, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38000:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22633, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38004:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38000:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38000:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22631, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "37984:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "37984:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22641, + "nodeType": "ExpressionStatement", + "src": "37984:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37896:3:14", + "parameters": { + "id": 22629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22622, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37914:2:14", + "nodeType": "VariableDeclaration", + "scope": 22643, + "src": "37900:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22621, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37900:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22624, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37932:2:14", + "nodeType": "VariableDeclaration", + "scope": 22643, + "src": "37918:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22623, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37918:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22626, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37944:2:14", + "nodeType": "VariableDeclaration", + "scope": 22643, + "src": "37936:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "37936:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22628, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37956:2:14", + "nodeType": "VariableDeclaration", + "scope": 22643, + "src": "37948:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "37948:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "37899:60:14" + }, + "returnParameters": { + "id": 22630, + "nodeType": "ParameterList", + "parameters": [], + "src": "37974:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22666, + "nodeType": "FunctionDefinition", + "src": "38091:203:14", + "nodes": [], + "body": { + "id": 22665, + "nodeType": "Block", + "src": "38184:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729", + "id": 22657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38234:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6", + "typeString": "literal_string \"log(string,string,address,string)\"" + }, + "value": "log(string,string,address,string)" + }, + { + "id": 22658, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22645, + "src": "38271:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22659, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22647, + "src": "38275:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22660, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22649, + "src": "38279:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 22661, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22651, + "src": "38283:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6", + "typeString": "literal_string \"log(string,string,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22655, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38210:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38214:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38210:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38210:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22654, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "38194:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38194:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22664, + "nodeType": "ExpressionStatement", + "src": "38194:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38100:3:14", + "parameters": { + "id": 22652, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22645, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38118:2:14", + "nodeType": "VariableDeclaration", + "scope": 22666, + "src": "38104:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22644, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38104:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22647, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38136:2:14", + "nodeType": "VariableDeclaration", + "scope": 22666, + "src": "38122:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22646, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38122:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22649, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38148:2:14", + "nodeType": "VariableDeclaration", + "scope": 22666, + "src": "38140:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22648, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38140:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22651, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38166:2:14", + "nodeType": "VariableDeclaration", + "scope": 22666, + "src": "38152:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22650, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38152:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "38103:66:14" + }, + "returnParameters": { + "id": 22653, + "nodeType": "ParameterList", + "parameters": [], + "src": "38184:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22689, + "nodeType": "FunctionDefinition", + "src": "38300:192:14", + "nodes": [], + "body": { + "id": 22688, + "nodeType": "Block", + "src": "38384:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29", + "id": 22680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38434:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63", + "typeString": "literal_string \"log(string,string,address,bool)\"" + }, + "value": "log(string,string,address,bool)" + }, + { + "id": 22681, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22668, + "src": "38469:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22682, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22670, + "src": "38473:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22683, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22672, + "src": "38477:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 22684, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22674, + "src": "38481:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63", + "typeString": "literal_string \"log(string,string,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22678, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38410:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38414:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38410:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38410:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22677, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "38394:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38394:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22687, + "nodeType": "ExpressionStatement", + "src": "38394:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38309:3:14", + "parameters": { + "id": 22675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22668, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38327:2:14", + "nodeType": "VariableDeclaration", + "scope": 22689, + "src": "38313:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22667, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38313:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22670, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38345:2:14", + "nodeType": "VariableDeclaration", + "scope": 22689, + "src": "38331:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22669, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38331:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22672, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38357:2:14", + "nodeType": "VariableDeclaration", + "scope": 22689, + "src": "38349:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22671, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38349:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22674, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38366:2:14", + "nodeType": "VariableDeclaration", + "scope": 22689, + "src": "38361:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22673, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38361:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "38312:57:14" + }, + "returnParameters": { + "id": 22676, + "nodeType": "ParameterList", + "parameters": [], + "src": "38384:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22712, + "nodeType": "FunctionDefinition", + "src": "38498:198:14", + "nodes": [], + "body": { + "id": 22711, + "nodeType": "Block", + "src": "38585:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329", + "id": 22703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38635:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d", + "typeString": "literal_string \"log(string,string,address,address)\"" + }, + "value": "log(string,string,address,address)" + }, + { + "id": 22704, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22691, + "src": "38673:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22705, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22693, + "src": "38677:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22706, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22695, + "src": "38681:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 22707, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22697, + "src": "38685:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d", + "typeString": "literal_string \"log(string,string,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22701, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38611:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38615:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38611:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38611:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22700, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "38595:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38595:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22710, + "nodeType": "ExpressionStatement", + "src": "38595:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38507:3:14", + "parameters": { + "id": 22698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22691, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38525:2:14", + "nodeType": "VariableDeclaration", + "scope": 22712, + "src": "38511:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22690, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38511:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22693, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38543:2:14", + "nodeType": "VariableDeclaration", + "scope": 22712, + "src": "38529:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22692, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38529:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22695, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38555:2:14", + "nodeType": "VariableDeclaration", + "scope": 22712, + "src": "38547:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22694, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38547:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22697, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38567:2:14", + "nodeType": "VariableDeclaration", + "scope": 22712, + "src": "38559:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38559:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "38510:60:14" + }, + "returnParameters": { + "id": 22699, + "nodeType": "ParameterList", + "parameters": [], + "src": "38585:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22735, + "nodeType": "FunctionDefinition", + "src": "38702:187:14", + "nodes": [], + "body": { + "id": 22734, + "nodeType": "Block", + "src": "38780:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629", + "id": 22726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38830:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e", + "typeString": "literal_string \"log(string,bool,uint256,uint256)\"" + }, + "value": "log(string,bool,uint256,uint256)" + }, + { + "id": 22727, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22714, + "src": "38866:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22728, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22716, + "src": "38870:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22729, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22718, + "src": "38874:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22730, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22720, + "src": "38878:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e", + "typeString": "literal_string \"log(string,bool,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22724, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38806:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "38810:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38806:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38806:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22723, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "38790:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38790:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22733, + "nodeType": "ExpressionStatement", + "src": "38790:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38711:3:14", + "parameters": { + "id": 22721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22714, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38729:2:14", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "38715:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22713, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38715:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22716, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38738:2:14", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "38733:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22715, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38733:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22718, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38750:2:14", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "38742:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22717, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "38742:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22720, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38762:2:14", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "38754:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22719, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "38754:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "38714:51:14" + }, + "returnParameters": { + "id": 22722, + "nodeType": "ParameterList", + "parameters": [], + "src": "38780:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22758, + "nodeType": "FunctionDefinition", + "src": "38895:192:14", + "nodes": [], + "body": { + "id": 22757, + "nodeType": "Block", + "src": "38979:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729", + "id": 22749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39029:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00", + "typeString": "literal_string \"log(string,bool,uint256,string)\"" + }, + "value": "log(string,bool,uint256,string)" + }, + { + "id": 22750, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22737, + "src": "39064:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22751, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22739, + "src": "39068:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22752, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22741, + "src": "39072:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22753, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22743, + "src": "39076:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00", + "typeString": "literal_string \"log(string,bool,uint256,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22747, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39005:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39009:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39005:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39005:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22746, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "38989:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "38989:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22756, + "nodeType": "ExpressionStatement", + "src": "38989:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38904:3:14", + "parameters": { + "id": 22744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22737, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38922:2:14", + "nodeType": "VariableDeclaration", + "scope": 22758, + "src": "38908:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22736, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38908:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22739, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38931:2:14", + "nodeType": "VariableDeclaration", + "scope": 22758, + "src": "38926:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22738, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38926:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22741, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38943:2:14", + "nodeType": "VariableDeclaration", + "scope": 22758, + "src": "38935:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22740, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "38935:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22743, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38961:2:14", + "nodeType": "VariableDeclaration", + "scope": 22758, + "src": "38947:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22742, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38947:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "38907:57:14" + }, + "returnParameters": { + "id": 22745, + "nodeType": "ParameterList", + "parameters": [], + "src": "38979:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22781, + "nodeType": "FunctionDefinition", + "src": "39093:181:14", + "nodes": [], + "body": { + "id": 22780, + "nodeType": "Block", + "src": "39168:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29", + "id": 22772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39218:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2", + "typeString": "literal_string \"log(string,bool,uint256,bool)\"" + }, + "value": "log(string,bool,uint256,bool)" + }, + { + "id": 22773, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22760, + "src": "39251:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22774, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22762, + "src": "39255:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22775, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22764, + "src": "39259:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22776, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22766, + "src": "39263:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2", + "typeString": "literal_string \"log(string,bool,uint256,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22770, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39194:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39198:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39194:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39194:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22769, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "39178:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39178:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22779, + "nodeType": "ExpressionStatement", + "src": "39178:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39102:3:14", + "parameters": { + "id": 22767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22760, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39120:2:14", + "nodeType": "VariableDeclaration", + "scope": 22781, + "src": "39106:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22759, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39106:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22762, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39129:2:14", + "nodeType": "VariableDeclaration", + "scope": 22781, + "src": "39124:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22761, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39124:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22764, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39141:2:14", + "nodeType": "VariableDeclaration", + "scope": 22781, + "src": "39133:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22763, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "39133:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22766, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39150:2:14", + "nodeType": "VariableDeclaration", + "scope": 22781, + "src": "39145:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22765, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39145:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "39105:48:14" + }, + "returnParameters": { + "id": 22768, + "nodeType": "ParameterList", + "parameters": [], + "src": "39168:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22804, + "nodeType": "FunctionDefinition", + "src": "39280:187:14", + "nodes": [], + "body": { + "id": 22803, + "nodeType": "Block", + "src": "39358:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329", + "id": 22795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39408:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e", + "typeString": "literal_string \"log(string,bool,uint256,address)\"" + }, + "value": "log(string,bool,uint256,address)" + }, + { + "id": 22796, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22783, + "src": "39444:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22797, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22785, + "src": "39448:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22798, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22787, + "src": "39452:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 22799, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22789, + "src": "39456:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e", + "typeString": "literal_string \"log(string,bool,uint256,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22793, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39384:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39388:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39384:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39384:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22792, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "39368:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39368:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22802, + "nodeType": "ExpressionStatement", + "src": "39368:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39289:3:14", + "parameters": { + "id": 22790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22783, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39307:2:14", + "nodeType": "VariableDeclaration", + "scope": 22804, + "src": "39293:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22782, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39293:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22785, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39316:2:14", + "nodeType": "VariableDeclaration", + "scope": 22804, + "src": "39311:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22784, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39311:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22787, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39328:2:14", + "nodeType": "VariableDeclaration", + "scope": 22804, + "src": "39320:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22786, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "39320:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22789, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39340:2:14", + "nodeType": "VariableDeclaration", + "scope": 22804, + "src": "39332:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39332:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "39292:51:14" + }, + "returnParameters": { + "id": 22791, + "nodeType": "ParameterList", + "parameters": [], + "src": "39358:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22827, + "nodeType": "FunctionDefinition", + "src": "39473:192:14", + "nodes": [], + "body": { + "id": 22826, + "nodeType": "Block", + "src": "39557:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629", + "id": 22818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39607:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a", + "typeString": "literal_string \"log(string,bool,string,uint256)\"" + }, + "value": "log(string,bool,string,uint256)" + }, + { + "id": 22819, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22806, + "src": "39642:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22820, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22808, + "src": "39646:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22821, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22810, + "src": "39650:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22822, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "39654:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a", + "typeString": "literal_string \"log(string,bool,string,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22816, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39583:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39587:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39583:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39583:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22815, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "39567:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39567:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22825, + "nodeType": "ExpressionStatement", + "src": "39567:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39482:3:14", + "parameters": { + "id": 22813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22806, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39500:2:14", + "nodeType": "VariableDeclaration", + "scope": 22827, + "src": "39486:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22805, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39486:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22808, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39509:2:14", + "nodeType": "VariableDeclaration", + "scope": 22827, + "src": "39504:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22807, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39504:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22810, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39527:2:14", + "nodeType": "VariableDeclaration", + "scope": 22827, + "src": "39513:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22809, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39513:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22812, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39539:2:14", + "nodeType": "VariableDeclaration", + "scope": 22827, + "src": "39531:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22811, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "39531:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "39485:57:14" + }, + "returnParameters": { + "id": 22814, + "nodeType": "ParameterList", + "parameters": [], + "src": "39557:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22850, + "nodeType": "FunctionDefinition", + "src": "39671:197:14", + "nodes": [], + "body": { + "id": 22849, + "nodeType": "Block", + "src": "39761:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729", + "id": 22841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39811:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d", + "typeString": "literal_string \"log(string,bool,string,string)\"" + }, + "value": "log(string,bool,string,string)" + }, + { + "id": 22842, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22829, + "src": "39845:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22843, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22831, + "src": "39849:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22844, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22833, + "src": "39853:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22845, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22835, + "src": "39857:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d", + "typeString": "literal_string \"log(string,bool,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22839, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39787:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39791:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39787:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39787:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22838, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "39771:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39771:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22848, + "nodeType": "ExpressionStatement", + "src": "39771:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39680:3:14", + "parameters": { + "id": 22836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22829, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39698:2:14", + "nodeType": "VariableDeclaration", + "scope": 22850, + "src": "39684:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22828, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39684:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22831, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39707:2:14", + "nodeType": "VariableDeclaration", + "scope": 22850, + "src": "39702:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22830, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39702:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22833, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39725:2:14", + "nodeType": "VariableDeclaration", + "scope": 22850, + "src": "39711:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22832, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39711:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22835, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39743:2:14", + "nodeType": "VariableDeclaration", + "scope": 22850, + "src": "39729:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22834, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39729:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "39683:63:14" + }, + "returnParameters": { + "id": 22837, + "nodeType": "ParameterList", + "parameters": [], + "src": "39761:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22873, + "nodeType": "FunctionDefinition", + "src": "39874:186:14", + "nodes": [], + "body": { + "id": 22872, + "nodeType": "Block", + "src": "39955:105:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29", + "id": 22864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40005:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b", + "typeString": "literal_string \"log(string,bool,string,bool)\"" + }, + "value": "log(string,bool,string,bool)" + }, + { + "id": 22865, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22852, + "src": "40037:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22866, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22854, + "src": "40041:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22867, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22856, + "src": "40045:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22868, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22858, + "src": "40049:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b", + "typeString": "literal_string \"log(string,bool,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22862, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39981:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22863, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "39985:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39981:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39981:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22861, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "39965:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "39965:88:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22871, + "nodeType": "ExpressionStatement", + "src": "39965:88:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39883:3:14", + "parameters": { + "id": 22859, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22852, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39901:2:14", + "nodeType": "VariableDeclaration", + "scope": 22873, + "src": "39887:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22851, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39887:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22854, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39910:2:14", + "nodeType": "VariableDeclaration", + "scope": 22873, + "src": "39905:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22853, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39905:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22856, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39928:2:14", + "nodeType": "VariableDeclaration", + "scope": 22873, + "src": "39914:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22855, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39914:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22858, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39937:2:14", + "nodeType": "VariableDeclaration", + "scope": 22873, + "src": "39932:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22857, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39932:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "39886:54:14" + }, + "returnParameters": { + "id": 22860, + "nodeType": "ParameterList", + "parameters": [], + "src": "39955:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22896, + "nodeType": "FunctionDefinition", + "src": "40066:192:14", + "nodes": [], + "body": { + "id": 22895, + "nodeType": "Block", + "src": "40150:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329", + "id": 22887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40200:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8", + "typeString": "literal_string \"log(string,bool,string,address)\"" + }, + "value": "log(string,bool,string,address)" + }, + { + "id": 22888, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22875, + "src": "40235:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22889, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22877, + "src": "40239:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22890, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22879, + "src": "40243:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22891, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22881, + "src": "40247:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8", + "typeString": "literal_string \"log(string,bool,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22885, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40176:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40180:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40176:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40176:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22884, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "40160:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40160:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22894, + "nodeType": "ExpressionStatement", + "src": "40160:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40075:3:14", + "parameters": { + "id": 22882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22875, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40093:2:14", + "nodeType": "VariableDeclaration", + "scope": 22896, + "src": "40079:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22874, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40079:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22877, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40102:2:14", + "nodeType": "VariableDeclaration", + "scope": 22896, + "src": "40097:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22876, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40097:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22879, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40120:2:14", + "nodeType": "VariableDeclaration", + "scope": 22896, + "src": "40106:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22878, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40106:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22881, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40132:2:14", + "nodeType": "VariableDeclaration", + "scope": 22896, + "src": "40124:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22880, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40124:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "40078:57:14" + }, + "returnParameters": { + "id": 22883, + "nodeType": "ParameterList", + "parameters": [], + "src": "40150:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22919, + "nodeType": "FunctionDefinition", + "src": "40264:181:14", + "nodes": [], + "body": { + "id": 22918, + "nodeType": "Block", + "src": "40339:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629", + "id": 22910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40389:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c", + "typeString": "literal_string \"log(string,bool,bool,uint256)\"" + }, + "value": "log(string,bool,bool,uint256)" + }, + { + "id": 22911, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22898, + "src": "40422:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22912, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22900, + "src": "40426:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22913, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22902, + "src": "40430:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22914, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22904, + "src": "40434:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c", + "typeString": "literal_string \"log(string,bool,bool,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 22908, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40365:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40369:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40365:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40365:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22907, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "40349:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40349:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22917, + "nodeType": "ExpressionStatement", + "src": "40349:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40273:3:14", + "parameters": { + "id": 22905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22898, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40291:2:14", + "nodeType": "VariableDeclaration", + "scope": 22919, + "src": "40277:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22897, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40277:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22900, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40300:2:14", + "nodeType": "VariableDeclaration", + "scope": 22919, + "src": "40295:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22899, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40295:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22902, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40309:2:14", + "nodeType": "VariableDeclaration", + "scope": 22919, + "src": "40304:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22901, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40304:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22904, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40321:2:14", + "nodeType": "VariableDeclaration", + "scope": 22919, + "src": "40313:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "40313:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "40276:48:14" + }, + "returnParameters": { + "id": 22906, + "nodeType": "ParameterList", + "parameters": [], + "src": "40339:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22942, + "nodeType": "FunctionDefinition", + "src": "40451:186:14", + "nodes": [], + "body": { + "id": 22941, + "nodeType": "Block", + "src": "40532:105:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729", + "id": 22933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40582:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058", + "typeString": "literal_string \"log(string,bool,bool,string)\"" + }, + "value": "log(string,bool,bool,string)" + }, + { + "id": 22934, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22921, + "src": "40614:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22935, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22923, + "src": "40618:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22936, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22925, + "src": "40622:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22937, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22927, + "src": "40626:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058", + "typeString": "literal_string \"log(string,bool,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 22931, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40558:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40562:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40558:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40558:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22930, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "40542:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40542:88:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22940, + "nodeType": "ExpressionStatement", + "src": "40542:88:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40460:3:14", + "parameters": { + "id": 22928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22921, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40478:2:14", + "nodeType": "VariableDeclaration", + "scope": 22942, + "src": "40464:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22920, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40464:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22923, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40487:2:14", + "nodeType": "VariableDeclaration", + "scope": 22942, + "src": "40482:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22922, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40482:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22925, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40496:2:14", + "nodeType": "VariableDeclaration", + "scope": 22942, + "src": "40491:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22924, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40491:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22927, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40514:2:14", + "nodeType": "VariableDeclaration", + "scope": 22942, + "src": "40500:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22926, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40500:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "40463:54:14" + }, + "returnParameters": { + "id": 22929, + "nodeType": "ParameterList", + "parameters": [], + "src": "40532:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22965, + "nodeType": "FunctionDefinition", + "src": "40643:175:14", + "nodes": [], + "body": { + "id": 22964, + "nodeType": "Block", + "src": "40715:103:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 22956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40765:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2", + "typeString": "literal_string \"log(string,bool,bool,bool)\"" + }, + "value": "log(string,bool,bool,bool)" + }, + { + "id": 22957, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22944, + "src": "40795:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22958, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22946, + "src": "40799:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22959, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22948, + "src": "40803:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22960, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22950, + "src": "40807:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2", + "typeString": "literal_string \"log(string,bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 22954, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40741:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40745:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40741:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40741:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22953, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "40725:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40725:86:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22963, + "nodeType": "ExpressionStatement", + "src": "40725:86:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40652:3:14", + "parameters": { + "id": 22951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22944, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40670:2:14", + "nodeType": "VariableDeclaration", + "scope": 22965, + "src": "40656:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22943, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40656:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22946, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40679:2:14", + "nodeType": "VariableDeclaration", + "scope": 22965, + "src": "40674:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22945, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40674:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22948, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40688:2:14", + "nodeType": "VariableDeclaration", + "scope": 22965, + "src": "40683:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22947, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40683:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22950, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40697:2:14", + "nodeType": "VariableDeclaration", + "scope": 22965, + "src": "40692:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22949, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40692:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "40655:45:14" + }, + "returnParameters": { + "id": 22952, + "nodeType": "ParameterList", + "parameters": [], + "src": "40715:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 22988, + "nodeType": "FunctionDefinition", + "src": "40824:181:14", + "nodes": [], + "body": { + "id": 22987, + "nodeType": "Block", + "src": "40899:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329", + "id": 22979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40949:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d", + "typeString": "literal_string \"log(string,bool,bool,address)\"" + }, + "value": "log(string,bool,bool,address)" + }, + { + "id": 22980, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22967, + "src": "40982:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 22981, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22969, + "src": "40986:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22982, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22971, + "src": "40990:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 22983, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22973, + "src": "40994:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d", + "typeString": "literal_string \"log(string,bool,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 22977, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40925:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 22978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "40929:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40925:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 22984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40925:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22976, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "40909:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 22985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "40909:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 22986, + "nodeType": "ExpressionStatement", + "src": "40909:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40833:3:14", + "parameters": { + "id": 22974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22967, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40851:2:14", + "nodeType": "VariableDeclaration", + "scope": 22988, + "src": "40837:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22966, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40837:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22969, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40860:2:14", + "nodeType": "VariableDeclaration", + "scope": 22988, + "src": "40855:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22968, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40855:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22971, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40869:2:14", + "nodeType": "VariableDeclaration", + "scope": 22988, + "src": "40864:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22970, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40864:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22973, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40881:2:14", + "nodeType": "VariableDeclaration", + "scope": 22988, + "src": "40873:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22972, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40873:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "40836:48:14" + }, + "returnParameters": { + "id": 22975, + "nodeType": "ParameterList", + "parameters": [], + "src": "40899:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23011, + "nodeType": "FunctionDefinition", + "src": "41011:187:14", + "nodes": [], + "body": { + "id": 23010, + "nodeType": "Block", + "src": "41089:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629", + "id": 23002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41139:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531", + "typeString": "literal_string \"log(string,bool,address,uint256)\"" + }, + "value": "log(string,bool,address,uint256)" + }, + { + "id": 23003, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22990, + "src": "41175:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23004, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22992, + "src": "41179:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23005, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22994, + "src": "41183:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23006, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22996, + "src": "41187:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531", + "typeString": "literal_string \"log(string,bool,address,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23000, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41115:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41119:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41115:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41115:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 22999, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "41099:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41099:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23009, + "nodeType": "ExpressionStatement", + "src": "41099:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41020:3:14", + "parameters": { + "id": 22997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22990, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41038:2:14", + "nodeType": "VariableDeclaration", + "scope": 23011, + "src": "41024:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 22989, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41024:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22992, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41047:2:14", + "nodeType": "VariableDeclaration", + "scope": 23011, + "src": "41042:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22991, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41042:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22994, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41059:2:14", + "nodeType": "VariableDeclaration", + "scope": 23011, + "src": "41051:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22993, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41051:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22996, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41071:2:14", + "nodeType": "VariableDeclaration", + "scope": 23011, + "src": "41063:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22995, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "41063:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "41023:51:14" + }, + "returnParameters": { + "id": 22998, + "nodeType": "ParameterList", + "parameters": [], + "src": "41089:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23034, + "nodeType": "FunctionDefinition", + "src": "41204:192:14", + "nodes": [], + "body": { + "id": 23033, + "nodeType": "Block", + "src": "41288:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729", + "id": 23025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41338:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef", + "typeString": "literal_string \"log(string,bool,address,string)\"" + }, + "value": "log(string,bool,address,string)" + }, + { + "id": 23026, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23013, + "src": "41373:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23027, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23015, + "src": "41377:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23028, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23017, + "src": "41381:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23029, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23019, + "src": "41385:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef", + "typeString": "literal_string \"log(string,bool,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23023, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41314:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41318:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41314:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41314:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23022, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "41298:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41298:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23032, + "nodeType": "ExpressionStatement", + "src": "41298:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41213:3:14", + "parameters": { + "id": 23020, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23013, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41231:2:14", + "nodeType": "VariableDeclaration", + "scope": 23034, + "src": "41217:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23012, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41217:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23015, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41240:2:14", + "nodeType": "VariableDeclaration", + "scope": 23034, + "src": "41235:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23014, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41235:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23017, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41252:2:14", + "nodeType": "VariableDeclaration", + "scope": 23034, + "src": "41244:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23016, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41244:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23019, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41270:2:14", + "nodeType": "VariableDeclaration", + "scope": 23034, + "src": "41256:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23018, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41256:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "41216:57:14" + }, + "returnParameters": { + "id": 23021, + "nodeType": "ParameterList", + "parameters": [], + "src": "41288:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23057, + "nodeType": "FunctionDefinition", + "src": "41402:181:14", + "nodes": [], + "body": { + "id": 23056, + "nodeType": "Block", + "src": "41477:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29", + "id": 23048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41527:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482", + "typeString": "literal_string \"log(string,bool,address,bool)\"" + }, + "value": "log(string,bool,address,bool)" + }, + { + "id": 23049, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23036, + "src": "41560:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23050, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23038, + "src": "41564:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23051, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23040, + "src": "41568:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23052, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23042, + "src": "41572:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482", + "typeString": "literal_string \"log(string,bool,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23046, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41503:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41507:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41503:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41503:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23045, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "41487:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41487:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23055, + "nodeType": "ExpressionStatement", + "src": "41487:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41411:3:14", + "parameters": { + "id": 23043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23036, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41429:2:14", + "nodeType": "VariableDeclaration", + "scope": 23057, + "src": "41415:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23035, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41415:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23038, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41438:2:14", + "nodeType": "VariableDeclaration", + "scope": 23057, + "src": "41433:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23037, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41433:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23040, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41450:2:14", + "nodeType": "VariableDeclaration", + "scope": 23057, + "src": "41442:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41442:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23042, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41459:2:14", + "nodeType": "VariableDeclaration", + "scope": 23057, + "src": "41454:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23041, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41454:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "41414:48:14" + }, + "returnParameters": { + "id": 23044, + "nodeType": "ParameterList", + "parameters": [], + "src": "41477:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23080, + "nodeType": "FunctionDefinition", + "src": "41589:187:14", + "nodes": [], + "body": { + "id": 23079, + "nodeType": "Block", + "src": "41667:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329", + "id": 23071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41717:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d", + "typeString": "literal_string \"log(string,bool,address,address)\"" + }, + "value": "log(string,bool,address,address)" + }, + { + "id": 23072, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23059, + "src": "41753:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23073, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23061, + "src": "41757:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23074, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23063, + "src": "41761:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23075, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23065, + "src": "41765:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d", + "typeString": "literal_string \"log(string,bool,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23069, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41693:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41697:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41693:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41693:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23068, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "41677:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41677:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23078, + "nodeType": "ExpressionStatement", + "src": "41677:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41598:3:14", + "parameters": { + "id": 23066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23059, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41616:2:14", + "nodeType": "VariableDeclaration", + "scope": 23080, + "src": "41602:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23058, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41602:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23061, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41625:2:14", + "nodeType": "VariableDeclaration", + "scope": 23080, + "src": "41620:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23060, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41620:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23063, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41637:2:14", + "nodeType": "VariableDeclaration", + "scope": 23080, + "src": "41629:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23062, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41629:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23065, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41649:2:14", + "nodeType": "VariableDeclaration", + "scope": 23080, + "src": "41641:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41641:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "41601:51:14" + }, + "returnParameters": { + "id": 23067, + "nodeType": "ParameterList", + "parameters": [], + "src": "41667:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23103, + "nodeType": "FunctionDefinition", + "src": "41782:193:14", + "nodes": [], + "body": { + "id": 23102, + "nodeType": "Block", + "src": "41863:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629", + "id": 23094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41913:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9", + "typeString": "literal_string \"log(string,address,uint256,uint256)\"" + }, + "value": "log(string,address,uint256,uint256)" + }, + { + "id": 23095, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23082, + "src": "41952:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23096, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23084, + "src": "41956:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23097, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23086, + "src": "41960:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23098, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23088, + "src": "41964:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9", + "typeString": "literal_string \"log(string,address,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23092, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41889:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "41893:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41889:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41889:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23091, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "41873:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "41873:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23101, + "nodeType": "ExpressionStatement", + "src": "41873:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41791:3:14", + "parameters": { + "id": 23089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23082, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41809:2:14", + "nodeType": "VariableDeclaration", + "scope": 23103, + "src": "41795:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23081, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41795:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23084, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41821:2:14", + "nodeType": "VariableDeclaration", + "scope": 23103, + "src": "41813:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23083, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41813:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23086, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41833:2:14", + "nodeType": "VariableDeclaration", + "scope": 23103, + "src": "41825:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23085, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "41825:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23088, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41845:2:14", + "nodeType": "VariableDeclaration", + "scope": 23103, + "src": "41837:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23087, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "41837:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "41794:54:14" + }, + "returnParameters": { + "id": 23090, + "nodeType": "ParameterList", + "parameters": [], + "src": "41863:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23126, + "nodeType": "FunctionDefinition", + "src": "41981:198:14", + "nodes": [], + "body": { + "id": 23125, + "nodeType": "Block", + "src": "42068:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729", + "id": 23117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42118:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c", + "typeString": "literal_string \"log(string,address,uint256,string)\"" + }, + "value": "log(string,address,uint256,string)" + }, + { + "id": 23118, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23105, + "src": "42156:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23119, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23107, + "src": "42160:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23120, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23109, + "src": "42164:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23121, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23111, + "src": "42168:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c", + "typeString": "literal_string \"log(string,address,uint256,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23115, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42094:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42098:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42094:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42094:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23114, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "42078:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42078:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23124, + "nodeType": "ExpressionStatement", + "src": "42078:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41990:3:14", + "parameters": { + "id": 23112, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23105, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42008:2:14", + "nodeType": "VariableDeclaration", + "scope": 23126, + "src": "41994:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23104, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41994:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23107, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42020:2:14", + "nodeType": "VariableDeclaration", + "scope": 23126, + "src": "42012:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23106, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42012:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23109, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42032:2:14", + "nodeType": "VariableDeclaration", + "scope": 23126, + "src": "42024:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "42024:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23111, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42050:2:14", + "nodeType": "VariableDeclaration", + "scope": 23126, + "src": "42036:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23110, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42036:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "41993:60:14" + }, + "returnParameters": { + "id": 23113, + "nodeType": "ParameterList", + "parameters": [], + "src": "42068:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23149, + "nodeType": "FunctionDefinition", + "src": "42185:187:14", + "nodes": [], + "body": { + "id": 23148, + "nodeType": "Block", + "src": "42263:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29", + "id": 23140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42313:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7", + "typeString": "literal_string \"log(string,address,uint256,bool)\"" + }, + "value": "log(string,address,uint256,bool)" + }, + { + "id": 23141, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23128, + "src": "42349:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23142, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23130, + "src": "42353:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23143, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23132, + "src": "42357:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23144, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23134, + "src": "42361:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7", + "typeString": "literal_string \"log(string,address,uint256,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23138, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42289:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42293:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42289:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42289:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23137, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "42273:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42273:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23147, + "nodeType": "ExpressionStatement", + "src": "42273:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42194:3:14", + "parameters": { + "id": 23135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23128, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42212:2:14", + "nodeType": "VariableDeclaration", + "scope": 23149, + "src": "42198:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23127, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42198:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23130, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42224:2:14", + "nodeType": "VariableDeclaration", + "scope": 23149, + "src": "42216:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23129, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42216:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23132, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42236:2:14", + "nodeType": "VariableDeclaration", + "scope": 23149, + "src": "42228:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "42228:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23134, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42245:2:14", + "nodeType": "VariableDeclaration", + "scope": 23149, + "src": "42240:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23133, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42240:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "42197:51:14" + }, + "returnParameters": { + "id": 23136, + "nodeType": "ParameterList", + "parameters": [], + "src": "42263:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23172, + "nodeType": "FunctionDefinition", + "src": "42378:193:14", + "nodes": [], + "body": { + "id": 23171, + "nodeType": "Block", + "src": "42459:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329", + "id": 23163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42509:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a", + "typeString": "literal_string \"log(string,address,uint256,address)\"" + }, + "value": "log(string,address,uint256,address)" + }, + { + "id": 23164, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23151, + "src": "42548:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23165, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23153, + "src": "42552:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23166, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23155, + "src": "42556:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23167, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23157, + "src": "42560:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a", + "typeString": "literal_string \"log(string,address,uint256,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23161, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42485:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42489:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42485:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42485:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23160, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "42469:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42469:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23170, + "nodeType": "ExpressionStatement", + "src": "42469:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42387:3:14", + "parameters": { + "id": 23158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23151, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42405:2:14", + "nodeType": "VariableDeclaration", + "scope": 23172, + "src": "42391:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23150, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42391:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23153, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42417:2:14", + "nodeType": "VariableDeclaration", + "scope": 23172, + "src": "42409:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23152, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42409:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23155, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42429:2:14", + "nodeType": "VariableDeclaration", + "scope": 23172, + "src": "42421:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23154, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "42421:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23157, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42441:2:14", + "nodeType": "VariableDeclaration", + "scope": 23172, + "src": "42433:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42433:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "42390:54:14" + }, + "returnParameters": { + "id": 23159, + "nodeType": "ParameterList", + "parameters": [], + "src": "42459:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23195, + "nodeType": "FunctionDefinition", + "src": "42577:198:14", + "nodes": [], + "body": { + "id": 23194, + "nodeType": "Block", + "src": "42664:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629", + "id": 23186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42714:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd", + "typeString": "literal_string \"log(string,address,string,uint256)\"" + }, + "value": "log(string,address,string,uint256)" + }, + { + "id": 23187, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23174, + "src": "42752:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23188, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23176, + "src": "42756:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23189, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23178, + "src": "42760:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23190, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23180, + "src": "42764:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd", + "typeString": "literal_string \"log(string,address,string,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23184, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42690:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42694:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42690:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42690:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23183, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "42674:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42674:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23193, + "nodeType": "ExpressionStatement", + "src": "42674:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42586:3:14", + "parameters": { + "id": 23181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23174, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42604:2:14", + "nodeType": "VariableDeclaration", + "scope": 23195, + "src": "42590:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23173, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42590:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23176, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42616:2:14", + "nodeType": "VariableDeclaration", + "scope": 23195, + "src": "42608:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42608:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23178, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42634:2:14", + "nodeType": "VariableDeclaration", + "scope": 23195, + "src": "42620:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23177, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42620:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23180, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42646:2:14", + "nodeType": "VariableDeclaration", + "scope": 23195, + "src": "42638:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23179, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "42638:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "42589:60:14" + }, + "returnParameters": { + "id": 23182, + "nodeType": "ParameterList", + "parameters": [], + "src": "42664:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23218, + "nodeType": "FunctionDefinition", + "src": "42781:203:14", + "nodes": [], + "body": { + "id": 23217, + "nodeType": "Block", + "src": "42874:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729", + "id": 23209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42924:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797", + "typeString": "literal_string \"log(string,address,string,string)\"" + }, + "value": "log(string,address,string,string)" + }, + { + "id": 23210, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23197, + "src": "42961:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23211, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23199, + "src": "42965:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23212, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23201, + "src": "42969:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23213, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23203, + "src": "42973:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797", + "typeString": "literal_string \"log(string,address,string,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23207, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42900:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "42904:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42900:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42900:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23206, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "42884:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "42884:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23216, + "nodeType": "ExpressionStatement", + "src": "42884:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42790:3:14", + "parameters": { + "id": 23204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23197, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42808:2:14", + "nodeType": "VariableDeclaration", + "scope": 23218, + "src": "42794:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23196, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42794:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23199, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42820:2:14", + "nodeType": "VariableDeclaration", + "scope": 23218, + "src": "42812:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23198, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42812:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23201, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42838:2:14", + "nodeType": "VariableDeclaration", + "scope": 23218, + "src": "42824:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23200, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42824:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23203, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42856:2:14", + "nodeType": "VariableDeclaration", + "scope": 23218, + "src": "42842:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23202, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42842:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "42793:66:14" + }, + "returnParameters": { + "id": 23205, + "nodeType": "ParameterList", + "parameters": [], + "src": "42874:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23241, + "nodeType": "FunctionDefinition", + "src": "42990:192:14", + "nodes": [], + "body": { + "id": 23240, + "nodeType": "Block", + "src": "43074:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29", + "id": 23232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43124:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154", + "typeString": "literal_string \"log(string,address,string,bool)\"" + }, + "value": "log(string,address,string,bool)" + }, + { + "id": 23233, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23220, + "src": "43159:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23234, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23222, + "src": "43163:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23235, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23224, + "src": "43167:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23236, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23226, + "src": "43171:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154", + "typeString": "literal_string \"log(string,address,string,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23230, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43100:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43104:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43100:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43100:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23229, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "43084:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43084:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23239, + "nodeType": "ExpressionStatement", + "src": "43084:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42999:3:14", + "parameters": { + "id": 23227, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23220, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43017:2:14", + "nodeType": "VariableDeclaration", + "scope": 23241, + "src": "43003:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23219, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43003:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23222, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43029:2:14", + "nodeType": "VariableDeclaration", + "scope": 23241, + "src": "43021:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23221, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "43021:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23224, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43047:2:14", + "nodeType": "VariableDeclaration", + "scope": 23241, + "src": "43033:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23223, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43033:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23226, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43056:2:14", + "nodeType": "VariableDeclaration", + "scope": 23241, + "src": "43051:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23225, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43051:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "43002:57:14" + }, + "returnParameters": { + "id": 23228, + "nodeType": "ParameterList", + "parameters": [], + "src": "43074:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23264, + "nodeType": "FunctionDefinition", + "src": "43188:198:14", + "nodes": [], + "body": { + "id": 23263, + "nodeType": "Block", + "src": "43275:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329", + "id": 23255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43325:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d", + "typeString": "literal_string \"log(string,address,string,address)\"" + }, + "value": "log(string,address,string,address)" + }, + { + "id": 23256, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23243, + "src": "43363:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23257, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23245, + "src": "43367:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23258, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23247, + "src": "43371:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23259, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23249, + "src": "43375:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d", + "typeString": "literal_string \"log(string,address,string,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23253, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43301:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43305:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43301:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43301:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23252, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "43285:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43285:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23262, + "nodeType": "ExpressionStatement", + "src": "43285:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43197:3:14", + "parameters": { + "id": 23250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23243, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43215:2:14", + "nodeType": "VariableDeclaration", + "scope": 23264, + "src": "43201:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23242, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43201:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23245, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43227:2:14", + "nodeType": "VariableDeclaration", + "scope": 23264, + "src": "43219:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23244, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "43219:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23247, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43245:2:14", + "nodeType": "VariableDeclaration", + "scope": 23264, + "src": "43231:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23246, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43231:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23249, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43257:2:14", + "nodeType": "VariableDeclaration", + "scope": 23264, + "src": "43249:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "43249:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "43200:60:14" + }, + "returnParameters": { + "id": 23251, + "nodeType": "ParameterList", + "parameters": [], + "src": "43275:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23287, + "nodeType": "FunctionDefinition", + "src": "43392:187:14", + "nodes": [], + "body": { + "id": 23286, + "nodeType": "Block", + "src": "43470:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629", + "id": 23278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43520:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5", + "typeString": "literal_string \"log(string,address,bool,uint256)\"" + }, + "value": "log(string,address,bool,uint256)" + }, + { + "id": 23279, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23266, + "src": "43556:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23280, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23268, + "src": "43560:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23281, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23270, + "src": "43564:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23282, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23272, + "src": "43568:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5", + "typeString": "literal_string \"log(string,address,bool,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23276, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43496:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43500:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43496:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43496:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23275, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "43480:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43480:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23285, + "nodeType": "ExpressionStatement", + "src": "43480:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43401:3:14", + "parameters": { + "id": 23273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23266, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43419:2:14", + "nodeType": "VariableDeclaration", + "scope": 23287, + "src": "43405:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23265, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43405:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23268, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43431:2:14", + "nodeType": "VariableDeclaration", + "scope": 23287, + "src": "43423:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23267, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "43423:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23270, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43440:2:14", + "nodeType": "VariableDeclaration", + "scope": 23287, + "src": "43435:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23269, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43435:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23272, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43452:2:14", + "nodeType": "VariableDeclaration", + "scope": 23287, + "src": "43444:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "43444:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "43404:51:14" + }, + "returnParameters": { + "id": 23274, + "nodeType": "ParameterList", + "parameters": [], + "src": "43470:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23310, + "nodeType": "FunctionDefinition", + "src": "43585:192:14", + "nodes": [], + "body": { + "id": 23309, + "nodeType": "Block", + "src": "43669:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729", + "id": 23301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43719:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb", + "typeString": "literal_string \"log(string,address,bool,string)\"" + }, + "value": "log(string,address,bool,string)" + }, + { + "id": 23302, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23289, + "src": "43754:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23303, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23291, + "src": "43758:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23304, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23293, + "src": "43762:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23305, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23295, + "src": "43766:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb", + "typeString": "literal_string \"log(string,address,bool,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23299, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43695:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43699:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43695:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43695:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23298, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "43679:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43679:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23308, + "nodeType": "ExpressionStatement", + "src": "43679:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43594:3:14", + "parameters": { + "id": 23296, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23289, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43612:2:14", + "nodeType": "VariableDeclaration", + "scope": 23310, + "src": "43598:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23288, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43598:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23291, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43624:2:14", + "nodeType": "VariableDeclaration", + "scope": 23310, + "src": "43616:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "43616:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23293, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43633:2:14", + "nodeType": "VariableDeclaration", + "scope": 23310, + "src": "43628:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23292, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43628:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23295, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43651:2:14", + "nodeType": "VariableDeclaration", + "scope": 23310, + "src": "43637:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23294, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43637:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "43597:57:14" + }, + "returnParameters": { + "id": 23297, + "nodeType": "ParameterList", + "parameters": [], + "src": "43669:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23333, + "nodeType": "FunctionDefinition", + "src": "43783:181:14", + "nodes": [], + "body": { + "id": 23332, + "nodeType": "Block", + "src": "43858:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29", + "id": 23324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43908:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039", + "typeString": "literal_string \"log(string,address,bool,bool)\"" + }, + "value": "log(string,address,bool,bool)" + }, + { + "id": 23325, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23312, + "src": "43941:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23326, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23314, + "src": "43945:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23327, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23316, + "src": "43949:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23328, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23318, + "src": "43953:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039", + "typeString": "literal_string \"log(string,address,bool,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23322, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43884:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "43888:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43884:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43884:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23321, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "43868:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "43868:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23331, + "nodeType": "ExpressionStatement", + "src": "43868:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43792:3:14", + "parameters": { + "id": 23319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23312, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43810:2:14", + "nodeType": "VariableDeclaration", + "scope": 23333, + "src": "43796:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23311, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43796:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23314, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43822:2:14", + "nodeType": "VariableDeclaration", + "scope": 23333, + "src": "43814:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "43814:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23316, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43831:2:14", + "nodeType": "VariableDeclaration", + "scope": 23333, + "src": "43826:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43826:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23318, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43840:2:14", + "nodeType": "VariableDeclaration", + "scope": 23333, + "src": "43835:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23317, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43835:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "43795:48:14" + }, + "returnParameters": { + "id": 23320, + "nodeType": "ParameterList", + "parameters": [], + "src": "43858:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23356, + "nodeType": "FunctionDefinition", + "src": "43970:187:14", + "nodes": [], + "body": { + "id": 23355, + "nodeType": "Block", + "src": "44048:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329", + "id": 23347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44098:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76", + "typeString": "literal_string \"log(string,address,bool,address)\"" + }, + "value": "log(string,address,bool,address)" + }, + { + "id": 23348, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23335, + "src": "44134:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23349, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23337, + "src": "44138:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23350, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23339, + "src": "44142:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23351, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23341, + "src": "44146:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76", + "typeString": "literal_string \"log(string,address,bool,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23345, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44074:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44078:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44074:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44074:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23344, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "44058:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44058:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23354, + "nodeType": "ExpressionStatement", + "src": "44058:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43979:3:14", + "parameters": { + "id": 23342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23335, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43997:2:14", + "nodeType": "VariableDeclaration", + "scope": 23356, + "src": "43983:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23334, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43983:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23337, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44009:2:14", + "nodeType": "VariableDeclaration", + "scope": 23356, + "src": "44001:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23336, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44001:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23339, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44018:2:14", + "nodeType": "VariableDeclaration", + "scope": 23356, + "src": "44013:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23338, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44013:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23341, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44030:2:14", + "nodeType": "VariableDeclaration", + "scope": 23356, + "src": "44022:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23340, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44022:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "43982:51:14" + }, + "returnParameters": { + "id": 23343, + "nodeType": "ParameterList", + "parameters": [], + "src": "44048:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23379, + "nodeType": "FunctionDefinition", + "src": "44163:193:14", + "nodes": [], + "body": { + "id": 23378, + "nodeType": "Block", + "src": "44244:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629", + "id": 23370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44294:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b", + "typeString": "literal_string \"log(string,address,address,uint256)\"" + }, + "value": "log(string,address,address,uint256)" + }, + { + "id": 23371, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23358, + "src": "44333:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23372, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23360, + "src": "44337:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23373, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23362, + "src": "44341:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23374, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23364, + "src": "44345:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b", + "typeString": "literal_string \"log(string,address,address,uint256)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23368, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44270:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44274:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44270:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44270:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23367, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "44254:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44254:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23377, + "nodeType": "ExpressionStatement", + "src": "44254:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44172:3:14", + "parameters": { + "id": 23365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23358, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44190:2:14", + "nodeType": "VariableDeclaration", + "scope": 23379, + "src": "44176:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23357, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44176:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23360, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44202:2:14", + "nodeType": "VariableDeclaration", + "scope": 23379, + "src": "44194:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44194:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23362, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44214:2:14", + "nodeType": "VariableDeclaration", + "scope": 23379, + "src": "44206:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23361, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44206:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23364, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44226:2:14", + "nodeType": "VariableDeclaration", + "scope": 23379, + "src": "44218:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "44218:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "44175:54:14" + }, + "returnParameters": { + "id": 23366, + "nodeType": "ParameterList", + "parameters": [], + "src": "44244:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23402, + "nodeType": "FunctionDefinition", + "src": "44362:198:14", + "nodes": [], + "body": { + "id": 23401, + "nodeType": "Block", + "src": "44449:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729", + "id": 23393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44499:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76", + "typeString": "literal_string \"log(string,address,address,string)\"" + }, + "value": "log(string,address,address,string)" + }, + { + "id": 23394, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23381, + "src": "44537:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23395, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23383, + "src": "44541:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23396, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23385, + "src": "44545:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23397, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23387, + "src": "44549:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76", + "typeString": "literal_string \"log(string,address,address,string)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23391, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44475:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44479:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44475:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44475:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23390, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "44459:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44459:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23400, + "nodeType": "ExpressionStatement", + "src": "44459:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44371:3:14", + "parameters": { + "id": 23388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23381, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44389:2:14", + "nodeType": "VariableDeclaration", + "scope": 23402, + "src": "44375:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23380, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44375:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23383, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44401:2:14", + "nodeType": "VariableDeclaration", + "scope": 23402, + "src": "44393:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44393:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23385, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44413:2:14", + "nodeType": "VariableDeclaration", + "scope": 23402, + "src": "44405:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23384, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44405:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23387, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44431:2:14", + "nodeType": "VariableDeclaration", + "scope": 23402, + "src": "44417:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23386, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44417:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "44374:60:14" + }, + "returnParameters": { + "id": 23389, + "nodeType": "ParameterList", + "parameters": [], + "src": "44449:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23425, + "nodeType": "FunctionDefinition", + "src": "44566:187:14", + "nodes": [], + "body": { + "id": 23424, + "nodeType": "Block", + "src": "44644:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29", + "id": 23416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44694:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4", + "typeString": "literal_string \"log(string,address,address,bool)\"" + }, + "value": "log(string,address,address,bool)" + }, + { + "id": 23417, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23404, + "src": "44730:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23418, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23406, + "src": "44734:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23419, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23408, + "src": "44738:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23420, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23410, + "src": "44742:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4", + "typeString": "literal_string \"log(string,address,address,bool)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23414, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44670:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44674:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44670:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44670:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23413, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "44654:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44654:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23423, + "nodeType": "ExpressionStatement", + "src": "44654:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44575:3:14", + "parameters": { + "id": 23411, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23404, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44593:2:14", + "nodeType": "VariableDeclaration", + "scope": 23425, + "src": "44579:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23403, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44579:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23406, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44605:2:14", + "nodeType": "VariableDeclaration", + "scope": 23425, + "src": "44597:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23405, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44597:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23408, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44617:2:14", + "nodeType": "VariableDeclaration", + "scope": 23425, + "src": "44609:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23407, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44609:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23410, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44626:2:14", + "nodeType": "VariableDeclaration", + "scope": 23425, + "src": "44621:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23409, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44621:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "44578:51:14" + }, + "returnParameters": { + "id": 23412, + "nodeType": "ParameterList", + "parameters": [], + "src": "44644:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23448, + "nodeType": "FunctionDefinition", + "src": "44759:193:14", + "nodes": [], + "body": { + "id": 23447, + "nodeType": "Block", + "src": "44840:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329", + "id": 23439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44890:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15", + "typeString": "literal_string \"log(string,address,address,address)\"" + }, + "value": "log(string,address,address,address)" + }, + { + "id": 23440, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23427, + "src": "44929:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23441, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23429, + "src": "44933:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23442, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23431, + "src": "44937:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23443, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23433, + "src": "44941:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15", + "typeString": "literal_string \"log(string,address,address,address)\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23437, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44866:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "44870:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44866:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44866:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23436, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "44850:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "44850:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23446, + "nodeType": "ExpressionStatement", + "src": "44850:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44768:3:14", + "parameters": { + "id": 23434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23427, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44786:2:14", + "nodeType": "VariableDeclaration", + "scope": 23448, + "src": "44772:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23426, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44772:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23429, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44798:2:14", + "nodeType": "VariableDeclaration", + "scope": 23448, + "src": "44790:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23428, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44790:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23431, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44810:2:14", + "nodeType": "VariableDeclaration", + "scope": 23448, + "src": "44802:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44802:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23433, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44822:2:14", + "nodeType": "VariableDeclaration", + "scope": 23448, + "src": "44814:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44814:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "44771:54:14" + }, + "returnParameters": { + "id": 23435, + "nodeType": "ParameterList", + "parameters": [], + "src": "44840:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23471, + "nodeType": "FunctionDefinition", + "src": "44958:182:14", + "nodes": [], + "body": { + "id": 23470, + "nodeType": "Block", + "src": "45030:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629", + "id": 23462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45080:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b", + "typeString": "literal_string \"log(bool,uint256,uint256,uint256)\"" + }, + "value": "log(bool,uint256,uint256,uint256)" + }, + { + "id": 23463, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23450, + "src": "45117:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23464, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23452, + "src": "45121:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23465, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23454, + "src": "45125:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23466, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23456, + "src": "45129:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b", + "typeString": "literal_string \"log(bool,uint256,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23460, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45056:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45060:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45056:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45056:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23459, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "45040:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45040:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23469, + "nodeType": "ExpressionStatement", + "src": "45040:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44967:3:14", + "parameters": { + "id": 23457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23450, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44976:2:14", + "nodeType": "VariableDeclaration", + "scope": 23471, + "src": "44971:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23449, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44971:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23452, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44988:2:14", + "nodeType": "VariableDeclaration", + "scope": 23471, + "src": "44980:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23451, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "44980:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23454, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45000:2:14", + "nodeType": "VariableDeclaration", + "scope": 23471, + "src": "44992:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23453, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "44992:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23456, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45012:2:14", + "nodeType": "VariableDeclaration", + "scope": 23471, + "src": "45004:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23455, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45004:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "44970:45:14" + }, + "returnParameters": { + "id": 23458, + "nodeType": "ParameterList", + "parameters": [], + "src": "45030:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23494, + "nodeType": "FunctionDefinition", + "src": "45146:187:14", + "nodes": [], + "body": { + "id": 23493, + "nodeType": "Block", + "src": "45224:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729", + "id": 23485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45274:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3", + "typeString": "literal_string \"log(bool,uint256,uint256,string)\"" + }, + "value": "log(bool,uint256,uint256,string)" + }, + { + "id": 23486, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23473, + "src": "45310:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23487, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23475, + "src": "45314:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23488, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23477, + "src": "45318:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23489, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23479, + "src": "45322:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3", + "typeString": "literal_string \"log(bool,uint256,uint256,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23483, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45250:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45254:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45250:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45250:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23482, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "45234:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45234:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23492, + "nodeType": "ExpressionStatement", + "src": "45234:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45155:3:14", + "parameters": { + "id": 23480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23473, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45164:2:14", + "nodeType": "VariableDeclaration", + "scope": 23494, + "src": "45159:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23472, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45159:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23475, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45176:2:14", + "nodeType": "VariableDeclaration", + "scope": 23494, + "src": "45168:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23474, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45168:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23477, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45188:2:14", + "nodeType": "VariableDeclaration", + "scope": 23494, + "src": "45180:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45180:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23479, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45206:2:14", + "nodeType": "VariableDeclaration", + "scope": 23494, + "src": "45192:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23478, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45192:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "45158:51:14" + }, + "returnParameters": { + "id": 23481, + "nodeType": "ParameterList", + "parameters": [], + "src": "45224:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23517, + "nodeType": "FunctionDefinition", + "src": "45339:176:14", + "nodes": [], + "body": { + "id": 23516, + "nodeType": "Block", + "src": "45408:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29", + "id": 23508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45458:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d", + "typeString": "literal_string \"log(bool,uint256,uint256,bool)\"" + }, + "value": "log(bool,uint256,uint256,bool)" + }, + { + "id": 23509, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23496, + "src": "45492:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23510, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23498, + "src": "45496:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23511, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23500, + "src": "45500:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23512, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23502, + "src": "45504:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d", + "typeString": "literal_string \"log(bool,uint256,uint256,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23506, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45434:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45438:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45434:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45434:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23505, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "45418:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45418:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23515, + "nodeType": "ExpressionStatement", + "src": "45418:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45348:3:14", + "parameters": { + "id": 23503, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23496, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45357:2:14", + "nodeType": "VariableDeclaration", + "scope": 23517, + "src": "45352:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23495, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45352:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23498, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45369:2:14", + "nodeType": "VariableDeclaration", + "scope": 23517, + "src": "45361:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23497, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45361:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23500, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45381:2:14", + "nodeType": "VariableDeclaration", + "scope": 23517, + "src": "45373:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23499, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45373:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23502, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45390:2:14", + "nodeType": "VariableDeclaration", + "scope": 23517, + "src": "45385:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23501, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45385:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "45351:42:14" + }, + "returnParameters": { + "id": 23504, + "nodeType": "ParameterList", + "parameters": [], + "src": "45408:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23540, + "nodeType": "FunctionDefinition", + "src": "45521:182:14", + "nodes": [], + "body": { + "id": 23539, + "nodeType": "Block", + "src": "45593:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329", + "id": 23531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45643:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010", + "typeString": "literal_string \"log(bool,uint256,uint256,address)\"" + }, + "value": "log(bool,uint256,uint256,address)" + }, + { + "id": 23532, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23519, + "src": "45680:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23533, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23521, + "src": "45684:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23534, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23523, + "src": "45688:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23535, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23525, + "src": "45692:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010", + "typeString": "literal_string \"log(bool,uint256,uint256,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23529, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45619:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45623:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45619:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45619:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23528, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "45603:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45603:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23538, + "nodeType": "ExpressionStatement", + "src": "45603:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45530:3:14", + "parameters": { + "id": 23526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23519, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45539:2:14", + "nodeType": "VariableDeclaration", + "scope": 23540, + "src": "45534:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23518, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45534:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23521, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45551:2:14", + "nodeType": "VariableDeclaration", + "scope": 23540, + "src": "45543:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23520, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45543:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23523, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45563:2:14", + "nodeType": "VariableDeclaration", + "scope": 23540, + "src": "45555:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45555:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23525, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45575:2:14", + "nodeType": "VariableDeclaration", + "scope": 23540, + "src": "45567:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23524, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "45567:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "45533:45:14" + }, + "returnParameters": { + "id": 23527, + "nodeType": "ParameterList", + "parameters": [], + "src": "45593:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23563, + "nodeType": "FunctionDefinition", + "src": "45709:187:14", + "nodes": [], + "body": { + "id": 23562, + "nodeType": "Block", + "src": "45787:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629", + "id": 23554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45837:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e", + "typeString": "literal_string \"log(bool,uint256,string,uint256)\"" + }, + "value": "log(bool,uint256,string,uint256)" + }, + { + "id": 23555, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23542, + "src": "45873:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23556, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23544, + "src": "45877:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23557, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23546, + "src": "45881:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23558, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23548, + "src": "45885:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e", + "typeString": "literal_string \"log(bool,uint256,string,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23552, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45813:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "45817:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45813:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45813:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23551, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "45797:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45797:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23561, + "nodeType": "ExpressionStatement", + "src": "45797:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45718:3:14", + "parameters": { + "id": 23549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23542, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45727:2:14", + "nodeType": "VariableDeclaration", + "scope": 23563, + "src": "45722:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23541, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45722:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23544, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45739:2:14", + "nodeType": "VariableDeclaration", + "scope": 23563, + "src": "45731:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23543, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45731:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23546, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45757:2:14", + "nodeType": "VariableDeclaration", + "scope": 23563, + "src": "45743:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23545, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45743:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23548, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45769:2:14", + "nodeType": "VariableDeclaration", + "scope": 23563, + "src": "45761:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45761:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "45721:51:14" + }, + "returnParameters": { + "id": 23550, + "nodeType": "ParameterList", + "parameters": [], + "src": "45787:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23586, + "nodeType": "FunctionDefinition", + "src": "45902:192:14", + "nodes": [], + "body": { + "id": 23585, + "nodeType": "Block", + "src": "45986:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729", + "id": 23577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46036:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07", + "typeString": "literal_string \"log(bool,uint256,string,string)\"" + }, + "value": "log(bool,uint256,string,string)" + }, + { + "id": 23578, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23565, + "src": "46071:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23579, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23567, + "src": "46075:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23580, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23569, + "src": "46079:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23581, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23571, + "src": "46083:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07", + "typeString": "literal_string \"log(bool,uint256,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23575, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46012:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46016:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46012:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46012:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23574, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "45996:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "45996:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23584, + "nodeType": "ExpressionStatement", + "src": "45996:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45911:3:14", + "parameters": { + "id": 23572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23565, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45920:2:14", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "45915:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23564, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45915:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23567, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45932:2:14", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "45924:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23566, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "45924:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23569, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45950:2:14", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "45936:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23568, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45936:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23571, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45968:2:14", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "45954:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23570, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45954:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "45914:57:14" + }, + "returnParameters": { + "id": 23573, + "nodeType": "ParameterList", + "parameters": [], + "src": "45986:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23609, + "nodeType": "FunctionDefinition", + "src": "46100:181:14", + "nodes": [], + "body": { + "id": 23608, + "nodeType": "Block", + "src": "46175:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29", + "id": 23600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46225:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2", + "typeString": "literal_string \"log(bool,uint256,string,bool)\"" + }, + "value": "log(bool,uint256,string,bool)" + }, + { + "id": 23601, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23588, + "src": "46258:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23602, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23590, + "src": "46262:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23603, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23592, + "src": "46266:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23604, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23594, + "src": "46270:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2", + "typeString": "literal_string \"log(bool,uint256,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23598, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46201:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46205:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46201:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46201:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23597, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "46185:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46185:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23607, + "nodeType": "ExpressionStatement", + "src": "46185:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46109:3:14", + "parameters": { + "id": 23595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23588, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46118:2:14", + "nodeType": "VariableDeclaration", + "scope": 23609, + "src": "46113:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23587, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46113:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23590, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46130:2:14", + "nodeType": "VariableDeclaration", + "scope": 23609, + "src": "46122:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23589, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "46122:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23592, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46148:2:14", + "nodeType": "VariableDeclaration", + "scope": 23609, + "src": "46134:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23591, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46134:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23594, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46157:2:14", + "nodeType": "VariableDeclaration", + "scope": 23609, + "src": "46152:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23593, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46152:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "46112:48:14" + }, + "returnParameters": { + "id": 23596, + "nodeType": "ParameterList", + "parameters": [], + "src": "46175:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23632, + "nodeType": "FunctionDefinition", + "src": "46287:187:14", + "nodes": [], + "body": { + "id": 23631, + "nodeType": "Block", + "src": "46365:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329", + "id": 23623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46415:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab", + "typeString": "literal_string \"log(bool,uint256,string,address)\"" + }, + "value": "log(bool,uint256,string,address)" + }, + { + "id": 23624, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23611, + "src": "46451:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23625, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23613, + "src": "46455:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23626, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23615, + "src": "46459:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23627, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23617, + "src": "46463:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab", + "typeString": "literal_string \"log(bool,uint256,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23621, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46391:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46395:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46391:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46391:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23620, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "46375:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46375:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23630, + "nodeType": "ExpressionStatement", + "src": "46375:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46296:3:14", + "parameters": { + "id": 23618, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23611, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46305:2:14", + "nodeType": "VariableDeclaration", + "scope": 23632, + "src": "46300:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23610, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46300:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23613, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46317:2:14", + "nodeType": "VariableDeclaration", + "scope": 23632, + "src": "46309:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23612, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "46309:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23615, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46335:2:14", + "nodeType": "VariableDeclaration", + "scope": 23632, + "src": "46321:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23614, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46321:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23617, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46347:2:14", + "nodeType": "VariableDeclaration", + "scope": 23632, + "src": "46339:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23616, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "46339:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "46299:51:14" + }, + "returnParameters": { + "id": 23619, + "nodeType": "ParameterList", + "parameters": [], + "src": "46365:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23655, + "nodeType": "FunctionDefinition", + "src": "46480:176:14", + "nodes": [], + "body": { + "id": 23654, + "nodeType": "Block", + "src": "46549:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629", + "id": 23646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46599:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443", + "typeString": "literal_string \"log(bool,uint256,bool,uint256)\"" + }, + "value": "log(bool,uint256,bool,uint256)" + }, + { + "id": 23647, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23634, + "src": "46633:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23648, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23636, + "src": "46637:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23649, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23638, + "src": "46641:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23650, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23640, + "src": "46645:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443", + "typeString": "literal_string \"log(bool,uint256,bool,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23644, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46575:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46579:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46575:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46575:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23643, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "46559:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46559:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23653, + "nodeType": "ExpressionStatement", + "src": "46559:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46489:3:14", + "parameters": { + "id": 23641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23634, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46498:2:14", + "nodeType": "VariableDeclaration", + "scope": 23655, + "src": "46493:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23633, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46493:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23636, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46510:2:14", + "nodeType": "VariableDeclaration", + "scope": 23655, + "src": "46502:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23635, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "46502:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23638, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46519:2:14", + "nodeType": "VariableDeclaration", + "scope": 23655, + "src": "46514:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23637, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46514:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23640, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46531:2:14", + "nodeType": "VariableDeclaration", + "scope": 23655, + "src": "46523:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "46523:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "46492:42:14" + }, + "returnParameters": { + "id": 23642, + "nodeType": "ParameterList", + "parameters": [], + "src": "46549:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23678, + "nodeType": "FunctionDefinition", + "src": "46662:181:14", + "nodes": [], + "body": { + "id": 23677, + "nodeType": "Block", + "src": "46737:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729", + "id": 23669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46787:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0", + "typeString": "literal_string \"log(bool,uint256,bool,string)\"" + }, + "value": "log(bool,uint256,bool,string)" + }, + { + "id": 23670, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23657, + "src": "46820:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23671, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23659, + "src": "46824:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23672, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23661, + "src": "46828:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23673, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23663, + "src": "46832:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0", + "typeString": "literal_string \"log(bool,uint256,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23667, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46763:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46767:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46763:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46763:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23666, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "46747:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46747:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23676, + "nodeType": "ExpressionStatement", + "src": "46747:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46671:3:14", + "parameters": { + "id": 23664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23657, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46680:2:14", + "nodeType": "VariableDeclaration", + "scope": 23678, + "src": "46675:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23656, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46675:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23659, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46692:2:14", + "nodeType": "VariableDeclaration", + "scope": 23678, + "src": "46684:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23658, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "46684:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23661, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46701:2:14", + "nodeType": "VariableDeclaration", + "scope": 23678, + "src": "46696:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23660, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46696:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23663, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46719:2:14", + "nodeType": "VariableDeclaration", + "scope": 23678, + "src": "46705:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23662, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46705:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "46674:48:14" + }, + "returnParameters": { + "id": 23665, + "nodeType": "ParameterList", + "parameters": [], + "src": "46737:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23701, + "nodeType": "FunctionDefinition", + "src": "46849:170:14", + "nodes": [], + "body": { + "id": 23700, + "nodeType": "Block", + "src": "46915:104:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29", + "id": 23692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46965:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2", + "typeString": "literal_string \"log(bool,uint256,bool,bool)\"" + }, + "value": "log(bool,uint256,bool,bool)" + }, + { + "id": 23693, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23680, + "src": "46996:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23694, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23682, + "src": "47000:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23695, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23684, + "src": "47004:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23696, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23686, + "src": "47008:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2", + "typeString": "literal_string \"log(bool,uint256,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23690, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46941:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "46945:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46941:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46941:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23689, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "46925:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "46925:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23699, + "nodeType": "ExpressionStatement", + "src": "46925:87:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46858:3:14", + "parameters": { + "id": 23687, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23680, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46867:2:14", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "46862:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23679, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46862:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23682, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46879:2:14", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "46871:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23681, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "46871:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23684, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46888:2:14", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "46883:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23683, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46883:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23686, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46897:2:14", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "46892:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23685, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46892:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "46861:39:14" + }, + "returnParameters": { + "id": 23688, + "nodeType": "ParameterList", + "parameters": [], + "src": "46915:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23724, + "nodeType": "FunctionDefinition", + "src": "47025:176:14", + "nodes": [], + "body": { + "id": 23723, + "nodeType": "Block", + "src": "47094:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329", + "id": 23715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47144:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e", + "typeString": "literal_string \"log(bool,uint256,bool,address)\"" + }, + "value": "log(bool,uint256,bool,address)" + }, + { + "id": 23716, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23703, + "src": "47178:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23717, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23705, + "src": "47182:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23718, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23707, + "src": "47186:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23719, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23709, + "src": "47190:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e", + "typeString": "literal_string \"log(bool,uint256,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23713, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47120:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47124:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47120:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47120:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23712, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "47104:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47104:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23722, + "nodeType": "ExpressionStatement", + "src": "47104:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47034:3:14", + "parameters": { + "id": 23710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23703, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47043:2:14", + "nodeType": "VariableDeclaration", + "scope": 23724, + "src": "47038:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23702, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47038:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23705, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47055:2:14", + "nodeType": "VariableDeclaration", + "scope": 23724, + "src": "47047:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "47047:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23707, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47064:2:14", + "nodeType": "VariableDeclaration", + "scope": 23724, + "src": "47059:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23706, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47059:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23709, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47076:2:14", + "nodeType": "VariableDeclaration", + "scope": 23724, + "src": "47068:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47068:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "47037:42:14" + }, + "returnParameters": { + "id": 23711, + "nodeType": "ParameterList", + "parameters": [], + "src": "47094:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23747, + "nodeType": "FunctionDefinition", + "src": "47207:182:14", + "nodes": [], + "body": { + "id": 23746, + "nodeType": "Block", + "src": "47279:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629", + "id": 23738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47329:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560", + "typeString": "literal_string \"log(bool,uint256,address,uint256)\"" + }, + "value": "log(bool,uint256,address,uint256)" + }, + { + "id": 23739, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23726, + "src": "47366:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23740, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23728, + "src": "47370:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23741, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23730, + "src": "47374:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23742, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23732, + "src": "47378:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560", + "typeString": "literal_string \"log(bool,uint256,address,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23736, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47305:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47309:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47305:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47305:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23735, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "47289:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47289:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23745, + "nodeType": "ExpressionStatement", + "src": "47289:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47216:3:14", + "parameters": { + "id": 23733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23726, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47225:2:14", + "nodeType": "VariableDeclaration", + "scope": 23747, + "src": "47220:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23725, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47220:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23728, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47237:2:14", + "nodeType": "VariableDeclaration", + "scope": 23747, + "src": "47229:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23727, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "47229:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23730, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47249:2:14", + "nodeType": "VariableDeclaration", + "scope": 23747, + "src": "47241:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47241:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23732, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47261:2:14", + "nodeType": "VariableDeclaration", + "scope": 23747, + "src": "47253:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "47253:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "47219:45:14" + }, + "returnParameters": { + "id": 23734, + "nodeType": "ParameterList", + "parameters": [], + "src": "47279:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23770, + "nodeType": "FunctionDefinition", + "src": "47395:187:14", + "nodes": [], + "body": { + "id": 23769, + "nodeType": "Block", + "src": "47473:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729", + "id": 23761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47523:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94", + "typeString": "literal_string \"log(bool,uint256,address,string)\"" + }, + "value": "log(bool,uint256,address,string)" + }, + { + "id": 23762, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23749, + "src": "47559:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23763, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23751, + "src": "47563:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23764, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23753, + "src": "47567:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23765, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23755, + "src": "47571:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94", + "typeString": "literal_string \"log(bool,uint256,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23759, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47499:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47503:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47499:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47499:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23758, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "47483:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47483:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23768, + "nodeType": "ExpressionStatement", + "src": "47483:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47404:3:14", + "parameters": { + "id": 23756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23749, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47413:2:14", + "nodeType": "VariableDeclaration", + "scope": 23770, + "src": "47408:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23748, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47408:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23751, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47425:2:14", + "nodeType": "VariableDeclaration", + "scope": 23770, + "src": "47417:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "47417:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23753, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47437:2:14", + "nodeType": "VariableDeclaration", + "scope": 23770, + "src": "47429:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23752, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47429:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23755, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47455:2:14", + "nodeType": "VariableDeclaration", + "scope": 23770, + "src": "47441:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23754, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47441:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "47407:51:14" + }, + "returnParameters": { + "id": 23757, + "nodeType": "ParameterList", + "parameters": [], + "src": "47473:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23793, + "nodeType": "FunctionDefinition", + "src": "47588:176:14", + "nodes": [], + "body": { + "id": 23792, + "nodeType": "Block", + "src": "47657:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29", + "id": 23784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47707:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8", + "typeString": "literal_string \"log(bool,uint256,address,bool)\"" + }, + "value": "log(bool,uint256,address,bool)" + }, + { + "id": 23785, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23772, + "src": "47741:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23786, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23774, + "src": "47745:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23787, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23776, + "src": "47749:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23788, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23778, + "src": "47753:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8", + "typeString": "literal_string \"log(bool,uint256,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23782, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47683:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47687:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47683:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47683:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23781, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "47667:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47667:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23791, + "nodeType": "ExpressionStatement", + "src": "47667:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47597:3:14", + "parameters": { + "id": 23779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23772, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47606:2:14", + "nodeType": "VariableDeclaration", + "scope": 23793, + "src": "47601:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23771, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47601:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23774, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47618:2:14", + "nodeType": "VariableDeclaration", + "scope": 23793, + "src": "47610:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "47610:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23776, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47630:2:14", + "nodeType": "VariableDeclaration", + "scope": 23793, + "src": "47622:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23775, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47622:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23778, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47639:2:14", + "nodeType": "VariableDeclaration", + "scope": 23793, + "src": "47634:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23777, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47634:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "47600:42:14" + }, + "returnParameters": { + "id": 23780, + "nodeType": "ParameterList", + "parameters": [], + "src": "47657:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23816, + "nodeType": "FunctionDefinition", + "src": "47770:182:14", + "nodes": [], + "body": { + "id": 23815, + "nodeType": "Block", + "src": "47842:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329", + "id": 23807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47892:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd", + "typeString": "literal_string \"log(bool,uint256,address,address)\"" + }, + "value": "log(bool,uint256,address,address)" + }, + { + "id": 23808, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23795, + "src": "47929:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23809, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23797, + "src": "47933:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23810, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23799, + "src": "47937:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 23811, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23801, + "src": "47941:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd", + "typeString": "literal_string \"log(bool,uint256,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23805, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47868:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "47872:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47868:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47868:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23804, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "47852:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "47852:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23814, + "nodeType": "ExpressionStatement", + "src": "47852:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47779:3:14", + "parameters": { + "id": 23802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23795, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47788:2:14", + "nodeType": "VariableDeclaration", + "scope": 23816, + "src": "47783:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23794, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47783:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23797, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47800:2:14", + "nodeType": "VariableDeclaration", + "scope": 23816, + "src": "47792:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "47792:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23799, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47812:2:14", + "nodeType": "VariableDeclaration", + "scope": 23816, + "src": "47804:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47804:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23801, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47824:2:14", + "nodeType": "VariableDeclaration", + "scope": 23816, + "src": "47816:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23800, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47816:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "47782:45:14" + }, + "returnParameters": { + "id": 23803, + "nodeType": "ParameterList", + "parameters": [], + "src": "47842:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23839, + "nodeType": "FunctionDefinition", + "src": "47958:187:14", + "nodes": [], + "body": { + "id": 23838, + "nodeType": "Block", + "src": "48036:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629", + "id": 23830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48086:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0", + "typeString": "literal_string \"log(bool,string,uint256,uint256)\"" + }, + "value": "log(bool,string,uint256,uint256)" + }, + { + "id": 23831, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23818, + "src": "48122:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23832, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23820, + "src": "48126:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23833, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23822, + "src": "48130:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23834, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23824, + "src": "48134:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0", + "typeString": "literal_string \"log(bool,string,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23828, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48062:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48066:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48062:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48062:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23827, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "48046:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48046:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23837, + "nodeType": "ExpressionStatement", + "src": "48046:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47967:3:14", + "parameters": { + "id": 23825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23818, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47976:2:14", + "nodeType": "VariableDeclaration", + "scope": 23839, + "src": "47971:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23817, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47971:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23820, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47994:2:14", + "nodeType": "VariableDeclaration", + "scope": 23839, + "src": "47980:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23819, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47980:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23822, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48006:2:14", + "nodeType": "VariableDeclaration", + "scope": 23839, + "src": "47998:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23821, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "47998:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23824, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48018:2:14", + "nodeType": "VariableDeclaration", + "scope": 23839, + "src": "48010:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23823, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "48010:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "47970:51:14" + }, + "returnParameters": { + "id": 23826, + "nodeType": "ParameterList", + "parameters": [], + "src": "48036:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23862, + "nodeType": "FunctionDefinition", + "src": "48151:192:14", + "nodes": [], + "body": { + "id": 23861, + "nodeType": "Block", + "src": "48235:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729", + "id": 23853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48285:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d", + "typeString": "literal_string \"log(bool,string,uint256,string)\"" + }, + "value": "log(bool,string,uint256,string)" + }, + { + "id": 23854, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23841, + "src": "48320:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23855, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23843, + "src": "48324:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23856, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23845, + "src": "48328:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23857, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23847, + "src": "48332:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d", + "typeString": "literal_string \"log(bool,string,uint256,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23851, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48261:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48265:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48261:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48261:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23850, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "48245:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48245:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23860, + "nodeType": "ExpressionStatement", + "src": "48245:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48160:3:14", + "parameters": { + "id": 23848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23841, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48169:2:14", + "nodeType": "VariableDeclaration", + "scope": 23862, + "src": "48164:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23840, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48164:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23843, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48187:2:14", + "nodeType": "VariableDeclaration", + "scope": 23862, + "src": "48173:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23842, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48173:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23845, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48199:2:14", + "nodeType": "VariableDeclaration", + "scope": 23862, + "src": "48191:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23844, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "48191:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23847, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48217:2:14", + "nodeType": "VariableDeclaration", + "scope": 23862, + "src": "48203:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23846, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48203:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "48163:57:14" + }, + "returnParameters": { + "id": 23849, + "nodeType": "ParameterList", + "parameters": [], + "src": "48235:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23885, + "nodeType": "FunctionDefinition", + "src": "48349:181:14", + "nodes": [], + "body": { + "id": 23884, + "nodeType": "Block", + "src": "48424:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29", + "id": 23876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48474:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411", + "typeString": "literal_string \"log(bool,string,uint256,bool)\"" + }, + "value": "log(bool,string,uint256,bool)" + }, + { + "id": 23877, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23864, + "src": "48507:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23878, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23866, + "src": "48511:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23879, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23868, + "src": "48515:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23880, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23870, + "src": "48519:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411", + "typeString": "literal_string \"log(bool,string,uint256,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23874, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48450:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48454:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48450:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48450:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23873, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "48434:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48434:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23883, + "nodeType": "ExpressionStatement", + "src": "48434:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48358:3:14", + "parameters": { + "id": 23871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23864, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48367:2:14", + "nodeType": "VariableDeclaration", + "scope": 23885, + "src": "48362:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23863, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48362:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23866, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48385:2:14", + "nodeType": "VariableDeclaration", + "scope": 23885, + "src": "48371:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23865, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48371:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23868, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48397:2:14", + "nodeType": "VariableDeclaration", + "scope": 23885, + "src": "48389:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "48389:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23870, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48406:2:14", + "nodeType": "VariableDeclaration", + "scope": 23885, + "src": "48401:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23869, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48401:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "48361:48:14" + }, + "returnParameters": { + "id": 23872, + "nodeType": "ParameterList", + "parameters": [], + "src": "48424:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23908, + "nodeType": "FunctionDefinition", + "src": "48536:187:14", + "nodes": [], + "body": { + "id": 23907, + "nodeType": "Block", + "src": "48614:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329", + "id": 23899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48664:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056", + "typeString": "literal_string \"log(bool,string,uint256,address)\"" + }, + "value": "log(bool,string,uint256,address)" + }, + { + "id": 23900, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23887, + "src": "48700:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23901, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23889, + "src": "48704:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23902, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23891, + "src": "48708:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 23903, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23893, + "src": "48712:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056", + "typeString": "literal_string \"log(bool,string,uint256,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23897, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48640:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48644:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48640:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48640:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23896, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "48624:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48624:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23906, + "nodeType": "ExpressionStatement", + "src": "48624:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48545:3:14", + "parameters": { + "id": 23894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23887, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48554:2:14", + "nodeType": "VariableDeclaration", + "scope": 23908, + "src": "48549:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23886, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48549:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23889, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48572:2:14", + "nodeType": "VariableDeclaration", + "scope": 23908, + "src": "48558:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23888, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48558:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23891, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48584:2:14", + "nodeType": "VariableDeclaration", + "scope": 23908, + "src": "48576:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "48576:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23893, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48596:2:14", + "nodeType": "VariableDeclaration", + "scope": 23908, + "src": "48588:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23892, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48588:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "48548:51:14" + }, + "returnParameters": { + "id": 23895, + "nodeType": "ParameterList", + "parameters": [], + "src": "48614:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23931, + "nodeType": "FunctionDefinition", + "src": "48729:192:14", + "nodes": [], + "body": { + "id": 23930, + "nodeType": "Block", + "src": "48813:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629", + "id": 23922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48863:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2", + "typeString": "literal_string \"log(bool,string,string,uint256)\"" + }, + "value": "log(bool,string,string,uint256)" + }, + { + "id": 23923, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23910, + "src": "48898:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23924, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23912, + "src": "48902:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23925, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23914, + "src": "48906:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23926, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23916, + "src": "48910:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2", + "typeString": "literal_string \"log(bool,string,string,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 23920, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48839:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "48843:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48839:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48839:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23919, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "48823:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "48823:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23929, + "nodeType": "ExpressionStatement", + "src": "48823:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48738:3:14", + "parameters": { + "id": 23917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23910, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48747:2:14", + "nodeType": "VariableDeclaration", + "scope": 23931, + "src": "48742:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23909, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48742:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23912, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48765:2:14", + "nodeType": "VariableDeclaration", + "scope": 23931, + "src": "48751:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23911, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48751:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23914, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48783:2:14", + "nodeType": "VariableDeclaration", + "scope": 23931, + "src": "48769:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23913, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48769:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23916, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48795:2:14", + "nodeType": "VariableDeclaration", + "scope": 23931, + "src": "48787:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "48787:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "48741:57:14" + }, + "returnParameters": { + "id": 23918, + "nodeType": "ParameterList", + "parameters": [], + "src": "48813:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23954, + "nodeType": "FunctionDefinition", + "src": "48927:197:14", + "nodes": [], + "body": { + "id": 23953, + "nodeType": "Block", + "src": "49017:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729", + "id": 23945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49067:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9", + "typeString": "literal_string \"log(bool,string,string,string)\"" + }, + "value": "log(bool,string,string,string)" + }, + { + "id": 23946, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23933, + "src": "49101:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23947, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23935, + "src": "49105:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23948, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23937, + "src": "49109:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23949, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23939, + "src": "49113:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9", + "typeString": "literal_string \"log(bool,string,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 23943, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49043:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49047:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49043:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49043:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23942, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "49027:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49027:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23952, + "nodeType": "ExpressionStatement", + "src": "49027:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48936:3:14", + "parameters": { + "id": 23940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23933, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48945:2:14", + "nodeType": "VariableDeclaration", + "scope": 23954, + "src": "48940:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23932, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48940:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23935, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48963:2:14", + "nodeType": "VariableDeclaration", + "scope": 23954, + "src": "48949:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23934, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48949:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23937, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48981:2:14", + "nodeType": "VariableDeclaration", + "scope": 23954, + "src": "48967:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23936, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48967:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23939, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48999:2:14", + "nodeType": "VariableDeclaration", + "scope": 23954, + "src": "48985:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23938, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48985:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "48939:63:14" + }, + "returnParameters": { + "id": 23941, + "nodeType": "ParameterList", + "parameters": [], + "src": "49017:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 23977, + "nodeType": "FunctionDefinition", + "src": "49130:186:14", + "nodes": [], + "body": { + "id": 23976, + "nodeType": "Block", + "src": "49211:105:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29", + "id": 23968, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49261:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1", + "typeString": "literal_string \"log(bool,string,string,bool)\"" + }, + "value": "log(bool,string,string,bool)" + }, + { + "id": 23969, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23956, + "src": "49293:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23970, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23958, + "src": "49297:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23971, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23960, + "src": "49301:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23972, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23962, + "src": "49305:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1", + "typeString": "literal_string \"log(bool,string,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 23966, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49237:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49241:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49237:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49237:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23965, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "49221:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49221:88:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23975, + "nodeType": "ExpressionStatement", + "src": "49221:88:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49139:3:14", + "parameters": { + "id": 23963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23956, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49148:2:14", + "nodeType": "VariableDeclaration", + "scope": 23977, + "src": "49143:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23955, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49143:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23958, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49166:2:14", + "nodeType": "VariableDeclaration", + "scope": 23977, + "src": "49152:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23957, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49152:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23960, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49184:2:14", + "nodeType": "VariableDeclaration", + "scope": 23977, + "src": "49170:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23959, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49170:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23962, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49193:2:14", + "nodeType": "VariableDeclaration", + "scope": 23977, + "src": "49188:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23961, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49188:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "49142:54:14" + }, + "returnParameters": { + "id": 23964, + "nodeType": "ParameterList", + "parameters": [], + "src": "49211:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24000, + "nodeType": "FunctionDefinition", + "src": "49322:192:14", + "nodes": [], + "body": { + "id": 23999, + "nodeType": "Block", + "src": "49406:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329", + "id": 23991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49456:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5", + "typeString": "literal_string \"log(bool,string,string,address)\"" + }, + "value": "log(bool,string,string,address)" + }, + { + "id": 23992, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23979, + "src": "49491:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 23993, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23981, + "src": "49495:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23994, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23983, + "src": "49499:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 23995, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23985, + "src": "49503:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5", + "typeString": "literal_string \"log(bool,string,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 23989, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49432:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 23990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49436:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49432:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 23996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49432:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 23988, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "49416:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 23997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49416:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23998, + "nodeType": "ExpressionStatement", + "src": "49416:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49331:3:14", + "parameters": { + "id": 23986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23979, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49340:2:14", + "nodeType": "VariableDeclaration", + "scope": 24000, + "src": "49335:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23978, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49335:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23981, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49358:2:14", + "nodeType": "VariableDeclaration", + "scope": 24000, + "src": "49344:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23980, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49344:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23983, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49376:2:14", + "nodeType": "VariableDeclaration", + "scope": 24000, + "src": "49362:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 23982, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49362:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 23985, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49388:2:14", + "nodeType": "VariableDeclaration", + "scope": 24000, + "src": "49380:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23984, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49380:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "49334:57:14" + }, + "returnParameters": { + "id": 23987, + "nodeType": "ParameterList", + "parameters": [], + "src": "49406:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24023, + "nodeType": "FunctionDefinition", + "src": "49520:181:14", + "nodes": [], + "body": { + "id": 24022, + "nodeType": "Block", + "src": "49595:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629", + "id": 24014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49645:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937", + "typeString": "literal_string \"log(bool,string,bool,uint256)\"" + }, + "value": "log(bool,string,bool,uint256)" + }, + { + "id": 24015, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24002, + "src": "49678:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24016, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24004, + "src": "49682:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24017, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24006, + "src": "49686:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24018, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24008, + "src": "49690:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937", + "typeString": "literal_string \"log(bool,string,bool,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24012, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49621:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49625:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49621:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49621:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24011, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "49605:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49605:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24021, + "nodeType": "ExpressionStatement", + "src": "49605:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49529:3:14", + "parameters": { + "id": 24009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24002, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49538:2:14", + "nodeType": "VariableDeclaration", + "scope": 24023, + "src": "49533:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24001, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49533:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24004, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49556:2:14", + "nodeType": "VariableDeclaration", + "scope": 24023, + "src": "49542:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24003, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49542:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24006, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49565:2:14", + "nodeType": "VariableDeclaration", + "scope": 24023, + "src": "49560:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24005, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49560:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24008, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49577:2:14", + "nodeType": "VariableDeclaration", + "scope": 24023, + "src": "49569:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "49569:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "49532:48:14" + }, + "returnParameters": { + "id": 24010, + "nodeType": "ParameterList", + "parameters": [], + "src": "49595:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24046, + "nodeType": "FunctionDefinition", + "src": "49707:186:14", + "nodes": [], + "body": { + "id": 24045, + "nodeType": "Block", + "src": "49788:105:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729", + "id": 24037, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49838:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468", + "typeString": "literal_string \"log(bool,string,bool,string)\"" + }, + "value": "log(bool,string,bool,string)" + }, + { + "id": 24038, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24025, + "src": "49870:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24039, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24027, + "src": "49874:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24040, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24029, + "src": "49878:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24041, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24031, + "src": "49882:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468", + "typeString": "literal_string \"log(bool,string,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24035, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49814:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "49818:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49814:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49814:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24034, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "49798:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49798:88:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24044, + "nodeType": "ExpressionStatement", + "src": "49798:88:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49716:3:14", + "parameters": { + "id": 24032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24025, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49725:2:14", + "nodeType": "VariableDeclaration", + "scope": 24046, + "src": "49720:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24024, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49720:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24027, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49743:2:14", + "nodeType": "VariableDeclaration", + "scope": 24046, + "src": "49729:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24026, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49729:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24029, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49752:2:14", + "nodeType": "VariableDeclaration", + "scope": 24046, + "src": "49747:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24028, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49747:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24031, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49770:2:14", + "nodeType": "VariableDeclaration", + "scope": 24046, + "src": "49756:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24030, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49756:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "49719:54:14" + }, + "returnParameters": { + "id": 24033, + "nodeType": "ParameterList", + "parameters": [], + "src": "49788:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24069, + "nodeType": "FunctionDefinition", + "src": "49899:175:14", + "nodes": [], + "body": { + "id": 24068, + "nodeType": "Block", + "src": "49971:103:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29", + "id": 24060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50021:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f", + "typeString": "literal_string \"log(bool,string,bool,bool)\"" + }, + "value": "log(bool,string,bool,bool)" + }, + { + "id": 24061, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24048, + "src": "50051:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24062, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24050, + "src": "50055:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24063, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24052, + "src": "50059:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24064, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24054, + "src": "50063:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f", + "typeString": "literal_string \"log(bool,string,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24058, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49997:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24059, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50001:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49997:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49997:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24057, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "49981:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "49981:86:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24067, + "nodeType": "ExpressionStatement", + "src": "49981:86:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49908:3:14", + "parameters": { + "id": 24055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24048, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49917:2:14", + "nodeType": "VariableDeclaration", + "scope": 24069, + "src": "49912:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24047, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49912:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24050, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49935:2:14", + "nodeType": "VariableDeclaration", + "scope": 24069, + "src": "49921:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24049, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49921:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24052, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49944:2:14", + "nodeType": "VariableDeclaration", + "scope": 24069, + "src": "49939:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24051, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49939:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24054, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49953:2:14", + "nodeType": "VariableDeclaration", + "scope": 24069, + "src": "49948:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24053, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49948:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "49911:45:14" + }, + "returnParameters": { + "id": 24056, + "nodeType": "ParameterList", + "parameters": [], + "src": "49971:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24092, + "nodeType": "FunctionDefinition", + "src": "50080:181:14", + "nodes": [], + "body": { + "id": 24091, + "nodeType": "Block", + "src": "50155:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329", + "id": 24083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50205:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5", + "typeString": "literal_string \"log(bool,string,bool,address)\"" + }, + "value": "log(bool,string,bool,address)" + }, + { + "id": 24084, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24071, + "src": "50238:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24085, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24073, + "src": "50242:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24086, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24075, + "src": "50246:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24087, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24077, + "src": "50250:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5", + "typeString": "literal_string \"log(bool,string,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24081, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50181:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50185:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50181:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50181:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24080, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "50165:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50165:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24090, + "nodeType": "ExpressionStatement", + "src": "50165:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50089:3:14", + "parameters": { + "id": 24078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24071, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50098:2:14", + "nodeType": "VariableDeclaration", + "scope": 24092, + "src": "50093:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24070, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50093:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24073, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50116:2:14", + "nodeType": "VariableDeclaration", + "scope": 24092, + "src": "50102:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24072, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50102:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24075, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50125:2:14", + "nodeType": "VariableDeclaration", + "scope": 24092, + "src": "50120:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24074, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50120:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24077, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50137:2:14", + "nodeType": "VariableDeclaration", + "scope": 24092, + "src": "50129:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24076, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50129:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "50092:48:14" + }, + "returnParameters": { + "id": 24079, + "nodeType": "ParameterList", + "parameters": [], + "src": "50155:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24115, + "nodeType": "FunctionDefinition", + "src": "50267:187:14", + "nodes": [], + "body": { + "id": 24114, + "nodeType": "Block", + "src": "50345:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629", + "id": 24106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50395:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218", + "typeString": "literal_string \"log(bool,string,address,uint256)\"" + }, + "value": "log(bool,string,address,uint256)" + }, + { + "id": 24107, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24094, + "src": "50431:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24108, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24096, + "src": "50435:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24109, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24098, + "src": "50439:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24110, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24100, + "src": "50443:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218", + "typeString": "literal_string \"log(bool,string,address,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24104, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50371:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50375:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50371:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50371:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24103, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "50355:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50355:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24113, + "nodeType": "ExpressionStatement", + "src": "50355:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50276:3:14", + "parameters": { + "id": 24101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24094, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50285:2:14", + "nodeType": "VariableDeclaration", + "scope": 24115, + "src": "50280:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24093, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50280:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24096, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50303:2:14", + "nodeType": "VariableDeclaration", + "scope": 24115, + "src": "50289:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24095, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50289:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24098, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50315:2:14", + "nodeType": "VariableDeclaration", + "scope": 24115, + "src": "50307:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50307:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24100, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50327:2:14", + "nodeType": "VariableDeclaration", + "scope": 24115, + "src": "50319:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24099, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "50319:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "50279:51:14" + }, + "returnParameters": { + "id": 24102, + "nodeType": "ParameterList", + "parameters": [], + "src": "50345:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24138, + "nodeType": "FunctionDefinition", + "src": "50460:192:14", + "nodes": [], + "body": { + "id": 24137, + "nodeType": "Block", + "src": "50544:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729", + "id": 24129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50594:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7", + "typeString": "literal_string \"log(bool,string,address,string)\"" + }, + "value": "log(bool,string,address,string)" + }, + { + "id": 24130, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24117, + "src": "50629:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24131, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24119, + "src": "50633:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24132, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24121, + "src": "50637:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24133, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24123, + "src": "50641:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7", + "typeString": "literal_string \"log(bool,string,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24127, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50570:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50574:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50570:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50570:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24126, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "50554:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50554:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24136, + "nodeType": "ExpressionStatement", + "src": "50554:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50469:3:14", + "parameters": { + "id": 24124, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24117, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50478:2:14", + "nodeType": "VariableDeclaration", + "scope": 24138, + "src": "50473:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24116, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50473:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24119, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50496:2:14", + "nodeType": "VariableDeclaration", + "scope": 24138, + "src": "50482:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24118, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50482:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24121, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50508:2:14", + "nodeType": "VariableDeclaration", + "scope": 24138, + "src": "50500:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50500:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24123, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50526:2:14", + "nodeType": "VariableDeclaration", + "scope": 24138, + "src": "50512:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24122, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50512:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "50472:57:14" + }, + "returnParameters": { + "id": 24125, + "nodeType": "ParameterList", + "parameters": [], + "src": "50544:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24161, + "nodeType": "FunctionDefinition", + "src": "50658:181:14", + "nodes": [], + "body": { + "id": 24160, + "nodeType": "Block", + "src": "50733:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29", + "id": 24152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50783:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d", + "typeString": "literal_string \"log(bool,string,address,bool)\"" + }, + "value": "log(bool,string,address,bool)" + }, + { + "id": 24153, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24140, + "src": "50816:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24154, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24142, + "src": "50820:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24155, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24144, + "src": "50824:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24156, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24146, + "src": "50828:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d", + "typeString": "literal_string \"log(bool,string,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24150, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50759:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50763:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50759:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50759:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24149, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "50743:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50743:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24159, + "nodeType": "ExpressionStatement", + "src": "50743:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50667:3:14", + "parameters": { + "id": 24147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24140, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50676:2:14", + "nodeType": "VariableDeclaration", + "scope": 24161, + "src": "50671:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24139, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50671:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24142, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50694:2:14", + "nodeType": "VariableDeclaration", + "scope": 24161, + "src": "50680:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24141, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50680:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24144, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50706:2:14", + "nodeType": "VariableDeclaration", + "scope": 24161, + "src": "50698:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50698:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24146, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50715:2:14", + "nodeType": "VariableDeclaration", + "scope": 24161, + "src": "50710:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24145, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50710:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "50670:48:14" + }, + "returnParameters": { + "id": 24148, + "nodeType": "ParameterList", + "parameters": [], + "src": "50733:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24184, + "nodeType": "FunctionDefinition", + "src": "50845:187:14", + "nodes": [], + "body": { + "id": 24183, + "nodeType": "Block", + "src": "50923:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329", + "id": 24175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50973:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822", + "typeString": "literal_string \"log(bool,string,address,address)\"" + }, + "value": "log(bool,string,address,address)" + }, + { + "id": 24176, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24163, + "src": "51009:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24177, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24165, + "src": "51013:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24178, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24167, + "src": "51017:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24179, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24169, + "src": "51021:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822", + "typeString": "literal_string \"log(bool,string,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24173, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50949:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "50953:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50949:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50949:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24172, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "50933:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "50933:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24182, + "nodeType": "ExpressionStatement", + "src": "50933:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50854:3:14", + "parameters": { + "id": 24170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24163, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50863:2:14", + "nodeType": "VariableDeclaration", + "scope": 24184, + "src": "50858:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24162, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50858:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24165, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50881:2:14", + "nodeType": "VariableDeclaration", + "scope": 24184, + "src": "50867:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24164, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50867:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24167, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50893:2:14", + "nodeType": "VariableDeclaration", + "scope": 24184, + "src": "50885:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50885:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24169, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50905:2:14", + "nodeType": "VariableDeclaration", + "scope": 24184, + "src": "50897:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24168, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50897:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "50857:51:14" + }, + "returnParameters": { + "id": 24171, + "nodeType": "ParameterList", + "parameters": [], + "src": "50923:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24207, + "nodeType": "FunctionDefinition", + "src": "51038:176:14", + "nodes": [], + "body": { + "id": 24206, + "nodeType": "Block", + "src": "51107:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629", + "id": 24198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51157:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34", + "typeString": "literal_string \"log(bool,bool,uint256,uint256)\"" + }, + "value": "log(bool,bool,uint256,uint256)" + }, + { + "id": 24199, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24186, + "src": "51191:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24200, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24188, + "src": "51195:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24201, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24190, + "src": "51199:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24202, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24192, + "src": "51203:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34", + "typeString": "literal_string \"log(bool,bool,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24196, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51133:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51137:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51133:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51133:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24195, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "51117:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51117:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24205, + "nodeType": "ExpressionStatement", + "src": "51117:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51047:3:14", + "parameters": { + "id": 24193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24186, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51056:2:14", + "nodeType": "VariableDeclaration", + "scope": 24207, + "src": "51051:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24185, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51051:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24188, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51065:2:14", + "nodeType": "VariableDeclaration", + "scope": 24207, + "src": "51060:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24187, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51060:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24190, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51077:2:14", + "nodeType": "VariableDeclaration", + "scope": 24207, + "src": "51069:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "51069:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24192, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51089:2:14", + "nodeType": "VariableDeclaration", + "scope": 24207, + "src": "51081:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "51081:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "51050:42:14" + }, + "returnParameters": { + "id": 24194, + "nodeType": "ParameterList", + "parameters": [], + "src": "51107:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24230, + "nodeType": "FunctionDefinition", + "src": "51220:181:14", + "nodes": [], + "body": { + "id": 24229, + "nodeType": "Block", + "src": "51295:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729", + "id": 24221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51345:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf", + "typeString": "literal_string \"log(bool,bool,uint256,string)\"" + }, + "value": "log(bool,bool,uint256,string)" + }, + { + "id": 24222, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24209, + "src": "51378:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24223, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24211, + "src": "51382:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24224, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24213, + "src": "51386:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24225, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24215, + "src": "51390:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf", + "typeString": "literal_string \"log(bool,bool,uint256,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24219, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51321:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51325:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51321:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51321:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24218, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "51305:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51305:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24228, + "nodeType": "ExpressionStatement", + "src": "51305:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51229:3:14", + "parameters": { + "id": 24216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24209, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51238:2:14", + "nodeType": "VariableDeclaration", + "scope": 24230, + "src": "51233:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24208, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51233:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24211, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51247:2:14", + "nodeType": "VariableDeclaration", + "scope": 24230, + "src": "51242:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24210, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51242:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24213, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51259:2:14", + "nodeType": "VariableDeclaration", + "scope": 24230, + "src": "51251:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24212, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "51251:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24215, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51277:2:14", + "nodeType": "VariableDeclaration", + "scope": 24230, + "src": "51263:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24214, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51263:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "51232:48:14" + }, + "returnParameters": { + "id": 24217, + "nodeType": "ParameterList", + "parameters": [], + "src": "51295:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24253, + "nodeType": "FunctionDefinition", + "src": "51407:170:14", + "nodes": [], + "body": { + "id": 24252, + "nodeType": "Block", + "src": "51473:104:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29", + "id": 24244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51523:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842", + "typeString": "literal_string \"log(bool,bool,uint256,bool)\"" + }, + "value": "log(bool,bool,uint256,bool)" + }, + { + "id": 24245, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24232, + "src": "51554:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24246, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24234, + "src": "51558:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24247, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24236, + "src": "51562:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24248, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24238, + "src": "51566:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842", + "typeString": "literal_string \"log(bool,bool,uint256,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24242, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51499:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51503:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51499:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51499:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24241, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "51483:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51483:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24251, + "nodeType": "ExpressionStatement", + "src": "51483:87:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51416:3:14", + "parameters": { + "id": 24239, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24232, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51425:2:14", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "51420:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24231, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51420:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24234, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51434:2:14", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "51429:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24233, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51429:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24236, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51446:2:14", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "51438:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24235, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "51438:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24238, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51455:2:14", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "51450:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24237, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51450:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "51419:39:14" + }, + "returnParameters": { + "id": 24240, + "nodeType": "ParameterList", + "parameters": [], + "src": "51473:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24276, + "nodeType": "FunctionDefinition", + "src": "51583:176:14", + "nodes": [], + "body": { + "id": 24275, + "nodeType": "Block", + "src": "51652:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329", + "id": 24267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51702:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9", + "typeString": "literal_string \"log(bool,bool,uint256,address)\"" + }, + "value": "log(bool,bool,uint256,address)" + }, + { + "id": 24268, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24255, + "src": "51736:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24269, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24257, + "src": "51740:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24270, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24259, + "src": "51744:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24271, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24261, + "src": "51748:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9", + "typeString": "literal_string \"log(bool,bool,uint256,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24265, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51678:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51682:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51678:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51678:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24264, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "51662:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51662:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24274, + "nodeType": "ExpressionStatement", + "src": "51662:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51592:3:14", + "parameters": { + "id": 24262, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24255, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51601:2:14", + "nodeType": "VariableDeclaration", + "scope": 24276, + "src": "51596:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24254, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51596:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24257, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51610:2:14", + "nodeType": "VariableDeclaration", + "scope": 24276, + "src": "51605:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24256, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51605:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24259, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51622:2:14", + "nodeType": "VariableDeclaration", + "scope": 24276, + "src": "51614:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24258, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "51614:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24261, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51634:2:14", + "nodeType": "VariableDeclaration", + "scope": 24276, + "src": "51626:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24260, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51626:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "51595:42:14" + }, + "returnParameters": { + "id": 24263, + "nodeType": "ParameterList", + "parameters": [], + "src": "51652:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24299, + "nodeType": "FunctionDefinition", + "src": "51765:181:14", + "nodes": [], + "body": { + "id": 24298, + "nodeType": "Block", + "src": "51840:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629", + "id": 24290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51890:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246", + "typeString": "literal_string \"log(bool,bool,string,uint256)\"" + }, + "value": "log(bool,bool,string,uint256)" + }, + { + "id": 24291, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24278, + "src": "51923:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24292, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24280, + "src": "51927:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24293, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24282, + "src": "51931:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24294, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24284, + "src": "51935:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246", + "typeString": "literal_string \"log(bool,bool,string,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24288, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51866:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "51870:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51866:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51866:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24287, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "51850:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "51850:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24297, + "nodeType": "ExpressionStatement", + "src": "51850:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51774:3:14", + "parameters": { + "id": 24285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24278, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51783:2:14", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "51778:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24277, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51778:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24280, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51792:2:14", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "51787:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24279, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51787:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24282, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51810:2:14", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "51796:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24281, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51796:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24284, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51822:2:14", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "51814:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "51814:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "51777:48:14" + }, + "returnParameters": { + "id": 24286, + "nodeType": "ParameterList", + "parameters": [], + "src": "51840:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24322, + "nodeType": "FunctionDefinition", + "src": "51952:186:14", + "nodes": [], + "body": { + "id": 24321, + "nodeType": "Block", + "src": "52033:105:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729", + "id": 24313, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52083:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf", + "typeString": "literal_string \"log(bool,bool,string,string)\"" + }, + "value": "log(bool,bool,string,string)" + }, + { + "id": 24314, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24301, + "src": "52115:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24315, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24303, + "src": "52119:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24316, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24305, + "src": "52123:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24317, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24307, + "src": "52127:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf", + "typeString": "literal_string \"log(bool,bool,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24311, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52059:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52063:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52059:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52059:71:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24310, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "52043:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52043:88:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24320, + "nodeType": "ExpressionStatement", + "src": "52043:88:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51961:3:14", + "parameters": { + "id": 24308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24301, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51970:2:14", + "nodeType": "VariableDeclaration", + "scope": 24322, + "src": "51965:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24300, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51965:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24303, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51979:2:14", + "nodeType": "VariableDeclaration", + "scope": 24322, + "src": "51974:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24302, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51974:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24305, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51997:2:14", + "nodeType": "VariableDeclaration", + "scope": 24322, + "src": "51983:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24304, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51983:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24307, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52015:2:14", + "nodeType": "VariableDeclaration", + "scope": 24322, + "src": "52001:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24306, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52001:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "51964:54:14" + }, + "returnParameters": { + "id": 24309, + "nodeType": "ParameterList", + "parameters": [], + "src": "52033:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24345, + "nodeType": "FunctionDefinition", + "src": "52144:175:14", + "nodes": [], + "body": { + "id": 24344, + "nodeType": "Block", + "src": "52216:103:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29", + "id": 24336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52266:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02", + "typeString": "literal_string \"log(bool,bool,string,bool)\"" + }, + "value": "log(bool,bool,string,bool)" + }, + { + "id": 24337, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24324, + "src": "52296:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24338, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24326, + "src": "52300:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24339, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24328, + "src": "52304:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24340, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24330, + "src": "52308:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02", + "typeString": "literal_string \"log(bool,bool,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24334, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52242:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52246:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52242:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52242:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24333, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "52226:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52226:86:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24343, + "nodeType": "ExpressionStatement", + "src": "52226:86:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52153:3:14", + "parameters": { + "id": 24331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24324, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52162:2:14", + "nodeType": "VariableDeclaration", + "scope": 24345, + "src": "52157:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24323, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52157:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24326, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52171:2:14", + "nodeType": "VariableDeclaration", + "scope": 24345, + "src": "52166:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24325, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52166:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24328, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52189:2:14", + "nodeType": "VariableDeclaration", + "scope": 24345, + "src": "52175:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24327, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52175:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24330, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52198:2:14", + "nodeType": "VariableDeclaration", + "scope": 24345, + "src": "52193:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24329, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52193:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "52156:45:14" + }, + "returnParameters": { + "id": 24332, + "nodeType": "ParameterList", + "parameters": [], + "src": "52216:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24368, + "nodeType": "FunctionDefinition", + "src": "52325:181:14", + "nodes": [], + "body": { + "id": 24367, + "nodeType": "Block", + "src": "52400:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329", + "id": 24359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52450:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202", + "typeString": "literal_string \"log(bool,bool,string,address)\"" + }, + "value": "log(bool,bool,string,address)" + }, + { + "id": 24360, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24347, + "src": "52483:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24361, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24349, + "src": "52487:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24362, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24351, + "src": "52491:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24363, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24353, + "src": "52495:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202", + "typeString": "literal_string \"log(bool,bool,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24357, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52426:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52430:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52426:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52426:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24356, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "52410:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52410:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24366, + "nodeType": "ExpressionStatement", + "src": "52410:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52334:3:14", + "parameters": { + "id": 24354, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24347, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52343:2:14", + "nodeType": "VariableDeclaration", + "scope": 24368, + "src": "52338:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24346, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52338:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24349, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52352:2:14", + "nodeType": "VariableDeclaration", + "scope": 24368, + "src": "52347:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24348, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52347:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24351, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52370:2:14", + "nodeType": "VariableDeclaration", + "scope": 24368, + "src": "52356:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24350, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52356:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24353, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52382:2:14", + "nodeType": "VariableDeclaration", + "scope": 24368, + "src": "52374:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24352, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52374:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "52337:48:14" + }, + "returnParameters": { + "id": 24355, + "nodeType": "ParameterList", + "parameters": [], + "src": "52400:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24391, + "nodeType": "FunctionDefinition", + "src": "52512:170:14", + "nodes": [], + "body": { + "id": 24390, + "nodeType": "Block", + "src": "52578:104:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629", + "id": 24382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52628:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c", + "typeString": "literal_string \"log(bool,bool,bool,uint256)\"" + }, + "value": "log(bool,bool,bool,uint256)" + }, + { + "id": 24383, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24370, + "src": "52659:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24384, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24372, + "src": "52663:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24385, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24374, + "src": "52667:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24386, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24376, + "src": "52671:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c", + "typeString": "literal_string \"log(bool,bool,bool,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24380, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52604:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52608:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52604:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52604:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24379, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "52588:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52588:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24389, + "nodeType": "ExpressionStatement", + "src": "52588:87:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52521:3:14", + "parameters": { + "id": 24377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24370, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52530:2:14", + "nodeType": "VariableDeclaration", + "scope": 24391, + "src": "52525:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24369, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52525:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24372, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52539:2:14", + "nodeType": "VariableDeclaration", + "scope": 24391, + "src": "52534:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24371, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52534:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24374, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52548:2:14", + "nodeType": "VariableDeclaration", + "scope": 24391, + "src": "52543:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24373, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52543:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24376, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52560:2:14", + "nodeType": "VariableDeclaration", + "scope": 24391, + "src": "52552:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24375, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "52552:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "52524:39:14" + }, + "returnParameters": { + "id": 24378, + "nodeType": "ParameterList", + "parameters": [], + "src": "52578:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24414, + "nodeType": "FunctionDefinition", + "src": "52688:175:14", + "nodes": [], + "body": { + "id": 24413, + "nodeType": "Block", + "src": "52760:103:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729", + "id": 24405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52810:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15", + "typeString": "literal_string \"log(bool,bool,bool,string)\"" + }, + "value": "log(bool,bool,bool,string)" + }, + { + "id": 24406, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24393, + "src": "52840:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24407, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24395, + "src": "52844:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24408, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24397, + "src": "52848:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24409, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24399, + "src": "52852:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15", + "typeString": "literal_string \"log(bool,bool,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24403, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52786:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52790:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52786:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52786:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24402, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "52770:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52770:86:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24412, + "nodeType": "ExpressionStatement", + "src": "52770:86:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52697:3:14", + "parameters": { + "id": 24400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24393, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52706:2:14", + "nodeType": "VariableDeclaration", + "scope": 24414, + "src": "52701:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24392, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52701:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24395, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52715:2:14", + "nodeType": "VariableDeclaration", + "scope": 24414, + "src": "52710:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24394, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52710:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24397, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52724:2:14", + "nodeType": "VariableDeclaration", + "scope": 24414, + "src": "52719:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24396, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52719:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24399, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52742:2:14", + "nodeType": "VariableDeclaration", + "scope": 24414, + "src": "52728:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24398, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52728:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "52700:45:14" + }, + "returnParameters": { + "id": 24401, + "nodeType": "ParameterList", + "parameters": [], + "src": "52760:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24437, + "nodeType": "FunctionDefinition", + "src": "52869:164:14", + "nodes": [], + "body": { + "id": 24436, + "nodeType": "Block", + "src": "52932:101:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 24428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52982:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f", + "typeString": "literal_string \"log(bool,bool,bool,bool)\"" + }, + "value": "log(bool,bool,bool,bool)" + }, + { + "id": 24429, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24416, + "src": "53010:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24430, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24418, + "src": "53014:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24431, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24420, + "src": "53018:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24432, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24422, + "src": "53022:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f", + "typeString": "literal_string \"log(bool,bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24426, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52958:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24427, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "52962:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52958:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52958:67:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24425, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "52942:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "52942:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24435, + "nodeType": "ExpressionStatement", + "src": "52942:84:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52878:3:14", + "parameters": { + "id": 24423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24416, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52887:2:14", + "nodeType": "VariableDeclaration", + "scope": 24437, + "src": "52882:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24415, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52882:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24418, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52896:2:14", + "nodeType": "VariableDeclaration", + "scope": 24437, + "src": "52891:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24417, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52891:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24420, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52905:2:14", + "nodeType": "VariableDeclaration", + "scope": 24437, + "src": "52900:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24419, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52900:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24422, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52914:2:14", + "nodeType": "VariableDeclaration", + "scope": 24437, + "src": "52909:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24421, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52909:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "52881:36:14" + }, + "returnParameters": { + "id": 24424, + "nodeType": "ParameterList", + "parameters": [], + "src": "52932:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24460, + "nodeType": "FunctionDefinition", + "src": "53039:170:14", + "nodes": [], + "body": { + "id": 24459, + "nodeType": "Block", + "src": "53105:104:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329", + "id": 24451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53155:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4", + "typeString": "literal_string \"log(bool,bool,bool,address)\"" + }, + "value": "log(bool,bool,bool,address)" + }, + { + "id": 24452, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24439, + "src": "53186:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24453, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24441, + "src": "53190:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24454, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24443, + "src": "53194:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24455, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24445, + "src": "53198:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4", + "typeString": "literal_string \"log(bool,bool,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24449, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53131:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53135:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53131:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53131:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24448, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "53115:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53115:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24458, + "nodeType": "ExpressionStatement", + "src": "53115:87:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53048:3:14", + "parameters": { + "id": 24446, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24439, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53057:2:14", + "nodeType": "VariableDeclaration", + "scope": 24460, + "src": "53052:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24438, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53052:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24441, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53066:2:14", + "nodeType": "VariableDeclaration", + "scope": 24460, + "src": "53061:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24440, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53061:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24443, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53075:2:14", + "nodeType": "VariableDeclaration", + "scope": 24460, + "src": "53070:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24442, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53070:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24445, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53087:2:14", + "nodeType": "VariableDeclaration", + "scope": 24460, + "src": "53079:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53079:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "53051:39:14" + }, + "returnParameters": { + "id": 24447, + "nodeType": "ParameterList", + "parameters": [], + "src": "53105:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24483, + "nodeType": "FunctionDefinition", + "src": "53215:176:14", + "nodes": [], + "body": { + "id": 24482, + "nodeType": "Block", + "src": "53284:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629", + "id": 24474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53334:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1", + "typeString": "literal_string \"log(bool,bool,address,uint256)\"" + }, + "value": "log(bool,bool,address,uint256)" + }, + { + "id": 24475, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24462, + "src": "53368:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24476, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24464, + "src": "53372:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24477, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24466, + "src": "53376:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24478, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24468, + "src": "53380:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1", + "typeString": "literal_string \"log(bool,bool,address,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24472, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53310:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53314:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53310:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53310:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24471, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "53294:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53294:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24481, + "nodeType": "ExpressionStatement", + "src": "53294:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53224:3:14", + "parameters": { + "id": 24469, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24462, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53233:2:14", + "nodeType": "VariableDeclaration", + "scope": 24483, + "src": "53228:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24461, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53228:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24464, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53242:2:14", + "nodeType": "VariableDeclaration", + "scope": 24483, + "src": "53237:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24463, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53237:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24466, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53254:2:14", + "nodeType": "VariableDeclaration", + "scope": 24483, + "src": "53246:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53246:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24468, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53266:2:14", + "nodeType": "VariableDeclaration", + "scope": 24483, + "src": "53258:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24467, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "53258:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "53227:42:14" + }, + "returnParameters": { + "id": 24470, + "nodeType": "ParameterList", + "parameters": [], + "src": "53284:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24506, + "nodeType": "FunctionDefinition", + "src": "53397:181:14", + "nodes": [], + "body": { + "id": 24505, + "nodeType": "Block", + "src": "53472:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729", + "id": 24497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53522:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2", + "typeString": "literal_string \"log(bool,bool,address,string)\"" + }, + "value": "log(bool,bool,address,string)" + }, + { + "id": 24498, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24485, + "src": "53555:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24499, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24487, + "src": "53559:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24500, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24489, + "src": "53563:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24501, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24491, + "src": "53567:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2", + "typeString": "literal_string \"log(bool,bool,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24495, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53498:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53502:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53498:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53498:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24494, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "53482:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53482:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24504, + "nodeType": "ExpressionStatement", + "src": "53482:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53406:3:14", + "parameters": { + "id": 24492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24485, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53415:2:14", + "nodeType": "VariableDeclaration", + "scope": 24506, + "src": "53410:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24484, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53410:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24487, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53424:2:14", + "nodeType": "VariableDeclaration", + "scope": 24506, + "src": "53419:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24486, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53419:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24489, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53436:2:14", + "nodeType": "VariableDeclaration", + "scope": 24506, + "src": "53428:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53428:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24491, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53454:2:14", + "nodeType": "VariableDeclaration", + "scope": 24506, + "src": "53440:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24490, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "53440:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "53409:48:14" + }, + "returnParameters": { + "id": 24493, + "nodeType": "ParameterList", + "parameters": [], + "src": "53472:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24529, + "nodeType": "FunctionDefinition", + "src": "53584:170:14", + "nodes": [], + "body": { + "id": 24528, + "nodeType": "Block", + "src": "53650:104:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29", + "id": 24520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53700:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf", + "typeString": "literal_string \"log(bool,bool,address,bool)\"" + }, + "value": "log(bool,bool,address,bool)" + }, + { + "id": 24521, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24508, + "src": "53731:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24522, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24510, + "src": "53735:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24523, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24512, + "src": "53739:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24524, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24514, + "src": "53743:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf", + "typeString": "literal_string \"log(bool,bool,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24518, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53676:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53680:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53676:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53676:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24517, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "53660:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53660:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24527, + "nodeType": "ExpressionStatement", + "src": "53660:87:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53593:3:14", + "parameters": { + "id": 24515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24508, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53602:2:14", + "nodeType": "VariableDeclaration", + "scope": 24529, + "src": "53597:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24507, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53597:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24510, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53611:2:14", + "nodeType": "VariableDeclaration", + "scope": 24529, + "src": "53606:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24509, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53606:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24512, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53623:2:14", + "nodeType": "VariableDeclaration", + "scope": 24529, + "src": "53615:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24511, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53615:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24514, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53632:2:14", + "nodeType": "VariableDeclaration", + "scope": 24529, + "src": "53627:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24513, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53627:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "53596:39:14" + }, + "returnParameters": { + "id": 24516, + "nodeType": "ParameterList", + "parameters": [], + "src": "53650:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24552, + "nodeType": "FunctionDefinition", + "src": "53760:176:14", + "nodes": [], + "body": { + "id": 24551, + "nodeType": "Block", + "src": "53829:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329", + "id": 24543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53879:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4", + "typeString": "literal_string \"log(bool,bool,address,address)\"" + }, + "value": "log(bool,bool,address,address)" + }, + { + "id": 24544, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24531, + "src": "53913:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24545, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24533, + "src": "53917:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24546, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24535, + "src": "53921:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24547, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24537, + "src": "53925:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4", + "typeString": "literal_string \"log(bool,bool,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24541, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53855:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "53859:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53855:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53855:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24540, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "53839:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "53839:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24550, + "nodeType": "ExpressionStatement", + "src": "53839:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53769:3:14", + "parameters": { + "id": 24538, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24531, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53778:2:14", + "nodeType": "VariableDeclaration", + "scope": 24552, + "src": "53773:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24530, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53773:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24533, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53787:2:14", + "nodeType": "VariableDeclaration", + "scope": 24552, + "src": "53782:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24532, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53782:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24535, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53799:2:14", + "nodeType": "VariableDeclaration", + "scope": 24552, + "src": "53791:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24534, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53791:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24537, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53811:2:14", + "nodeType": "VariableDeclaration", + "scope": 24552, + "src": "53803:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53803:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "53772:42:14" + }, + "returnParameters": { + "id": 24539, + "nodeType": "ParameterList", + "parameters": [], + "src": "53829:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24575, + "nodeType": "FunctionDefinition", + "src": "53942:182:14", + "nodes": [], + "body": { + "id": 24574, + "nodeType": "Block", + "src": "54014:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629", + "id": 24566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54064:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e", + "typeString": "literal_string \"log(bool,address,uint256,uint256)\"" + }, + "value": "log(bool,address,uint256,uint256)" + }, + { + "id": 24567, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24554, + "src": "54101:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24568, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24556, + "src": "54105:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24569, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24558, + "src": "54109:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24570, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24560, + "src": "54113:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e", + "typeString": "literal_string \"log(bool,address,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24564, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54040:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54044:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54040:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54040:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24563, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "54024:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54024:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24573, + "nodeType": "ExpressionStatement", + "src": "54024:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53951:3:14", + "parameters": { + "id": 24561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24554, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53960:2:14", + "nodeType": "VariableDeclaration", + "scope": 24575, + "src": "53955:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24553, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53955:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24556, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53972:2:14", + "nodeType": "VariableDeclaration", + "scope": 24575, + "src": "53964:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24555, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53964:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24558, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53984:2:14", + "nodeType": "VariableDeclaration", + "scope": 24575, + "src": "53976:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24557, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "53976:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24560, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53996:2:14", + "nodeType": "VariableDeclaration", + "scope": 24575, + "src": "53988:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24559, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "53988:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "53954:45:14" + }, + "returnParameters": { + "id": 24562, + "nodeType": "ParameterList", + "parameters": [], + "src": "54014:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24598, + "nodeType": "FunctionDefinition", + "src": "54130:187:14", + "nodes": [], + "body": { + "id": 24597, + "nodeType": "Block", + "src": "54208:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729", + "id": 24589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54258:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7", + "typeString": "literal_string \"log(bool,address,uint256,string)\"" + }, + "value": "log(bool,address,uint256,string)" + }, + { + "id": 24590, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24577, + "src": "54294:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24591, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24579, + "src": "54298:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24592, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24581, + "src": "54302:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24593, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24583, + "src": "54306:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7", + "typeString": "literal_string \"log(bool,address,uint256,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24587, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54234:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54238:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54234:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54234:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24586, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "54218:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54218:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24596, + "nodeType": "ExpressionStatement", + "src": "54218:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54139:3:14", + "parameters": { + "id": 24584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24577, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54148:2:14", + "nodeType": "VariableDeclaration", + "scope": 24598, + "src": "54143:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24576, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54143:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24579, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54160:2:14", + "nodeType": "VariableDeclaration", + "scope": 24598, + "src": "54152:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24578, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54152:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24581, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54172:2:14", + "nodeType": "VariableDeclaration", + "scope": 24598, + "src": "54164:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "54164:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24583, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54190:2:14", + "nodeType": "VariableDeclaration", + "scope": 24598, + "src": "54176:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24582, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54176:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "54142:51:14" + }, + "returnParameters": { + "id": 24585, + "nodeType": "ParameterList", + "parameters": [], + "src": "54208:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24621, + "nodeType": "FunctionDefinition", + "src": "54323:176:14", + "nodes": [], + "body": { + "id": 24620, + "nodeType": "Block", + "src": "54392:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29", + "id": 24612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54442:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958", + "typeString": "literal_string \"log(bool,address,uint256,bool)\"" + }, + "value": "log(bool,address,uint256,bool)" + }, + { + "id": 24613, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24600, + "src": "54476:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24614, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24602, + "src": "54480:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24615, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24604, + "src": "54484:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24616, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24606, + "src": "54488:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958", + "typeString": "literal_string \"log(bool,address,uint256,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24610, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54418:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54422:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54418:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54418:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24609, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "54402:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54402:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24619, + "nodeType": "ExpressionStatement", + "src": "54402:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54332:3:14", + "parameters": { + "id": 24607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24600, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54341:2:14", + "nodeType": "VariableDeclaration", + "scope": 24621, + "src": "54336:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24599, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54336:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24602, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54353:2:14", + "nodeType": "VariableDeclaration", + "scope": 24621, + "src": "54345:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24601, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54345:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24604, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54365:2:14", + "nodeType": "VariableDeclaration", + "scope": 24621, + "src": "54357:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "54357:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24606, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54374:2:14", + "nodeType": "VariableDeclaration", + "scope": 24621, + "src": "54369:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24605, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54369:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "54335:42:14" + }, + "returnParameters": { + "id": 24608, + "nodeType": "ParameterList", + "parameters": [], + "src": "54392:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24644, + "nodeType": "FunctionDefinition", + "src": "54505:182:14", + "nodes": [], + "body": { + "id": 24643, + "nodeType": "Block", + "src": "54577:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329", + "id": 24635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54627:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd", + "typeString": "literal_string \"log(bool,address,uint256,address)\"" + }, + "value": "log(bool,address,uint256,address)" + }, + { + "id": 24636, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24623, + "src": "54664:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24637, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24625, + "src": "54668:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24638, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24627, + "src": "54672:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24639, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24629, + "src": "54676:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd", + "typeString": "literal_string \"log(bool,address,uint256,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24633, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54603:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54607:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54603:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54603:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24632, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "54587:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54587:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24642, + "nodeType": "ExpressionStatement", + "src": "54587:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54514:3:14", + "parameters": { + "id": 24630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24623, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54523:2:14", + "nodeType": "VariableDeclaration", + "scope": 24644, + "src": "54518:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24622, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54518:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24625, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54535:2:14", + "nodeType": "VariableDeclaration", + "scope": 24644, + "src": "54527:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54527:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24627, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54547:2:14", + "nodeType": "VariableDeclaration", + "scope": 24644, + "src": "54539:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "54539:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24629, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54559:2:14", + "nodeType": "VariableDeclaration", + "scope": 24644, + "src": "54551:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24628, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54551:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "54517:45:14" + }, + "returnParameters": { + "id": 24631, + "nodeType": "ParameterList", + "parameters": [], + "src": "54577:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24667, + "nodeType": "FunctionDefinition", + "src": "54693:187:14", + "nodes": [], + "body": { + "id": 24666, + "nodeType": "Block", + "src": "54771:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629", + "id": 24658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54821:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d", + "typeString": "literal_string \"log(bool,address,string,uint256)\"" + }, + "value": "log(bool,address,string,uint256)" + }, + { + "id": 24659, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24646, + "src": "54857:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24660, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24648, + "src": "54861:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24661, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24650, + "src": "54865:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24662, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24652, + "src": "54869:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d", + "typeString": "literal_string \"log(bool,address,string,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24656, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54797:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "54801:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54797:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54797:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24655, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "54781:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54781:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24665, + "nodeType": "ExpressionStatement", + "src": "54781:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54702:3:14", + "parameters": { + "id": 24653, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24646, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54711:2:14", + "nodeType": "VariableDeclaration", + "scope": 24667, + "src": "54706:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24645, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54706:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24648, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54723:2:14", + "nodeType": "VariableDeclaration", + "scope": 24667, + "src": "54715:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24647, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54715:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24650, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54741:2:14", + "nodeType": "VariableDeclaration", + "scope": 24667, + "src": "54727:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24649, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54727:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24652, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54753:2:14", + "nodeType": "VariableDeclaration", + "scope": 24667, + "src": "54745:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24651, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "54745:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "54705:51:14" + }, + "returnParameters": { + "id": 24654, + "nodeType": "ParameterList", + "parameters": [], + "src": "54771:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24690, + "nodeType": "FunctionDefinition", + "src": "54886:192:14", + "nodes": [], + "body": { + "id": 24689, + "nodeType": "Block", + "src": "54970:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729", + "id": 24681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55020:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d", + "typeString": "literal_string \"log(bool,address,string,string)\"" + }, + "value": "log(bool,address,string,string)" + }, + { + "id": 24682, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24669, + "src": "55055:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24683, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24671, + "src": "55059:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24684, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24673, + "src": "55063:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24685, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24675, + "src": "55067:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d", + "typeString": "literal_string \"log(bool,address,string,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24679, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54996:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55000:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54996:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54996:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24678, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "54980:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "54980:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24688, + "nodeType": "ExpressionStatement", + "src": "54980:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54895:3:14", + "parameters": { + "id": 24676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24669, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54904:2:14", + "nodeType": "VariableDeclaration", + "scope": 24690, + "src": "54899:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24668, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54899:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24671, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54916:2:14", + "nodeType": "VariableDeclaration", + "scope": 24690, + "src": "54908:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24670, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54908:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24673, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54934:2:14", + "nodeType": "VariableDeclaration", + "scope": 24690, + "src": "54920:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24672, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54920:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24675, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54952:2:14", + "nodeType": "VariableDeclaration", + "scope": 24690, + "src": "54938:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24674, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54938:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "54898:57:14" + }, + "returnParameters": { + "id": 24677, + "nodeType": "ParameterList", + "parameters": [], + "src": "54970:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24713, + "nodeType": "FunctionDefinition", + "src": "55084:181:14", + "nodes": [], + "body": { + "id": 24712, + "nodeType": "Block", + "src": "55159:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29", + "id": 24704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55209:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc", + "typeString": "literal_string \"log(bool,address,string,bool)\"" + }, + "value": "log(bool,address,string,bool)" + }, + { + "id": 24705, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24692, + "src": "55242:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24706, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24694, + "src": "55246:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24707, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24696, + "src": "55250:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24708, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24698, + "src": "55254:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc", + "typeString": "literal_string \"log(bool,address,string,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24702, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55185:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55189:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55185:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55185:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24701, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "55169:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55169:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24711, + "nodeType": "ExpressionStatement", + "src": "55169:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55093:3:14", + "parameters": { + "id": 24699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24692, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55102:2:14", + "nodeType": "VariableDeclaration", + "scope": 24713, + "src": "55097:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24691, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55097:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24694, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55114:2:14", + "nodeType": "VariableDeclaration", + "scope": 24713, + "src": "55106:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24693, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55106:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24696, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55132:2:14", + "nodeType": "VariableDeclaration", + "scope": 24713, + "src": "55118:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24695, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55118:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24698, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55141:2:14", + "nodeType": "VariableDeclaration", + "scope": 24713, + "src": "55136:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24697, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55136:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "55096:48:14" + }, + "returnParameters": { + "id": 24700, + "nodeType": "ParameterList", + "parameters": [], + "src": "55159:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24736, + "nodeType": "FunctionDefinition", + "src": "55271:187:14", + "nodes": [], + "body": { + "id": 24735, + "nodeType": "Block", + "src": "55349:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329", + "id": 24727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55399:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654", + "typeString": "literal_string \"log(bool,address,string,address)\"" + }, + "value": "log(bool,address,string,address)" + }, + { + "id": 24728, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24715, + "src": "55435:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24729, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24717, + "src": "55439:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24730, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24719, + "src": "55443:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 24731, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24721, + "src": "55447:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654", + "typeString": "literal_string \"log(bool,address,string,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24725, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55375:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55379:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55375:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55375:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24724, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "55359:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55359:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24734, + "nodeType": "ExpressionStatement", + "src": "55359:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55280:3:14", + "parameters": { + "id": 24722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24715, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55289:2:14", + "nodeType": "VariableDeclaration", + "scope": 24736, + "src": "55284:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24714, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55284:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24717, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55301:2:14", + "nodeType": "VariableDeclaration", + "scope": 24736, + "src": "55293:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24716, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55293:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24719, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55319:2:14", + "nodeType": "VariableDeclaration", + "scope": 24736, + "src": "55305:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24718, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55305:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24721, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55331:2:14", + "nodeType": "VariableDeclaration", + "scope": 24736, + "src": "55323:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24720, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55323:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "55283:51:14" + }, + "returnParameters": { + "id": 24723, + "nodeType": "ParameterList", + "parameters": [], + "src": "55349:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24759, + "nodeType": "FunctionDefinition", + "src": "55464:176:14", + "nodes": [], + "body": { + "id": 24758, + "nodeType": "Block", + "src": "55533:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629", + "id": 24750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55583:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059", + "typeString": "literal_string \"log(bool,address,bool,uint256)\"" + }, + "value": "log(bool,address,bool,uint256)" + }, + { + "id": 24751, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24738, + "src": "55617:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24752, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24740, + "src": "55621:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24753, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24742, + "src": "55625:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24754, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24744, + "src": "55629:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059", + "typeString": "literal_string \"log(bool,address,bool,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24748, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55559:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55563:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55559:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55559:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24747, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "55543:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55543:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24757, + "nodeType": "ExpressionStatement", + "src": "55543:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55473:3:14", + "parameters": { + "id": 24745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24738, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55482:2:14", + "nodeType": "VariableDeclaration", + "scope": 24759, + "src": "55477:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24737, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55477:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24740, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55494:2:14", + "nodeType": "VariableDeclaration", + "scope": 24759, + "src": "55486:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24739, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55486:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24742, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55503:2:14", + "nodeType": "VariableDeclaration", + "scope": 24759, + "src": "55498:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24741, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55498:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24744, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55515:2:14", + "nodeType": "VariableDeclaration", + "scope": 24759, + "src": "55507:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "55507:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "55476:42:14" + }, + "returnParameters": { + "id": 24746, + "nodeType": "ParameterList", + "parameters": [], + "src": "55533:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24782, + "nodeType": "FunctionDefinition", + "src": "55646:181:14", + "nodes": [], + "body": { + "id": 24781, + "nodeType": "Block", + "src": "55721:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729", + "id": 24773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55771:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59", + "typeString": "literal_string \"log(bool,address,bool,string)\"" + }, + "value": "log(bool,address,bool,string)" + }, + { + "id": 24774, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24761, + "src": "55804:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24775, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24763, + "src": "55808:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24776, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24765, + "src": "55812:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24777, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24767, + "src": "55816:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59", + "typeString": "literal_string \"log(bool,address,bool,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24771, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55747:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55751:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55747:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55747:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24770, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "55731:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55731:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24780, + "nodeType": "ExpressionStatement", + "src": "55731:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55655:3:14", + "parameters": { + "id": 24768, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24761, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55664:2:14", + "nodeType": "VariableDeclaration", + "scope": 24782, + "src": "55659:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24760, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55659:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24763, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55676:2:14", + "nodeType": "VariableDeclaration", + "scope": 24782, + "src": "55668:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24762, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55668:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24765, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55685:2:14", + "nodeType": "VariableDeclaration", + "scope": 24782, + "src": "55680:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24764, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55680:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24767, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55703:2:14", + "nodeType": "VariableDeclaration", + "scope": 24782, + "src": "55689:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24766, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55689:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "55658:48:14" + }, + "returnParameters": { + "id": 24769, + "nodeType": "ParameterList", + "parameters": [], + "src": "55721:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24805, + "nodeType": "FunctionDefinition", + "src": "55833:170:14", + "nodes": [], + "body": { + "id": 24804, + "nodeType": "Block", + "src": "55899:104:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29", + "id": 24796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55949:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577", + "typeString": "literal_string \"log(bool,address,bool,bool)\"" + }, + "value": "log(bool,address,bool,bool)" + }, + { + "id": 24797, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24784, + "src": "55980:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24798, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24786, + "src": "55984:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24799, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24788, + "src": "55988:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24800, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24790, + "src": "55992:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577", + "typeString": "literal_string \"log(bool,address,bool,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24794, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55925:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "55929:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55925:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55925:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24793, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "55909:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "55909:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24803, + "nodeType": "ExpressionStatement", + "src": "55909:87:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55842:3:14", + "parameters": { + "id": 24791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24784, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55851:2:14", + "nodeType": "VariableDeclaration", + "scope": 24805, + "src": "55846:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24783, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55846:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24786, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55863:2:14", + "nodeType": "VariableDeclaration", + "scope": 24805, + "src": "55855:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24785, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55855:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24788, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55872:2:14", + "nodeType": "VariableDeclaration", + "scope": 24805, + "src": "55867:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24787, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55867:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24790, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55881:2:14", + "nodeType": "VariableDeclaration", + "scope": 24805, + "src": "55876:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24789, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55876:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "55845:39:14" + }, + "returnParameters": { + "id": 24792, + "nodeType": "ParameterList", + "parameters": [], + "src": "55899:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24828, + "nodeType": "FunctionDefinition", + "src": "56009:176:14", + "nodes": [], + "body": { + "id": 24827, + "nodeType": "Block", + "src": "56078:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329", + "id": 24819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56128:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870", + "typeString": "literal_string \"log(bool,address,bool,address)\"" + }, + "value": "log(bool,address,bool,address)" + }, + { + "id": 24820, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24807, + "src": "56162:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24821, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24809, + "src": "56166:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24822, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24811, + "src": "56170:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24823, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24813, + "src": "56174:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870", + "typeString": "literal_string \"log(bool,address,bool,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24817, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56104:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56108:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56104:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56104:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24816, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "56088:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56088:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24826, + "nodeType": "ExpressionStatement", + "src": "56088:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56018:3:14", + "parameters": { + "id": 24814, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24807, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56027:2:14", + "nodeType": "VariableDeclaration", + "scope": 24828, + "src": "56022:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24806, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56022:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24809, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56039:2:14", + "nodeType": "VariableDeclaration", + "scope": 24828, + "src": "56031:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56031:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24811, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56048:2:14", + "nodeType": "VariableDeclaration", + "scope": 24828, + "src": "56043:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24810, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56043:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24813, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56060:2:14", + "nodeType": "VariableDeclaration", + "scope": 24828, + "src": "56052:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24812, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56052:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "56021:42:14" + }, + "returnParameters": { + "id": 24815, + "nodeType": "ParameterList", + "parameters": [], + "src": "56078:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24851, + "nodeType": "FunctionDefinition", + "src": "56191:182:14", + "nodes": [], + "body": { + "id": 24850, + "nodeType": "Block", + "src": "56263:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629", + "id": 24842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56313:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8", + "typeString": "literal_string \"log(bool,address,address,uint256)\"" + }, + "value": "log(bool,address,address,uint256)" + }, + { + "id": 24843, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24830, + "src": "56350:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24844, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24832, + "src": "56354:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24845, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24834, + "src": "56358:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24846, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24836, + "src": "56362:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8", + "typeString": "literal_string \"log(bool,address,address,uint256)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24840, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56289:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56293:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56289:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56289:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24839, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "56273:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56273:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24849, + "nodeType": "ExpressionStatement", + "src": "56273:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56200:3:14", + "parameters": { + "id": 24837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24830, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56209:2:14", + "nodeType": "VariableDeclaration", + "scope": 24851, + "src": "56204:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24829, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56204:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24832, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56221:2:14", + "nodeType": "VariableDeclaration", + "scope": 24851, + "src": "56213:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56213:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24834, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56233:2:14", + "nodeType": "VariableDeclaration", + "scope": 24851, + "src": "56225:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56225:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24836, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56245:2:14", + "nodeType": "VariableDeclaration", + "scope": 24851, + "src": "56237:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "56237:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "56203:45:14" + }, + "returnParameters": { + "id": 24838, + "nodeType": "ParameterList", + "parameters": [], + "src": "56263:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24874, + "nodeType": "FunctionDefinition", + "src": "56379:187:14", + "nodes": [], + "body": { + "id": 24873, + "nodeType": "Block", + "src": "56457:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729", + "id": 24865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56507:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432", + "typeString": "literal_string \"log(bool,address,address,string)\"" + }, + "value": "log(bool,address,address,string)" + }, + { + "id": 24866, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24853, + "src": "56543:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24867, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24855, + "src": "56547:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24868, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24857, + "src": "56551:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24869, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24859, + "src": "56555:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432", + "typeString": "literal_string \"log(bool,address,address,string)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24863, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56483:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56487:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56483:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56483:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24862, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "56467:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56467:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24872, + "nodeType": "ExpressionStatement", + "src": "56467:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56388:3:14", + "parameters": { + "id": 24860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24853, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56397:2:14", + "nodeType": "VariableDeclaration", + "scope": 24874, + "src": "56392:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24852, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56392:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24855, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56409:2:14", + "nodeType": "VariableDeclaration", + "scope": 24874, + "src": "56401:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56401:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24857, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56421:2:14", + "nodeType": "VariableDeclaration", + "scope": 24874, + "src": "56413:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56413:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24859, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56439:2:14", + "nodeType": "VariableDeclaration", + "scope": 24874, + "src": "56425:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24858, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "56425:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "56391:51:14" + }, + "returnParameters": { + "id": 24861, + "nodeType": "ParameterList", + "parameters": [], + "src": "56457:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24897, + "nodeType": "FunctionDefinition", + "src": "56572:176:14", + "nodes": [], + "body": { + "id": 24896, + "nodeType": "Block", + "src": "56641:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29", + "id": 24888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56691:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e", + "typeString": "literal_string \"log(bool,address,address,bool)\"" + }, + "value": "log(bool,address,address,bool)" + }, + { + "id": 24889, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24876, + "src": "56725:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24890, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24878, + "src": "56729:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24891, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24880, + "src": "56733:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24892, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24882, + "src": "56737:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e", + "typeString": "literal_string \"log(bool,address,address,bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24886, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56667:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56671:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56667:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56667:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24885, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "56651:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56651:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24895, + "nodeType": "ExpressionStatement", + "src": "56651:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56581:3:14", + "parameters": { + "id": 24883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24876, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56590:2:14", + "nodeType": "VariableDeclaration", + "scope": 24897, + "src": "56585:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24875, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56585:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24878, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56602:2:14", + "nodeType": "VariableDeclaration", + "scope": 24897, + "src": "56594:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56594:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24880, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56614:2:14", + "nodeType": "VariableDeclaration", + "scope": 24897, + "src": "56606:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24879, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56606:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24882, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56623:2:14", + "nodeType": "VariableDeclaration", + "scope": 24897, + "src": "56618:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24881, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56618:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "56584:42:14" + }, + "returnParameters": { + "id": 24884, + "nodeType": "ParameterList", + "parameters": [], + "src": "56641:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24920, + "nodeType": "FunctionDefinition", + "src": "56754:182:14", + "nodes": [], + "body": { + "id": 24919, + "nodeType": "Block", + "src": "56826:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329", + "id": 24911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56876:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123", + "typeString": "literal_string \"log(bool,address,address,address)\"" + }, + "value": "log(bool,address,address,address)" + }, + { + "id": 24912, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24899, + "src": "56913:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 24913, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24901, + "src": "56917:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24914, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24903, + "src": "56921:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24915, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24905, + "src": "56925:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123", + "typeString": "literal_string \"log(bool,address,address,address)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 24909, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56852:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "56856:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56852:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56852:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24908, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "56836:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "56836:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24918, + "nodeType": "ExpressionStatement", + "src": "56836:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56763:3:14", + "parameters": { + "id": 24906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24899, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56772:2:14", + "nodeType": "VariableDeclaration", + "scope": 24920, + "src": "56767:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24898, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56767:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24901, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56784:2:14", + "nodeType": "VariableDeclaration", + "scope": 24920, + "src": "56776:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56776:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24903, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56796:2:14", + "nodeType": "VariableDeclaration", + "scope": 24920, + "src": "56788:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24902, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56788:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24905, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56808:2:14", + "nodeType": "VariableDeclaration", + "scope": 24920, + "src": "56800:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56800:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "56766:45:14" + }, + "returnParameters": { + "id": 24907, + "nodeType": "ParameterList", + "parameters": [], + "src": "56826:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24943, + "nodeType": "FunctionDefinition", + "src": "56942:188:14", + "nodes": [], + "body": { + "id": 24942, + "nodeType": "Block", + "src": "57017:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629", + "id": 24934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57067:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6", + "typeString": "literal_string \"log(address,uint256,uint256,uint256)\"" + }, + "value": "log(address,uint256,uint256,uint256)" + }, + { + "id": 24935, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24922, + "src": "57107:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24936, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24924, + "src": "57111:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24937, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24926, + "src": "57115:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24938, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24928, + "src": "57119:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6", + "typeString": "literal_string \"log(address,uint256,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 24932, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57043:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57047:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57043:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57043:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24931, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "57027:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57027:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24941, + "nodeType": "ExpressionStatement", + "src": "57027:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56951:3:14", + "parameters": { + "id": 24929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24922, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56963:2:14", + "nodeType": "VariableDeclaration", + "scope": 24943, + "src": "56955:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24921, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56955:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24924, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56975:2:14", + "nodeType": "VariableDeclaration", + "scope": 24943, + "src": "56967:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24923, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "56967:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24926, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56987:2:14", + "nodeType": "VariableDeclaration", + "scope": 24943, + "src": "56979:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24925, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "56979:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24928, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56999:2:14", + "nodeType": "VariableDeclaration", + "scope": 24943, + "src": "56991:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24927, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "56991:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "56954:48:14" + }, + "returnParameters": { + "id": 24930, + "nodeType": "ParameterList", + "parameters": [], + "src": "57017:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24966, + "nodeType": "FunctionDefinition", + "src": "57136:193:14", + "nodes": [], + "body": { + "id": 24965, + "nodeType": "Block", + "src": "57217:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729", + "id": 24957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57267:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6", + "typeString": "literal_string \"log(address,uint256,uint256,string)\"" + }, + "value": "log(address,uint256,uint256,string)" + }, + { + "id": 24958, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24945, + "src": "57306:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24959, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24947, + "src": "57310:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24960, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24949, + "src": "57314:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24961, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24951, + "src": "57318:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6", + "typeString": "literal_string \"log(address,uint256,uint256,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 24955, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57243:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57247:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57243:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57243:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24954, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "57227:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57227:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24964, + "nodeType": "ExpressionStatement", + "src": "57227:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57145:3:14", + "parameters": { + "id": 24952, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24945, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57157:2:14", + "nodeType": "VariableDeclaration", + "scope": 24966, + "src": "57149:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24944, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57149:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24947, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57169:2:14", + "nodeType": "VariableDeclaration", + "scope": 24966, + "src": "57161:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "57161:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24949, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57181:2:14", + "nodeType": "VariableDeclaration", + "scope": 24966, + "src": "57173:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24948, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "57173:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24951, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57199:2:14", + "nodeType": "VariableDeclaration", + "scope": 24966, + "src": "57185:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 24950, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57185:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "57148:54:14" + }, + "returnParameters": { + "id": 24953, + "nodeType": "ParameterList", + "parameters": [], + "src": "57217:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 24989, + "nodeType": "FunctionDefinition", + "src": "57335:182:14", + "nodes": [], + "body": { + "id": 24988, + "nodeType": "Block", + "src": "57407:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29", + "id": 24980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57457:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e", + "typeString": "literal_string \"log(address,uint256,uint256,bool)\"" + }, + "value": "log(address,uint256,uint256,bool)" + }, + { + "id": 24981, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24968, + "src": "57494:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 24982, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24970, + "src": "57498:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24983, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24972, + "src": "57502:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 24984, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24974, + "src": "57506:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e", + "typeString": "literal_string \"log(address,uint256,uint256,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 24978, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57433:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 24979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57437:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57433:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 24985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57433:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 24977, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "57417:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 24986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57417:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24987, + "nodeType": "ExpressionStatement", + "src": "57417:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57344:3:14", + "parameters": { + "id": 24975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24968, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57356:2:14", + "nodeType": "VariableDeclaration", + "scope": 24989, + "src": "57348:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24967, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57348:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24970, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57368:2:14", + "nodeType": "VariableDeclaration", + "scope": 24989, + "src": "57360:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24969, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "57360:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24972, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57380:2:14", + "nodeType": "VariableDeclaration", + "scope": 24989, + "src": "57372:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24971, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "57372:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24974, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57389:2:14", + "nodeType": "VariableDeclaration", + "scope": 24989, + "src": "57384:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24973, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "57384:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "57347:45:14" + }, + "returnParameters": { + "id": 24976, + "nodeType": "ParameterList", + "parameters": [], + "src": "57407:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25012, + "nodeType": "FunctionDefinition", + "src": "57523:188:14", + "nodes": [], + "body": { + "id": 25011, + "nodeType": "Block", + "src": "57598:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329", + "id": 25003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57648:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390", + "typeString": "literal_string \"log(address,uint256,uint256,address)\"" + }, + "value": "log(address,uint256,uint256,address)" + }, + { + "id": 25004, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24991, + "src": "57688:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25005, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24993, + "src": "57692:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25006, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24995, + "src": "57696:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25007, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24997, + "src": "57700:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390", + "typeString": "literal_string \"log(address,uint256,uint256,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25001, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57624:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57628:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57624:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57624:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25000, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "57608:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57608:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25010, + "nodeType": "ExpressionStatement", + "src": "57608:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57532:3:14", + "parameters": { + "id": 24998, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24991, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57544:2:14", + "nodeType": "VariableDeclaration", + "scope": 25012, + "src": "57536:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24990, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57536:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24993, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57556:2:14", + "nodeType": "VariableDeclaration", + "scope": 25012, + "src": "57548:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24992, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "57548:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24995, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57568:2:14", + "nodeType": "VariableDeclaration", + "scope": 25012, + "src": "57560:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24994, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "57560:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24997, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57580:2:14", + "nodeType": "VariableDeclaration", + "scope": 25012, + "src": "57572:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24996, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57572:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "57535:48:14" + }, + "returnParameters": { + "id": 24999, + "nodeType": "ParameterList", + "parameters": [], + "src": "57598:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25035, + "nodeType": "FunctionDefinition", + "src": "57717:193:14", + "nodes": [], + "body": { + "id": 25034, + "nodeType": "Block", + "src": "57798:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629", + "id": 25026, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57848:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054", + "typeString": "literal_string \"log(address,uint256,string,uint256)\"" + }, + "value": "log(address,uint256,string,uint256)" + }, + { + "id": 25027, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25014, + "src": "57887:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25028, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25016, + "src": "57891:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25029, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25018, + "src": "57895:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25030, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25020, + "src": "57899:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054", + "typeString": "literal_string \"log(address,uint256,string,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25024, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57824:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "57828:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57824:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57824:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25023, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "57808:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "57808:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25033, + "nodeType": "ExpressionStatement", + "src": "57808:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57726:3:14", + "parameters": { + "id": 25021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25014, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57738:2:14", + "nodeType": "VariableDeclaration", + "scope": 25035, + "src": "57730:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25013, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57730:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25016, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57750:2:14", + "nodeType": "VariableDeclaration", + "scope": 25035, + "src": "57742:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25015, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "57742:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25018, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57768:2:14", + "nodeType": "VariableDeclaration", + "scope": 25035, + "src": "57754:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25017, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57754:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25020, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57780:2:14", + "nodeType": "VariableDeclaration", + "scope": 25035, + "src": "57772:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "57772:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "57729:54:14" + }, + "returnParameters": { + "id": 25022, + "nodeType": "ParameterList", + "parameters": [], + "src": "57798:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25058, + "nodeType": "FunctionDefinition", + "src": "57916:198:14", + "nodes": [], + "body": { + "id": 25057, + "nodeType": "Block", + "src": "58003:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729", + "id": 25049, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58053:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9", + "typeString": "literal_string \"log(address,uint256,string,string)\"" + }, + "value": "log(address,uint256,string,string)" + }, + { + "id": 25050, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25037, + "src": "58091:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25051, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25039, + "src": "58095:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25052, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25041, + "src": "58099:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25053, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25043, + "src": "58103:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9", + "typeString": "literal_string \"log(address,uint256,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25047, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58029:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58033:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58029:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58029:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25046, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "58013:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58013:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25056, + "nodeType": "ExpressionStatement", + "src": "58013:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57925:3:14", + "parameters": { + "id": 25044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25037, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57937:2:14", + "nodeType": "VariableDeclaration", + "scope": 25058, + "src": "57929:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25036, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57929:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25039, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57949:2:14", + "nodeType": "VariableDeclaration", + "scope": 25058, + "src": "57941:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25038, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "57941:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25041, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57967:2:14", + "nodeType": "VariableDeclaration", + "scope": 25058, + "src": "57953:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25040, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57953:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25043, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57985:2:14", + "nodeType": "VariableDeclaration", + "scope": 25058, + "src": "57971:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25042, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57971:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "57928:60:14" + }, + "returnParameters": { + "id": 25045, + "nodeType": "ParameterList", + "parameters": [], + "src": "58003:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25081, + "nodeType": "FunctionDefinition", + "src": "58120:187:14", + "nodes": [], + "body": { + "id": 25080, + "nodeType": "Block", + "src": "58198:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29", + "id": 25072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58248:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184", + "typeString": "literal_string \"log(address,uint256,string,bool)\"" + }, + "value": "log(address,uint256,string,bool)" + }, + { + "id": 25073, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25060, + "src": "58284:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25074, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25062, + "src": "58288:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25075, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25064, + "src": "58292:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25076, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25066, + "src": "58296:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184", + "typeString": "literal_string \"log(address,uint256,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25070, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58224:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58228:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58224:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58224:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25069, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "58208:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58208:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25079, + "nodeType": "ExpressionStatement", + "src": "58208:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58129:3:14", + "parameters": { + "id": 25067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25060, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58141:2:14", + "nodeType": "VariableDeclaration", + "scope": 25081, + "src": "58133:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25059, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58133:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25062, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58153:2:14", + "nodeType": "VariableDeclaration", + "scope": 25081, + "src": "58145:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25061, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "58145:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25064, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58171:2:14", + "nodeType": "VariableDeclaration", + "scope": 25081, + "src": "58157:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25063, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58157:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25066, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58180:2:14", + "nodeType": "VariableDeclaration", + "scope": 25081, + "src": "58175:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25065, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58175:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "58132:51:14" + }, + "returnParameters": { + "id": 25068, + "nodeType": "ParameterList", + "parameters": [], + "src": "58198:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25104, + "nodeType": "FunctionDefinition", + "src": "58313:193:14", + "nodes": [], + "body": { + "id": 25103, + "nodeType": "Block", + "src": "58394:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329", + "id": 25095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58444:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a", + "typeString": "literal_string \"log(address,uint256,string,address)\"" + }, + "value": "log(address,uint256,string,address)" + }, + { + "id": 25096, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25083, + "src": "58483:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25097, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25085, + "src": "58487:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25098, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25087, + "src": "58491:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25099, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25089, + "src": "58495:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a", + "typeString": "literal_string \"log(address,uint256,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25093, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58420:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58424:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58420:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58420:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25092, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "58404:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58404:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25102, + "nodeType": "ExpressionStatement", + "src": "58404:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58322:3:14", + "parameters": { + "id": 25090, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25083, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58334:2:14", + "nodeType": "VariableDeclaration", + "scope": 25104, + "src": "58326:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58326:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25085, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58346:2:14", + "nodeType": "VariableDeclaration", + "scope": 25104, + "src": "58338:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25084, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "58338:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25087, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58364:2:14", + "nodeType": "VariableDeclaration", + "scope": 25104, + "src": "58350:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25086, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58350:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25089, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58376:2:14", + "nodeType": "VariableDeclaration", + "scope": 25104, + "src": "58368:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25088, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58368:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "58325:54:14" + }, + "returnParameters": { + "id": 25091, + "nodeType": "ParameterList", + "parameters": [], + "src": "58394:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25127, + "nodeType": "FunctionDefinition", + "src": "58512:182:14", + "nodes": [], + "body": { + "id": 25126, + "nodeType": "Block", + "src": "58584:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629", + "id": 25118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58634:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e", + "typeString": "literal_string \"log(address,uint256,bool,uint256)\"" + }, + "value": "log(address,uint256,bool,uint256)" + }, + { + "id": 25119, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25106, + "src": "58671:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25120, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25108, + "src": "58675:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25121, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25110, + "src": "58679:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25122, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25112, + "src": "58683:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e", + "typeString": "literal_string \"log(address,uint256,bool,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25116, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58610:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58614:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58610:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58610:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25115, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "58594:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58594:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25125, + "nodeType": "ExpressionStatement", + "src": "58594:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58521:3:14", + "parameters": { + "id": 25113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25106, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58533:2:14", + "nodeType": "VariableDeclaration", + "scope": 25127, + "src": "58525:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58525:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25108, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58545:2:14", + "nodeType": "VariableDeclaration", + "scope": 25127, + "src": "58537:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "58537:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25110, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58554:2:14", + "nodeType": "VariableDeclaration", + "scope": 25127, + "src": "58549:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25109, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58549:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25112, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58566:2:14", + "nodeType": "VariableDeclaration", + "scope": 25127, + "src": "58558:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25111, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "58558:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "58524:45:14" + }, + "returnParameters": { + "id": 25114, + "nodeType": "ParameterList", + "parameters": [], + "src": "58584:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25150, + "nodeType": "FunctionDefinition", + "src": "58700:187:14", + "nodes": [], + "body": { + "id": 25149, + "nodeType": "Block", + "src": "58778:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729", + "id": 25141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58828:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b", + "typeString": "literal_string \"log(address,uint256,bool,string)\"" + }, + "value": "log(address,uint256,bool,string)" + }, + { + "id": 25142, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25129, + "src": "58864:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25143, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25131, + "src": "58868:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25144, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25133, + "src": "58872:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25145, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25135, + "src": "58876:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b", + "typeString": "literal_string \"log(address,uint256,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25139, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58804:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58808:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58804:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58804:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25138, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "58788:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58788:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25148, + "nodeType": "ExpressionStatement", + "src": "58788:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58709:3:14", + "parameters": { + "id": 25136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25129, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58721:2:14", + "nodeType": "VariableDeclaration", + "scope": 25150, + "src": "58713:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58713:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25131, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58733:2:14", + "nodeType": "VariableDeclaration", + "scope": 25150, + "src": "58725:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25130, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "58725:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25133, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58742:2:14", + "nodeType": "VariableDeclaration", + "scope": 25150, + "src": "58737:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25132, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58737:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25135, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58760:2:14", + "nodeType": "VariableDeclaration", + "scope": 25150, + "src": "58746:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25134, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58746:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "58712:51:14" + }, + "returnParameters": { + "id": 25137, + "nodeType": "ParameterList", + "parameters": [], + "src": "58778:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25173, + "nodeType": "FunctionDefinition", + "src": "58893:176:14", + "nodes": [], + "body": { + "id": 25172, + "nodeType": "Block", + "src": "58962:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29", + "id": 25164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59012:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7", + "typeString": "literal_string \"log(address,uint256,bool,bool)\"" + }, + "value": "log(address,uint256,bool,bool)" + }, + { + "id": 25165, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25152, + "src": "59046:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25166, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25154, + "src": "59050:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25167, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25156, + "src": "59054:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25168, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25158, + "src": "59058:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7", + "typeString": "literal_string \"log(address,uint256,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25162, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58988:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "58992:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58988:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58988:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25161, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "58972:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "58972:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25171, + "nodeType": "ExpressionStatement", + "src": "58972:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58902:3:14", + "parameters": { + "id": 25159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25152, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58914:2:14", + "nodeType": "VariableDeclaration", + "scope": 25173, + "src": "58906:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25151, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58906:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25154, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58926:2:14", + "nodeType": "VariableDeclaration", + "scope": 25173, + "src": "58918:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25153, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "58918:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25156, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58935:2:14", + "nodeType": "VariableDeclaration", + "scope": 25173, + "src": "58930:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25155, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58930:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25158, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58944:2:14", + "nodeType": "VariableDeclaration", + "scope": 25173, + "src": "58939:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25157, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58939:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "58905:42:14" + }, + "returnParameters": { + "id": 25160, + "nodeType": "ParameterList", + "parameters": [], + "src": "58962:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25196, + "nodeType": "FunctionDefinition", + "src": "59075:182:14", + "nodes": [], + "body": { + "id": 25195, + "nodeType": "Block", + "src": "59147:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329", + "id": 25187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59197:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290", + "typeString": "literal_string \"log(address,uint256,bool,address)\"" + }, + "value": "log(address,uint256,bool,address)" + }, + { + "id": 25188, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25175, + "src": "59234:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25189, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25177, + "src": "59238:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25190, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25179, + "src": "59242:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25191, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25181, + "src": "59246:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290", + "typeString": "literal_string \"log(address,uint256,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25185, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59173:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59177:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59173:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59173:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25184, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "59157:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59157:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25194, + "nodeType": "ExpressionStatement", + "src": "59157:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59084:3:14", + "parameters": { + "id": 25182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25175, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59096:2:14", + "nodeType": "VariableDeclaration", + "scope": 25196, + "src": "59088:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25174, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59088:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25177, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59108:2:14", + "nodeType": "VariableDeclaration", + "scope": 25196, + "src": "59100:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25176, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "59100:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25179, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59117:2:14", + "nodeType": "VariableDeclaration", + "scope": 25196, + "src": "59112:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25178, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "59112:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25181, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59129:2:14", + "nodeType": "VariableDeclaration", + "scope": 25196, + "src": "59121:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25180, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59121:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "59087:45:14" + }, + "returnParameters": { + "id": 25183, + "nodeType": "ParameterList", + "parameters": [], + "src": "59147:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25219, + "nodeType": "FunctionDefinition", + "src": "59263:188:14", + "nodes": [], + "body": { + "id": 25218, + "nodeType": "Block", + "src": "59338:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629", + "id": 25210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59388:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6", + "typeString": "literal_string \"log(address,uint256,address,uint256)\"" + }, + "value": "log(address,uint256,address,uint256)" + }, + { + "id": 25211, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25198, + "src": "59428:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25212, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25200, + "src": "59432:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25213, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25202, + "src": "59436:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25214, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25204, + "src": "59440:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6", + "typeString": "literal_string \"log(address,uint256,address,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25208, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59364:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59368:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59364:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59364:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25207, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "59348:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59348:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25217, + "nodeType": "ExpressionStatement", + "src": "59348:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59272:3:14", + "parameters": { + "id": 25205, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25198, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59284:2:14", + "nodeType": "VariableDeclaration", + "scope": 25219, + "src": "59276:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25197, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59276:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25200, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59296:2:14", + "nodeType": "VariableDeclaration", + "scope": 25219, + "src": "59288:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25199, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "59288:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25202, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59308:2:14", + "nodeType": "VariableDeclaration", + "scope": 25219, + "src": "59300:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25201, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59300:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25204, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59320:2:14", + "nodeType": "VariableDeclaration", + "scope": 25219, + "src": "59312:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25203, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "59312:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "59275:48:14" + }, + "returnParameters": { + "id": 25206, + "nodeType": "ParameterList", + "parameters": [], + "src": "59338:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25242, + "nodeType": "FunctionDefinition", + "src": "59457:193:14", + "nodes": [], + "body": { + "id": 25241, + "nodeType": "Block", + "src": "59538:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729", + "id": 25233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59588:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb", + "typeString": "literal_string \"log(address,uint256,address,string)\"" + }, + "value": "log(address,uint256,address,string)" + }, + { + "id": 25234, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25221, + "src": "59627:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25235, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25223, + "src": "59631:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25236, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25225, + "src": "59635:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25237, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25227, + "src": "59639:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb", + "typeString": "literal_string \"log(address,uint256,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25231, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59564:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59568:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59564:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59564:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25230, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "59548:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59548:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25240, + "nodeType": "ExpressionStatement", + "src": "59548:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59466:3:14", + "parameters": { + "id": 25228, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25221, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59478:2:14", + "nodeType": "VariableDeclaration", + "scope": 25242, + "src": "59470:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59470:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25223, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59490:2:14", + "nodeType": "VariableDeclaration", + "scope": 25242, + "src": "59482:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25222, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "59482:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25225, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59502:2:14", + "nodeType": "VariableDeclaration", + "scope": 25242, + "src": "59494:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25224, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59494:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25227, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59520:2:14", + "nodeType": "VariableDeclaration", + "scope": 25242, + "src": "59506:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25226, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "59506:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "59469:54:14" + }, + "returnParameters": { + "id": 25229, + "nodeType": "ParameterList", + "parameters": [], + "src": "59538:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25265, + "nodeType": "FunctionDefinition", + "src": "59656:182:14", + "nodes": [], + "body": { + "id": 25264, + "nodeType": "Block", + "src": "59728:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29", + "id": 25256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59778:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322", + "typeString": "literal_string \"log(address,uint256,address,bool)\"" + }, + "value": "log(address,uint256,address,bool)" + }, + { + "id": 25257, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25244, + "src": "59815:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25258, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25246, + "src": "59819:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25259, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25248, + "src": "59823:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25260, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25250, + "src": "59827:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322", + "typeString": "literal_string \"log(address,uint256,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25254, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59754:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59758:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59754:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59754:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25253, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "59738:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59738:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25263, + "nodeType": "ExpressionStatement", + "src": "59738:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59665:3:14", + "parameters": { + "id": 25251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25244, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59677:2:14", + "nodeType": "VariableDeclaration", + "scope": 25265, + "src": "59669:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25243, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59669:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25246, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59689:2:14", + "nodeType": "VariableDeclaration", + "scope": 25265, + "src": "59681:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25245, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "59681:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25248, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59701:2:14", + "nodeType": "VariableDeclaration", + "scope": 25265, + "src": "59693:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25247, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59693:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25250, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59710:2:14", + "nodeType": "VariableDeclaration", + "scope": 25265, + "src": "59705:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25249, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "59705:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "59668:45:14" + }, + "returnParameters": { + "id": 25252, + "nodeType": "ParameterList", + "parameters": [], + "src": "59728:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25288, + "nodeType": "FunctionDefinition", + "src": "59844:188:14", + "nodes": [], + "body": { + "id": 25287, + "nodeType": "Block", + "src": "59919:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329", + "id": 25279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59969:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4", + "typeString": "literal_string \"log(address,uint256,address,address)\"" + }, + "value": "log(address,uint256,address,address)" + }, + { + "id": 25280, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25267, + "src": "60009:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25281, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25269, + "src": "60013:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25282, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25271, + "src": "60017:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25283, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25273, + "src": "60021:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4", + "typeString": "literal_string \"log(address,uint256,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25277, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59945:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "59949:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59945:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59945:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25276, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "59929:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "59929:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25286, + "nodeType": "ExpressionStatement", + "src": "59929:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59853:3:14", + "parameters": { + "id": 25274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25267, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59865:2:14", + "nodeType": "VariableDeclaration", + "scope": 25288, + "src": "59857:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25266, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59857:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25269, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59877:2:14", + "nodeType": "VariableDeclaration", + "scope": 25288, + "src": "59869:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "59869:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25271, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59889:2:14", + "nodeType": "VariableDeclaration", + "scope": 25288, + "src": "59881:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59881:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25273, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59901:2:14", + "nodeType": "VariableDeclaration", + "scope": 25288, + "src": "59893:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25272, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59893:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "59856:48:14" + }, + "returnParameters": { + "id": 25275, + "nodeType": "ParameterList", + "parameters": [], + "src": "59919:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25311, + "nodeType": "FunctionDefinition", + "src": "60038:193:14", + "nodes": [], + "body": { + "id": 25310, + "nodeType": "Block", + "src": "60119:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629", + "id": 25302, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60169:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562", + "typeString": "literal_string \"log(address,string,uint256,uint256)\"" + }, + "value": "log(address,string,uint256,uint256)" + }, + { + "id": 25303, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25290, + "src": "60208:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25304, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25292, + "src": "60212:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25305, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25294, + "src": "60216:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25306, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25296, + "src": "60220:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562", + "typeString": "literal_string \"log(address,string,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25300, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60145:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60149:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60145:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60145:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25299, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "60129:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60129:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25309, + "nodeType": "ExpressionStatement", + "src": "60129:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60047:3:14", + "parameters": { + "id": 25297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25290, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60059:2:14", + "nodeType": "VariableDeclaration", + "scope": 25311, + "src": "60051:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60051:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25292, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60077:2:14", + "nodeType": "VariableDeclaration", + "scope": 25311, + "src": "60063:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25291, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60063:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25294, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60089:2:14", + "nodeType": "VariableDeclaration", + "scope": 25311, + "src": "60081:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "60081:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25296, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60101:2:14", + "nodeType": "VariableDeclaration", + "scope": 25311, + "src": "60093:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "60093:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "60050:54:14" + }, + "returnParameters": { + "id": 25298, + "nodeType": "ParameterList", + "parameters": [], + "src": "60119:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25334, + "nodeType": "FunctionDefinition", + "src": "60237:198:14", + "nodes": [], + "body": { + "id": 25333, + "nodeType": "Block", + "src": "60324:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729", + "id": 25325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60374:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3", + "typeString": "literal_string \"log(address,string,uint256,string)\"" + }, + "value": "log(address,string,uint256,string)" + }, + { + "id": 25326, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25313, + "src": "60412:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25327, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25315, + "src": "60416:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25328, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25317, + "src": "60420:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25329, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25319, + "src": "60424:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3", + "typeString": "literal_string \"log(address,string,uint256,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25323, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60350:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60354:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60350:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60350:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25322, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "60334:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60334:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25332, + "nodeType": "ExpressionStatement", + "src": "60334:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60246:3:14", + "parameters": { + "id": 25320, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25313, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60258:2:14", + "nodeType": "VariableDeclaration", + "scope": 25334, + "src": "60250:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25312, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60250:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25315, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60276:2:14", + "nodeType": "VariableDeclaration", + "scope": 25334, + "src": "60262:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25314, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60262:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25317, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60288:2:14", + "nodeType": "VariableDeclaration", + "scope": 25334, + "src": "60280:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "60280:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25319, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60306:2:14", + "nodeType": "VariableDeclaration", + "scope": 25334, + "src": "60292:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25318, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60292:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "60249:60:14" + }, + "returnParameters": { + "id": 25321, + "nodeType": "ParameterList", + "parameters": [], + "src": "60324:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25357, + "nodeType": "FunctionDefinition", + "src": "60441:187:14", + "nodes": [], + "body": { + "id": 25356, + "nodeType": "Block", + "src": "60519:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29", + "id": 25348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60569:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4", + "typeString": "literal_string \"log(address,string,uint256,bool)\"" + }, + "value": "log(address,string,uint256,bool)" + }, + { + "id": 25349, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25336, + "src": "60605:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25350, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25338, + "src": "60609:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25351, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25340, + "src": "60613:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25352, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25342, + "src": "60617:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4", + "typeString": "literal_string \"log(address,string,uint256,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25346, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60545:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60549:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60545:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60545:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25345, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "60529:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60529:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25355, + "nodeType": "ExpressionStatement", + "src": "60529:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60450:3:14", + "parameters": { + "id": 25343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25336, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60462:2:14", + "nodeType": "VariableDeclaration", + "scope": 25357, + "src": "60454:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25335, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60454:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25338, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60480:2:14", + "nodeType": "VariableDeclaration", + "scope": 25357, + "src": "60466:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25337, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60466:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25340, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60492:2:14", + "nodeType": "VariableDeclaration", + "scope": 25357, + "src": "60484:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "60484:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25342, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60501:2:14", + "nodeType": "VariableDeclaration", + "scope": 25357, + "src": "60496:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25341, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "60496:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "60453:51:14" + }, + "returnParameters": { + "id": 25344, + "nodeType": "ParameterList", + "parameters": [], + "src": "60519:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25380, + "nodeType": "FunctionDefinition", + "src": "60634:193:14", + "nodes": [], + "body": { + "id": 25379, + "nodeType": "Block", + "src": "60715:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329", + "id": 25371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60765:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18", + "typeString": "literal_string \"log(address,string,uint256,address)\"" + }, + "value": "log(address,string,uint256,address)" + }, + { + "id": 25372, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25359, + "src": "60804:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25373, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25361, + "src": "60808:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25374, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25363, + "src": "60812:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25375, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25365, + "src": "60816:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18", + "typeString": "literal_string \"log(address,string,uint256,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25369, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60741:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60745:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60741:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60741:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25368, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "60725:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60725:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25378, + "nodeType": "ExpressionStatement", + "src": "60725:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60643:3:14", + "parameters": { + "id": 25366, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25359, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60655:2:14", + "nodeType": "VariableDeclaration", + "scope": 25380, + "src": "60647:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25358, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60647:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25361, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60673:2:14", + "nodeType": "VariableDeclaration", + "scope": 25380, + "src": "60659:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25360, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60659:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25363, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60685:2:14", + "nodeType": "VariableDeclaration", + "scope": 25380, + "src": "60677:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "60677:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25365, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60697:2:14", + "nodeType": "VariableDeclaration", + "scope": 25380, + "src": "60689:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25364, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60689:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "60646:54:14" + }, + "returnParameters": { + "id": 25367, + "nodeType": "ParameterList", + "parameters": [], + "src": "60715:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25403, + "nodeType": "FunctionDefinition", + "src": "60833:198:14", + "nodes": [], + "body": { + "id": 25402, + "nodeType": "Block", + "src": "60920:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629", + "id": 25394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60970:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265", + "typeString": "literal_string \"log(address,string,string,uint256)\"" + }, + "value": "log(address,string,string,uint256)" + }, + { + "id": 25395, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25382, + "src": "61008:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25396, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25384, + "src": "61012:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25397, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25386, + "src": "61016:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25398, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25388, + "src": "61020:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265", + "typeString": "literal_string \"log(address,string,string,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25392, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60946:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "60950:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60946:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60946:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25391, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "60930:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "60930:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25401, + "nodeType": "ExpressionStatement", + "src": "60930:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60842:3:14", + "parameters": { + "id": 25389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25382, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60854:2:14", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "60846:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25381, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60846:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25384, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60872:2:14", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "60858:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25383, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60858:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25386, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60890:2:14", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "60876:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25385, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60876:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25388, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60902:2:14", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "60894:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25387, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "60894:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "60845:60:14" + }, + "returnParameters": { + "id": 25390, + "nodeType": "ParameterList", + "parameters": [], + "src": "60920:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25426, + "nodeType": "FunctionDefinition", + "src": "61037:203:14", + "nodes": [], + "body": { + "id": 25425, + "nodeType": "Block", + "src": "61130:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729", + "id": 25417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61180:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c", + "typeString": "literal_string \"log(address,string,string,string)\"" + }, + "value": "log(address,string,string,string)" + }, + { + "id": 25418, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25405, + "src": "61217:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25419, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25407, + "src": "61221:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25420, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25409, + "src": "61225:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25421, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25411, + "src": "61229:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c", + "typeString": "literal_string \"log(address,string,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25415, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61156:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61160:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61156:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61156:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25414, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "61140:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61140:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25424, + "nodeType": "ExpressionStatement", + "src": "61140:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61046:3:14", + "parameters": { + "id": 25412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25405, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61058:2:14", + "nodeType": "VariableDeclaration", + "scope": 25426, + "src": "61050:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61050:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25407, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61076:2:14", + "nodeType": "VariableDeclaration", + "scope": 25426, + "src": "61062:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25406, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61062:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25409, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61094:2:14", + "nodeType": "VariableDeclaration", + "scope": 25426, + "src": "61080:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25408, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61080:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25411, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61112:2:14", + "nodeType": "VariableDeclaration", + "scope": 25426, + "src": "61098:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25410, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61098:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "61049:66:14" + }, + "returnParameters": { + "id": 25413, + "nodeType": "ParameterList", + "parameters": [], + "src": "61130:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25449, + "nodeType": "FunctionDefinition", + "src": "61246:192:14", + "nodes": [], + "body": { + "id": 25448, + "nodeType": "Block", + "src": "61330:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29", + "id": 25440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61380:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed", + "typeString": "literal_string \"log(address,string,string,bool)\"" + }, + "value": "log(address,string,string,bool)" + }, + { + "id": 25441, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25428, + "src": "61415:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25442, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25430, + "src": "61419:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25443, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25432, + "src": "61423:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25444, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25434, + "src": "61427:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed", + "typeString": "literal_string \"log(address,string,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25438, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61356:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61360:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61356:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61356:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25437, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "61340:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61340:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25447, + "nodeType": "ExpressionStatement", + "src": "61340:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61255:3:14", + "parameters": { + "id": 25435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25428, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61267:2:14", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "61259:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61259:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25430, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61285:2:14", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "61271:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25429, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61271:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25432, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61303:2:14", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "61289:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25431, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61289:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25434, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61312:2:14", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "61307:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25433, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61307:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "61258:57:14" + }, + "returnParameters": { + "id": 25436, + "nodeType": "ParameterList", + "parameters": [], + "src": "61330:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25472, + "nodeType": "FunctionDefinition", + "src": "61444:198:14", + "nodes": [], + "body": { + "id": 25471, + "nodeType": "Block", + "src": "61531:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329", + "id": 25463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61581:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f", + "typeString": "literal_string \"log(address,string,string,address)\"" + }, + "value": "log(address,string,string,address)" + }, + { + "id": 25464, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25451, + "src": "61619:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25465, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25453, + "src": "61623:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25466, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25455, + "src": "61627:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25467, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25457, + "src": "61631:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f", + "typeString": "literal_string \"log(address,string,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25461, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61557:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61561:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61557:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61557:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25460, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "61541:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61541:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25470, + "nodeType": "ExpressionStatement", + "src": "61541:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61453:3:14", + "parameters": { + "id": 25458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25451, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61465:2:14", + "nodeType": "VariableDeclaration", + "scope": 25472, + "src": "61457:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25450, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61457:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25453, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61483:2:14", + "nodeType": "VariableDeclaration", + "scope": 25472, + "src": "61469:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25452, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61469:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25455, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61501:2:14", + "nodeType": "VariableDeclaration", + "scope": 25472, + "src": "61487:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25454, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61487:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25457, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61513:2:14", + "nodeType": "VariableDeclaration", + "scope": 25472, + "src": "61505:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25456, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61505:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "61456:60:14" + }, + "returnParameters": { + "id": 25459, + "nodeType": "ParameterList", + "parameters": [], + "src": "61531:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25495, + "nodeType": "FunctionDefinition", + "src": "61648:187:14", + "nodes": [], + "body": { + "id": 25494, + "nodeType": "Block", + "src": "61726:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629", + "id": 25486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61776:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345", + "typeString": "literal_string \"log(address,string,bool,uint256)\"" + }, + "value": "log(address,string,bool,uint256)" + }, + { + "id": 25487, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25474, + "src": "61812:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25488, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25476, + "src": "61816:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25489, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25478, + "src": "61820:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25490, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25480, + "src": "61824:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345", + "typeString": "literal_string \"log(address,string,bool,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25484, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61752:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61756:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61752:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61752:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25483, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "61736:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61736:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25493, + "nodeType": "ExpressionStatement", + "src": "61736:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61657:3:14", + "parameters": { + "id": 25481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25474, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61669:2:14", + "nodeType": "VariableDeclaration", + "scope": 25495, + "src": "61661:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61661:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25476, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61687:2:14", + "nodeType": "VariableDeclaration", + "scope": 25495, + "src": "61673:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25475, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61673:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25478, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61696:2:14", + "nodeType": "VariableDeclaration", + "scope": 25495, + "src": "61691:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25477, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61691:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25480, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61708:2:14", + "nodeType": "VariableDeclaration", + "scope": 25495, + "src": "61700:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "61700:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "61660:51:14" + }, + "returnParameters": { + "id": 25482, + "nodeType": "ParameterList", + "parameters": [], + "src": "61726:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25518, + "nodeType": "FunctionDefinition", + "src": "61841:192:14", + "nodes": [], + "body": { + "id": 25517, + "nodeType": "Block", + "src": "61925:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729", + "id": 25509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61975:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc", + "typeString": "literal_string \"log(address,string,bool,string)\"" + }, + "value": "log(address,string,bool,string)" + }, + { + "id": 25510, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25497, + "src": "62010:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25511, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25499, + "src": "62014:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25512, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25501, + "src": "62018:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25513, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25503, + "src": "62022:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc", + "typeString": "literal_string \"log(address,string,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25507, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61951:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "61955:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61951:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61951:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25506, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "61935:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "61935:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25516, + "nodeType": "ExpressionStatement", + "src": "61935:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61850:3:14", + "parameters": { + "id": 25504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25497, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61862:2:14", + "nodeType": "VariableDeclaration", + "scope": 25518, + "src": "61854:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25496, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61854:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25499, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61880:2:14", + "nodeType": "VariableDeclaration", + "scope": 25518, + "src": "61866:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25498, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61866:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25501, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61889:2:14", + "nodeType": "VariableDeclaration", + "scope": 25518, + "src": "61884:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25500, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61884:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25503, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61907:2:14", + "nodeType": "VariableDeclaration", + "scope": 25518, + "src": "61893:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25502, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61893:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "61853:57:14" + }, + "returnParameters": { + "id": 25505, + "nodeType": "ParameterList", + "parameters": [], + "src": "61925:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25541, + "nodeType": "FunctionDefinition", + "src": "62039:181:14", + "nodes": [], + "body": { + "id": 25540, + "nodeType": "Block", + "src": "62114:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29", + "id": 25532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62164:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08", + "typeString": "literal_string \"log(address,string,bool,bool)\"" + }, + "value": "log(address,string,bool,bool)" + }, + { + "id": 25533, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25520, + "src": "62197:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25534, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25522, + "src": "62201:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25535, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25524, + "src": "62205:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25536, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25526, + "src": "62209:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08", + "typeString": "literal_string \"log(address,string,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25530, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62140:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62144:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62140:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62140:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25529, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "62124:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62124:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25539, + "nodeType": "ExpressionStatement", + "src": "62124:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62048:3:14", + "parameters": { + "id": 25527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25520, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62060:2:14", + "nodeType": "VariableDeclaration", + "scope": 25541, + "src": "62052:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62052:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25522, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62078:2:14", + "nodeType": "VariableDeclaration", + "scope": 25541, + "src": "62064:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25521, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "62064:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25524, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62087:2:14", + "nodeType": "VariableDeclaration", + "scope": 25541, + "src": "62082:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25523, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62082:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25526, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62096:2:14", + "nodeType": "VariableDeclaration", + "scope": 25541, + "src": "62091:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25525, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62091:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "62051:48:14" + }, + "returnParameters": { + "id": 25528, + "nodeType": "ParameterList", + "parameters": [], + "src": "62114:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25564, + "nodeType": "FunctionDefinition", + "src": "62226:187:14", + "nodes": [], + "body": { + "id": 25563, + "nodeType": "Block", + "src": "62304:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329", + "id": 25555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62354:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970", + "typeString": "literal_string \"log(address,string,bool,address)\"" + }, + "value": "log(address,string,bool,address)" + }, + { + "id": 25556, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25543, + "src": "62390:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25557, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25545, + "src": "62394:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25558, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25547, + "src": "62398:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25559, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25549, + "src": "62402:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970", + "typeString": "literal_string \"log(address,string,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25553, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62330:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62334:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62330:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62330:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25552, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "62314:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62314:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25562, + "nodeType": "ExpressionStatement", + "src": "62314:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62235:3:14", + "parameters": { + "id": 25550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25543, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62247:2:14", + "nodeType": "VariableDeclaration", + "scope": 25564, + "src": "62239:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25542, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62239:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25545, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62265:2:14", + "nodeType": "VariableDeclaration", + "scope": 25564, + "src": "62251:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25544, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "62251:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25547, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62274:2:14", + "nodeType": "VariableDeclaration", + "scope": 25564, + "src": "62269:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25546, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62269:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25549, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62286:2:14", + "nodeType": "VariableDeclaration", + "scope": 25564, + "src": "62278:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25548, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62278:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "62238:51:14" + }, + "returnParameters": { + "id": 25551, + "nodeType": "ParameterList", + "parameters": [], + "src": "62304:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25587, + "nodeType": "FunctionDefinition", + "src": "62419:193:14", + "nodes": [], + "body": { + "id": 25586, + "nodeType": "Block", + "src": "62500:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629", + "id": 25578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62550:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7", + "typeString": "literal_string \"log(address,string,address,uint256)\"" + }, + "value": "log(address,string,address,uint256)" + }, + { + "id": 25579, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25566, + "src": "62589:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25580, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25568, + "src": "62593:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25581, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25570, + "src": "62597:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25582, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25572, + "src": "62601:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7", + "typeString": "literal_string \"log(address,string,address,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25576, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62526:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62530:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62526:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62526:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25575, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "62510:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62510:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25585, + "nodeType": "ExpressionStatement", + "src": "62510:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62428:3:14", + "parameters": { + "id": 25573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25566, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62440:2:14", + "nodeType": "VariableDeclaration", + "scope": 25587, + "src": "62432:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25565, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62432:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25568, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62458:2:14", + "nodeType": "VariableDeclaration", + "scope": 25587, + "src": "62444:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25567, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "62444:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25570, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62470:2:14", + "nodeType": "VariableDeclaration", + "scope": 25587, + "src": "62462:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25569, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62462:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25572, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62482:2:14", + "nodeType": "VariableDeclaration", + "scope": 25587, + "src": "62474:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25571, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "62474:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "62431:54:14" + }, + "returnParameters": { + "id": 25574, + "nodeType": "ParameterList", + "parameters": [], + "src": "62500:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25610, + "nodeType": "FunctionDefinition", + "src": "62618:198:14", + "nodes": [], + "body": { + "id": 25609, + "nodeType": "Block", + "src": "62705:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729", + "id": 25601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62755:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea", + "typeString": "literal_string \"log(address,string,address,string)\"" + }, + "value": "log(address,string,address,string)" + }, + { + "id": 25602, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25589, + "src": "62793:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25603, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25591, + "src": "62797:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25604, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25593, + "src": "62801:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25605, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25595, + "src": "62805:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea", + "typeString": "literal_string \"log(address,string,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25599, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62731:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62735:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62731:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62731:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25598, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "62715:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62715:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25608, + "nodeType": "ExpressionStatement", + "src": "62715:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62627:3:14", + "parameters": { + "id": 25596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25589, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62639:2:14", + "nodeType": "VariableDeclaration", + "scope": 25610, + "src": "62631:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25588, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62631:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25591, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62657:2:14", + "nodeType": "VariableDeclaration", + "scope": 25610, + "src": "62643:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25590, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "62643:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25593, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62669:2:14", + "nodeType": "VariableDeclaration", + "scope": 25610, + "src": "62661:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62661:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25595, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62687:2:14", + "nodeType": "VariableDeclaration", + "scope": 25610, + "src": "62673:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25594, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "62673:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "62630:60:14" + }, + "returnParameters": { + "id": 25597, + "nodeType": "ParameterList", + "parameters": [], + "src": "62705:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25633, + "nodeType": "FunctionDefinition", + "src": "62822:187:14", + "nodes": [], + "body": { + "id": 25632, + "nodeType": "Block", + "src": "62900:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29", + "id": 25624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "62950:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081", + "typeString": "literal_string \"log(address,string,address,bool)\"" + }, + "value": "log(address,string,address,bool)" + }, + { + "id": 25625, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25612, + "src": "62986:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25626, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25614, + "src": "62990:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25627, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25616, + "src": "62994:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25628, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25618, + "src": "62998:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081", + "typeString": "literal_string \"log(address,string,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25622, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "62926:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "62930:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "62926:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62926:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25621, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "62910:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "62910:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25631, + "nodeType": "ExpressionStatement", + "src": "62910:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "62831:3:14", + "parameters": { + "id": 25619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25612, + "mutability": "mutable", + "name": "p0", + "nameLocation": "62843:2:14", + "nodeType": "VariableDeclaration", + "scope": 25633, + "src": "62835:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25611, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62835:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25614, + "mutability": "mutable", + "name": "p1", + "nameLocation": "62861:2:14", + "nodeType": "VariableDeclaration", + "scope": 25633, + "src": "62847:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25613, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "62847:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25616, + "mutability": "mutable", + "name": "p2", + "nameLocation": "62873:2:14", + "nodeType": "VariableDeclaration", + "scope": 25633, + "src": "62865:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "62865:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25618, + "mutability": "mutable", + "name": "p3", + "nameLocation": "62882:2:14", + "nodeType": "VariableDeclaration", + "scope": 25633, + "src": "62877:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25617, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "62877:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "62834:51:14" + }, + "returnParameters": { + "id": 25620, + "nodeType": "ParameterList", + "parameters": [], + "src": "62900:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25656, + "nodeType": "FunctionDefinition", + "src": "63015:193:14", + "nodes": [], + "body": { + "id": 25655, + "nodeType": "Block", + "src": "63096:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329", + "id": 25647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63146:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121", + "typeString": "literal_string \"log(address,string,address,address)\"" + }, + "value": "log(address,string,address,address)" + }, + { + "id": 25648, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25635, + "src": "63185:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25649, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25637, + "src": "63189:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25650, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25639, + "src": "63193:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25651, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25641, + "src": "63197:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121", + "typeString": "literal_string \"log(address,string,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25645, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63122:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63126:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63122:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63122:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25644, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "63106:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63106:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25654, + "nodeType": "ExpressionStatement", + "src": "63106:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63024:3:14", + "parameters": { + "id": 25642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25635, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63036:2:14", + "nodeType": "VariableDeclaration", + "scope": 25656, + "src": "63028:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63028:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25637, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63054:2:14", + "nodeType": "VariableDeclaration", + "scope": 25656, + "src": "63040:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25636, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "63040:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25639, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63066:2:14", + "nodeType": "VariableDeclaration", + "scope": 25656, + "src": "63058:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25638, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63058:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25641, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63078:2:14", + "nodeType": "VariableDeclaration", + "scope": 25656, + "src": "63070:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63070:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "63027:54:14" + }, + "returnParameters": { + "id": 25643, + "nodeType": "ParameterList", + "parameters": [], + "src": "63096:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25679, + "nodeType": "FunctionDefinition", + "src": "63214:182:14", + "nodes": [], + "body": { + "id": 25678, + "nodeType": "Block", + "src": "63286:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629", + "id": 25670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63336:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4", + "typeString": "literal_string \"log(address,bool,uint256,uint256)\"" + }, + "value": "log(address,bool,uint256,uint256)" + }, + { + "id": 25671, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25658, + "src": "63373:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25672, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25660, + "src": "63377:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25673, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25662, + "src": "63381:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25674, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25664, + "src": "63385:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4", + "typeString": "literal_string \"log(address,bool,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25668, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63312:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63316:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63312:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63312:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25667, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "63296:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63296:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25677, + "nodeType": "ExpressionStatement", + "src": "63296:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63223:3:14", + "parameters": { + "id": 25665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25658, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63235:2:14", + "nodeType": "VariableDeclaration", + "scope": 25679, + "src": "63227:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25657, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63227:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25660, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63244:2:14", + "nodeType": "VariableDeclaration", + "scope": 25679, + "src": "63239:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25659, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63239:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25662, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63256:2:14", + "nodeType": "VariableDeclaration", + "scope": 25679, + "src": "63248:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25661, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "63248:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25664, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63268:2:14", + "nodeType": "VariableDeclaration", + "scope": 25679, + "src": "63260:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "63260:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "63226:45:14" + }, + "returnParameters": { + "id": 25666, + "nodeType": "ParameterList", + "parameters": [], + "src": "63286:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25702, + "nodeType": "FunctionDefinition", + "src": "63402:187:14", + "nodes": [], + "body": { + "id": 25701, + "nodeType": "Block", + "src": "63480:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729", + "id": 25693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63530:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283", + "typeString": "literal_string \"log(address,bool,uint256,string)\"" + }, + "value": "log(address,bool,uint256,string)" + }, + { + "id": 25694, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25681, + "src": "63566:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25695, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25683, + "src": "63570:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25696, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25685, + "src": "63574:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25697, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25687, + "src": "63578:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283", + "typeString": "literal_string \"log(address,bool,uint256,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25691, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63506:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63510:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63506:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63506:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25690, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "63490:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63490:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25700, + "nodeType": "ExpressionStatement", + "src": "63490:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63411:3:14", + "parameters": { + "id": 25688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25681, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63423:2:14", + "nodeType": "VariableDeclaration", + "scope": 25702, + "src": "63415:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63415:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25683, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63432:2:14", + "nodeType": "VariableDeclaration", + "scope": 25702, + "src": "63427:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63427:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25685, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63444:2:14", + "nodeType": "VariableDeclaration", + "scope": 25702, + "src": "63436:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25684, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "63436:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25687, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63462:2:14", + "nodeType": "VariableDeclaration", + "scope": 25702, + "src": "63448:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25686, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "63448:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "63414:51:14" + }, + "returnParameters": { + "id": 25689, + "nodeType": "ParameterList", + "parameters": [], + "src": "63480:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25725, + "nodeType": "FunctionDefinition", + "src": "63595:176:14", + "nodes": [], + "body": { + "id": 25724, + "nodeType": "Block", + "src": "63664:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29", + "id": 25716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63714:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c", + "typeString": "literal_string \"log(address,bool,uint256,bool)\"" + }, + "value": "log(address,bool,uint256,bool)" + }, + { + "id": 25717, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25704, + "src": "63748:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25718, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25706, + "src": "63752:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25719, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25708, + "src": "63756:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25720, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25710, + "src": "63760:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c", + "typeString": "literal_string \"log(address,bool,uint256,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25714, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63690:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63694:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63690:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63690:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25713, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "63674:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63674:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25723, + "nodeType": "ExpressionStatement", + "src": "63674:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63604:3:14", + "parameters": { + "id": 25711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25704, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63616:2:14", + "nodeType": "VariableDeclaration", + "scope": 25725, + "src": "63608:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25703, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63608:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25706, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63625:2:14", + "nodeType": "VariableDeclaration", + "scope": 25725, + "src": "63620:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25705, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63620:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25708, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63637:2:14", + "nodeType": "VariableDeclaration", + "scope": 25725, + "src": "63629:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "63629:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25710, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63646:2:14", + "nodeType": "VariableDeclaration", + "scope": 25725, + "src": "63641:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25709, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63641:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "63607:42:14" + }, + "returnParameters": { + "id": 25712, + "nodeType": "ParameterList", + "parameters": [], + "src": "63664:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25748, + "nodeType": "FunctionDefinition", + "src": "63777:182:14", + "nodes": [], + "body": { + "id": 25747, + "nodeType": "Block", + "src": "63849:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329", + "id": 25739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "63899:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee", + "typeString": "literal_string \"log(address,bool,uint256,address)\"" + }, + "value": "log(address,bool,uint256,address)" + }, + { + "id": 25740, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25727, + "src": "63936:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25741, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25729, + "src": "63940:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25742, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25731, + "src": "63944:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 25743, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25733, + "src": "63948:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee", + "typeString": "literal_string \"log(address,bool,uint256,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25737, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "63875:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "63879:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "63875:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63875:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25736, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "63859:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "63859:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25746, + "nodeType": "ExpressionStatement", + "src": "63859:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63786:3:14", + "parameters": { + "id": 25734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25727, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63798:2:14", + "nodeType": "VariableDeclaration", + "scope": 25748, + "src": "63790:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25726, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63790:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25729, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63807:2:14", + "nodeType": "VariableDeclaration", + "scope": 25748, + "src": "63802:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25728, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63802:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25731, + "mutability": "mutable", + "name": "p2", + "nameLocation": "63819:2:14", + "nodeType": "VariableDeclaration", + "scope": 25748, + "src": "63811:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "63811:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25733, + "mutability": "mutable", + "name": "p3", + "nameLocation": "63831:2:14", + "nodeType": "VariableDeclaration", + "scope": 25748, + "src": "63823:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63823:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "63789:45:14" + }, + "returnParameters": { + "id": 25735, + "nodeType": "ParameterList", + "parameters": [], + "src": "63849:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25771, + "nodeType": "FunctionDefinition", + "src": "63965:187:14", + "nodes": [], + "body": { + "id": 25770, + "nodeType": "Block", + "src": "64043:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629", + "id": 25762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64093:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69", + "typeString": "literal_string \"log(address,bool,string,uint256)\"" + }, + "value": "log(address,bool,string,uint256)" + }, + { + "id": 25763, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25750, + "src": "64129:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25764, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25752, + "src": "64133:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25765, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25754, + "src": "64137:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25766, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25756, + "src": "64141:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69", + "typeString": "literal_string \"log(address,bool,string,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25760, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64069:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64073:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64069:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64069:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25759, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "64053:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64053:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25769, + "nodeType": "ExpressionStatement", + "src": "64053:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "63974:3:14", + "parameters": { + "id": 25757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25750, + "mutability": "mutable", + "name": "p0", + "nameLocation": "63986:2:14", + "nodeType": "VariableDeclaration", + "scope": 25771, + "src": "63978:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25749, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "63978:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25752, + "mutability": "mutable", + "name": "p1", + "nameLocation": "63995:2:14", + "nodeType": "VariableDeclaration", + "scope": 25771, + "src": "63990:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25751, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "63990:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25754, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64013:2:14", + "nodeType": "VariableDeclaration", + "scope": 25771, + "src": "63999:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25753, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "63999:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25756, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64025:2:14", + "nodeType": "VariableDeclaration", + "scope": 25771, + "src": "64017:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "64017:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "63977:51:14" + }, + "returnParameters": { + "id": 25758, + "nodeType": "ParameterList", + "parameters": [], + "src": "64043:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25794, + "nodeType": "FunctionDefinition", + "src": "64158:192:14", + "nodes": [], + "body": { + "id": 25793, + "nodeType": "Block", + "src": "64242:108:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729", + "id": 25785, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64292:33:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f", + "typeString": "literal_string \"log(address,bool,string,string)\"" + }, + "value": "log(address,bool,string,string)" + }, + { + "id": 25786, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25773, + "src": "64327:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25787, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25775, + "src": "64331:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25788, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25777, + "src": "64335:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25789, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25779, + "src": "64339:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f", + "typeString": "literal_string \"log(address,bool,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25783, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64268:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64272:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64268:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64268:74:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25782, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "64252:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64252:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25792, + "nodeType": "ExpressionStatement", + "src": "64252:91:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64167:3:14", + "parameters": { + "id": 25780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25773, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64179:2:14", + "nodeType": "VariableDeclaration", + "scope": 25794, + "src": "64171:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25772, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64171:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25775, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64188:2:14", + "nodeType": "VariableDeclaration", + "scope": 25794, + "src": "64183:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25774, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64183:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25777, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64206:2:14", + "nodeType": "VariableDeclaration", + "scope": 25794, + "src": "64192:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25776, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "64192:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25779, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64224:2:14", + "nodeType": "VariableDeclaration", + "scope": 25794, + "src": "64210:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25778, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "64210:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "64170:57:14" + }, + "returnParameters": { + "id": 25781, + "nodeType": "ParameterList", + "parameters": [], + "src": "64242:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25817, + "nodeType": "FunctionDefinition", + "src": "64356:181:14", + "nodes": [], + "body": { + "id": 25816, + "nodeType": "Block", + "src": "64431:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29", + "id": 25808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64481:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f", + "typeString": "literal_string \"log(address,bool,string,bool)\"" + }, + "value": "log(address,bool,string,bool)" + }, + { + "id": 25809, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25796, + "src": "64514:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25810, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25798, + "src": "64518:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25811, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25800, + "src": "64522:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25812, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25802, + "src": "64526:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f", + "typeString": "literal_string \"log(address,bool,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25806, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64457:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64461:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64457:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64457:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25805, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "64441:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64441:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25815, + "nodeType": "ExpressionStatement", + "src": "64441:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64365:3:14", + "parameters": { + "id": 25803, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25796, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64377:2:14", + "nodeType": "VariableDeclaration", + "scope": 25817, + "src": "64369:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25795, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64369:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25798, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64386:2:14", + "nodeType": "VariableDeclaration", + "scope": 25817, + "src": "64381:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25797, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64381:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25800, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64404:2:14", + "nodeType": "VariableDeclaration", + "scope": 25817, + "src": "64390:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25799, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "64390:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25802, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64413:2:14", + "nodeType": "VariableDeclaration", + "scope": 25817, + "src": "64408:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25801, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64408:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "64368:48:14" + }, + "returnParameters": { + "id": 25804, + "nodeType": "ParameterList", + "parameters": [], + "src": "64431:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25840, + "nodeType": "FunctionDefinition", + "src": "64543:187:14", + "nodes": [], + "body": { + "id": 25839, + "nodeType": "Block", + "src": "64621:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329", + "id": 25831, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64671:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc", + "typeString": "literal_string \"log(address,bool,string,address)\"" + }, + "value": "log(address,bool,string,address)" + }, + { + "id": 25832, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25819, + "src": "64707:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25833, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25821, + "src": "64711:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25834, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25823, + "src": "64715:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 25835, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25825, + "src": "64719:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc", + "typeString": "literal_string \"log(address,bool,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25829, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64647:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64651:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64647:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64647:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25828, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "64631:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64631:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25838, + "nodeType": "ExpressionStatement", + "src": "64631:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64552:3:14", + "parameters": { + "id": 25826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25819, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64564:2:14", + "nodeType": "VariableDeclaration", + "scope": 25840, + "src": "64556:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25818, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64556:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25821, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64573:2:14", + "nodeType": "VariableDeclaration", + "scope": 25840, + "src": "64568:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25820, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64568:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25823, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64591:2:14", + "nodeType": "VariableDeclaration", + "scope": 25840, + "src": "64577:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25822, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "64577:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25825, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64603:2:14", + "nodeType": "VariableDeclaration", + "scope": 25840, + "src": "64595:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25824, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64595:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "64555:51:14" + }, + "returnParameters": { + "id": 25827, + "nodeType": "ParameterList", + "parameters": [], + "src": "64621:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25863, + "nodeType": "FunctionDefinition", + "src": "64736:176:14", + "nodes": [], + "body": { + "id": 25862, + "nodeType": "Block", + "src": "64805:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629", + "id": 25854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "64855:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e", + "typeString": "literal_string \"log(address,bool,bool,uint256)\"" + }, + "value": "log(address,bool,bool,uint256)" + }, + { + "id": 25855, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25842, + "src": "64889:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25856, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25844, + "src": "64893:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25857, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25846, + "src": "64897:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25858, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25848, + "src": "64901:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e", + "typeString": "literal_string \"log(address,bool,bool,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25852, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "64831:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "64835:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "64831:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64831:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25851, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "64815:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "64815:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25861, + "nodeType": "ExpressionStatement", + "src": "64815:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64745:3:14", + "parameters": { + "id": 25849, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25842, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64757:2:14", + "nodeType": "VariableDeclaration", + "scope": 25863, + "src": "64749:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25841, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64749:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25844, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64766:2:14", + "nodeType": "VariableDeclaration", + "scope": 25863, + "src": "64761:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25843, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64761:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25846, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64775:2:14", + "nodeType": "VariableDeclaration", + "scope": 25863, + "src": "64770:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25845, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64770:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25848, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64787:2:14", + "nodeType": "VariableDeclaration", + "scope": 25863, + "src": "64779:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25847, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "64779:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "64748:42:14" + }, + "returnParameters": { + "id": 25850, + "nodeType": "ParameterList", + "parameters": [], + "src": "64805:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25886, + "nodeType": "FunctionDefinition", + "src": "64918:181:14", + "nodes": [], + "body": { + "id": 25885, + "nodeType": "Block", + "src": "64993:106:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729", + "id": 25877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65043:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300", + "typeString": "literal_string \"log(address,bool,bool,string)\"" + }, + "value": "log(address,bool,bool,string)" + }, + { + "id": 25878, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25865, + "src": "65076:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25879, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25867, + "src": "65080:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25880, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25869, + "src": "65084:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25881, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25871, + "src": "65088:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300", + "typeString": "literal_string \"log(address,bool,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25875, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65019:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65023:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65019:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65019:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25874, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "65003:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65003:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25884, + "nodeType": "ExpressionStatement", + "src": "65003:89:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "64927:3:14", + "parameters": { + "id": 25872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25865, + "mutability": "mutable", + "name": "p0", + "nameLocation": "64939:2:14", + "nodeType": "VariableDeclaration", + "scope": 25886, + "src": "64931:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "64931:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25867, + "mutability": "mutable", + "name": "p1", + "nameLocation": "64948:2:14", + "nodeType": "VariableDeclaration", + "scope": 25886, + "src": "64943:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25866, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64943:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25869, + "mutability": "mutable", + "name": "p2", + "nameLocation": "64957:2:14", + "nodeType": "VariableDeclaration", + "scope": 25886, + "src": "64952:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25868, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "64952:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25871, + "mutability": "mutable", + "name": "p3", + "nameLocation": "64975:2:14", + "nodeType": "VariableDeclaration", + "scope": 25886, + "src": "64961:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25870, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "64961:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "64930:48:14" + }, + "returnParameters": { + "id": 25873, + "nodeType": "ParameterList", + "parameters": [], + "src": "64993:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25909, + "nodeType": "FunctionDefinition", + "src": "65105:170:14", + "nodes": [], + "body": { + "id": 25908, + "nodeType": "Block", + "src": "65171:104:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 25900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65221:29:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634", + "typeString": "literal_string \"log(address,bool,bool,bool)\"" + }, + "value": "log(address,bool,bool,bool)" + }, + { + "id": 25901, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25888, + "src": "65252:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25902, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25890, + "src": "65256:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25903, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25892, + "src": "65260:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25904, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25894, + "src": "65264:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634", + "typeString": "literal_string \"log(address,bool,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25898, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65197:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65201:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65197:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65197:70:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25897, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "65181:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65181:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25907, + "nodeType": "ExpressionStatement", + "src": "65181:87:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65114:3:14", + "parameters": { + "id": 25895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25888, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65126:2:14", + "nodeType": "VariableDeclaration", + "scope": 25909, + "src": "65118:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25887, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65118:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25890, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65135:2:14", + "nodeType": "VariableDeclaration", + "scope": 25909, + "src": "65130:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25889, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65130:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25892, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65144:2:14", + "nodeType": "VariableDeclaration", + "scope": 25909, + "src": "65139:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25891, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65139:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25894, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65153:2:14", + "nodeType": "VariableDeclaration", + "scope": 25909, + "src": "65148:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25893, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65148:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "65117:39:14" + }, + "returnParameters": { + "id": 25896, + "nodeType": "ParameterList", + "parameters": [], + "src": "65171:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25932, + "nodeType": "FunctionDefinition", + "src": "65281:176:14", + "nodes": [], + "body": { + "id": 25931, + "nodeType": "Block", + "src": "65350:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329", + "id": 25923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65400:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953", + "typeString": "literal_string \"log(address,bool,bool,address)\"" + }, + "value": "log(address,bool,bool,address)" + }, + { + "id": 25924, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25911, + "src": "65434:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25925, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25913, + "src": "65438:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25926, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25915, + "src": "65442:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25927, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25917, + "src": "65446:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953", + "typeString": "literal_string \"log(address,bool,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 25921, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65376:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65380:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65376:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65376:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25920, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "65360:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65360:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25930, + "nodeType": "ExpressionStatement", + "src": "65360:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65290:3:14", + "parameters": { + "id": 25918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25911, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65302:2:14", + "nodeType": "VariableDeclaration", + "scope": 25932, + "src": "65294:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25910, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65294:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25913, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65311:2:14", + "nodeType": "VariableDeclaration", + "scope": 25932, + "src": "65306:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25912, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65306:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25915, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65320:2:14", + "nodeType": "VariableDeclaration", + "scope": 25932, + "src": "65315:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25914, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65315:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25917, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65332:2:14", + "nodeType": "VariableDeclaration", + "scope": 25932, + "src": "65324:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25916, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65324:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "65293:42:14" + }, + "returnParameters": { + "id": 25919, + "nodeType": "ParameterList", + "parameters": [], + "src": "65350:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25955, + "nodeType": "FunctionDefinition", + "src": "65463:182:14", + "nodes": [], + "body": { + "id": 25954, + "nodeType": "Block", + "src": "65535:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629", + "id": 25946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65585:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039", + "typeString": "literal_string \"log(address,bool,address,uint256)\"" + }, + "value": "log(address,bool,address,uint256)" + }, + { + "id": 25947, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25934, + "src": "65622:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25948, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25936, + "src": "65626:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25949, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25938, + "src": "65630:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25950, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25940, + "src": "65634:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039", + "typeString": "literal_string \"log(address,bool,address,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 25944, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65561:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65565:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65561:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65561:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25943, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "65545:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65545:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25953, + "nodeType": "ExpressionStatement", + "src": "65545:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65472:3:14", + "parameters": { + "id": 25941, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25934, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65484:2:14", + "nodeType": "VariableDeclaration", + "scope": 25955, + "src": "65476:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25933, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65476:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25936, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65493:2:14", + "nodeType": "VariableDeclaration", + "scope": 25955, + "src": "65488:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25935, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65488:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25938, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65505:2:14", + "nodeType": "VariableDeclaration", + "scope": 25955, + "src": "65497:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25937, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65497:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25940, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65517:2:14", + "nodeType": "VariableDeclaration", + "scope": 25955, + "src": "65509:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25939, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "65509:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "65475:45:14" + }, + "returnParameters": { + "id": 25942, + "nodeType": "ParameterList", + "parameters": [], + "src": "65535:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 25978, + "nodeType": "FunctionDefinition", + "src": "65651:187:14", + "nodes": [], + "body": { + "id": 25977, + "nodeType": "Block", + "src": "65729:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729", + "id": 25969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65779:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453", + "typeString": "literal_string \"log(address,bool,address,string)\"" + }, + "value": "log(address,bool,address,string)" + }, + { + "id": 25970, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25957, + "src": "65815:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25971, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25959, + "src": "65819:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25972, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25961, + "src": "65823:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25973, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25963, + "src": "65827:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453", + "typeString": "literal_string \"log(address,bool,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 25967, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65755:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25968, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65759:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65755:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65755:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25966, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "65739:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65739:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25976, + "nodeType": "ExpressionStatement", + "src": "65739:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65660:3:14", + "parameters": { + "id": 25964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25957, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65672:2:14", + "nodeType": "VariableDeclaration", + "scope": 25978, + "src": "65664:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65664:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25959, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65681:2:14", + "nodeType": "VariableDeclaration", + "scope": 25978, + "src": "65676:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25958, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65676:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25961, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65693:2:14", + "nodeType": "VariableDeclaration", + "scope": 25978, + "src": "65685:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25960, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65685:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25963, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65711:2:14", + "nodeType": "VariableDeclaration", + "scope": 25978, + "src": "65697:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 25962, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "65697:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "65663:51:14" + }, + "returnParameters": { + "id": 25965, + "nodeType": "ParameterList", + "parameters": [], + "src": "65729:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26001, + "nodeType": "FunctionDefinition", + "src": "65844:176:14", + "nodes": [], + "body": { + "id": 26000, + "nodeType": "Block", + "src": "65913:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29", + "id": 25992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "65963:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1", + "typeString": "literal_string \"log(address,bool,address,bool)\"" + }, + "value": "log(address,bool,address,bool)" + }, + { + "id": 25993, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25980, + "src": "65997:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25994, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25982, + "src": "66001:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 25995, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25984, + "src": "66005:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 25996, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25986, + "src": "66009:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1", + "typeString": "literal_string \"log(address,bool,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 25990, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "65939:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 25991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "65943:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "65939:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 25997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65939:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 25989, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "65923:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 25998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "65923:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25999, + "nodeType": "ExpressionStatement", + "src": "65923:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "65853:3:14", + "parameters": { + "id": 25987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25980, + "mutability": "mutable", + "name": "p0", + "nameLocation": "65865:2:14", + "nodeType": "VariableDeclaration", + "scope": 26001, + "src": "65857:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25979, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65857:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25982, + "mutability": "mutable", + "name": "p1", + "nameLocation": "65874:2:14", + "nodeType": "VariableDeclaration", + "scope": 26001, + "src": "65869:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25981, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65869:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25984, + "mutability": "mutable", + "name": "p2", + "nameLocation": "65886:2:14", + "nodeType": "VariableDeclaration", + "scope": 26001, + "src": "65878:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 25983, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "65878:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 25986, + "mutability": "mutable", + "name": "p3", + "nameLocation": "65895:2:14", + "nodeType": "VariableDeclaration", + "scope": 26001, + "src": "65890:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25985, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "65890:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "65856:42:14" + }, + "returnParameters": { + "id": 25988, + "nodeType": "ParameterList", + "parameters": [], + "src": "65913:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26024, + "nodeType": "FunctionDefinition", + "src": "66026:182:14", + "nodes": [], + "body": { + "id": 26023, + "nodeType": "Block", + "src": "66098:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329", + "id": 26015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "66148:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35", + "typeString": "literal_string \"log(address,bool,address,address)\"" + }, + "value": "log(address,bool,address,address)" + }, + { + "id": 26016, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26003, + "src": "66185:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26017, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26005, + "src": "66189:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 26018, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26007, + "src": "66193:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26019, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26009, + "src": "66197:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35", + "typeString": "literal_string \"log(address,bool,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 26013, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "66124:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "66128:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "66124:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66124:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26012, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "66108:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66108:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26022, + "nodeType": "ExpressionStatement", + "src": "66108:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "66035:3:14", + "parameters": { + "id": 26010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26003, + "mutability": "mutable", + "name": "p0", + "nameLocation": "66047:2:14", + "nodeType": "VariableDeclaration", + "scope": 26024, + "src": "66039:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26002, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66039:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26005, + "mutability": "mutable", + "name": "p1", + "nameLocation": "66056:2:14", + "nodeType": "VariableDeclaration", + "scope": 26024, + "src": "66051:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26004, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "66051:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26007, + "mutability": "mutable", + "name": "p2", + "nameLocation": "66068:2:14", + "nodeType": "VariableDeclaration", + "scope": 26024, + "src": "66060:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26006, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66060:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26009, + "mutability": "mutable", + "name": "p3", + "nameLocation": "66080:2:14", + "nodeType": "VariableDeclaration", + "scope": 26024, + "src": "66072:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26008, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66072:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "66038:45:14" + }, + "returnParameters": { + "id": 26011, + "nodeType": "ParameterList", + "parameters": [], + "src": "66098:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26047, + "nodeType": "FunctionDefinition", + "src": "66214:188:14", + "nodes": [], + "body": { + "id": 26046, + "nodeType": "Block", + "src": "66289:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629", + "id": 26038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "66339:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25", + "typeString": "literal_string \"log(address,address,uint256,uint256)\"" + }, + "value": "log(address,address,uint256,uint256)" + }, + { + "id": 26039, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26026, + "src": "66379:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26040, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26028, + "src": "66383:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26041, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26030, + "src": "66387:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 26042, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26032, + "src": "66391:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25", + "typeString": "literal_string \"log(address,address,uint256,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 26036, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "66315:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26037, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "66319:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "66315:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66315:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26035, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "66299:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66299:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26045, + "nodeType": "ExpressionStatement", + "src": "66299:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "66223:3:14", + "parameters": { + "id": 26033, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26026, + "mutability": "mutable", + "name": "p0", + "nameLocation": "66235:2:14", + "nodeType": "VariableDeclaration", + "scope": 26047, + "src": "66227:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26025, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66227:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26028, + "mutability": "mutable", + "name": "p1", + "nameLocation": "66247:2:14", + "nodeType": "VariableDeclaration", + "scope": 26047, + "src": "66239:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26027, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66239:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26030, + "mutability": "mutable", + "name": "p2", + "nameLocation": "66259:2:14", + "nodeType": "VariableDeclaration", + "scope": 26047, + "src": "66251:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26029, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "66251:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26032, + "mutability": "mutable", + "name": "p3", + "nameLocation": "66271:2:14", + "nodeType": "VariableDeclaration", + "scope": 26047, + "src": "66263:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26031, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "66263:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "66226:48:14" + }, + "returnParameters": { + "id": 26034, + "nodeType": "ParameterList", + "parameters": [], + "src": "66289:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26070, + "nodeType": "FunctionDefinition", + "src": "66408:193:14", + "nodes": [], + "body": { + "id": 26069, + "nodeType": "Block", + "src": "66489:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729", + "id": 26061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "66539:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343", + "typeString": "literal_string \"log(address,address,uint256,string)\"" + }, + "value": "log(address,address,uint256,string)" + }, + { + "id": 26062, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26049, + "src": "66578:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26063, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26051, + "src": "66582:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26064, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26053, + "src": "66586:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 26065, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26055, + "src": "66590:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343", + "typeString": "literal_string \"log(address,address,uint256,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 26059, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "66515:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "66519:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "66515:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66515:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26058, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "66499:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66499:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26068, + "nodeType": "ExpressionStatement", + "src": "66499:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "66417:3:14", + "parameters": { + "id": 26056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26049, + "mutability": "mutable", + "name": "p0", + "nameLocation": "66429:2:14", + "nodeType": "VariableDeclaration", + "scope": 26070, + "src": "66421:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26048, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66421:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26051, + "mutability": "mutable", + "name": "p1", + "nameLocation": "66441:2:14", + "nodeType": "VariableDeclaration", + "scope": 26070, + "src": "66433:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26050, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66433:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26053, + "mutability": "mutable", + "name": "p2", + "nameLocation": "66453:2:14", + "nodeType": "VariableDeclaration", + "scope": 26070, + "src": "66445:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26052, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "66445:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26055, + "mutability": "mutable", + "name": "p3", + "nameLocation": "66471:2:14", + "nodeType": "VariableDeclaration", + "scope": 26070, + "src": "66457:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 26054, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "66457:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "66420:54:14" + }, + "returnParameters": { + "id": 26057, + "nodeType": "ParameterList", + "parameters": [], + "src": "66489:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26093, + "nodeType": "FunctionDefinition", + "src": "66607:182:14", + "nodes": [], + "body": { + "id": 26092, + "nodeType": "Block", + "src": "66679:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29", + "id": 26084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "66729:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd", + "typeString": "literal_string \"log(address,address,uint256,bool)\"" + }, + "value": "log(address,address,uint256,bool)" + }, + { + "id": 26085, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26072, + "src": "66766:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26086, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26074, + "src": "66770:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26087, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26076, + "src": "66774:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 26088, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26078, + "src": "66778:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd", + "typeString": "literal_string \"log(address,address,uint256,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 26082, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "66705:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "66709:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "66705:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66705:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26081, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "66689:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66689:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26091, + "nodeType": "ExpressionStatement", + "src": "66689:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "66616:3:14", + "parameters": { + "id": 26079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26072, + "mutability": "mutable", + "name": "p0", + "nameLocation": "66628:2:14", + "nodeType": "VariableDeclaration", + "scope": 26093, + "src": "66620:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26071, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66620:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26074, + "mutability": "mutable", + "name": "p1", + "nameLocation": "66640:2:14", + "nodeType": "VariableDeclaration", + "scope": 26093, + "src": "66632:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26073, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66632:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26076, + "mutability": "mutable", + "name": "p2", + "nameLocation": "66652:2:14", + "nodeType": "VariableDeclaration", + "scope": 26093, + "src": "66644:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "66644:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26078, + "mutability": "mutable", + "name": "p3", + "nameLocation": "66661:2:14", + "nodeType": "VariableDeclaration", + "scope": 26093, + "src": "66656:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26077, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "66656:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "66619:45:14" + }, + "returnParameters": { + "id": 26080, + "nodeType": "ParameterList", + "parameters": [], + "src": "66679:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26116, + "nodeType": "FunctionDefinition", + "src": "66795:188:14", + "nodes": [], + "body": { + "id": 26115, + "nodeType": "Block", + "src": "66870:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329", + "id": 26107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "66920:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b", + "typeString": "literal_string \"log(address,address,uint256,address)\"" + }, + "value": "log(address,address,uint256,address)" + }, + { + "id": 26108, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26095, + "src": "66960:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26109, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "66964:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26110, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26099, + "src": "66968:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 26111, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26101, + "src": "66972:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b", + "typeString": "literal_string \"log(address,address,uint256,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 26105, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "66896:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "66900:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "66896:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66896:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26104, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "66880:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "66880:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26114, + "nodeType": "ExpressionStatement", + "src": "66880:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "66804:3:14", + "parameters": { + "id": 26102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26095, + "mutability": "mutable", + "name": "p0", + "nameLocation": "66816:2:14", + "nodeType": "VariableDeclaration", + "scope": 26116, + "src": "66808:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66808:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26097, + "mutability": "mutable", + "name": "p1", + "nameLocation": "66828:2:14", + "nodeType": "VariableDeclaration", + "scope": 26116, + "src": "66820:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66820:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26099, + "mutability": "mutable", + "name": "p2", + "nameLocation": "66840:2:14", + "nodeType": "VariableDeclaration", + "scope": 26116, + "src": "66832:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "66832:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26101, + "mutability": "mutable", + "name": "p3", + "nameLocation": "66852:2:14", + "nodeType": "VariableDeclaration", + "scope": 26116, + "src": "66844:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "66844:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "66807:48:14" + }, + "returnParameters": { + "id": 26103, + "nodeType": "ParameterList", + "parameters": [], + "src": "66870:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26139, + "nodeType": "FunctionDefinition", + "src": "66989:193:14", + "nodes": [], + "body": { + "id": 26138, + "nodeType": "Block", + "src": "67070:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629", + "id": 26130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "67120:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5", + "typeString": "literal_string \"log(address,address,string,uint256)\"" + }, + "value": "log(address,address,string,uint256)" + }, + { + "id": 26131, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26118, + "src": "67159:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26132, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26120, + "src": "67163:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26133, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26122, + "src": "67167:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 26134, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26124, + "src": "67171:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5", + "typeString": "literal_string \"log(address,address,string,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 26128, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "67096:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "67100:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "67096:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67096:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26127, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "67080:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67080:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26137, + "nodeType": "ExpressionStatement", + "src": "67080:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "66998:3:14", + "parameters": { + "id": 26125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26118, + "mutability": "mutable", + "name": "p0", + "nameLocation": "67010:2:14", + "nodeType": "VariableDeclaration", + "scope": 26139, + "src": "67002:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67002:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26120, + "mutability": "mutable", + "name": "p1", + "nameLocation": "67022:2:14", + "nodeType": "VariableDeclaration", + "scope": 26139, + "src": "67014:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26119, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67014:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26122, + "mutability": "mutable", + "name": "p2", + "nameLocation": "67040:2:14", + "nodeType": "VariableDeclaration", + "scope": 26139, + "src": "67026:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 26121, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "67026:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26124, + "mutability": "mutable", + "name": "p3", + "nameLocation": "67052:2:14", + "nodeType": "VariableDeclaration", + "scope": 26139, + "src": "67044:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26123, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "67044:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "67001:54:14" + }, + "returnParameters": { + "id": 26126, + "nodeType": "ParameterList", + "parameters": [], + "src": "67070:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26162, + "nodeType": "FunctionDefinition", + "src": "67188:198:14", + "nodes": [], + "body": { + "id": 26161, + "nodeType": "Block", + "src": "67275:111:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729", + "id": 26153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "67325:36:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1", + "typeString": "literal_string \"log(address,address,string,string)\"" + }, + "value": "log(address,address,string,string)" + }, + { + "id": 26154, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26141, + "src": "67363:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26155, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26143, + "src": "67367:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26156, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26145, + "src": "67371:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 26157, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26147, + "src": "67375:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1", + "typeString": "literal_string \"log(address,address,string,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 26151, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "67301:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "67305:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "67301:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67301:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26150, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "67285:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67285:94:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26160, + "nodeType": "ExpressionStatement", + "src": "67285:94:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "67197:3:14", + "parameters": { + "id": 26148, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26141, + "mutability": "mutable", + "name": "p0", + "nameLocation": "67209:2:14", + "nodeType": "VariableDeclaration", + "scope": 26162, + "src": "67201:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67201:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26143, + "mutability": "mutable", + "name": "p1", + "nameLocation": "67221:2:14", + "nodeType": "VariableDeclaration", + "scope": 26162, + "src": "67213:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26142, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67213:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26145, + "mutability": "mutable", + "name": "p2", + "nameLocation": "67239:2:14", + "nodeType": "VariableDeclaration", + "scope": 26162, + "src": "67225:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 26144, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "67225:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26147, + "mutability": "mutable", + "name": "p3", + "nameLocation": "67257:2:14", + "nodeType": "VariableDeclaration", + "scope": 26162, + "src": "67243:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 26146, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "67243:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "67200:60:14" + }, + "returnParameters": { + "id": 26149, + "nodeType": "ParameterList", + "parameters": [], + "src": "67275:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26185, + "nodeType": "FunctionDefinition", + "src": "67392:187:14", + "nodes": [], + "body": { + "id": 26184, + "nodeType": "Block", + "src": "67470:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29", + "id": 26176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "67520:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd", + "typeString": "literal_string \"log(address,address,string,bool)\"" + }, + "value": "log(address,address,string,bool)" + }, + { + "id": 26177, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26164, + "src": "67556:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26178, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26166, + "src": "67560:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26179, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26168, + "src": "67564:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 26180, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26170, + "src": "67568:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd", + "typeString": "literal_string \"log(address,address,string,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 26174, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "67496:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "67500:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "67496:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67496:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26173, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "67480:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67480:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26183, + "nodeType": "ExpressionStatement", + "src": "67480:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "67401:3:14", + "parameters": { + "id": 26171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26164, + "mutability": "mutable", + "name": "p0", + "nameLocation": "67413:2:14", + "nodeType": "VariableDeclaration", + "scope": 26185, + "src": "67405:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67405:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26166, + "mutability": "mutable", + "name": "p1", + "nameLocation": "67425:2:14", + "nodeType": "VariableDeclaration", + "scope": 26185, + "src": "67417:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67417:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26168, + "mutability": "mutable", + "name": "p2", + "nameLocation": "67443:2:14", + "nodeType": "VariableDeclaration", + "scope": 26185, + "src": "67429:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 26167, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "67429:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26170, + "mutability": "mutable", + "name": "p3", + "nameLocation": "67452:2:14", + "nodeType": "VariableDeclaration", + "scope": 26185, + "src": "67447:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26169, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "67447:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "67404:51:14" + }, + "returnParameters": { + "id": 26172, + "nodeType": "ParameterList", + "parameters": [], + "src": "67470:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26208, + "nodeType": "FunctionDefinition", + "src": "67585:193:14", + "nodes": [], + "body": { + "id": 26207, + "nodeType": "Block", + "src": "67666:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329", + "id": 26199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "67716:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687", + "typeString": "literal_string \"log(address,address,string,address)\"" + }, + "value": "log(address,address,string,address)" + }, + { + "id": 26200, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26187, + "src": "67755:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26201, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26189, + "src": "67759:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26202, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26191, + "src": "67763:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 26203, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26193, + "src": "67767:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687", + "typeString": "literal_string \"log(address,address,string,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 26197, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "67692:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "67696:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "67692:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67692:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26196, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "67676:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67676:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26206, + "nodeType": "ExpressionStatement", + "src": "67676:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "67594:3:14", + "parameters": { + "id": 26194, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26187, + "mutability": "mutable", + "name": "p0", + "nameLocation": "67606:2:14", + "nodeType": "VariableDeclaration", + "scope": 26208, + "src": "67598:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26186, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67598:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26189, + "mutability": "mutable", + "name": "p1", + "nameLocation": "67618:2:14", + "nodeType": "VariableDeclaration", + "scope": 26208, + "src": "67610:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26188, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67610:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26191, + "mutability": "mutable", + "name": "p2", + "nameLocation": "67636:2:14", + "nodeType": "VariableDeclaration", + "scope": 26208, + "src": "67622:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 26190, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "67622:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26193, + "mutability": "mutable", + "name": "p3", + "nameLocation": "67648:2:14", + "nodeType": "VariableDeclaration", + "scope": 26208, + "src": "67640:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67640:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "67597:54:14" + }, + "returnParameters": { + "id": 26195, + "nodeType": "ParameterList", + "parameters": [], + "src": "67666:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26231, + "nodeType": "FunctionDefinition", + "src": "67784:182:14", + "nodes": [], + "body": { + "id": 26230, + "nodeType": "Block", + "src": "67856:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629", + "id": 26222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "67906:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671", + "typeString": "literal_string \"log(address,address,bool,uint256)\"" + }, + "value": "log(address,address,bool,uint256)" + }, + { + "id": 26223, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26210, + "src": "67943:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26224, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26212, + "src": "67947:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26225, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26214, + "src": "67951:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 26226, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26216, + "src": "67955:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671", + "typeString": "literal_string \"log(address,address,bool,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 26220, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "67882:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "67886:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "67882:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67882:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26219, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "67866:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "67866:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26229, + "nodeType": "ExpressionStatement", + "src": "67866:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "67793:3:14", + "parameters": { + "id": 26217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26210, + "mutability": "mutable", + "name": "p0", + "nameLocation": "67805:2:14", + "nodeType": "VariableDeclaration", + "scope": 26231, + "src": "67797:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26209, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67797:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26212, + "mutability": "mutable", + "name": "p1", + "nameLocation": "67817:2:14", + "nodeType": "VariableDeclaration", + "scope": 26231, + "src": "67809:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26211, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67809:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26214, + "mutability": "mutable", + "name": "p2", + "nameLocation": "67826:2:14", + "nodeType": "VariableDeclaration", + "scope": 26231, + "src": "67821:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26213, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "67821:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26216, + "mutability": "mutable", + "name": "p3", + "nameLocation": "67838:2:14", + "nodeType": "VariableDeclaration", + "scope": 26231, + "src": "67830:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "67830:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "67796:45:14" + }, + "returnParameters": { + "id": 26218, + "nodeType": "ParameterList", + "parameters": [], + "src": "67856:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26254, + "nodeType": "FunctionDefinition", + "src": "67972:187:14", + "nodes": [], + "body": { + "id": 26253, + "nodeType": "Block", + "src": "68050:109:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729", + "id": 26245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "68100:34:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88", + "typeString": "literal_string \"log(address,address,bool,string)\"" + }, + "value": "log(address,address,bool,string)" + }, + { + "id": 26246, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26233, + "src": "68136:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26247, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26235, + "src": "68140:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26248, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26237, + "src": "68144:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 26249, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26239, + "src": "68148:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88", + "typeString": "literal_string \"log(address,address,bool,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 26243, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "68076:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "68080:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "68076:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68076:75:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26242, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "68060:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68060:92:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26252, + "nodeType": "ExpressionStatement", + "src": "68060:92:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "67981:3:14", + "parameters": { + "id": 26240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26233, + "mutability": "mutable", + "name": "p0", + "nameLocation": "67993:2:14", + "nodeType": "VariableDeclaration", + "scope": 26254, + "src": "67985:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67985:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26235, + "mutability": "mutable", + "name": "p1", + "nameLocation": "68005:2:14", + "nodeType": "VariableDeclaration", + "scope": 26254, + "src": "67997:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26234, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "67997:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26237, + "mutability": "mutable", + "name": "p2", + "nameLocation": "68014:2:14", + "nodeType": "VariableDeclaration", + "scope": 26254, + "src": "68009:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26236, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "68009:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26239, + "mutability": "mutable", + "name": "p3", + "nameLocation": "68032:2:14", + "nodeType": "VariableDeclaration", + "scope": 26254, + "src": "68018:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 26238, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "68018:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "67984:51:14" + }, + "returnParameters": { + "id": 26241, + "nodeType": "ParameterList", + "parameters": [], + "src": "68050:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26277, + "nodeType": "FunctionDefinition", + "src": "68165:176:14", + "nodes": [], + "body": { + "id": 26276, + "nodeType": "Block", + "src": "68234:107:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29", + "id": 26268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "68284:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65", + "typeString": "literal_string \"log(address,address,bool,bool)\"" + }, + "value": "log(address,address,bool,bool)" + }, + { + "id": 26269, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26256, + "src": "68318:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26270, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26258, + "src": "68322:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26271, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26260, + "src": "68326:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 26272, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26262, + "src": "68330:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65", + "typeString": "literal_string \"log(address,address,bool,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 26266, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "68260:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "68264:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "68260:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68260:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26265, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "68244:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68244:90:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26275, + "nodeType": "ExpressionStatement", + "src": "68244:90:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "68174:3:14", + "parameters": { + "id": 26263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26256, + "mutability": "mutable", + "name": "p0", + "nameLocation": "68186:2:14", + "nodeType": "VariableDeclaration", + "scope": 26277, + "src": "68178:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26255, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68178:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26258, + "mutability": "mutable", + "name": "p1", + "nameLocation": "68198:2:14", + "nodeType": "VariableDeclaration", + "scope": 26277, + "src": "68190:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26257, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68190:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26260, + "mutability": "mutable", + "name": "p2", + "nameLocation": "68207:2:14", + "nodeType": "VariableDeclaration", + "scope": 26277, + "src": "68202:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26259, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "68202:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26262, + "mutability": "mutable", + "name": "p3", + "nameLocation": "68216:2:14", + "nodeType": "VariableDeclaration", + "scope": 26277, + "src": "68211:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26261, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "68211:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "68177:42:14" + }, + "returnParameters": { + "id": 26264, + "nodeType": "ParameterList", + "parameters": [], + "src": "68234:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26300, + "nodeType": "FunctionDefinition", + "src": "68347:182:14", + "nodes": [], + "body": { + "id": 26299, + "nodeType": "Block", + "src": "68419:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329", + "id": 26291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "68469:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c", + "typeString": "literal_string \"log(address,address,bool,address)\"" + }, + "value": "log(address,address,bool,address)" + }, + { + "id": 26292, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26279, + "src": "68506:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26293, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26281, + "src": "68510:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26294, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26283, + "src": "68514:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 26295, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26285, + "src": "68518:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c", + "typeString": "literal_string \"log(address,address,bool,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 26289, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "68445:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "68449:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "68445:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68445:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26288, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "68429:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68429:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26298, + "nodeType": "ExpressionStatement", + "src": "68429:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "68356:3:14", + "parameters": { + "id": 26286, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26279, + "mutability": "mutable", + "name": "p0", + "nameLocation": "68368:2:14", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "68360:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26278, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68360:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26281, + "mutability": "mutable", + "name": "p1", + "nameLocation": "68380:2:14", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "68372:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68372:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26283, + "mutability": "mutable", + "name": "p2", + "nameLocation": "68389:2:14", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "68384:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26282, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "68384:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26285, + "mutability": "mutable", + "name": "p3", + "nameLocation": "68401:2:14", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "68393:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26284, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68393:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "68359:45:14" + }, + "returnParameters": { + "id": 26287, + "nodeType": "ParameterList", + "parameters": [], + "src": "68419:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26323, + "nodeType": "FunctionDefinition", + "src": "68535:188:14", + "nodes": [], + "body": { + "id": 26322, + "nodeType": "Block", + "src": "68610:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629", + "id": 26314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "68660:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577", + "typeString": "literal_string \"log(address,address,address,uint256)\"" + }, + "value": "log(address,address,address,uint256)" + }, + { + "id": 26315, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26302, + "src": "68700:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26316, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26304, + "src": "68704:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26317, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26306, + "src": "68708:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26318, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26308, + "src": "68712:2:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577", + "typeString": "literal_string \"log(address,address,address,uint256)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 26312, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "68636:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26313, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "68640:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "68636:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68636:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26311, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "68620:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68620:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26321, + "nodeType": "ExpressionStatement", + "src": "68620:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "68544:3:14", + "parameters": { + "id": 26309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26302, + "mutability": "mutable", + "name": "p0", + "nameLocation": "68556:2:14", + "nodeType": "VariableDeclaration", + "scope": 26323, + "src": "68548:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68548:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26304, + "mutability": "mutable", + "name": "p1", + "nameLocation": "68568:2:14", + "nodeType": "VariableDeclaration", + "scope": 26323, + "src": "68560:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68560:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26306, + "mutability": "mutable", + "name": "p2", + "nameLocation": "68580:2:14", + "nodeType": "VariableDeclaration", + "scope": 26323, + "src": "68572:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26305, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68572:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26308, + "mutability": "mutable", + "name": "p3", + "nameLocation": "68592:2:14", + "nodeType": "VariableDeclaration", + "scope": 26323, + "src": "68584:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "68584:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "68547:48:14" + }, + "returnParameters": { + "id": 26310, + "nodeType": "ParameterList", + "parameters": [], + "src": "68610:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26346, + "nodeType": "FunctionDefinition", + "src": "68729:193:14", + "nodes": [], + "body": { + "id": 26345, + "nodeType": "Block", + "src": "68810:112:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729", + "id": 26337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "68860:37:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025", + "typeString": "literal_string \"log(address,address,address,string)\"" + }, + "value": "log(address,address,address,string)" + }, + { + "id": 26338, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26325, + "src": "68899:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26339, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26327, + "src": "68903:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26340, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26329, + "src": "68907:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26341, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26331, + "src": "68911:2:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025", + "typeString": "literal_string \"log(address,address,address,string)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 26335, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "68836:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "68840:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "68836:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68836:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26334, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "68820:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "68820:95:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26344, + "nodeType": "ExpressionStatement", + "src": "68820:95:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "68738:3:14", + "parameters": { + "id": 26332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26325, + "mutability": "mutable", + "name": "p0", + "nameLocation": "68750:2:14", + "nodeType": "VariableDeclaration", + "scope": 26346, + "src": "68742:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68742:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26327, + "mutability": "mutable", + "name": "p1", + "nameLocation": "68762:2:14", + "nodeType": "VariableDeclaration", + "scope": 26346, + "src": "68754:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68754:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26329, + "mutability": "mutable", + "name": "p2", + "nameLocation": "68774:2:14", + "nodeType": "VariableDeclaration", + "scope": 26346, + "src": "68766:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68766:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26331, + "mutability": "mutable", + "name": "p3", + "nameLocation": "68792:2:14", + "nodeType": "VariableDeclaration", + "scope": 26346, + "src": "68778:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 26330, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "68778:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "68741:54:14" + }, + "returnParameters": { + "id": 26333, + "nodeType": "ParameterList", + "parameters": [], + "src": "68810:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26369, + "nodeType": "FunctionDefinition", + "src": "68928:182:14", + "nodes": [], + "body": { + "id": 26368, + "nodeType": "Block", + "src": "69000:110:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29", + "id": 26360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "69050:35:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb", + "typeString": "literal_string \"log(address,address,address,bool)\"" + }, + "value": "log(address,address,address,bool)" + }, + { + "id": 26361, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26348, + "src": "69087:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26362, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26350, + "src": "69091:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26363, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26352, + "src": "69095:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26364, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26354, + "src": "69099:2:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb", + "typeString": "literal_string \"log(address,address,address,bool)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 26358, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "69026:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "69030:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "69026:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "69026:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26357, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "69010:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "69010:93:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26367, + "nodeType": "ExpressionStatement", + "src": "69010:93:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "68937:3:14", + "parameters": { + "id": 26355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26348, + "mutability": "mutable", + "name": "p0", + "nameLocation": "68949:2:14", + "nodeType": "VariableDeclaration", + "scope": 26369, + "src": "68941:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26347, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68941:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26350, + "mutability": "mutable", + "name": "p1", + "nameLocation": "68961:2:14", + "nodeType": "VariableDeclaration", + "scope": 26369, + "src": "68953:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26349, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68953:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26352, + "mutability": "mutable", + "name": "p2", + "nameLocation": "68973:2:14", + "nodeType": "VariableDeclaration", + "scope": 26369, + "src": "68965:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26351, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "68965:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26354, + "mutability": "mutable", + "name": "p3", + "nameLocation": "68982:2:14", + "nodeType": "VariableDeclaration", + "scope": 26369, + "src": "68977:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26353, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "68977:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "68940:45:14" + }, + "returnParameters": { + "id": 26356, + "nodeType": "ParameterList", + "parameters": [], + "src": "69000:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26392, + "nodeType": "FunctionDefinition", + "src": "69116:188:14", + "nodes": [], + "body": { + "id": 26391, + "nodeType": "Block", + "src": "69191:113:14", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329", + "id": 26383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "69241:38:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5", + "typeString": "literal_string \"log(address,address,address,address)\"" + }, + "value": "log(address,address,address,address)" + }, + { + "id": 26384, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26371, + "src": "69281:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26385, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26373, + "src": "69285:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26386, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26375, + "src": "69289:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 26387, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26377, + "src": "69293:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5", + "typeString": "literal_string \"log(address,address,address,address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 26381, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "69217:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 26382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "69221:19:14", + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "69217:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 26388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "69217:79:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 26380, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "69201:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 26389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "69201:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26390, + "nodeType": "ExpressionStatement", + "src": "69201:96:14" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "69125:3:14", + "parameters": { + "id": 26378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26371, + "mutability": "mutable", + "name": "p0", + "nameLocation": "69137:2:14", + "nodeType": "VariableDeclaration", + "scope": 26392, + "src": "69129:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "69129:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26373, + "mutability": "mutable", + "name": "p1", + "nameLocation": "69149:2:14", + "nodeType": "VariableDeclaration", + "scope": 26392, + "src": "69141:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26372, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "69141:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26375, + "mutability": "mutable", + "name": "p2", + "nameLocation": "69161:2:14", + "nodeType": "VariableDeclaration", + "scope": 26392, + "src": "69153:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26374, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "69153:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26377, + "mutability": "mutable", + "name": "p3", + "nameLocation": "69173:2:14", + "nodeType": "VariableDeclaration", + "scope": 26392, + "src": "69165:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "69165:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "69128:48:14" + }, + "returnParameters": { + "id": 26379, + "nodeType": "ParameterList", + "parameters": [], + "src": "69191:0:14" + }, + "scope": 26393, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "console2", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 18300, + "nodeType": "StructuredDocumentation", + "src": "66:459:14", + "text": "@dev The original console.sol uses `int` and `uint` for computing function selectors, but it should\n use `int256` and `uint256`. This modified version fixes that. This version is recommended\n over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in\n forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`.\n Reference: https://github.com/NomicFoundation/hardhat/issues/2178" + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 26393 + ], + "name": "console2", + "nameLocation": "533:8:14", + "scope": 26394, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/forge-std/src/interfaces/IMulticall3.sol": { + "id": 15, + "ast": { + "absolutePath": "lib/forge-std/src/interfaces/IMulticall3.sol", + "id": 26557, + "exportedSymbols": { + "IMulticall3": [ + 26556 + ] + }, + "nodeType": "SourceUnit", + "src": "32:2153:15", + "nodes": [ + { + "id": 26395, + "nodeType": "PragmaDirective", + "src": "32:31:15", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.9", + ".0" + ] + }, + { + "id": 26396, + "nodeType": "PragmaDirective", + "src": "65:33:15", + "nodes": [], + "literals": [ + "experimental", + "ABIEncoderV2" + ] + }, + { + "id": 26556, + "nodeType": "ContractDefinition", + "src": "100:2084:15", + "nodes": [ + { + "id": 26401, + "nodeType": "StructDefinition", + "src": "128:67:15", + "nodes": [], + "canonicalName": "IMulticall3.Call", + "members": [ + { + "constant": false, + "id": 26398, + "mutability": "mutable", + "name": "target", + "nameLocation": "158:6:15", + "nodeType": "VariableDeclaration", + "scope": 26401, + "src": "150:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26397, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "150:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26400, + "mutability": "mutable", + "name": "callData", + "nameLocation": "180:8:15", + "nodeType": "VariableDeclaration", + "scope": 26401, + "src": "174:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 26399, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "174:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "Call", + "nameLocation": "135:4:15", + "scope": 26556, + "visibility": "public" + }, + { + "id": 26408, + "nodeType": "StructDefinition", + "src": "201:95:15", + "nodes": [], + "canonicalName": "IMulticall3.Call3", + "members": [ + { + "constant": false, + "id": 26403, + "mutability": "mutable", + "name": "target", + "nameLocation": "232:6:15", + "nodeType": "VariableDeclaration", + "scope": 26408, + "src": "224:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "224:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26405, + "mutability": "mutable", + "name": "allowFailure", + "nameLocation": "253:12:15", + "nodeType": "VariableDeclaration", + "scope": 26408, + "src": "248:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26404, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "248:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26407, + "mutability": "mutable", + "name": "callData", + "nameLocation": "281:8:15", + "nodeType": "VariableDeclaration", + "scope": 26408, + "src": "275:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 26406, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "275:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "Call3", + "nameLocation": "208:5:15", + "scope": 26556, + "visibility": "public" + }, + { + "id": 26417, + "nodeType": "StructDefinition", + "src": "302:123:15", + "nodes": [], + "canonicalName": "IMulticall3.Call3Value", + "members": [ + { + "constant": false, + "id": 26410, + "mutability": "mutable", + "name": "target", + "nameLocation": "338:6:15", + "nodeType": "VariableDeclaration", + "scope": 26417, + "src": "330:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26409, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "330:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26412, + "mutability": "mutable", + "name": "allowFailure", + "nameLocation": "359:12:15", + "nodeType": "VariableDeclaration", + "scope": 26417, + "src": "354:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26411, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "354:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26414, + "mutability": "mutable", + "name": "value", + "nameLocation": "389:5:15", + "nodeType": "VariableDeclaration", + "scope": 26417, + "src": "381:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "381:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26416, + "mutability": "mutable", + "name": "callData", + "nameLocation": "410:8:15", + "nodeType": "VariableDeclaration", + "scope": 26417, + "src": "404:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 26415, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "404:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "Call3Value", + "nameLocation": "309:10:15", + "scope": 26556, + "visibility": "public" + }, + { + "id": 26422, + "nodeType": "StructDefinition", + "src": "431:69:15", + "nodes": [], + "canonicalName": "IMulticall3.Result", + "members": [ + { + "constant": false, + "id": 26419, + "mutability": "mutable", + "name": "success", + "nameLocation": "460:7:15", + "nodeType": "VariableDeclaration", + "scope": 26422, + "src": "455:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26418, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "455:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26421, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "483:10:15", + "nodeType": "VariableDeclaration", + "scope": 26422, + "src": "477:16:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 26420, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "477:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "Result", + "nameLocation": "438:6:15", + "scope": 26556, + "visibility": "public" + }, + { + "id": 26434, + "nodeType": "FunctionDefinition", + "src": "506:140:15", + "nodes": [], + "functionSelector": "252dba42", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "aggregate", + "nameLocation": "515:9:15", + "parameters": { + "id": 26427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26426, + "mutability": "mutable", + "name": "calls", + "nameLocation": "541:5:15", + "nodeType": "VariableDeclaration", + "scope": 26434, + "src": "525:21:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IMulticall3.Call[]" + }, + "typeName": { + "baseType": { + "id": 26424, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26423, + "name": "Call", + "nameLocations": [ + "525:4:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26401, + "src": "525:4:15" + }, + "referencedDeclaration": 26401, + "src": "525:4:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call_$26401_storage_ptr", + "typeString": "struct IMulticall3.Call" + } + }, + "id": 26425, + "nodeType": "ArrayTypeName", + "src": "525:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Call[]" + } + }, + "visibility": "internal" + } + ], + "src": "524:23:15" + }, + "returnParameters": { + "id": 26433, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26429, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "606:11:15", + "nodeType": "VariableDeclaration", + "scope": 26434, + "src": "598:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "598:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26432, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "634:10:15", + "nodeType": "VariableDeclaration", + "scope": 26434, + "src": "619:25:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 26430, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "619:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 26431, + "nodeType": "ArrayTypeName", + "src": "619:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "597:48:15" + }, + "scope": 26556, + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "id": 26445, + "nodeType": "FunctionDefinition", + "src": "652:98:15", + "nodes": [], + "functionSelector": "82ad56cb", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "aggregate3", + "nameLocation": "661:10:15", + "parameters": { + "id": 26439, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26438, + "mutability": "mutable", + "name": "calls", + "nameLocation": "689:5:15", + "nodeType": "VariableDeclaration", + "scope": 26445, + "src": "672:22:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call3_$26408_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IMulticall3.Call3[]" + }, + "typeName": { + "baseType": { + "id": 26436, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26435, + "name": "Call3", + "nameLocations": [ + "672:5:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26408, + "src": "672:5:15" + }, + "referencedDeclaration": 26408, + "src": "672:5:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call3_$26408_storage_ptr", + "typeString": "struct IMulticall3.Call3" + } + }, + "id": 26437, + "nodeType": "ArrayTypeName", + "src": "672:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call3_$26408_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Call3[]" + } + }, + "visibility": "internal" + } + ], + "src": "671:24:15" + }, + "returnParameters": { + "id": 26444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26443, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "738:10:15", + "nodeType": "VariableDeclaration", + "scope": 26445, + "src": "722:26:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Result[]" + }, + "typeName": { + "baseType": { + "id": 26441, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26440, + "name": "Result", + "nameLocations": [ + "722:6:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26422, + "src": "722:6:15" + }, + "referencedDeclaration": 26422, + "src": "722:6:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Result_$26422_storage_ptr", + "typeString": "struct IMulticall3.Result" + } + }, + "id": 26442, + "nodeType": "ArrayTypeName", + "src": "722:8:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Result[]" + } + }, + "visibility": "internal" + } + ], + "src": "721:28:15" + }, + "scope": 26556, + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "id": 26456, + "nodeType": "FunctionDefinition", + "src": "756:108:15", + "nodes": [], + "functionSelector": "174dea71", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "aggregate3Value", + "nameLocation": "765:15:15", + "parameters": { + "id": 26450, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26449, + "mutability": "mutable", + "name": "calls", + "nameLocation": "803:5:15", + "nodeType": "VariableDeclaration", + "scope": 26456, + "src": "781:27:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call3Value_$26417_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IMulticall3.Call3Value[]" + }, + "typeName": { + "baseType": { + "id": 26447, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26446, + "name": "Call3Value", + "nameLocations": [ + "781:10:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26417, + "src": "781:10:15" + }, + "referencedDeclaration": 26417, + "src": "781:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call3Value_$26417_storage_ptr", + "typeString": "struct IMulticall3.Call3Value" + } + }, + "id": 26448, + "nodeType": "ArrayTypeName", + "src": "781:12:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call3Value_$26417_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Call3Value[]" + } + }, + "visibility": "internal" + } + ], + "src": "780:29:15" + }, + "returnParameters": { + "id": 26455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26454, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "852:10:15", + "nodeType": "VariableDeclaration", + "scope": 26456, + "src": "836:26:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Result[]" + }, + "typeName": { + "baseType": { + "id": 26452, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26451, + "name": "Result", + "nameLocations": [ + "836:6:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26422, + "src": "836:6:15" + }, + "referencedDeclaration": 26422, + "src": "836:6:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Result_$26422_storage_ptr", + "typeString": "struct IMulticall3.Result" + } + }, + "id": 26453, + "nodeType": "ArrayTypeName", + "src": "836:8:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Result[]" + } + }, + "visibility": "internal" + } + ], + "src": "835:28:15" + }, + "scope": 26556, + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "id": 26471, + "nodeType": "FunctionDefinition", + "src": "870:168:15", + "nodes": [], + "functionSelector": "c3077fa9", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "blockAndAggregate", + "nameLocation": "879:17:15", + "parameters": { + "id": 26461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26460, + "mutability": "mutable", + "name": "calls", + "nameLocation": "913:5:15", + "nodeType": "VariableDeclaration", + "scope": 26471, + "src": "897:21:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IMulticall3.Call[]" + }, + "typeName": { + "baseType": { + "id": 26458, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26457, + "name": "Call", + "nameLocations": [ + "897:4:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26401, + "src": "897:4:15" + }, + "referencedDeclaration": 26401, + "src": "897:4:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call_$26401_storage_ptr", + "typeString": "struct IMulticall3.Call" + } + }, + "id": 26459, + "nodeType": "ArrayTypeName", + "src": "897:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Call[]" + } + }, + "visibility": "internal" + } + ], + "src": "896:23:15" + }, + "returnParameters": { + "id": 26470, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26463, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "978:11:15", + "nodeType": "VariableDeclaration", + "scope": 26471, + "src": "970:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26462, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "970:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26465, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "999:9:15", + "nodeType": "VariableDeclaration", + "scope": 26471, + "src": "991:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26464, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "991:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26469, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "1026:10:15", + "nodeType": "VariableDeclaration", + "scope": 26471, + "src": "1010:26:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Result[]" + }, + "typeName": { + "baseType": { + "id": 26467, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26466, + "name": "Result", + "nameLocations": [ + "1010:6:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26422, + "src": "1010:6:15" + }, + "referencedDeclaration": 26422, + "src": "1010:6:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Result_$26422_storage_ptr", + "typeString": "struct IMulticall3.Result" + } + }, + "id": 26468, + "nodeType": "ArrayTypeName", + "src": "1010:8:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Result[]" + } + }, + "visibility": "internal" + } + ], + "src": "969:68:15" + }, + "scope": 26556, + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "id": 26476, + "nodeType": "FunctionDefinition", + "src": "1044:62:15", + "nodes": [], + "functionSelector": "3e64a696", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBasefee", + "nameLocation": "1053:10:15", + "parameters": { + "id": 26472, + "nodeType": "ParameterList", + "parameters": [], + "src": "1063:2:15" + }, + "returnParameters": { + "id": 26475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26474, + "mutability": "mutable", + "name": "basefee", + "nameLocation": "1097:7:15", + "nodeType": "VariableDeclaration", + "scope": 26476, + "src": "1089:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1089:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1088:17:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26483, + "nodeType": "FunctionDefinition", + "src": "1112:85:15", + "nodes": [], + "functionSelector": "ee82ac5e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBlockHash", + "nameLocation": "1121:12:15", + "parameters": { + "id": 26479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26478, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "1142:11:15", + "nodeType": "VariableDeclaration", + "scope": 26483, + "src": "1134:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1134:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1133:21:15" + }, + "returnParameters": { + "id": 26482, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26481, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "1186:9:15", + "nodeType": "VariableDeclaration", + "scope": 26483, + "src": "1178:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26480, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1178:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1177:19:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26488, + "nodeType": "FunctionDefinition", + "src": "1203:70:15", + "nodes": [], + "functionSelector": "42cbb15c", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBlockNumber", + "nameLocation": "1212:14:15", + "parameters": { + "id": 26484, + "nodeType": "ParameterList", + "parameters": [], + "src": "1226:2:15" + }, + "returnParameters": { + "id": 26487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26486, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "1260:11:15", + "nodeType": "VariableDeclaration", + "scope": 26488, + "src": "1252:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26485, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1252:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1251:21:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26493, + "nodeType": "FunctionDefinition", + "src": "1279:62:15", + "nodes": [], + "functionSelector": "3408e470", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getChainId", + "nameLocation": "1288:10:15", + "parameters": { + "id": 26489, + "nodeType": "ParameterList", + "parameters": [], + "src": "1298:2:15" + }, + "returnParameters": { + "id": 26492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26491, + "mutability": "mutable", + "name": "chainid", + "nameLocation": "1332:7:15", + "nodeType": "VariableDeclaration", + "scope": 26493, + "src": "1324:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26490, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1324:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1323:17:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26498, + "nodeType": "FunctionDefinition", + "src": "1347:76:15", + "nodes": [], + "functionSelector": "a8b0574e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getCurrentBlockCoinbase", + "nameLocation": "1356:23:15", + "parameters": { + "id": 26494, + "nodeType": "ParameterList", + "parameters": [], + "src": "1379:2:15" + }, + "returnParameters": { + "id": 26497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26496, + "mutability": "mutable", + "name": "coinbase", + "nameLocation": "1413:8:15", + "nodeType": "VariableDeclaration", + "scope": 26498, + "src": "1405:16:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1405:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1404:18:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26503, + "nodeType": "FunctionDefinition", + "src": "1429:80:15", + "nodes": [], + "functionSelector": "72425d9d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getCurrentBlockDifficulty", + "nameLocation": "1438:25:15", + "parameters": { + "id": 26499, + "nodeType": "ParameterList", + "parameters": [], + "src": "1463:2:15" + }, + "returnParameters": { + "id": 26502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26501, + "mutability": "mutable", + "name": "difficulty", + "nameLocation": "1497:10:15", + "nodeType": "VariableDeclaration", + "scope": 26503, + "src": "1489:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1489:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1488:20:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26508, + "nodeType": "FunctionDefinition", + "src": "1515:76:15", + "nodes": [], + "functionSelector": "86d516e8", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getCurrentBlockGasLimit", + "nameLocation": "1524:23:15", + "parameters": { + "id": 26504, + "nodeType": "ParameterList", + "parameters": [], + "src": "1547:2:15" + }, + "returnParameters": { + "id": 26507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26506, + "mutability": "mutable", + "name": "gaslimit", + "nameLocation": "1581:8:15", + "nodeType": "VariableDeclaration", + "scope": 26508, + "src": "1573:16:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1573:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1572:18:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26513, + "nodeType": "FunctionDefinition", + "src": "1597:78:15", + "nodes": [], + "functionSelector": "0f28c97d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getCurrentBlockTimestamp", + "nameLocation": "1606:24:15", + "parameters": { + "id": 26509, + "nodeType": "ParameterList", + "parameters": [], + "src": "1630:2:15" + }, + "returnParameters": { + "id": 26512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26511, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "1664:9:15", + "nodeType": "VariableDeclaration", + "scope": 26513, + "src": "1656:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26510, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1656:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1655:19:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26520, + "nodeType": "FunctionDefinition", + "src": "1681:77:15", + "nodes": [], + "functionSelector": "4d2301cc", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getEthBalance", + "nameLocation": "1690:13:15", + "parameters": { + "id": 26516, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26515, + "mutability": "mutable", + "name": "addr", + "nameLocation": "1712:4:15", + "nodeType": "VariableDeclaration", + "scope": 26520, + "src": "1704:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26514, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1704:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1703:14:15" + }, + "returnParameters": { + "id": 26519, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26518, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1749:7:15", + "nodeType": "VariableDeclaration", + "scope": 26520, + "src": "1741:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26517, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1741:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1740:17:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26525, + "nodeType": "FunctionDefinition", + "src": "1764:70:15", + "nodes": [], + "functionSelector": "27e86d6e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getLastBlockHash", + "nameLocation": "1773:16:15", + "parameters": { + "id": 26521, + "nodeType": "ParameterList", + "parameters": [], + "src": "1789:2:15" + }, + "returnParameters": { + "id": 26524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26523, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "1823:9:15", + "nodeType": "VariableDeclaration", + "scope": 26525, + "src": "1815:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26522, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1815:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1814:19:15" + }, + "scope": 26556, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 26538, + "nodeType": "FunctionDefinition", + "src": "1840:144:15", + "nodes": [], + "functionSelector": "bce38bd7", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tryAggregate", + "nameLocation": "1849:12:15", + "parameters": { + "id": 26532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26527, + "mutability": "mutable", + "name": "requireSuccess", + "nameLocation": "1867:14:15", + "nodeType": "VariableDeclaration", + "scope": 26538, + "src": "1862:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26526, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1862:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26531, + "mutability": "mutable", + "name": "calls", + "nameLocation": "1899:5:15", + "nodeType": "VariableDeclaration", + "scope": 26538, + "src": "1883:21:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IMulticall3.Call[]" + }, + "typeName": { + "baseType": { + "id": 26529, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26528, + "name": "Call", + "nameLocations": [ + "1883:4:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26401, + "src": "1883:4:15" + }, + "referencedDeclaration": 26401, + "src": "1883:4:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call_$26401_storage_ptr", + "typeString": "struct IMulticall3.Call" + } + }, + "id": 26530, + "nodeType": "ArrayTypeName", + "src": "1883:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Call[]" + } + }, + "visibility": "internal" + } + ], + "src": "1861:44:15" + }, + "returnParameters": { + "id": 26537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26536, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "1972:10:15", + "nodeType": "VariableDeclaration", + "scope": 26538, + "src": "1956:26:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Result[]" + }, + "typeName": { + "baseType": { + "id": 26534, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26533, + "name": "Result", + "nameLocations": [ + "1956:6:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26422, + "src": "1956:6:15" + }, + "referencedDeclaration": 26422, + "src": "1956:6:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Result_$26422_storage_ptr", + "typeString": "struct IMulticall3.Result" + } + }, + "id": 26535, + "nodeType": "ArrayTypeName", + "src": "1956:8:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Result[]" + } + }, + "visibility": "internal" + } + ], + "src": "1955:28:15" + }, + "scope": 26556, + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "id": 26555, + "nodeType": "FunctionDefinition", + "src": "1990:192:15", + "nodes": [], + "functionSelector": "399542e9", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tryBlockAndAggregate", + "nameLocation": "1999:20:15", + "parameters": { + "id": 26545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26540, + "mutability": "mutable", + "name": "requireSuccess", + "nameLocation": "2025:14:15", + "nodeType": "VariableDeclaration", + "scope": 26555, + "src": "2020:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26539, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2020:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26544, + "mutability": "mutable", + "name": "calls", + "nameLocation": "2057:5:15", + "nodeType": "VariableDeclaration", + "scope": 26555, + "src": "2041:21:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IMulticall3.Call[]" + }, + "typeName": { + "baseType": { + "id": 26542, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26541, + "name": "Call", + "nameLocations": [ + "2041:4:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26401, + "src": "2041:4:15" + }, + "referencedDeclaration": 26401, + "src": "2041:4:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Call_$26401_storage_ptr", + "typeString": "struct IMulticall3.Call" + } + }, + "id": 26543, + "nodeType": "ArrayTypeName", + "src": "2041:6:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Call_$26401_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Call[]" + } + }, + "visibility": "internal" + } + ], + "src": "2019:44:15" + }, + "returnParameters": { + "id": 26554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26547, + "mutability": "mutable", + "name": "blockNumber", + "nameLocation": "2122:11:15", + "nodeType": "VariableDeclaration", + "scope": 26555, + "src": "2114:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26546, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2114:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26549, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "2143:9:15", + "nodeType": "VariableDeclaration", + "scope": 26555, + "src": "2135:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26548, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2135:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26553, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "2170:10:15", + "nodeType": "VariableDeclaration", + "scope": 26555, + "src": "2154:26:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IMulticall3.Result[]" + }, + "typeName": { + "baseType": { + "id": 26551, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 26550, + "name": "Result", + "nameLocations": [ + "2154:6:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26422, + "src": "2154:6:15" + }, + "referencedDeclaration": 26422, + "src": "2154:6:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Result_$26422_storage_ptr", + "typeString": "struct IMulticall3.Result" + } + }, + "id": 26552, + "nodeType": "ArrayTypeName", + "src": "2154:8:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Result_$26422_storage_$dyn_storage_ptr", + "typeString": "struct IMulticall3.Result[]" + } + }, + "visibility": "internal" + } + ], + "src": "2113:68:15" + }, + "scope": 26556, + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "IMulticall3", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 26556 + ], + "name": "IMulticall3", + "nameLocation": "110:11:15", + "scope": 26557, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/murky/src/Merkle.sol": { + "id": 16, + "ast": { + "absolutePath": "lib/murky/src/Merkle.sol", + "id": 26577, + "exportedSymbols": { + "Merkle": [ + 26576 + ], + "MurkyBase": [ + 27093 + ] + }, + "nodeType": "SourceUnit", + "src": "32:786:16", + "nodes": [ + { + "id": 26558, + "nodeType": "PragmaDirective", + "src": "32:23:16", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ] + }, + { + "id": 26559, + "nodeType": "ImportDirective", + "src": "57:32:16", + "nodes": [], + "absolutePath": "lib/murky/src/common/MurkyBase.sol", + "file": "./common/MurkyBase.sol", + "nameLocation": "-1:-1:-1", + "scope": 26577, + "sourceUnit": 27094, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 26576, + "nodeType": "ContractDefinition", + "src": "242:576:16", + "nodes": [ + { + "id": 26575, + "nodeType": "FunctionDefinition", + "src": "407:409:16", + "nodes": [], + "body": { + "id": 26574, + "nodeType": "Block", + "src": "504:312:16", + "nodes": [], + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "522:288:16", + "statements": [ + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "576:82:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "600:3:16", + "type": "", + "value": "0x0" + }, + { + "name": "right", + "nodeType": "YulIdentifier", + "src": "605:5:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "593:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "593:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "593:18:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "634:4:16", + "type": "", + "value": "0x20" + }, + { + "name": "left", + "nodeType": "YulIdentifier", + "src": "640:4:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "627:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "627:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "627:18:16" + } + ] + }, + "nodeType": "YulCase", + "src": "569:89:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "574:1:16", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "678:82:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "702:3:16", + "type": "", + "value": "0x0" + }, + { + "name": "left", + "nodeType": "YulIdentifier", + "src": "707:4:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "695:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "695:17:16" + }, + "nodeType": "YulExpressionStatement", + "src": "695:17:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "735:4:16", + "type": "", + "value": "0x20" + }, + { + "name": "right", + "nodeType": "YulIdentifier", + "src": "741:5:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "728:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "728:19:16" + }, + "nodeType": "YulExpressionStatement", + "src": "728:19:16" + } + ] + }, + "nodeType": "YulCase", + "src": "670:90:16", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "left", + "nodeType": "YulIdentifier", + "src": "545:4:16" + }, + { + "name": "right", + "nodeType": "YulIdentifier", + "src": "551:5:16" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "542:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "542:15:16" + }, + "nodeType": "YulSwitch", + "src": "535:225:16" + }, + { + "nodeType": "YulAssignment", + "src": "772:29:16", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "791:3:16", + "type": "", + "value": "0x0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "796:4:16", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "781:9:16" + }, + "nodeType": "YulFunctionCall", + "src": "781:20:16" + }, + "variableNames": [ + { + "name": "_hash", + "nodeType": "YulIdentifier", + "src": "772:5:16" + } + ] + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 26571, + "isOffset": false, + "isSlot": false, + "src": "772:5:16", + "valueSize": 1 + }, + { + "declaration": 26565, + "isOffset": false, + "isSlot": false, + "src": "545:4:16", + "valueSize": 1 + }, + { + "declaration": 26565, + "isOffset": false, + "isSlot": false, + "src": "640:4:16", + "valueSize": 1 + }, + { + "declaration": 26565, + "isOffset": false, + "isSlot": false, + "src": "707:4:16", + "valueSize": 1 + }, + { + "declaration": 26567, + "isOffset": false, + "isSlot": false, + "src": "551:5:16", + "valueSize": 1 + }, + { + "declaration": 26567, + "isOffset": false, + "isSlot": false, + "src": "605:5:16", + "valueSize": 1 + }, + { + "declaration": 26567, + "isOffset": false, + "isSlot": false, + "src": "741:5:16", + "valueSize": 1 + } + ], + "id": 26573, + "nodeType": "InlineAssembly", + "src": "513:297:16" + } + ] + }, + "baseFunctions": [ + 26591 + ], + "documentation": { + "id": 26563, + "nodeType": "StructuredDocumentation", + "src": "356:46:16", + "text": "ascending sort and concat prior to hashing" + }, + "functionSelector": "dd1d2599", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashLeafPairs", + "nameLocation": "416:13:16", + "overrides": { + "id": 26569, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "471:8:16" + }, + "parameters": { + "id": 26568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26565, + "mutability": "mutable", + "name": "left", + "nameLocation": "438:4:16", + "nodeType": "VariableDeclaration", + "scope": 26575, + "src": "430:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26564, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "430:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26567, + "mutability": "mutable", + "name": "right", + "nameLocation": "452:5:16", + "nodeType": "VariableDeclaration", + "scope": 26575, + "src": "444:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26566, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "444:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "429:29:16" + }, + "returnParameters": { + "id": 26572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26571, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "497:5:16", + "nodeType": "VariableDeclaration", + "scope": 26575, + "src": "489:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26570, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "489:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "488:15:16" + }, + "scope": 26576, + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 26561, + "name": "MurkyBase", + "nameLocations": [ + "261:9:16" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27093, + "src": "261:9:16" + }, + "id": 26562, + "nodeType": "InheritanceSpecifier", + "src": "261:9:16" + } + ], + "canonicalName": "Merkle", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 26560, + "nodeType": "StructuredDocumentation", + "src": "91:151:16", + "text": "@notice Nascent, simple, kinda efficient (and improving!) Merkle proof generator and verifier\n @author dmfxyz\n @dev Note Generic Merkle Tree" + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 26576, + 27093 + ], + "name": "Merkle", + "nameLocation": "251:6:16", + "scope": 26577, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/murky/src/common/MurkyBase.sol": { + "id": 17, + "ast": { + "absolutePath": "lib/murky/src/common/MurkyBase.sol", + "id": 27094, + "exportedSymbols": { + "MurkyBase": [ + 27093 + ] + }, + "nodeType": "SourceUnit", + "src": "32:6101:17", + "nodes": [ + { + "id": 26578, + "nodeType": "PragmaDirective", + "src": "32:23:17", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ] + }, + { + "id": 27093, + "nodeType": "ContractDefinition", + "src": "57:6076:17", + "nodes": [ + { + "id": 26582, + "nodeType": "FunctionDefinition", + "src": "153:16:17", + "nodes": [], + "body": { + "id": 26581, + "nodeType": "Block", + "src": "167:2:17", + "nodes": [], + "statements": [] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 26579, + "nodeType": "ParameterList", + "parameters": [], + "src": "164:2:17" + }, + "returnParameters": { + "id": 26580, + "nodeType": "ParameterList", + "parameters": [], + "src": "167:0:17" + }, + "scope": 27093, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 26591, + "nodeType": "FunctionDefinition", + "src": "261:96:17", + "nodes": [], + "functionSelector": "dd1d2599", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "hashLeafPairs", + "nameLocation": "270:13:17", + "parameters": { + "id": 26587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26584, + "mutability": "mutable", + "name": "left", + "nameLocation": "292:4:17", + "nodeType": "VariableDeclaration", + "scope": 26591, + "src": "284:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26583, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "284:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26586, + "mutability": "mutable", + "name": "right", + "nameLocation": "306:5:17", + "nodeType": "VariableDeclaration", + "scope": 26591, + "src": "298:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26585, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "298:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "283:29:17" + }, + "returnParameters": { + "id": 26590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26589, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "350:5:17", + "nodeType": "VariableDeclaration", + "scope": 26591, + "src": "342:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26588, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "342:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "341:15:17" + }, + "scope": 27093, + "stateMutability": "pure", + "virtual": true, + "visibility": "public" + }, + { + "id": 26639, + "nodeType": "FunctionDefinition", + "src": "452:451:17", + "nodes": [], + "body": { + "id": 26638, + "nodeType": "Block", + "src": "562:341:17", + "nodes": [], + "statements": [ + { + "assignments": [ + 26604 + ], + "declarations": [ + { + "constant": false, + "id": 26604, + "mutability": "mutable", + "name": "rollingHash", + "nameLocation": "637:11:17", + "nodeType": "VariableDeclaration", + "scope": 26638, + "src": "629:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26603, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "629:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 26606, + "initialValue": { + "id": 26605, + "name": "valueToProve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26598, + "src": "651:12:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "629:34:17" + }, + { + "assignments": [ + 26608 + ], + "declarations": [ + { + "constant": false, + "id": 26608, + "mutability": "mutable", + "name": "length", + "nameLocation": "681:6:17", + "nodeType": "VariableDeclaration", + "scope": 26638, + "src": "673:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "673:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26611, + "initialValue": { + "expression": { + "id": 26609, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26596, + "src": "690:5:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "696:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "690:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "673:29:17" + }, + { + "id": 26633, + "nodeType": "UncheckedBlock", + "src": "712:149:17", + "statements": [ + { + "body": { + "id": 26631, + "nodeType": "Block", + "src": "768:83:17", + "statements": [ + { + "expression": { + "id": 26629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26622, + "name": "rollingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26604, + "src": "786:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 26624, + "name": "rollingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26604, + "src": "814:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 26625, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26596, + "src": "827:5:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26627, + "indexExpression": { + "id": 26626, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26613, + "src": "833:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "827:8:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 26623, + "name": "hashLeafPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26591, + "src": "800:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 26628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "800:36:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "786:50:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26630, + "nodeType": "ExpressionStatement", + "src": "786:50:17" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26616, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26613, + "src": "752:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 26617, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26608, + "src": "756:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "752:10:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 26632, + "initializationExpression": { + "assignments": [ + 26613 + ], + "declarations": [ + { + "constant": false, + "id": 26613, + "mutability": "mutable", + "name": "i", + "nameLocation": "745:1:17", + "nodeType": "VariableDeclaration", + "scope": 26632, + "src": "740:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26612, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "740:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26615, + "initialValue": { + "hexValue": "30", + "id": 26614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "749:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "740:10:17" + }, + "loopExpression": { + "expression": { + "id": 26620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "764:3:17", + "subExpression": { + "id": 26619, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26613, + "src": "766:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26621, + "nodeType": "ExpressionStatement", + "src": "764:3:17" + }, + "nodeType": "ForStatement", + "src": "736:115:17" + } + ] + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 26636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26634, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26593, + "src": "877:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 26635, + "name": "rollingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26604, + "src": "885:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "877:19:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 26602, + "id": 26637, + "nodeType": "Return", + "src": "870:26:17" + } + ] + }, + "functionSelector": "58161a42", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyProof", + "nameLocation": "461:11:17", + "parameters": { + "id": 26599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26593, + "mutability": "mutable", + "name": "root", + "nameLocation": "481:4:17", + "nodeType": "VariableDeclaration", + "scope": 26639, + "src": "473:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "473:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26596, + "mutability": "mutable", + "name": "proof", + "nameLocation": "504:5:17", + "nodeType": "VariableDeclaration", + "scope": 26639, + "src": "487:22:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 26594, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "487:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26595, + "nodeType": "ArrayTypeName", + "src": "487:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26598, + "mutability": "mutable", + "name": "valueToProve", + "nameLocation": "519:12:17", + "nodeType": "VariableDeclaration", + "scope": 26639, + "src": "511:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26597, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "511:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "472:60:17" + }, + "returnParameters": { + "id": 26602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26601, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 26639, + "src": "556:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26600, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "556:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "555:6:17" + }, + "scope": 27093, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 26672, + "nodeType": "FunctionDefinition", + "src": "987:253:17", + "nodes": [], + "body": { + "id": 26671, + "nodeType": "Block", + "src": "1057:183:17", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 26648, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26642, + "src": "1075:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1080:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1075:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 26650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1089:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1075:15:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "776f6e27742067656e657261746520726f6f7420666f722073696e676c65206c656166", + "id": 26652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1092:37:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_254e7b9fee9f27a333358fbe35298b46b13397a6f67992c1887b442aa584bfd0", + "typeString": "literal_string \"won't generate root for single leaf\"" + }, + "value": "won't generate root for single leaf" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_254e7b9fee9f27a333358fbe35298b46b13397a6f67992c1887b442aa584bfd0", + "typeString": "literal_string \"won't generate root for single leaf\"" + } + ], + "id": 26647, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1067:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 26653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1067:63:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26654, + "nodeType": "ExpressionStatement", + "src": "1067:63:17" + }, + { + "body": { + "id": 26665, + "nodeType": "Block", + "src": "1163:47:17", + "statements": [ + { + "expression": { + "id": 26663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26659, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26642, + "src": "1177:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 26661, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26642, + "src": "1194:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 26660, + "name": "hashLevel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26888, + "src": "1184:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32[] memory) pure returns (bytes32[] memory)" + } + }, + "id": 26662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1184:15:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1177:22:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26664, + "nodeType": "ExpressionStatement", + "src": "1177:22:17" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 26655, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26642, + "src": "1146:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1151:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1146:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 26657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1160:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1146:15:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 26666, + "nodeType": "WhileStatement", + "src": "1140:70:17" + }, + { + "expression": { + "baseExpression": { + "id": 26667, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26642, + "src": "1226:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26669, + "indexExpression": { + "hexValue": "30", + "id": 26668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1231:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1226:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 26646, + "id": 26670, + "nodeType": "Return", + "src": "1219:14:17" + } + ] + }, + "functionSelector": "2e08d602", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRoot", + "nameLocation": "996:7:17", + "parameters": { + "id": 26643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26642, + "mutability": "mutable", + "name": "data", + "nameLocation": "1021:4:17", + "nodeType": "VariableDeclaration", + "scope": 26672, + "src": "1004:21:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 26640, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1004:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26641, + "nodeType": "ArrayTypeName", + "src": "1004:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1003:23:17" + }, + "returnParameters": { + "id": 26646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26645, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 26672, + "src": "1048:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 26644, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1048:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1047:9:17" + }, + "scope": 27093, + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "id": 26777, + "nodeType": "FunctionDefinition", + "src": "1246:1168:17", + "nodes": [], + "body": { + "id": 26776, + "nodeType": "Block", + "src": "1340:1074:17", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 26684, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26675, + "src": "1358:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1363:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1358:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 26686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1372:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1358:15:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "776f6e27742067656e65726174652070726f6f6620666f722073696e676c65206c656166", + "id": 26688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1375:38:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_65df82118635914ab5f22ec5f73095561a1a3363fc7849bdbf53c4fcd01b0e7c", + "typeString": "literal_string \"won't generate proof for single leaf\"" + }, + "value": "won't generate proof for single leaf" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_65df82118635914ab5f22ec5f73095561a1a3363fc7849bdbf53c4fcd01b0e7c", + "typeString": "literal_string \"won't generate proof for single leaf\"" + } + ], + "id": 26683, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1350:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 26689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1350:64:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26690, + "nodeType": "ExpressionStatement", + "src": "1350:64:17" + }, + { + "assignments": [ + 26695 + ], + "declarations": [ + { + "constant": false, + "id": 26695, + "mutability": "mutable", + "name": "result", + "nameLocation": "1518:6:17", + "nodeType": "VariableDeclaration", + "scope": 26776, + "src": "1501:23:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 26693, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1501:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26694, + "nodeType": "ArrayTypeName", + "src": "1501:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 26704, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 26700, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26675, + "src": "1558:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1563:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1558:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26699, + "name": "log2ceilBitMagic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27092, + "src": "1541:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 26702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1541:29:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1527:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 26696, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1531:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26697, + "nodeType": "ArrayTypeName", + "src": "1531:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 26703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1527:44:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1501:70:17" + }, + { + "assignments": [ + 26706 + ], + "declarations": [ + { + "constant": false, + "id": 26706, + "mutability": "mutable", + "name": "pos", + "nameLocation": "1589:3:17", + "nodeType": "VariableDeclaration", + "scope": 26776, + "src": "1581:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26705, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1581:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26708, + "initialValue": { + "hexValue": "30", + "id": 26707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1595:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1581:15:17" + }, + { + "body": { + "id": 26772, + "nodeType": "Block", + "src": "1933:452:17", + "statements": [ + { + "id": 26765, + "nodeType": "UncheckedBlock", + "src": "1947:392:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26713, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26677, + "src": "1978:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "307831", + "id": 26714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1985:3:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x1" + }, + "src": "1978:10:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 26716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1992:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1978:15:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26729, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26677, + "src": "2091:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 26730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2098:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2091:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 26732, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26675, + "src": "2103:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2108:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2103:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2091:23:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 26755, + "nodeType": "Block", + "src": "2206:69:17", + "statements": [ + { + "expression": { + "id": 26753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 26745, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26695, + "src": "2228:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26747, + "indexExpression": { + "id": 26746, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26706, + "src": "2235:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2228:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 26748, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26675, + "src": "2242:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26752, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26749, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26677, + "src": "2247:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 26750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2254:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2247:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2242:14:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2228:28:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26754, + "nodeType": "ExpressionStatement", + "src": "2228:28:17" + } + ] + }, + "id": 26756, + "nodeType": "IfStatement", + "src": "2087:188:17", + "trueBody": { + "id": 26744, + "nodeType": "Block", + "src": "2116:67:17", + "statements": [ + { + "expression": { + "id": 26742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 26735, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26695, + "src": "2138:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26737, + "indexExpression": { + "id": 26736, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26706, + "src": "2145:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2138:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "30", + "id": 26740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2160:1:17", + "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": 26739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2152:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 26738, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2152:7:17", + "typeDescriptions": {} + } + }, + "id": 26741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2152:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2138:24:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26743, + "nodeType": "ExpressionStatement", + "src": "2138:24:17" + } + ] + } + }, + "id": 26757, + "nodeType": "IfStatement", + "src": "1975:300:17", + "trueBody": { + "id": 26728, + "nodeType": "Block", + "src": "1995:69:17", + "statements": [ + { + "expression": { + "id": 26726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 26718, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26695, + "src": "2017:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26720, + "indexExpression": { + "id": 26719, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26706, + "src": "2024:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2017:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 26721, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26675, + "src": "2031:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26725, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26722, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26677, + "src": "2036:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 26723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2043:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2036:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2031:14:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2017:28:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26727, + "nodeType": "ExpressionStatement", + "src": "2017:28:17" + } + ] + } + }, + { + "expression": { + "id": 26759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "2292:5:17", + "subExpression": { + "id": 26758, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26706, + "src": "2294:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26760, + "nodeType": "ExpressionStatement", + "src": "2292:5:17" + }, + { + "expression": { + "id": 26763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26761, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26677, + "src": "2315:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "32", + "id": 26762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2323:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2315:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26764, + "nodeType": "ExpressionStatement", + "src": "2315:9:17" + } + ] + }, + { + "expression": { + "id": 26770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26766, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26675, + "src": "2352:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 26768, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26675, + "src": "2369:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "id": 26767, + "name": "hashLevel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26888, + "src": "2359:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32[] memory) pure returns (bytes32[] memory)" + } + }, + "id": 26769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2359:15:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "2352:22:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26771, + "nodeType": "ExpressionStatement", + "src": "2352:22:17" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 26709, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26675, + "src": "1916:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1921:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1916:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 26711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1930:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1916:15:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 26773, + "nodeType": "WhileStatement", + "src": "1910:475:17" + }, + { + "expression": { + "id": 26774, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26695, + "src": "2401:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "functionReturnParameters": 26682, + "id": 26775, + "nodeType": "Return", + "src": "2394:13:17" + } + ] + }, + "functionSelector": "b8616195", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProof", + "nameLocation": "1255:8:17", + "parameters": { + "id": 26678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26675, + "mutability": "mutable", + "name": "data", + "nameLocation": "1281:4:17", + "nodeType": "VariableDeclaration", + "scope": 26777, + "src": "1264:21:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 26673, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1264:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26674, + "nodeType": "ArrayTypeName", + "src": "1264:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26677, + "mutability": "mutable", + "name": "node", + "nameLocation": "1295:4:17", + "nodeType": "VariableDeclaration", + "scope": 26777, + "src": "1287:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26676, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1263:37:17" + }, + "returnParameters": { + "id": 26682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26681, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 26777, + "src": "1322:16:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 26679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1322:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26680, + "nodeType": "ArrayTypeName", + "src": "1322:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "1321:18:17" + }, + "scope": 27093, + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "id": 26888, + "nodeType": "FunctionDefinition", + "src": "2493:990:17", + "nodes": [], + "body": { + "id": 26887, + "nodeType": "Block", + "src": "2575:908:17", + "nodes": [], + "statements": [ + { + "assignments": [ + 26791 + ], + "declarations": [ + { + "constant": false, + "id": 26791, + "mutability": "mutable", + "name": "result", + "nameLocation": "2602:6:17", + "nodeType": "VariableDeclaration", + "scope": 26887, + "src": "2585:23:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 26789, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2585:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26790, + "nodeType": "ArrayTypeName", + "src": "2585:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 26792, + "nodeType": "VariableDeclarationStatement", + "src": "2585:23:17" + }, + { + "id": 26884, + "nodeType": "UncheckedBlock", + "src": "2854:600:17", + "statements": [ + { + "assignments": [ + 26794 + ], + "declarations": [ + { + "constant": false, + "id": 26794, + "mutability": "mutable", + "name": "length", + "nameLocation": "2886:6:17", + "nodeType": "VariableDeclaration", + "scope": 26884, + "src": "2878:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26793, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2878:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26797, + "initialValue": { + "expression": { + "id": 26795, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26781, + "src": "2895:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2900:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2895:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2878:28:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26798, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26794, + "src": "2924:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "307831", + "id": 26799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2933:3:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x1" + }, + "src": "2924:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 26801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2940:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2924:17:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 26845, + "nodeType": "Block", + "src": "3108:63:17", + "statements": [ + { + "expression": { + "id": 26843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26835, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26791, + "src": "3126:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26839, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26794, + "src": "3149:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "32", + "id": 26840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3158:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "3149:10:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "3135:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 26836, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3139:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26837, + "nodeType": "ArrayTypeName", + "src": "3139:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 26842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3135:25:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "3126:34:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26844, + "nodeType": "ExpressionStatement", + "src": "3126:34:17" + } + ] + }, + "id": 26846, + "nodeType": "IfStatement", + "src": "2920:251:17", + "trueBody": { + "id": 26834, + "nodeType": "Block", + "src": "2942:160:17", + "statements": [ + { + "expression": { + "id": 26813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26803, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26791, + "src": "2960:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26807, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26794, + "src": "2983:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "32", + "id": 26808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2992:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2983:10:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 26810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2996:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2983:14:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2969:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 26804, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2973:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26805, + "nodeType": "ArrayTypeName", + "src": "2973:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 26812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2969:29:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "2960:38:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26814, + "nodeType": "ExpressionStatement", + "src": "2960:38:17" + }, + { + "expression": { + "id": 26832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 26815, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26791, + "src": "3016:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26820, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 26816, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26791, + "src": "3023:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3030:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3023:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 26818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3039:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3023:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3016:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 26822, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26781, + "src": "3058:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26826, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26823, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26794, + "src": "3063:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 26824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3072:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3063:10:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3058:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 26829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3084:1:17", + "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": 26828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3076:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 26827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3076:7:17", + "typeDescriptions": {} + } + }, + "id": 26830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3076:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 26821, + "name": "hashLeafPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26591, + "src": "3044:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 26831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3044:43:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3016:71:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26833, + "nodeType": "ExpressionStatement", + "src": "3016:71:17" + } + ] + } + }, + { + "assignments": [ + 26848 + ], + "declarations": [ + { + "constant": false, + "id": 26848, + "mutability": "mutable", + "name": "pos", + "nameLocation": "3281:3:17", + "nodeType": "VariableDeclaration", + "scope": 26884, + "src": "3273:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26847, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3273:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26850, + "initialValue": { + "hexValue": "30", + "id": 26849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3287:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3273:15:17" + }, + { + "body": { + "id": 26882, + "nodeType": "Block", + "src": "3341:103:17", + "statements": [ + { + "expression": { + "id": 26877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 26864, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26791, + "src": "3359:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26866, + "indexExpression": { + "id": 26865, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26848, + "src": "3366:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3359:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 26868, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26781, + "src": "3387:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26870, + "indexExpression": { + "id": 26869, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26852, + "src": "3392:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3387:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 26871, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26781, + "src": "3396:4:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 26875, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26872, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26852, + "src": "3401:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 26873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3403:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3401:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3396:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 26867, + "name": "hashLeafPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26591, + "src": "3373:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 26876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3373:33:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3359:47:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26878, + "nodeType": "ExpressionStatement", + "src": "3359:47:17" + }, + { + "expression": { + "id": 26880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "3424:5:17", + "subExpression": { + "id": 26879, + "name": "pos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26848, + "src": "3426:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26881, + "nodeType": "ExpressionStatement", + "src": "3424:5:17" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26855, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26852, + "src": "3322:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26856, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26794, + "src": "3326:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 26857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3333:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3326:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3322:12:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 26883, + "initializationExpression": { + "assignments": [ + 26852 + ], + "declarations": [ + { + "constant": false, + "id": 26852, + "mutability": "mutable", + "name": "i", + "nameLocation": "3315:1:17", + "nodeType": "VariableDeclaration", + "scope": 26883, + "src": "3307:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3307:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26854, + "initialValue": { + "hexValue": "30", + "id": 26853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3319:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3307:13:17" + }, + "loopExpression": { + "expression": { + "id": 26862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26860, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26852, + "src": "3336:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 26861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3339:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "3336:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26863, + "nodeType": "ExpressionStatement", + "src": "3336:4:17" + }, + "nodeType": "ForStatement", + "src": "3302:142:17" + } + ] + }, + { + "expression": { + "id": 26885, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26791, + "src": "3470:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "functionReturnParameters": 26786, + "id": 26886, + "nodeType": "Return", + "src": "3463:13:17" + } + ] + }, + "documentation": { + "id": 26778, + "nodeType": "StructuredDocumentation", + "src": "2420:68:17", + "text": "@dev function is private to prevent unsafe data from being passed" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashLevel", + "nameLocation": "2502:9:17", + "parameters": { + "id": 26782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26781, + "mutability": "mutable", + "name": "data", + "nameLocation": "2529:4:17", + "nodeType": "VariableDeclaration", + "scope": 26888, + "src": "2512:21:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 26779, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2512:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26780, + "nodeType": "ArrayTypeName", + "src": "2512:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "2511:23:17" + }, + "returnParameters": { + "id": 26786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26785, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 26888, + "src": "2557:16:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 26783, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2557:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 26784, + "nodeType": "ArrayTypeName", + "src": "2557:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "2556:18:17" + }, + "scope": 27093, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 26924, + "nodeType": "FunctionDefinition", + "src": "3606:1421:17", + "nodes": [], + "body": { + "id": 26923, + "nodeType": "Block", + "src": "3665:1362:17", + "nodes": [], + "statements": [ + { + "assignments": [ + 26897 + ], + "declarations": [ + { + "constant": false, + "id": 26897, + "mutability": "mutable", + "name": "ceil", + "nameLocation": "3683:4:17", + "nodeType": "VariableDeclaration", + "scope": 26923, + "src": "3675:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26896, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3675:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26899, + "initialValue": { + "hexValue": "30", + "id": 26898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3690:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3675:16:17" + }, + { + "assignments": [ + 26901 + ], + "declarations": [ + { + "constant": false, + "id": 26901, + "mutability": "mutable", + "name": "pOf2", + "nameLocation": "3706:4:17", + "nodeType": "VariableDeclaration", + "scope": 26923, + "src": "3701:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26900, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3701:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26902, + "nodeType": "VariableDeclarationStatement", + "src": "3701:9:17" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "3945:760:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4658:37:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4681:1:17" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "4677:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4677:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4685:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4673:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4673:14:17" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4689:1:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4669:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4669:22:17" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4693:1:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4666:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "4666:29:17" + }, + "variableNames": [ + { + "name": "pOf2", + "nodeType": "YulIdentifier", + "src": "4658:4:17" + } + ] + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 26901, + "isOffset": false, + "isSlot": false, + "src": "4658:4:17", + "valueSize": 1 + }, + { + "declaration": 26891, + "isOffset": false, + "isSlot": false, + "src": "4681:1:17", + "valueSize": 1 + }, + { + "declaration": 26891, + "isOffset": false, + "isSlot": false, + "src": "4689:1:17", + "valueSize": 1 + }, + { + "declaration": 26891, + "isOffset": false, + "isSlot": false, + "src": "4693:1:17", + "valueSize": 1 + } + ], + "id": 26903, + "nodeType": "InlineAssembly", + "src": "3936:769:17" + }, + { + "id": 26920, + "nodeType": "UncheckedBlock", + "src": "4849:151:17", + "statements": [ + { + "body": { + "id": 26914, + "nodeType": "Block", + "src": "4887:64:17", + "statements": [ + { + "expression": { + "id": 26909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26907, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26891, + "src": "4905:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "31", + "id": 26908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4911:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4905:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26910, + "nodeType": "ExpressionStatement", + "src": "4905:7:17" + }, + { + "expression": { + "id": 26912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4930:6:17", + "subExpression": { + "id": 26911, + "name": "ceil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26897, + "src": "4930:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26913, + "nodeType": "ExpressionStatement", + "src": "4930:6:17" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26904, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26891, + "src": "4880:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 26905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4884:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4880:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 26915, + "nodeType": "WhileStatement", + "src": "4873:78:17" + }, + { + "expression": { + "id": 26918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26916, + "name": "ceil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26897, + "src": "4964:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 26917, + "name": "pOf2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26901, + "src": "4972:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4964:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26919, + "nodeType": "ExpressionStatement", + "src": "4964:12:17" + } + ] + }, + { + "expression": { + "id": 26921, + "name": "ceil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26897, + "src": "5016:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26895, + "id": 26922, + "nodeType": "Return", + "src": "5009:11:17" + } + ] + }, + "documentation": { + "id": 26889, + "nodeType": "StructuredDocumentation", + "src": "3565:36:17", + "text": "@dev Note that x is assumed > 0" + }, + "functionSelector": "e27d5153", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log2ceil", + "nameLocation": "3615:8:17", + "parameters": { + "id": 26892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26891, + "mutability": "mutable", + "name": "x", + "nameLocation": "3632:1:17", + "nodeType": "VariableDeclaration", + "scope": 26924, + "src": "3624:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3624:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3623:11:17" + }, + "returnParameters": { + "id": 26895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26894, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 26924, + "src": "3656:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26893, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3656:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3655:9:17" + }, + "scope": 27093, + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "id": 27092, + "nodeType": "FunctionDefinition", + "src": "5179:952:17", + "nodes": [], + "body": { + "id": 27091, + "nodeType": "Block", + "src": "5245:886:17", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26932, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5259:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "31", + "id": 26933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5264:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5259:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 26938, + "nodeType": "IfStatement", + "src": "5255:45:17", + "trueBody": { + "id": 26937, + "nodeType": "Block", + "src": "5267:33:17", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 26935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5288:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 26931, + "id": 26936, + "nodeType": "Return", + "src": "5281:8:17" + } + ] + } + }, + { + "assignments": [ + 26940 + ], + "declarations": [ + { + "constant": false, + "id": 26940, + "mutability": "mutable", + "name": "msb", + "nameLocation": "5317:3:17", + "nodeType": "VariableDeclaration", + "scope": 27091, + "src": "5309:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26939, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5309:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26942, + "initialValue": { + "hexValue": "30", + "id": 26941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5323:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5309:15:17" + }, + { + "assignments": [ + 26944 + ], + "declarations": [ + { + "constant": false, + "id": 26944, + "mutability": "mutable", + "name": "_x", + "nameLocation": "5342:2:17", + "nodeType": "VariableDeclaration", + "scope": 27091, + "src": "5334:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5334:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 26946, + "initialValue": { + "id": 26945, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5347:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5334:14:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26947, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5362:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + }, + "id": 26950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 26948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5367:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "313238", + "id": 26949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5370:3:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "5367:6:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", + "typeString": "int_const 3402...(31 digits omitted)...1456" + } + }, + "src": "5362:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 26961, + "nodeType": "IfStatement", + "src": "5358:75:17", + "trueBody": { + "id": 26960, + "nodeType": "Block", + "src": "5375:58:17", + "statements": [ + { + "expression": { + "id": 26954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26952, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5389:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "313238", + "id": 26953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5395:3:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "5389:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26955, + "nodeType": "ExpressionStatement", + "src": "5389:9:17" + }, + { + "expression": { + "id": 26958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26956, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "5412:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "313238", + "id": 26957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5419:3:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "5412:10:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26959, + "nodeType": "ExpressionStatement", + "src": "5412:10:17" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26962, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5446:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + }, + "id": 26965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 26963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5451:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3634", + "id": 26964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5454:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "5451:5:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_18446744073709551616_by_1", + "typeString": "int_const 18446744073709551616" + } + }, + "src": "5446:10:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 26976, + "nodeType": "IfStatement", + "src": "5442:72:17", + "trueBody": { + "id": 26975, + "nodeType": "Block", + "src": "5458:56:17", + "statements": [ + { + "expression": { + "id": 26969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26967, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5472:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3634", + "id": 26968, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5478:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "5472:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26970, + "nodeType": "ExpressionStatement", + "src": "5472:8:17" + }, + { + "expression": { + "id": 26973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26971, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "5494:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3634", + "id": 26972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5501:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "5494:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26974, + "nodeType": "ExpressionStatement", + "src": "5494:9:17" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26977, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5527:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + }, + "id": 26980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 26978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5532:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3332", + "id": 26979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5535:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "5532:5:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967296_by_1", + "typeString": "int_const 4294967296" + } + }, + "src": "5527:10:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 26991, + "nodeType": "IfStatement", + "src": "5523:72:17", + "trueBody": { + "id": 26990, + "nodeType": "Block", + "src": "5539:56:17", + "statements": [ + { + "expression": { + "id": 26984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26982, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5553:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3332", + "id": 26983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5559:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "5553:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26985, + "nodeType": "ExpressionStatement", + "src": "5553:8:17" + }, + { + "expression": { + "id": 26988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26986, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "5575:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 26987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5582:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "5575:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26989, + "nodeType": "ExpressionStatement", + "src": "5575:9:17" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 26992, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5608:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + }, + "id": 26995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 26993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5613:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3136", + "id": 26994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5616:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "5613:5:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + }, + "src": "5608:10:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27006, + "nodeType": "IfStatement", + "src": "5604:72:17", + "trueBody": { + "id": 27005, + "nodeType": "Block", + "src": "5620:56:17", + "statements": [ + { + "expression": { + "id": 26999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 26997, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5634:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3136", + "id": 26998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5640:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "5634:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27000, + "nodeType": "ExpressionStatement", + "src": "5634:8:17" + }, + { + "expression": { + "id": 27003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27001, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "5656:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3136", + "id": 27002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5663:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "5656:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27004, + "nodeType": "ExpressionStatement", + "src": "5656:9:17" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27007, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5689:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "id": 27010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 27008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5694:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "38", + "id": 27009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5697:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "5694:4:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + } + }, + "src": "5689:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27021, + "nodeType": "IfStatement", + "src": "5685:69:17", + "trueBody": { + "id": 27020, + "nodeType": "Block", + "src": "5700:54:17", + "statements": [ + { + "expression": { + "id": 27014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27012, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5714:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "38", + "id": 27013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5720:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "5714:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27015, + "nodeType": "ExpressionStatement", + "src": "5714:7:17" + }, + { + "expression": { + "id": 27018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27016, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "5735:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "38", + "id": 27017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5742:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "5735:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27019, + "nodeType": "ExpressionStatement", + "src": "5735:8:17" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27022, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5767:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "id": 27025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 27023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5772:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "34", + "id": 27024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5775:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "5772:4:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + } + }, + "src": "5767:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27036, + "nodeType": "IfStatement", + "src": "5763:69:17", + "trueBody": { + "id": 27035, + "nodeType": "Block", + "src": "5778:54:17", + "statements": [ + { + "expression": { + "id": 27029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27027, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5792:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 27028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5798:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "5792:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27030, + "nodeType": "ExpressionStatement", + "src": "5792:7:17" + }, + { + "expression": { + "id": 27033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27031, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "5813:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "34", + "id": 27032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5820:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "5813:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27034, + "nodeType": "ExpressionStatement", + "src": "5813:8:17" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27037, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5845:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "id": 27040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 27038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5850:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "32", + "id": 27039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5853:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "5850:4:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + }, + "src": "5845:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27051, + "nodeType": "IfStatement", + "src": "5841:69:17", + "trueBody": { + "id": 27050, + "nodeType": "Block", + "src": "5856:54:17", + "statements": [ + { + "expression": { + "id": 27044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27042, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5870:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "32", + "id": 27043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5876:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "5870:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27045, + "nodeType": "ExpressionStatement", + "src": "5870:7:17" + }, + { + "expression": { + "id": 27048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27046, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "5891:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 27047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5898:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "5891:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27049, + "nodeType": "ExpressionStatement", + "src": "5891:8:17" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27052, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26927, + "src": "5923:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "id": 27055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 27053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5928:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "31", + "id": 27054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5931:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5928:4:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + }, + "src": "5923:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27062, + "nodeType": "IfStatement", + "src": "5919:48:17", + "trueBody": { + "id": 27061, + "nodeType": "Block", + "src": "5934:33:17", + "statements": [ + { + "expression": { + "id": 27059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27057, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "5948:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 27058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5955:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5948:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27060, + "nodeType": "ExpressionStatement", + "src": "5948:8:17" + } + ] + } + }, + { + "assignments": [ + 27064 + ], + "declarations": [ + { + "constant": false, + "id": 27064, + "mutability": "mutable", + "name": "lsb", + "nameLocation": "5985:3:17", + "nodeType": "VariableDeclaration", + "scope": 27091, + "src": "5977:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27063, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5977:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 27072, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "5992:3:17", + "subExpression": { + "id": 27065, + "name": "_x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26944, + "src": "5993:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 27067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5998:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5992:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 27069, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5991:9:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 27070, + "name": "_x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26944, + "src": "6003:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5991:14:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5977:28:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 27081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27073, + "name": "lsb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27064, + "src": "6020:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 27074, + "name": "_x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26944, + "src": "6027:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6020:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 27076, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6019:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27077, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "6035:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 27078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6041:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6035:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 27080, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6034:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6019:24:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 27089, + "nodeType": "Block", + "src": "6086:39:17", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27085, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "6107:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 27086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6113:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6107:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26931, + "id": 27088, + "nodeType": "Return", + "src": "6100:14:17" + } + ] + }, + "id": 27090, + "nodeType": "IfStatement", + "src": "6015:110:17", + "trueBody": { + "id": 27084, + "nodeType": "Block", + "src": "6045:35:17", + "statements": [ + { + "expression": { + "id": 27082, + "name": "msb", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26940, + "src": "6066:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26931, + "id": 27083, + "nodeType": "Return", + "src": "6059:10:17" + } + ] + } + } + ] + }, + "documentation": { + "id": 26925, + "nodeType": "StructuredDocumentation", + "src": "5033:141:17", + "text": "Original bitmagic adapted from https://github.com/paulrberg/prb-math/blob/main/contracts/PRBMath.sol\n @dev Note that x assumed > 1" + }, + "functionSelector": "cf06c7b7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log2ceilBitMagic", + "nameLocation": "5188:16:17", + "parameters": { + "id": 26928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26927, + "mutability": "mutable", + "name": "x", + "nameLocation": "5213:1:17", + "nodeType": "VariableDeclaration", + "scope": 27092, + "src": "5205:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26926, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5205:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5204:11:17" + }, + "returnParameters": { + "id": 26931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26930, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 27092, + "src": "5237:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26929, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5237:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5236:9:17" + }, + "scope": 27093, + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "abstract": true, + "baseContracts": [], + "canonicalName": "MurkyBase", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 27093 + ], + "name": "MurkyBase", + "nameLocation": "75:9:17", + "scope": 27094, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/AllowanceTransfer.sol": { + "id": 18, + "ast": { + "absolutePath": "lib/permit2/src/AllowanceTransfer.sol", + "id": 27643, + "exportedSymbols": { + "Allowance": [ + 28687 + ], + "AllowanceTransfer": [ + 27642 + ], + "EIP712": [ + 27738 + ], + "ERC20": [ + 29937 + ], + "IAllowanceTransfer": [ + 28400 + ], + "InvalidNonce": [ + 27760 + ], + "PermitHash": [ + 29301 + ], + "SafeTransferLib": [ + 30048 + ], + "SignatureExpired": [ + 27757 + ], + "SignatureVerification": [ + 29501 + ] + }, + "nodeType": "SourceUnit", + "src": "32:6182:18", + "nodes": [ + { + "id": 27095, + "nodeType": "PragmaDirective", + "src": "32:23:18", + "nodes": [], + "literals": [ + "solidity", + "0.8", + ".17" + ] + }, + { + "id": 27097, + "nodeType": "ImportDirective", + "src": "57:51:18", + "nodes": [], + "absolutePath": "lib/solmate/src/tokens/ERC20.sol", + "file": "solmate/src/tokens/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 27643, + "sourceUnit": 29938, + "symbolAliases": [ + { + "foreign": { + "id": 27096, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "65:5:18", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27099, + "nodeType": "ImportDirective", + "src": "109:70:18", + "nodes": [], + "absolutePath": "lib/solmate/src/utils/SafeTransferLib.sol", + "file": "solmate/src/utils/SafeTransferLib.sol", + "nameLocation": "-1:-1:-1", + "scope": 27643, + "sourceUnit": 30049, + "symbolAliases": [ + { + "foreign": { + "id": 27098, + "name": "SafeTransferLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30048, + "src": "117:15:18", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27101, + "nodeType": "ImportDirective", + "src": "180:54:18", + "nodes": [], + "absolutePath": "lib/permit2/src/libraries/PermitHash.sol", + "file": "./libraries/PermitHash.sol", + "nameLocation": "-1:-1:-1", + "scope": 27643, + "sourceUnit": 29302, + "symbolAliases": [ + { + "foreign": { + "id": 27100, + "name": "PermitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29301, + "src": "188:10:18", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27103, + "nodeType": "ImportDirective", + "src": "235:76:18", + "nodes": [], + "absolutePath": "lib/permit2/src/libraries/SignatureVerification.sol", + "file": "./libraries/SignatureVerification.sol", + "nameLocation": "-1:-1:-1", + "scope": 27643, + "sourceUnit": 29502, + "symbolAliases": [ + { + "foreign": { + "id": 27102, + "name": "SignatureVerification", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29501, + "src": "243:21:18", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27105, + "nodeType": "ImportDirective", + "src": "312:36:18", + "nodes": [], + "absolutePath": "lib/permit2/src/EIP712.sol", + "file": "./EIP712.sol", + "nameLocation": "-1:-1:-1", + "scope": 27643, + "sourceUnit": 27739, + "symbolAliases": [ + { + "foreign": { + "id": 27104, + "name": "EIP712", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27738, + "src": "320:6:18", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27107, + "nodeType": "ImportDirective", + "src": "349:76:18", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/IAllowanceTransfer.sol", + "file": "../src/interfaces/IAllowanceTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 27643, + "sourceUnit": 28401, + "symbolAliases": [ + { + "foreign": { + "id": 27106, + "name": "IAllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28400, + "src": "357:18:18", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27110, + "nodeType": "ImportDirective", + "src": "426:66:18", + "nodes": [], + "absolutePath": "lib/permit2/src/PermitErrors.sol", + "file": "./PermitErrors.sol", + "nameLocation": "-1:-1:-1", + "scope": 27643, + "sourceUnit": 27761, + "symbolAliases": [ + { + "foreign": { + "id": 27108, + "name": "SignatureExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27757, + "src": "434:16:18", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 27109, + "name": "InvalidNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27760, + "src": "452:12:18", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27112, + "nodeType": "ImportDirective", + "src": "493:52:18", + "nodes": [], + "absolutePath": "lib/permit2/src/libraries/Allowance.sol", + "file": "./libraries/Allowance.sol", + "nameLocation": "-1:-1:-1", + "scope": 27643, + "sourceUnit": 28688, + "symbolAliases": [ + { + "foreign": { + "id": 27111, + "name": "Allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28687, + "src": "501:9:18", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27642, + "nodeType": "ContractDefinition", + "src": "547:5666:18", + "nodes": [ + { + "id": 27119, + "nodeType": "UsingForDirective", + "src": "610:38:18", + "nodes": [], + "global": false, + "libraryName": { + "id": 27117, + "name": "SignatureVerification", + "nameLocations": [ + "616:21:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29501, + "src": "616:21:18" + }, + "typeName": { + "id": 27118, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "642:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + { + "id": 27123, + "nodeType": "UsingForDirective", + "src": "653:32:18", + "nodes": [], + "global": false, + "libraryName": { + "id": 27120, + "name": "SafeTransferLib", + "nameLocations": [ + "659:15:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30048, + "src": "659:15:18" + }, + "typeName": { + "id": 27122, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27121, + "name": "ERC20", + "nameLocations": [ + "679:5:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "679:5:18" + }, + "referencedDeclaration": 29937, + "src": "679:5:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + } + }, + { + "id": 27127, + "nodeType": "UsingForDirective", + "src": "690:34:18", + "nodes": [], + "global": false, + "libraryName": { + "id": 27124, + "name": "PermitHash", + "nameLocations": [ + "696:10:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29301, + "src": "696:10:18" + }, + "typeName": { + "id": 27126, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27125, + "name": "PermitSingle", + "nameLocations": [ + "711:12:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28281, + "src": "711:12:18" + }, + "referencedDeclaration": 28281, + "src": "711:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + } + } + }, + { + "id": 27131, + "nodeType": "UsingForDirective", + "src": "729:33:18", + "nodes": [], + "global": false, + "libraryName": { + "id": 27128, + "name": "PermitHash", + "nameLocations": [ + "735:10:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29301, + "src": "735:10:18" + }, + "typeName": { + "id": 27130, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27129, + "name": "PermitBatch", + "nameLocations": [ + "750:11:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28290, + "src": "750:11:18" + }, + "referencedDeclaration": 28290, + "src": "750:11:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch" + } + } + }, + { + "id": 27135, + "nodeType": "UsingForDirective", + "src": "767:36:18", + "nodes": [], + "global": false, + "libraryName": { + "id": 27132, + "name": "Allowance", + "nameLocations": [ + "773:9:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28687, + "src": "773:9:18" + }, + "typeName": { + "id": 27134, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27133, + "name": "PackedAllowance", + "nameLocations": [ + "787:15:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28297, + "src": "787:15:18" + }, + "referencedDeclaration": 28297, + "src": "787:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + } + } + }, + { + "id": 27145, + "nodeType": "VariableDeclaration", + "src": "1098:92:18", + "nodes": [], + "baseFunctions": [ + 28327 + ], + "constant": false, + "documentation": { + "id": 27136, + "nodeType": "StructuredDocumentation", + "src": "809:284:18", + "text": "@notice Maps users to tokens to spender addresses and information about the approval on the token\n @dev Indexed in the order of token owner address, token address, spender address\n @dev The stored word saves the allowed amount, expiration on the allowance, and nonce" + }, + "functionSelector": "927da105", + "mutability": "mutable", + "name": "allowance", + "nameLocation": "1181:9:18", + "scope": 27642, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance)))" + }, + "typeName": { + "id": 27144, + "keyType": { + "id": 27137, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1106:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1098:75:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance)))" + }, + "valueType": { + "id": 27143, + "keyType": { + "id": 27138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1125:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1117:55:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance))" + }, + "valueType": { + "id": 27142, + "keyType": { + "id": 27139, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1144:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1136:35:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$", + "typeString": "mapping(address => struct IAllowanceTransfer.PackedAllowance)" + }, + "valueType": { + "id": 27141, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27140, + "name": "PackedAllowance", + "nameLocations": [ + "1155:15:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28297, + "src": "1155:15:18" + }, + "referencedDeclaration": 28297, + "src": "1155:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + } + } + } + } + }, + "visibility": "public" + }, + { + "id": 27186, + "nodeType": "FunctionDefinition", + "src": "1236:315:18", + "nodes": [], + "body": { + "id": 27185, + "nodeType": "Block", + "src": "1329:222:18", + "nodes": [], + "statements": [ + { + "assignments": [ + 27159 + ], + "declarations": [ + { + "constant": false, + "id": 27159, + "mutability": "mutable", + "name": "allowed", + "nameLocation": "1363:7:18", + "nodeType": "VariableDeclaration", + "scope": 27185, + "src": "1339:31:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + }, + "typeName": { + "id": 27158, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27157, + "name": "PackedAllowance", + "nameLocations": [ + "1339:15:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28297, + "src": "1339:15:18" + }, + "referencedDeclaration": 28297, + "src": "1339:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + } + }, + "visibility": "internal" + } + ], + "id": 27168, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 27160, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27145, + "src": "1373:9:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)))" + } + }, + "id": 27163, + "indexExpression": { + "expression": { + "id": 27161, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1383:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 27162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1387:6:18", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1383:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1373:21:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref))" + } + }, + "id": 27165, + "indexExpression": { + "id": 27164, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27148, + "src": "1395:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1373:28:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$", + "typeString": "mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)" + } + }, + "id": 27167, + "indexExpression": { + "id": 27166, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27150, + "src": "1402:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1373:37:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1339:71:18" + }, + { + "expression": { + "arguments": [ + { + "id": 27172, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27152, + "src": "1454:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "id": 27173, + "name": "expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27154, + "src": "1462:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "expression": { + "id": 27169, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27159, + "src": "1420:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage pointer" + } + }, + "id": 27171, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1428:25:18", + "memberName": "updateAmountAndExpiration", + "nodeType": "MemberAccess", + "referencedDeclaration": 28654, + "src": "1420:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PackedAllowance_$28297_storage_ptr_$_t_uint160_$_t_uint48_$returns$__$bound_to$_t_struct$_PackedAllowance_$28297_storage_ptr_$", + "typeString": "function (struct IAllowanceTransfer.PackedAllowance storage pointer,uint160,uint48)" + } + }, + "id": 27174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1420:53:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27175, + "nodeType": "ExpressionStatement", + "src": "1420:53:18" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 27177, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1497:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 27178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1501:6:18", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1497:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27179, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27148, + "src": "1509:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27180, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27150, + "src": "1516:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27181, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27152, + "src": "1525:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "id": 27182, + "name": "expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27154, + "src": "1533:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 27176, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28240, + "src": "1488:8:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint160_$_t_uint48_$returns$__$", + "typeString": "function (address,address,address,uint160,uint48)" + } + }, + "id": 27183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1488:56:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27184, + "nodeType": "EmitStatement", + "src": "1483:61:18" + } + ] + }, + "baseFunctions": [ + 28339 + ], + "documentation": { + "id": 27146, + "nodeType": "StructuredDocumentation", + "src": "1197:34:18", + "text": "@inheritdoc IAllowanceTransfer" + }, + "functionSelector": "87517c45", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "1245:7:18", + "parameters": { + "id": 27155, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27148, + "mutability": "mutable", + "name": "token", + "nameLocation": "1261:5:18", + "nodeType": "VariableDeclaration", + "scope": 27186, + "src": "1253:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1253:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27150, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1276:7:18", + "nodeType": "VariableDeclaration", + "scope": 27186, + "src": "1268:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27149, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1268:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27152, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1293:6:18", + "nodeType": "VariableDeclaration", + "scope": 27186, + "src": "1285:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 27151, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "1285:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27154, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "1308:10:18", + "nodeType": "VariableDeclaration", + "scope": 27186, + "src": "1301:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 27153, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1301:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "1252:67:18" + }, + "returnParameters": { + "id": 27156, + "nodeType": "ParameterList", + "parameters": [], + "src": "1329:0:18" + }, + "scope": 27642, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27228, + "nodeType": "FunctionDefinition", + "src": "1596:419:18", + "nodes": [], + "body": { + "id": 27227, + "nodeType": "Block", + "src": "1696:319:18", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 27197, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1710:5:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 27198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1716:9:18", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1710:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 27199, + "name": "permitSingle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27192, + "src": "1728:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 27200, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1741:11:18", + "memberName": "sigDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28280, + "src": "1728:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1710:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27207, + "nodeType": "IfStatement", + "src": "1706:97:18", + "trueBody": { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 27203, + "name": "permitSingle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27192, + "src": "1778:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 27204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1791:11:18", + "memberName": "sigDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28280, + "src": "1778:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 27202, + "name": "SignatureExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27757, + "src": "1761:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 27205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1761:42:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27206, + "nodeType": "RevertStatement", + "src": "1754:49:18" + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 27212, + "name": "permitSingle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27192, + "src": "1903:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 27213, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1916:4:18", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 28974, + "src": "1903:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitSingle_$28281_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_PermitSingle_$28281_memory_ptr_$", + "typeString": "function (struct IAllowanceTransfer.PermitSingle memory) pure returns (bytes32)" + } + }, + "id": 27214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1903:19:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 27211, + "name": "_hashTypedData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27737, + "src": "1888:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 27215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1888:35:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27216, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27189, + "src": "1925:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 27208, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27194, + "src": "1871:9:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 27210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1881:6:18", + "memberName": "verify", + "nodeType": "MemberAccess", + "referencedDeclaration": 29500, + "src": "1871:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_calldata_ptr_$_t_bytes32_$_t_address_$returns$__$bound_to$_t_bytes_calldata_ptr_$", + "typeString": "function (bytes calldata,bytes32,address) view" + } + }, + "id": 27217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1871:60:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27218, + "nodeType": "ExpressionStatement", + "src": "1871:60:18" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 27220, + "name": "permitSingle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27192, + "src": "1958:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 27221, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1971:7:18", + "memberName": "details", + "nodeType": "MemberAccess", + "referencedDeclaration": 28276, + "src": "1958:20:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + }, + { + "id": 27222, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27189, + "src": "1980:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 27223, + "name": "permitSingle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27192, + "src": "1987:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 27224, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2000:7:18", + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 28278, + "src": "1987:20:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 27219, + "name": "_updateApproval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27641, + "src": "1942:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PermitDetails_$28273_memory_ptr_$_t_address_$_t_address_$returns$__$", + "typeString": "function (struct IAllowanceTransfer.PermitDetails memory,address,address)" + } + }, + "id": 27225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1942:66:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27226, + "nodeType": "ExpressionStatement", + "src": "1942:66:18" + } + ] + }, + "baseFunctions": [ + 28350 + ], + "documentation": { + "id": 27187, + "nodeType": "StructuredDocumentation", + "src": "1557:34:18", + "text": "@inheritdoc IAllowanceTransfer" + }, + "functionSelector": "2b67b570", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permit", + "nameLocation": "1605:6:18", + "parameters": { + "id": 27195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27189, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1620:5:18", + "nodeType": "VariableDeclaration", + "scope": 27228, + "src": "1612:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27188, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1612:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27192, + "mutability": "mutable", + "name": "permitSingle", + "nameLocation": "1647:12:18", + "nodeType": "VariableDeclaration", + "scope": 27228, + "src": "1627:32:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + }, + "typeName": { + "id": 27191, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27190, + "name": "PermitSingle", + "nameLocations": [ + "1627:12:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28281, + "src": "1627:12:18" + }, + "referencedDeclaration": 28281, + "src": "1627:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27194, + "mutability": "mutable", + "name": "signature", + "nameLocation": "1676:9:18", + "nodeType": "VariableDeclaration", + "scope": 27228, + "src": "1661:24:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 27193, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1661:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1611:75:18" + }, + "returnParameters": { + "id": 27196, + "nodeType": "ParameterList", + "parameters": [], + "src": "1696:0:18" + }, + "scope": 27642, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27295, + "nodeType": "FunctionDefinition", + "src": "2060:610:18", + "nodes": [], + "body": { + "id": 27294, + "nodeType": "Block", + "src": "2158:512:18", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 27239, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2172:5:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 27240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2178:9:18", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2172:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 27241, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27234, + "src": "2190:11:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 27242, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2202:11:18", + "memberName": "sigDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28289, + "src": "2190:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2172:41:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27249, + "nodeType": "IfStatement", + "src": "2168:95:18", + "trueBody": { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 27245, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27234, + "src": "2239:11:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 27246, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2251:11:18", + "memberName": "sigDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28289, + "src": "2239:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 27244, + "name": "SignatureExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27757, + "src": "2222:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 27247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2222:41:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27248, + "nodeType": "RevertStatement", + "src": "2215:48:18" + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 27254, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27234, + "src": "2363:11:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 27255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2375:4:18", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 29040, + "src": "2363:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitBatch_$28290_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_PermitBatch_$28290_memory_ptr_$", + "typeString": "function (struct IAllowanceTransfer.PermitBatch memory) pure returns (bytes32)" + } + }, + "id": 27256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2363:18:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 27253, + "name": "_hashTypedData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27737, + "src": "2348:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 27257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2348:34:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27258, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27231, + "src": "2384:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 27250, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27236, + "src": "2331:9:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 27252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2341:6:18", + "memberName": "verify", + "nodeType": "MemberAccess", + "referencedDeclaration": 29500, + "src": "2331:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_calldata_ptr_$_t_bytes32_$_t_address_$returns$__$bound_to$_t_bytes_calldata_ptr_$", + "typeString": "function (bytes calldata,bytes32,address) view" + } + }, + "id": 27259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2331:59:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27260, + "nodeType": "ExpressionStatement", + "src": "2331:59:18" + }, + { + "assignments": [ + 27262 + ], + "declarations": [ + { + "constant": false, + "id": 27262, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2409:7:18", + "nodeType": "VariableDeclaration", + "scope": 27294, + "src": "2401:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27261, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2401:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 27265, + "initialValue": { + "expression": { + "id": 27263, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27234, + "src": "2419:11:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 27264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2431:7:18", + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 28287, + "src": "2419:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2401:37:18" + }, + { + "id": 27293, + "nodeType": "UncheckedBlock", + "src": "2448:216:18", + "statements": [ + { + "assignments": [ + 27267 + ], + "declarations": [ + { + "constant": false, + "id": 27267, + "mutability": "mutable", + "name": "length", + "nameLocation": "2480:6:18", + "nodeType": "VariableDeclaration", + "scope": 27293, + "src": "2472:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 27271, + "initialValue": { + "expression": { + "expression": { + "id": 27268, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27234, + "src": "2489:11:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 27269, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2501:7:18", + "memberName": "details", + "nodeType": "MemberAccess", + "referencedDeclaration": 28285, + "src": "2489:19:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitDetails_$28273_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory[] memory" + } + }, + "id": 27270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2509:6:18", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2489:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2472:43:18" + }, + { + "body": { + "id": 27291, + "nodeType": "Block", + "src": "2566:88:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "baseExpression": { + "expression": { + "id": 27283, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27234, + "src": "2600:11:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 27284, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2612:7:18", + "memberName": "details", + "nodeType": "MemberAccess", + "referencedDeclaration": 28285, + "src": "2600:19:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitDetails_$28273_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory[] memory" + } + }, + "id": 27286, + "indexExpression": { + "id": 27285, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27273, + "src": "2620:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2600:22:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + }, + { + "id": 27287, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27231, + "src": "2624:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27288, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27262, + "src": "2631:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 27282, + "name": "_updateApproval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27641, + "src": "2584:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PermitDetails_$28273_memory_ptr_$_t_address_$_t_address_$returns$__$", + "typeString": "function (struct IAllowanceTransfer.PermitDetails memory,address,address)" + } + }, + "id": 27289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2584:55:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27290, + "nodeType": "ExpressionStatement", + "src": "2584:55:18" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27276, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27273, + "src": "2549:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 27277, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27267, + "src": "2553:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2549:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27292, + "initializationExpression": { + "assignments": [ + 27273 + ], + "declarations": [ + { + "constant": false, + "id": 27273, + "mutability": "mutable", + "name": "i", + "nameLocation": "2542:1:18", + "nodeType": "VariableDeclaration", + "scope": 27292, + "src": "2534:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2534:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 27275, + "initialValue": { + "hexValue": "30", + "id": 27274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2546:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2534:13:18" + }, + "loopExpression": { + "expression": { + "id": 27280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "2561:3:18", + "subExpression": { + "id": 27279, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27273, + "src": "2563:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27281, + "nodeType": "ExpressionStatement", + "src": "2561:3:18" + }, + "nodeType": "ForStatement", + "src": "2529:125:18" + } + ] + } + ] + }, + "baseFunctions": [ + 28361 + ], + "documentation": { + "id": 27229, + "nodeType": "StructuredDocumentation", + "src": "2021:34:18", + "text": "@inheritdoc IAllowanceTransfer" + }, + "functionSelector": "2a2d80d1", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permit", + "nameLocation": "2069:6:18", + "parameters": { + "id": 27237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27231, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2084:5:18", + "nodeType": "VariableDeclaration", + "scope": 27295, + "src": "2076:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2076:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27234, + "mutability": "mutable", + "name": "permitBatch", + "nameLocation": "2110:11:18", + "nodeType": "VariableDeclaration", + "scope": 27295, + "src": "2091:30:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch" + }, + "typeName": { + "id": 27233, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27232, + "name": "PermitBatch", + "nameLocations": [ + "2091:11:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28290, + "src": "2091:11:18" + }, + "referencedDeclaration": 28290, + "src": "2091:11:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27236, + "mutability": "mutable", + "name": "signature", + "nameLocation": "2138:9:18", + "nodeType": "VariableDeclaration", + "scope": 27295, + "src": "2123:24:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 27235, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2123:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2075:73:18" + }, + "returnParameters": { + "id": 27238, + "nodeType": "ParameterList", + "parameters": [], + "src": "2158:0:18" + }, + "scope": 27642, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27315, + "nodeType": "FunctionDefinition", + "src": "2715:139:18", + "nodes": [], + "body": { + "id": 27314, + "nodeType": "Block", + "src": "2803:51:18", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 27308, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27298, + "src": "2823:4:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27309, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27300, + "src": "2829:2:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27310, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27302, + "src": "2833:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "id": 27311, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27304, + "src": "2841:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 27307, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27441, + "src": "2813:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint160_$_t_address_$returns$__$", + "typeString": "function (address,address,uint160,address)" + } + }, + "id": 27312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2813:34:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27313, + "nodeType": "ExpressionStatement", + "src": "2813:34:18" + } + ] + }, + "baseFunctions": [ + 28373 + ], + "documentation": { + "id": 27296, + "nodeType": "StructuredDocumentation", + "src": "2676:34:18", + "text": "@inheritdoc IAllowanceTransfer" + }, + "functionSelector": "36c78516", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "2724:12:18", + "parameters": { + "id": 27305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27298, + "mutability": "mutable", + "name": "from", + "nameLocation": "2745:4:18", + "nodeType": "VariableDeclaration", + "scope": 27315, + "src": "2737:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2737:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27300, + "mutability": "mutable", + "name": "to", + "nameLocation": "2759:2:18", + "nodeType": "VariableDeclaration", + "scope": 27315, + "src": "2751:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27299, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2751:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27302, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2771:6:18", + "nodeType": "VariableDeclaration", + "scope": 27315, + "src": "2763:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 27301, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "2763:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27304, + "mutability": "mutable", + "name": "token", + "nameLocation": "2787:5:18", + "nodeType": "VariableDeclaration", + "scope": 27315, + "src": "2779:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2779:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2736:57:18" + }, + "returnParameters": { + "id": 27306, + "nodeType": "ParameterList", + "parameters": [], + "src": "2803:0:18" + }, + "scope": 27642, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27360, + "nodeType": "FunctionDefinition", + "src": "2899:436:18", + "nodes": [], + "body": { + "id": 27359, + "nodeType": "Block", + "src": "2983:352:18", + "nodes": [], + "statements": [ + { + "id": 27358, + "nodeType": "UncheckedBlock", + "src": "2993:336:18", + "statements": [ + { + "assignments": [ + 27324 + ], + "declarations": [ + { + "constant": false, + "id": 27324, + "mutability": "mutable", + "name": "length", + "nameLocation": "3025:6:18", + "nodeType": "VariableDeclaration", + "scope": 27358, + "src": "3017:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27323, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3017:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 27327, + "initialValue": { + "expression": { + "id": 27325, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27320, + "src": "3034:15:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AllowanceTransferDetails_$28311_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails calldata[] calldata" + } + }, + "id": 27326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3050:6:18", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3034:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3017:39:18" + }, + { + "body": { + "id": 27356, + "nodeType": "Block", + "src": "3107:212:18", + "statements": [ + { + "assignments": [ + 27340 + ], + "declarations": [ + { + "constant": false, + "id": 27340, + "mutability": "mutable", + "name": "transferDetail", + "nameLocation": "3157:14:18", + "nodeType": "VariableDeclaration", + "scope": 27356, + "src": "3125:46:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AllowanceTransferDetails_$28311_memory_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails" + }, + "typeName": { + "id": 27339, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27338, + "name": "AllowanceTransferDetails", + "nameLocations": [ + "3125:24:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28311, + "src": "3125:24:18" + }, + "referencedDeclaration": 28311, + "src": "3125:24:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AllowanceTransferDetails_$28311_storage_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails" + } + }, + "visibility": "internal" + } + ], + "id": 27344, + "initialValue": { + "baseExpression": { + "id": 27341, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27320, + "src": "3174:15:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AllowanceTransferDetails_$28311_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails calldata[] calldata" + } + }, + "id": 27343, + "indexExpression": { + "id": 27342, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27329, + "src": "3190:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3174:18:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AllowanceTransferDetails_$28311_calldata_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails calldata" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3125:67:18" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 27346, + "name": "transferDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27340, + "src": "3220:14:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AllowanceTransferDetails_$28311_memory_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails memory" + } + }, + "id": 27347, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3235:4:18", + "memberName": "from", + "nodeType": "MemberAccess", + "referencedDeclaration": 28304, + "src": "3220:19:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 27348, + "name": "transferDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27340, + "src": "3241:14:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AllowanceTransferDetails_$28311_memory_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails memory" + } + }, + "id": 27349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3256:2:18", + "memberName": "to", + "nodeType": "MemberAccess", + "referencedDeclaration": 28306, + "src": "3241:17:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 27350, + "name": "transferDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27340, + "src": "3260:14:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AllowanceTransferDetails_$28311_memory_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails memory" + } + }, + "id": 27351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3275:6:18", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28308, + "src": "3260:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "expression": { + "id": 27352, + "name": "transferDetail", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27340, + "src": "3283:14:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AllowanceTransferDetails_$28311_memory_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails memory" + } + }, + "id": 27353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3298:5:18", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 28310, + "src": "3283:20:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 27345, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27441, + "src": "3210:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint160_$_t_address_$returns$__$", + "typeString": "function (address,address,uint160,address)" + } + }, + "id": 27354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3210:94:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27355, + "nodeType": "ExpressionStatement", + "src": "3210:94:18" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27332, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27329, + "src": "3090:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 27333, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27324, + "src": "3094:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3090:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27357, + "initializationExpression": { + "assignments": [ + 27329 + ], + "declarations": [ + { + "constant": false, + "id": 27329, + "mutability": "mutable", + "name": "i", + "nameLocation": "3083:1:18", + "nodeType": "VariableDeclaration", + "scope": 27357, + "src": "3075:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27328, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3075:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 27331, + "initialValue": { + "hexValue": "30", + "id": 27330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3087:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3075:13:18" + }, + "loopExpression": { + "expression": { + "id": 27336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "3102:3:18", + "subExpression": { + "id": 27335, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27329, + "src": "3104:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27337, + "nodeType": "ExpressionStatement", + "src": "3102:3:18" + }, + "nodeType": "ForStatement", + "src": "3070:249:18" + } + ] + } + ] + }, + "baseFunctions": [ + 28381 + ], + "documentation": { + "id": 27316, + "nodeType": "StructuredDocumentation", + "src": "2860:34:18", + "text": "@inheritdoc IAllowanceTransfer" + }, + "functionSelector": "0d58b1db", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "2908:12:18", + "parameters": { + "id": 27321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27320, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "2957:15:18", + "nodeType": "VariableDeclaration", + "scope": 27360, + "src": "2921:51:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AllowanceTransferDetails_$28311_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails[]" + }, + "typeName": { + "baseType": { + "id": 27318, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27317, + "name": "AllowanceTransferDetails", + "nameLocations": [ + "2921:24:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28311, + "src": "2921:24:18" + }, + "referencedDeclaration": 28311, + "src": "2921:24:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AllowanceTransferDetails_$28311_storage_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails" + } + }, + "id": 27319, + "nodeType": "ArrayTypeName", + "src": "2921:26:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AllowanceTransferDetails_$28311_storage_$dyn_storage_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails[]" + } + }, + "visibility": "internal" + } + ], + "src": "2920:53:18" + }, + "returnParameters": { + "id": 27322, + "nodeType": "ParameterList", + "parameters": [], + "src": "2983:0:18" + }, + "scope": 27642, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27441, + "nodeType": "FunctionDefinition", + "src": "3482:737:18", + "nodes": [], + "body": { + "id": 27440, + "nodeType": "Block", + "src": "3566:653:18", + "nodes": [], + "statements": [ + { + "assignments": [ + 27374 + ], + "declarations": [ + { + "constant": false, + "id": 27374, + "mutability": "mutable", + "name": "allowed", + "nameLocation": "3600:7:18", + "nodeType": "VariableDeclaration", + "scope": 27440, + "src": "3576:31:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + }, + "typeName": { + "id": 27373, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27372, + "name": "PackedAllowance", + "nameLocations": [ + "3576:15:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28297, + "src": "3576:15:18" + }, + "referencedDeclaration": 28297, + "src": "3576:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + } + }, + "visibility": "internal" + } + ], + "id": 27383, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 27375, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27145, + "src": "3610:9:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)))" + } + }, + "id": 27377, + "indexExpression": { + "id": 27376, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27363, + "src": "3620:4:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3610:15:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref))" + } + }, + "id": 27379, + "indexExpression": { + "id": 27378, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27369, + "src": "3626:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3610:22:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$", + "typeString": "mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)" + } + }, + "id": 27382, + "indexExpression": { + "expression": { + "id": 27380, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3633:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 27381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3637:6:18", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3633:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3610:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3576:68:18" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 27384, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "3659:5:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 27385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3665:9:18", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "3659:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 27386, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27374, + "src": "3677:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage pointer" + } + }, + "id": 27387, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3685:10:18", + "memberName": "expiration", + "nodeType": "MemberAccess", + "referencedDeclaration": 28294, + "src": "3677:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "src": "3659:36:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27394, + "nodeType": "IfStatement", + "src": "3655:85:18", + "trueBody": { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 27390, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27374, + "src": "3721:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage pointer" + } + }, + "id": 27391, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3729:10:18", + "memberName": "expiration", + "nodeType": "MemberAccess", + "referencedDeclaration": 28294, + "src": "3721:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 27389, + "name": "AllowanceExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28206, + "src": "3704:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 27392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3704:36:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27393, + "nodeType": "RevertStatement", + "src": "3697:43:18" + } + }, + { + "assignments": [ + 27396 + ], + "declarations": [ + { + "constant": false, + "id": 27396, + "mutability": "mutable", + "name": "maxAmount", + "nameLocation": "3759:9:18", + "nodeType": "VariableDeclaration", + "scope": 27440, + "src": "3751:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3751:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 27399, + "initialValue": { + "expression": { + "id": 27397, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27374, + "src": "3771:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage pointer" + } + }, + "id": 27398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3779:6:18", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28292, + "src": "3771:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3751:34:18" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27400, + "name": "maxAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27396, + "src": "3799:9:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 27403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3817:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 27402, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "3817:7:18", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + } + ], + "id": 27401, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3812:4:18", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 27404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3812:13:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint160", + "typeString": "type(uint160)" + } + }, + "id": 27405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3826:3:18", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3812:17:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "src": "3799:30:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27430, + "nodeType": "IfStatement", + "src": "3795:289:18", + "trueBody": { + "id": 27429, + "nodeType": "Block", + "src": "3831:253:18", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27407, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27367, + "src": "3849:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 27408, + "name": "maxAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27396, + "src": "3858:9:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3849:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 27427, + "nodeType": "Block", + "src": "3947:127:18", + "statements": [ + { + "id": 27426, + "nodeType": "UncheckedBlock", + "src": "3965:95:18", + "statements": [ + { + "expression": { + "id": 27424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 27415, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27374, + "src": "3997:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage pointer" + } + }, + "id": 27417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4005:6:18", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28292, + "src": "3997:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "id": 27423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 27420, + "name": "maxAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27396, + "src": "4022:9:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 27419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4014:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 27418, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "4014:7:18", + "typeDescriptions": {} + } + }, + "id": 27421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4014:18:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 27422, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27367, + "src": "4035:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "src": "4014:27:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "src": "3997:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "id": 27425, + "nodeType": "ExpressionStatement", + "src": "3997:44:18" + } + ] + } + ] + }, + "id": 27428, + "nodeType": "IfStatement", + "src": "3845:229:18", + "trueBody": { + "id": 27414, + "nodeType": "Block", + "src": "3869:72:18", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 27411, + "name": "maxAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27396, + "src": "3916:9:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 27410, + "name": "InsufficientAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28211, + "src": "3894:21:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 27412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3894:32:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27413, + "nodeType": "RevertStatement", + "src": "3887:39:18" + } + ] + } + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 27435, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27363, + "src": "4195:4:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27436, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27365, + "src": "4201:2:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27437, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27367, + "src": "4205:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "expression": { + "arguments": [ + { + "id": 27432, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27369, + "src": "4171:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 27431, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "4165:5:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 27433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4165:12:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "id": 27434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4178:16:18", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 30007, + "src": "4165:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$29937_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$29937_$", + "typeString": "function (contract ERC20,address,address,uint256)" + } + }, + "id": 27438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4165:47:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27439, + "nodeType": "ExpressionStatement", + "src": "4165:47:18" + } + ] + }, + "documentation": { + "id": 27361, + "nodeType": "StructuredDocumentation", + "src": "3341:136:18", + "text": "@notice Internal function for transferring tokens using stored allowances\n @dev Will fail if the allowed timeframe has passed" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transfer", + "nameLocation": "3491:9:18", + "parameters": { + "id": 27370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27363, + "mutability": "mutable", + "name": "from", + "nameLocation": "3509:4:18", + "nodeType": "VariableDeclaration", + "scope": 27441, + "src": "3501:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27362, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3501:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27365, + "mutability": "mutable", + "name": "to", + "nameLocation": "3523:2:18", + "nodeType": "VariableDeclaration", + "scope": 27441, + "src": "3515:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27364, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3515:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27367, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3535:6:18", + "nodeType": "VariableDeclaration", + "scope": 27441, + "src": "3527:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 27366, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "3527:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27369, + "mutability": "mutable", + "name": "token", + "nameLocation": "3551:5:18", + "nodeType": "VariableDeclaration", + "scope": 27441, + "src": "3543:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3543:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3500:57:18" + }, + "returnParameters": { + "id": 27371, + "nodeType": "ParameterList", + "parameters": [], + "src": "3566:0:18" + }, + "scope": 27642, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "id": 27504, + "nodeType": "FunctionDefinition", + "src": "4264:542:18", + "nodes": [], + "body": { + "id": 27503, + "nodeType": "Block", + "src": "4330:476:18", + "nodes": [], + "statements": [ + { + "assignments": [ + 27450 + ], + "declarations": [ + { + "constant": false, + "id": 27450, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4348:5:18", + "nodeType": "VariableDeclaration", + "scope": 27503, + "src": "4340:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4340:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 27453, + "initialValue": { + "expression": { + "id": 27451, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4356:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 27452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4360:6:18", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4356:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4340:26:18" + }, + { + "id": 27502, + "nodeType": "UncheckedBlock", + "src": "4443:357:18", + "statements": [ + { + "assignments": [ + 27455 + ], + "declarations": [ + { + "constant": false, + "id": 27455, + "mutability": "mutable", + "name": "length", + "nameLocation": "4475:6:18", + "nodeType": "VariableDeclaration", + "scope": 27502, + "src": "4467:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27454, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4467:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 27458, + "initialValue": { + "expression": { + "id": 27456, + "name": "approvals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27446, + "src": "4484:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenSpenderPair_$28302_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair calldata[] calldata" + } + }, + "id": 27457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4494:6:18", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4484:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4467:33:18" + }, + { + "body": { + "id": 27500, + "nodeType": "Block", + "src": "4551:239:18", + "statements": [ + { + "assignments": [ + 27470 + ], + "declarations": [ + { + "constant": false, + "id": 27470, + "mutability": "mutable", + "name": "token", + "nameLocation": "4577:5:18", + "nodeType": "VariableDeclaration", + "scope": 27500, + "src": "4569:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27469, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4569:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 27475, + "initialValue": { + "expression": { + "baseExpression": { + "id": 27471, + "name": "approvals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27446, + "src": "4585:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenSpenderPair_$28302_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair calldata[] calldata" + } + }, + "id": 27473, + "indexExpression": { + "id": 27472, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27460, + "src": "4595:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4585:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenSpenderPair_$28302_calldata_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair calldata" + } + }, + "id": 27474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4598:5:18", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 28299, + "src": "4585:18:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4569:34:18" + }, + { + "assignments": [ + 27477 + ], + "declarations": [ + { + "constant": false, + "id": 27477, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4629:7:18", + "nodeType": "VariableDeclaration", + "scope": 27500, + "src": "4621:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4621:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 27482, + "initialValue": { + "expression": { + "baseExpression": { + "id": 27478, + "name": "approvals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27446, + "src": "4639:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenSpenderPair_$28302_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair calldata[] calldata" + } + }, + "id": 27480, + "indexExpression": { + "id": 27479, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27460, + "src": "4649:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4639:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenSpenderPair_$28302_calldata_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair calldata" + } + }, + "id": 27481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4652:7:18", + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 28301, + "src": "4639:20:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4621:38:18" + }, + { + "expression": { + "id": 27492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 27483, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27145, + "src": "4678:9:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)))" + } + }, + "id": 27487, + "indexExpression": { + "id": 27484, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27450, + "src": "4688:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4678:16:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref))" + } + }, + "id": 27488, + "indexExpression": { + "id": 27485, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27470, + "src": "4695:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4678:23:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$", + "typeString": "mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)" + } + }, + "id": 27489, + "indexExpression": { + "id": 27486, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27477, + "src": "4702:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4678:32:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage ref" + } + }, + "id": 27490, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4711:6:18", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28292, + "src": "4678:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 27491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4720:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4678:43:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "id": 27493, + "nodeType": "ExpressionStatement", + "src": "4678:43:18" + }, + { + "eventCall": { + "arguments": [ + { + "id": 27495, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27450, + "src": "4753:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27496, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27470, + "src": "4760:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27497, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27477, + "src": "4767:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 27494, + "name": "Lockdown", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28264, + "src": "4744:8:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address,address)" + } + }, + "id": 27498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4744:31:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27499, + "nodeType": "EmitStatement", + "src": "4739:36:18" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27463, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27460, + "src": "4534:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 27464, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27455, + "src": "4538:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4534:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27501, + "initializationExpression": { + "assignments": [ + 27460 + ], + "declarations": [ + { + "constant": false, + "id": 27460, + "mutability": "mutable", + "name": "i", + "nameLocation": "4527:1:18", + "nodeType": "VariableDeclaration", + "scope": 27501, + "src": "4519:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4519:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 27462, + "initialValue": { + "hexValue": "30", + "id": 27461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4531:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4519:13:18" + }, + "loopExpression": { + "expression": { + "id": 27467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "4546:3:18", + "subExpression": { + "id": 27466, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27460, + "src": "4548:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27468, + "nodeType": "ExpressionStatement", + "src": "4546:3:18" + }, + "nodeType": "ForStatement", + "src": "4514:276:18" + } + ] + } + ] + }, + "baseFunctions": [ + 28389 + ], + "documentation": { + "id": 27442, + "nodeType": "StructuredDocumentation", + "src": "4225:34:18", + "text": "@inheritdoc IAllowanceTransfer" + }, + "functionSelector": "cc53287f", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "lockdown", + "nameLocation": "4273:8:18", + "parameters": { + "id": 27447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27446, + "mutability": "mutable", + "name": "approvals", + "nameLocation": "4310:9:18", + "nodeType": "VariableDeclaration", + "scope": 27504, + "src": "4282:37:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenSpenderPair_$28302_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair[]" + }, + "typeName": { + "baseType": { + "id": 27444, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27443, + "name": "TokenSpenderPair", + "nameLocations": [ + "4282:16:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28302, + "src": "4282:16:18" + }, + "referencedDeclaration": 28302, + "src": "4282:16:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenSpenderPair_$28302_storage_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair" + } + }, + "id": 27445, + "nodeType": "ArrayTypeName", + "src": "4282:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenSpenderPair_$28302_storage_$dyn_storage_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair[]" + } + }, + "visibility": "internal" + } + ], + "src": "4281:39:18" + }, + "returnParameters": { + "id": 27448, + "nodeType": "ParameterList", + "parameters": [], + "src": "4330:0:18" + }, + "scope": 27642, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27573, + "nodeType": "FunctionDefinition", + "src": "4851:600:18", + "nodes": [], + "body": { + "id": 27572, + "nodeType": "Block", + "src": "4935:516:18", + "nodes": [], + "statements": [ + { + "assignments": [ + 27515 + ], + "declarations": [ + { + "constant": false, + "id": 27515, + "mutability": "mutable", + "name": "oldNonce", + "nameLocation": "4952:8:18", + "nodeType": "VariableDeclaration", + "scope": 27572, + "src": "4945:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 27514, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "4945:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "id": 27525, + "initialValue": { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 27516, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27145, + "src": "4963:9:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)))" + } + }, + "id": 27519, + "indexExpression": { + "expression": { + "id": 27517, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4973:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 27518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4977:6:18", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4973:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4963:21:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref))" + } + }, + "id": 27521, + "indexExpression": { + "id": 27520, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27507, + "src": "4985:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4963:28:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$", + "typeString": "mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)" + } + }, + "id": 27523, + "indexExpression": { + "id": 27522, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27509, + "src": "4992:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4963:37:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage ref" + } + }, + "id": 27524, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5001:5:18", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28296, + "src": "4963:43:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4945:61:18" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "id": 27528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27526, + "name": "newNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27511, + "src": "5021:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 27527, + "name": "oldNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27515, + "src": "5033:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "src": "5021:20:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27532, + "nodeType": "IfStatement", + "src": "5017:47:18", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 27529, + "name": "InvalidNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27760, + "src": "5050:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 27530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5050:14:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27531, + "nodeType": "RevertStatement", + "src": "5043:21:18" + } + }, + { + "id": 27550, + "nodeType": "UncheckedBlock", + "src": "5157:143:18", + "statements": [ + { + "assignments": [ + 27534 + ], + "declarations": [ + { + "constant": false, + "id": 27534, + "mutability": "mutable", + "name": "delta", + "nameLocation": "5188:5:18", + "nodeType": "VariableDeclaration", + "scope": 27550, + "src": "5181:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 27533, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "5181:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "id": 27538, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "id": 27537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27535, + "name": "newNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27511, + "src": "5196:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 27536, + "name": "oldNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27515, + "src": "5207:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "src": "5196:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5181:34:18" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "id": 27545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27539, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27534, + "src": "5233:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 27542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5246:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": { + "id": 27541, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "5246:6:18", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + } + ], + "id": 27540, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "5241:4:18", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 27543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5241:12:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint16", + "typeString": "type(uint16)" + } + }, + "id": 27544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5254:3:18", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "5241:16:18", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "5233:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27549, + "nodeType": "IfStatement", + "src": "5229:60:18", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 27546, + "name": "ExcessiveInvalidation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28214, + "src": "5266:21:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 27547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5266:23:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27548, + "nodeType": "RevertStatement", + "src": "5259:30:18" + } + } + ] + }, + { + "expression": { + "id": 27561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 27551, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27145, + "src": "5310:9:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)))" + } + }, + "id": 27556, + "indexExpression": { + "expression": { + "id": 27552, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5320:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 27553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5324:6:18", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5320:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5310:21:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref))" + } + }, + "id": 27557, + "indexExpression": { + "id": 27554, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27507, + "src": "5332:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5310:28:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$", + "typeString": "mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)" + } + }, + "id": 27558, + "indexExpression": { + "id": 27555, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27509, + "src": "5339:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5310:37:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage ref" + } + }, + "id": 27559, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5348:5:18", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28296, + "src": "5310:43:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 27560, + "name": "newNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27511, + "src": "5356:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "src": "5310:54:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "id": 27562, + "nodeType": "ExpressionStatement", + "src": "5310:54:18" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 27564, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5397:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 27565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5401:6:18", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5397:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27566, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27507, + "src": "5409:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27567, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27509, + "src": "5416:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27568, + "name": "newNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27511, + "src": "5425:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + { + "id": 27569, + "name": "oldNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27515, + "src": "5435:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 27563, + "name": "NonceInvalidation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28227, + "src": "5379:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint48_$_t_uint48_$returns$__$", + "typeString": "function (address,address,address,uint48,uint48)" + } + }, + "id": 27570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5379:65:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27571, + "nodeType": "EmitStatement", + "src": "5374:70:18" + } + ] + }, + "baseFunctions": [ + 28399 + ], + "documentation": { + "id": 27505, + "nodeType": "StructuredDocumentation", + "src": "4812:34:18", + "text": "@inheritdoc IAllowanceTransfer" + }, + "functionSelector": "65d9723c", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "invalidateNonces", + "nameLocation": "4860:16:18", + "parameters": { + "id": 27512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27507, + "mutability": "mutable", + "name": "token", + "nameLocation": "4885:5:18", + "nodeType": "VariableDeclaration", + "scope": 27573, + "src": "4877:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27506, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4877:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27509, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4900:7:18", + "nodeType": "VariableDeclaration", + "scope": 27573, + "src": "4892:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27508, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4892:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27511, + "mutability": "mutable", + "name": "newNonce", + "nameLocation": "4916:8:18", + "nodeType": "VariableDeclaration", + "scope": 27573, + "src": "4909:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 27510, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "4909:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "4876:49:18" + }, + "returnParameters": { + "id": 27513, + "nodeType": "ParameterList", + "parameters": [], + "src": "4935:0:18" + }, + "scope": 27642, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27641, + "nodeType": "FunctionDefinition", + "src": "5681:530:18", + "nodes": [], + "body": { + "id": 27640, + "nodeType": "Block", + "src": "5776:435:18", + "nodes": [], + "statements": [ + { + "assignments": [ + 27585 + ], + "declarations": [ + { + "constant": false, + "id": 27585, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "5793:5:18", + "nodeType": "VariableDeclaration", + "scope": 27640, + "src": "5786:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 27584, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "5786:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "id": 27588, + "initialValue": { + "expression": { + "id": 27586, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27577, + "src": "5801:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + }, + "id": 27587, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5809:5:18", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28272, + "src": "5801:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5786:28:18" + }, + { + "assignments": [ + 27590 + ], + "declarations": [ + { + "constant": false, + "id": 27590, + "mutability": "mutable", + "name": "token", + "nameLocation": "5832:5:18", + "nodeType": "VariableDeclaration", + "scope": 27640, + "src": "5824:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5824:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 27593, + "initialValue": { + "expression": { + "id": 27591, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27577, + "src": "5840:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + }, + "id": 27592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5848:5:18", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 28266, + "src": "5840:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5824:29:18" + }, + { + "assignments": [ + 27595 + ], + "declarations": [ + { + "constant": false, + "id": 27595, + "mutability": "mutable", + "name": "amount", + "nameLocation": "5871:6:18", + "nodeType": "VariableDeclaration", + "scope": 27640, + "src": "5863:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 27594, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "5863:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + } + ], + "id": 27598, + "initialValue": { + "expression": { + "id": 27596, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27577, + "src": "5880:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + }, + "id": 27597, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5888:6:18", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28268, + "src": "5880:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5863:31:18" + }, + { + "assignments": [ + 27600 + ], + "declarations": [ + { + "constant": false, + "id": 27600, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "5911:10:18", + "nodeType": "VariableDeclaration", + "scope": 27640, + "src": "5904:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 27599, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "5904:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "id": 27603, + "initialValue": { + "expression": { + "id": 27601, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27577, + "src": "5924:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + }, + "id": 27602, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5932:10:18", + "memberName": "expiration", + "nodeType": "MemberAccess", + "referencedDeclaration": 28270, + "src": "5924:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5904:38:18" + }, + { + "assignments": [ + 27606 + ], + "declarations": [ + { + "constant": false, + "id": 27606, + "mutability": "mutable", + "name": "allowed", + "nameLocation": "5976:7:18", + "nodeType": "VariableDeclaration", + "scope": 27640, + "src": "5952:31:18", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + }, + "typeName": { + "id": 27605, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27604, + "name": "PackedAllowance", + "nameLocations": [ + "5952:15:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28297, + "src": "5952:15:18" + }, + "referencedDeclaration": 28297, + "src": "5952:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + } + }, + "visibility": "internal" + } + ], + "id": 27614, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 27607, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27145, + "src": "5986:9:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$_$", + "typeString": "mapping(address => mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)))" + } + }, + "id": 27609, + "indexExpression": { + "id": 27608, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27579, + "src": "5996:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5986:16:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$_$", + "typeString": "mapping(address => mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref))" + } + }, + "id": 27611, + "indexExpression": { + "id": 27610, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27590, + "src": "6003:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5986:23:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PackedAllowance_$28297_storage_$", + "typeString": "mapping(address => struct IAllowanceTransfer.PackedAllowance storage ref)" + } + }, + "id": 27613, + "indexExpression": { + "id": 27612, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27581, + "src": "6010:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5986:32:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5952:66:18" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "id": 27618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 27615, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27606, + "src": "6033:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage pointer" + } + }, + "id": 27616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6041:5:18", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28296, + "src": "6033:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 27617, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27585, + "src": "6050:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "src": "6033:22:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27622, + "nodeType": "IfStatement", + "src": "6029:49:18", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 27619, + "name": "InvalidNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27760, + "src": "6064:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 27620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6064:14:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27621, + "nodeType": "RevertStatement", + "src": "6057:21:18" + } + }, + { + "expression": { + "arguments": [ + { + "id": 27626, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27595, + "src": "6107:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "id": 27627, + "name": "expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27600, + "src": "6115:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + { + "id": 27628, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27585, + "src": "6127:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "expression": { + "id": 27623, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27606, + "src": "6089:7:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage pointer" + } + }, + "id": 27625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6097:9:18", + "memberName": "updateAll", + "nodeType": "MemberAccess", + "referencedDeclaration": 28621, + "src": "6089:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PackedAllowance_$28297_storage_ptr_$_t_uint160_$_t_uint48_$_t_uint48_$returns$__$bound_to$_t_struct$_PackedAllowance_$28297_storage_ptr_$", + "typeString": "function (struct IAllowanceTransfer.PackedAllowance storage pointer,uint160,uint48,uint48)" + } + }, + "id": 27629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6089:44:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27630, + "nodeType": "ExpressionStatement", + "src": "6089:44:18" + }, + { + "eventCall": { + "arguments": [ + { + "id": 27632, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27579, + "src": "6155:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27633, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27590, + "src": "6162:5:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27634, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27581, + "src": "6169:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27635, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27595, + "src": "6178:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "id": 27636, + "name": "expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27600, + "src": "6186:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + { + "id": 27637, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27585, + "src": "6198:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 27631, + "name": "Permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28255, + "src": "6148:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint160_$_t_uint48_$_t_uint48_$returns$__$", + "typeString": "function (address,address,address,uint160,uint48,uint48)" + } + }, + "id": 27638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6148:56:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27639, + "nodeType": "EmitStatement", + "src": "6143:61:18" + } + ] + }, + "documentation": { + "id": 27574, + "nodeType": "StructuredDocumentation", + "src": "5457:219:18", + "text": "@notice Sets the new values for amount, expiration, and nonce.\n @dev Will check that the signed nonce is equal to the current nonce and then incrememnt the nonce value by 1.\n @dev Emits a Permit event." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_updateApproval", + "nameLocation": "5690:15:18", + "parameters": { + "id": 27582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27577, + "mutability": "mutable", + "name": "details", + "nameLocation": "5727:7:18", + "nodeType": "VariableDeclaration", + "scope": 27641, + "src": "5706:28:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails" + }, + "typeName": { + "id": 27576, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27575, + "name": "PermitDetails", + "nameLocations": [ + "5706:13:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28273, + "src": "5706:13:18" + }, + "referencedDeclaration": 28273, + "src": "5706:13:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27579, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5744:5:18", + "nodeType": "VariableDeclaration", + "scope": 27641, + "src": "5736:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27578, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5736:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27581, + "mutability": "mutable", + "name": "spender", + "nameLocation": "5759:7:18", + "nodeType": "VariableDeclaration", + "scope": 27641, + "src": "5751:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5751:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5705:62:18" + }, + "returnParameters": { + "id": 27583, + "nodeType": "ParameterList", + "parameters": [], + "src": "5776:0:18" + }, + "scope": 27642, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 27113, + "name": "IAllowanceTransfer", + "nameLocations": [ + "577:18:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28400, + "src": "577:18:18" + }, + "id": 27114, + "nodeType": "InheritanceSpecifier", + "src": "577:18:18" + }, + { + "baseName": { + "id": 27115, + "name": "EIP712", + "nameLocations": [ + "597:6:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27738, + "src": "597:6:18" + }, + "id": 27116, + "nodeType": "InheritanceSpecifier", + "src": "597:6:18" + } + ], + "canonicalName": "AllowanceTransfer", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 27642, + 27738, + 28400 + ], + "name": "AllowanceTransfer", + "nameLocation": "556:17:18", + "scope": 27643, + "usedErrors": [ + 27757, + 27760, + 28206, + 28211, + 28214, + 29339, + 29342, + 29345, + 29348 + ] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/EIP712.sol": { + "id": 19, + "ast": { + "absolutePath": "lib/permit2/src/EIP712.sol", + "id": 27739, + "exportedSymbols": { + "EIP712": [ + 27738 + ] + }, + "nodeType": "SourceUnit", + "src": "32:1823:19", + "nodes": [ + { + "id": 27644, + "nodeType": "PragmaDirective", + "src": "32:23:19", + "nodes": [], + "literals": [ + "solidity", + "0.8", + ".17" + ] + }, + { + "id": 27738, + "nodeType": "ContractDefinition", + "src": "295:1559:19", + "nodes": [ + { + "id": 27647, + "nodeType": "VariableDeclaration", + "src": "509:50:19", + "nodes": [], + "constant": false, + "mutability": "immutable", + "name": "_CACHED_DOMAIN_SEPARATOR", + "nameLocation": "535:24:19", + "scope": 27738, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27646, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "509:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "private" + }, + { + "id": 27649, + "nodeType": "VariableDeclaration", + "src": "565:42:19", + "nodes": [], + "constant": false, + "mutability": "immutable", + "name": "_CACHED_CHAIN_ID", + "nameLocation": "591:16:19", + "scope": 27738, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27648, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "565:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "id": 27654, + "nodeType": "VariableDeclaration", + "src": "614:60:19", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "_HASHED_NAME", + "nameLocation": "639:12:19", + "scope": 27738, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27650, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "614:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d697432", + "id": 27652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "664:9:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a", + "typeString": "literal_string \"Permit2\"" + }, + "value": "Permit2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a", + "typeString": "literal_string \"Permit2\"" + } + ], + "id": 27651, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "654:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 27653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "654:20:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "private" + }, + { + "id": 27659, + "nodeType": "VariableDeclaration", + "src": "680:126:19", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "_TYPE_HASH", + "nameLocation": "705:10:19", + "scope": 27738, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27655, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "680:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", + "id": 27657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "736:69:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866", + "typeString": "literal_string \"EIP712Domain(string name,uint256 chainId,address verifyingContract)\"" + }, + "value": "EIP712Domain(string name,uint256 chainId,address verifyingContract)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866", + "typeString": "literal_string \"EIP712Domain(string name,uint256 chainId,address verifyingContract)\"" + } + ], + "id": 27656, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "726:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 27658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "726:80:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "private" + }, + { + "id": 27675, + "nodeType": "FunctionDefinition", + "src": "813:147:19", + "nodes": [], + "body": { + "id": 27674, + "nodeType": "Block", + "src": "827:133:19", + "nodes": [], + "statements": [ + { + "expression": { + "id": 27665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27662, + "name": "_CACHED_CHAIN_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27649, + "src": "837:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 27663, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "856:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 27664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "862:7:19", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "856:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "837:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 27666, + "nodeType": "ExpressionStatement", + "src": "837:32:19" + }, + { + "expression": { + "id": 27672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27667, + "name": "_CACHED_DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27647, + "src": "879:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 27669, + "name": "_TYPE_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27659, + "src": "928:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27670, + "name": "_HASHED_NAME", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27654, + "src": "940:12:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 27668, + "name": "_buildDomainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27718, + "src": "906:21:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 27671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "906:47:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "879:74:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 27673, + "nodeType": "ExpressionStatement", + "src": "879:74:19" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 27660, + "nodeType": "ParameterList", + "parameters": [], + "src": "824:2:19" + }, + "returnParameters": { + "id": 27661, + "nodeType": "ParameterList", + "parameters": [], + "src": "827:0:19" + }, + "scope": 27738, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 27693, + "nodeType": "FunctionDefinition", + "src": "1123:216:19", + "nodes": [], + "body": { + "id": 27692, + "nodeType": "Block", + "src": "1181:158:19", + "nodes": [], + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 27681, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1198:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 27682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1204:7:19", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "1198:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 27683, + "name": "_CACHED_CHAIN_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27649, + "src": "1215:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1198:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "arguments": [ + { + "id": 27687, + "name": "_TYPE_HASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27659, + "src": "1307:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27688, + "name": "_HASHED_NAME", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27654, + "src": "1319:12:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 27686, + "name": "_buildDomainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27718, + "src": "1285:21:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view returns (bytes32)" + } + }, + "id": 27689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1285:47:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 27690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1198:134:19", + "trueExpression": { + "id": 27685, + "name": "_CACHED_DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27647, + "src": "1246:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 27680, + "id": 27691, + "nodeType": "Return", + "src": "1191:141:19" + } + ] + }, + "documentation": { + "id": 27676, + "nodeType": "StructuredDocumentation", + "src": "966:152:19", + "text": "@notice Returns the domain separator for the current chain.\n @dev Uses cached version if chainid and address are unchanged from construction." + }, + "functionSelector": "3644e515", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "DOMAIN_SEPARATOR", + "nameLocation": "1132:16:19", + "parameters": { + "id": 27677, + "nodeType": "ParameterList", + "parameters": [], + "src": "1148:2:19" + }, + "returnParameters": { + "id": 27680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27679, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 27693, + "src": "1172:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27678, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1172:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1171:9:19" + }, + "scope": 27738, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 27718, + "nodeType": "FunctionDefinition", + "src": "1435:193:19", + "nodes": [], + "body": { + "id": 27717, + "nodeType": "Block", + "src": "1533:95:19", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 27706, + "name": "typeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27696, + "src": "1571:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27707, + "name": "nameHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27698, + "src": "1581:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 27708, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1591:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 27709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1597:7:19", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "1591:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 27712, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1614:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EIP712_$27738", + "typeString": "contract EIP712" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EIP712_$27738", + "typeString": "contract EIP712" + } + ], + "id": 27711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1606:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 27710, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1606:7:19", + "typeDescriptions": {} + } + }, + "id": 27713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1606:13:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 27704, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1560:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 27705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1564:6:19", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1560:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 27714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1560:60:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 27703, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1550:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 27715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1550:71:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 27702, + "id": 27716, + "nodeType": "Return", + "src": "1543:78:19" + } + ] + }, + "documentation": { + "id": 27694, + "nodeType": "StructuredDocumentation", + "src": "1345:85:19", + "text": "@notice Builds a domain separator using the current chainId and contract address." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_buildDomainSeparator", + "nameLocation": "1444:21:19", + "parameters": { + "id": 27699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27696, + "mutability": "mutable", + "name": "typeHash", + "nameLocation": "1474:8:19", + "nodeType": "VariableDeclaration", + "scope": 27718, + "src": "1466:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27695, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1466:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27698, + "mutability": "mutable", + "name": "nameHash", + "nameLocation": "1492:8:19", + "nodeType": "VariableDeclaration", + "scope": 27718, + "src": "1484:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27697, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1484:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1465:36:19" + }, + "returnParameters": { + "id": 27702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27701, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 27718, + "src": "1524:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27700, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1524:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1523:9:19" + }, + "scope": 27738, + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "id": 27737, + "nodeType": "FunctionDefinition", + "src": "1685:167:19", + "nodes": [], + "body": { + "id": 27736, + "nodeType": "Block", + "src": "1759:93:19", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "1901", + "id": 27729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1803:10:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", + "typeString": "literal_string hex\"1901\"" + }, + "value": "\u0019\u0001" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 27730, + "name": "DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27693, + "src": "1815:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", + "typeString": "function () view returns (bytes32)" + } + }, + "id": 27731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1815:18:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27732, + "name": "dataHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27721, + "src": "1835:8:19", + "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": 27727, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1786:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 27728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1790:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1786:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 27733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1786:58:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 27726, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1776:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 27734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1776:69:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 27725, + "id": 27735, + "nodeType": "Return", + "src": "1769:76:19" + } + ] + }, + "documentation": { + "id": 27719, + "nodeType": "StructuredDocumentation", + "src": "1634:46:19", + "text": "@notice Creates an EIP-712 typed data hash" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_hashTypedData", + "nameLocation": "1694:14:19", + "parameters": { + "id": 27722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27721, + "mutability": "mutable", + "name": "dataHash", + "nameLocation": "1717:8:19", + "nodeType": "VariableDeclaration", + "scope": 27737, + "src": "1709:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27720, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1709:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1708:18:19" + }, + "returnParameters": { + "id": 27725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27724, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 27737, + "src": "1750:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27723, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1750:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1749:9:19" + }, + "scope": 27738, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "EIP712", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 27645, + "nodeType": "StructuredDocumentation", + "src": "57:238:19", + "text": "@notice EIP712 helpers for permit2\n @dev Maintains cross-chain replay protection in the event of a fork\n @dev Reference: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/EIP712.sol" + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 27738 + ], + "name": "EIP712", + "nameLocation": "304:6:19", + "scope": 27739, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/Permit2.sol": { + "id": 20, + "ast": { + "absolutePath": "lib/permit2/src/Permit2.sol", + "id": 27751, + "exportedSymbols": { + "AllowanceTransfer": [ + 27642 + ], + "Permit2": [ + 27750 + ], + "SignatureTransfer": [ + 28198 + ] + }, + "nodeType": "SourceUnit", + "src": "32:506:20", + "nodes": [ + { + "id": 27740, + "nodeType": "PragmaDirective", + "src": "32:23:20", + "nodes": [], + "literals": [ + "solidity", + "0.8", + ".17" + ] + }, + { + "id": 27742, + "nodeType": "ImportDirective", + "src": "57:58:20", + "nodes": [], + "absolutePath": "lib/permit2/src/SignatureTransfer.sol", + "file": "./SignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 27751, + "sourceUnit": 28199, + "symbolAliases": [ + { + "foreign": { + "id": 27741, + "name": "SignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28198, + "src": "65:17:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27744, + "nodeType": "ImportDirective", + "src": "116:58:20", + "nodes": [], + "absolutePath": "lib/permit2/src/AllowanceTransfer.sol", + "file": "./AllowanceTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 27751, + "sourceUnit": 27643, + "symbolAliases": [ + { + "foreign": { + "id": 27743, + "name": "AllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27642, + "src": "124:17:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27750, + "nodeType": "ContractDefinition", + "src": "385:152:20", + "nodes": [], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 27746, + "name": "SignatureTransfer", + "nameLocations": [ + "405:17:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28198, + "src": "405:17:20" + }, + "id": 27747, + "nodeType": "InheritanceSpecifier", + "src": "405:17:20" + }, + { + "baseName": { + "id": 27748, + "name": "AllowanceTransfer", + "nameLocations": [ + "424:17:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27642, + "src": "424:17:20" + }, + "id": 27749, + "nodeType": "InheritanceSpecifier", + "src": "424:17:20" + } + ], + "canonicalName": "Permit2", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 27745, + "nodeType": "StructuredDocumentation", + "src": "176:209:20", + "text": "@notice Permit2 handles signature-based transfers in SignatureTransfer and allowance-based transfers in AllowanceTransfer.\n @dev Users must approve Permit2 before calling any of the transfer functions." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 27750, + 27642, + 28198, + 27738, + 28400, + 28568 + ], + "name": "Permit2", + "nameLocation": "394:7:20", + "scope": 27751, + "usedErrors": [ + 27757, + 27760, + 28206, + 28211, + 28214, + 28444, + 28447, + 29339, + 29342, + 29345, + 29348 + ] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/PermitErrors.sol": { + "id": 21, + "ast": { + "absolutePath": "lib/permit2/src/PermitErrors.sol", + "id": 27761, + "exportedSymbols": { + "InvalidNonce": [ + 27760 + ], + "SignatureExpired": [ + 27757 + ] + }, + "nodeType": "SourceUnit", + "src": "32:422:21", + "nodes": [ + { + "id": 27752, + "nodeType": "PragmaDirective", + "src": "32:23:21", + "nodes": [], + "literals": [ + "solidity", + "0.8", + ".17" + ] + }, + { + "id": 27757, + "nodeType": "ErrorDefinition", + "src": "303:50:21", + "nodes": [], + "documentation": { + "id": 27753, + "nodeType": "StructuredDocumentation", + "src": "149:154:21", + "text": "@notice Thrown when validating an inputted signature that is stale\n @param signatureDeadline The timestamp at which a signature is no longer valid" + }, + "errorSelector": "cd21db4f", + "name": "SignatureExpired", + "nameLocation": "309:16:21", + "parameters": { + "id": 27756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27755, + "mutability": "mutable", + "name": "signatureDeadline", + "nameLocation": "334:17:21", + "nodeType": "VariableDeclaration", + "scope": 27757, + "src": "326:25:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27754, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "326:7:21", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "325:27:21" + } + }, + { + "id": 27760, + "nodeType": "ErrorDefinition", + "src": "432:21:21", + "nodes": [], + "documentation": { + "id": 27758, + "nodeType": "StructuredDocumentation", + "src": "355:77:21", + "text": "@notice Thrown when validating that the inputted nonce has not been used" + }, + "errorSelector": "756688fe", + "name": "InvalidNonce", + "nameLocation": "438:12:21", + "parameters": { + "id": 27759, + "nodeType": "ParameterList", + "parameters": [], + "src": "450:2:21" + } + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/SignatureTransfer.sol": { + "id": 22, + "ast": { + "absolutePath": "lib/permit2/src/SignatureTransfer.sol", + "id": 28199, + "exportedSymbols": { + "EIP712": [ + 27738 + ], + "ERC20": [ + 29937 + ], + "ISignatureTransfer": [ + 28568 + ], + "InvalidNonce": [ + 27760 + ], + "PermitHash": [ + 29301 + ], + "SafeTransferLib": [ + 30048 + ], + "SignatureExpired": [ + 27757 + ], + "SignatureTransfer": [ + 28198 + ], + "SignatureVerification": [ + 29501 + ] + }, + "nodeType": "SourceUnit", + "src": "32:6514:22", + "nodes": [ + { + "id": 27762, + "nodeType": "PragmaDirective", + "src": "32:23:22", + "nodes": [], + "literals": [ + "solidity", + "0.8", + ".17" + ] + }, + { + "id": 27764, + "nodeType": "ImportDirective", + "src": "57:71:22", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "file": "./interfaces/ISignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 28199, + "sourceUnit": 28569, + "symbolAliases": [ + { + "foreign": { + "id": 27763, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "65:18:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27767, + "nodeType": "ImportDirective", + "src": "129:66:22", + "nodes": [], + "absolutePath": "lib/permit2/src/PermitErrors.sol", + "file": "./PermitErrors.sol", + "nameLocation": "-1:-1:-1", + "scope": 28199, + "sourceUnit": 27761, + "symbolAliases": [ + { + "foreign": { + "id": 27765, + "name": "SignatureExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27757, + "src": "137:16:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 27766, + "name": "InvalidNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27760, + "src": "155:12:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27769, + "nodeType": "ImportDirective", + "src": "196:51:22", + "nodes": [], + "absolutePath": "lib/solmate/src/tokens/ERC20.sol", + "file": "solmate/src/tokens/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 28199, + "sourceUnit": 29938, + "symbolAliases": [ + { + "foreign": { + "id": 27768, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "204:5:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27771, + "nodeType": "ImportDirective", + "src": "248:70:22", + "nodes": [], + "absolutePath": "lib/solmate/src/utils/SafeTransferLib.sol", + "file": "solmate/src/utils/SafeTransferLib.sol", + "nameLocation": "-1:-1:-1", + "scope": 28199, + "sourceUnit": 30049, + "symbolAliases": [ + { + "foreign": { + "id": 27770, + "name": "SafeTransferLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30048, + "src": "256:15:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27773, + "nodeType": "ImportDirective", + "src": "319:76:22", + "nodes": [], + "absolutePath": "lib/permit2/src/libraries/SignatureVerification.sol", + "file": "./libraries/SignatureVerification.sol", + "nameLocation": "-1:-1:-1", + "scope": 28199, + "sourceUnit": 29502, + "symbolAliases": [ + { + "foreign": { + "id": 27772, + "name": "SignatureVerification", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29501, + "src": "327:21:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27775, + "nodeType": "ImportDirective", + "src": "396:54:22", + "nodes": [], + "absolutePath": "lib/permit2/src/libraries/PermitHash.sol", + "file": "./libraries/PermitHash.sol", + "nameLocation": "-1:-1:-1", + "scope": 28199, + "sourceUnit": 29302, + "symbolAliases": [ + { + "foreign": { + "id": 27774, + "name": "PermitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29301, + "src": "404:10:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 27777, + "nodeType": "ImportDirective", + "src": "451:36:22", + "nodes": [], + "absolutePath": "lib/permit2/src/EIP712.sol", + "file": "./EIP712.sol", + "nameLocation": "-1:-1:-1", + "scope": 28199, + "sourceUnit": 27739, + "symbolAliases": [ + { + "foreign": { + "id": 27776, + "name": "EIP712", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27738, + "src": "459:6:22", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28198, + "nodeType": "ContractDefinition", + "src": "489:6056:22", + "nodes": [ + { + "id": 27784, + "nodeType": "UsingForDirective", + "src": "552:38:22", + "nodes": [], + "global": false, + "libraryName": { + "id": 27782, + "name": "SignatureVerification", + "nameLocations": [ + "558:21:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29501, + "src": "558:21:22" + }, + "typeName": { + "id": 27783, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "584:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + { + "id": 27788, + "nodeType": "UsingForDirective", + "src": "595:32:22", + "nodes": [], + "global": false, + "libraryName": { + "id": 27785, + "name": "SafeTransferLib", + "nameLocations": [ + "601:15:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30048, + "src": "601:15:22" + }, + "typeName": { + "id": 27787, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27786, + "name": "ERC20", + "nameLocations": [ + "621:5:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "621:5:22" + }, + "referencedDeclaration": 29937, + "src": "621:5:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + } + }, + { + "id": 27792, + "nodeType": "UsingForDirective", + "src": "632:40:22", + "nodes": [], + "global": false, + "libraryName": { + "id": 27789, + "name": "PermitHash", + "nameLocations": [ + "638:10:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29301, + "src": "638:10:22" + }, + "typeName": { + "id": 27791, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27790, + "name": "PermitTransferFrom", + "nameLocations": [ + "653:18:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "653:18:22" + }, + "referencedDeclaration": 28469, + "src": "653:18:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + } + }, + { + "id": 27796, + "nodeType": "UsingForDirective", + "src": "677:45:22", + "nodes": [], + "global": false, + "libraryName": { + "id": 27793, + "name": "PermitHash", + "nameLocations": [ + "683:10:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29301, + "src": "683:10:22" + }, + "typeName": { + "id": 27795, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27794, + "name": "PermitBatchTransferFrom", + "nameLocations": [ + "698:23:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "698:23:22" + }, + "referencedDeclaration": 28483, + "src": "698:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + } + }, + { + "id": 27803, + "nodeType": "VariableDeclaration", + "src": "767:66:22", + "nodes": [], + "baseFunctions": [ + 28493 + ], + "constant": false, + "documentation": { + "id": 27797, + "nodeType": "StructuredDocumentation", + "src": "728:34:22", + "text": "@inheritdoc ISignatureTransfer" + }, + "functionSelector": "4fe02b44", + "mutability": "mutable", + "name": "nonceBitmap", + "nameLocation": "822:11:22", + "scope": 28198, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 27802, + "keyType": { + "id": 27798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "775:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "767:47:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + }, + "valueType": { + "id": 27801, + "keyType": { + "id": 27799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "794:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "786:27:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 27800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "805:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "public" + }, + { + "id": 27828, + "nodeType": "FunctionDefinition", + "src": "879:295:22", + "nodes": [], + "body": { + "id": 27827, + "nodeType": "Block", + "src": "1080:94:22", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 27818, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27807, + "src": "1110:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "id": 27819, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27810, + "src": "1118:15:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata" + } + }, + { + "id": 27820, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27812, + "src": "1135:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 27821, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27807, + "src": "1142:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 27822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1149:4:22", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 29070, + "src": "1142:11:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$", + "typeString": "function (struct ISignatureTransfer.PermitTransferFrom memory) view returns (bytes32)" + } + }, + "id": 27823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1142:13:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27824, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27814, + "src": "1157:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 27817, + "name": "_permitTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 27931, + 28103 + ], + "referencedDeclaration": 27931, + "src": "1090:19:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$_t_address_$_t_bytes32_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (struct ISignatureTransfer.PermitTransferFrom memory,struct ISignatureTransfer.SignatureTransferDetails calldata,address,bytes32,bytes calldata)" + } + }, + "id": 27825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1090:77:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27826, + "nodeType": "ExpressionStatement", + "src": "1090:77:22" + } + ] + }, + "baseFunctions": [ + 28507 + ], + "documentation": { + "id": 27804, + "nodeType": "StructuredDocumentation", + "src": "840:34:22", + "text": "@inheritdoc ISignatureTransfer" + }, + "functionSelector": "30f28b7a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permitTransferFrom", + "nameLocation": "888:18:22", + "parameters": { + "id": 27815, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27807, + "mutability": "mutable", + "name": "permit", + "nameLocation": "942:6:22", + "nodeType": "VariableDeclaration", + "scope": 27828, + "src": "916:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 27806, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27805, + "name": "PermitTransferFrom", + "nameLocations": [ + "916:18:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "916:18:22" + }, + "referencedDeclaration": 28469, + "src": "916:18:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27810, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "992:15:22", + "nodeType": "VariableDeclaration", + "scope": 27828, + "src": "958:49:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + }, + "typeName": { + "id": 27809, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27808, + "name": "SignatureTransferDetails", + "nameLocations": [ + "958:24:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "958:24:22" + }, + "referencedDeclaration": 28474, + "src": "958:24:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27812, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1025:5:22", + "nodeType": "VariableDeclaration", + "scope": 27828, + "src": "1017:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1017:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27814, + "mutability": "mutable", + "name": "signature", + "nameLocation": "1055:9:22", + "nodeType": "VariableDeclaration", + "scope": 27828, + "src": "1040:24:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 27813, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1040:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "906:164:22" + }, + "returnParameters": { + "id": 27816, + "nodeType": "ParameterList", + "parameters": [], + "src": "1080:0:22" + }, + "scope": 28198, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27859, + "nodeType": "FunctionDefinition", + "src": "1219:429:22", + "nodes": [], + "body": { + "id": 27858, + "nodeType": "Block", + "src": "1495:153:22", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 27847, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27832, + "src": "1538:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "id": 27848, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27835, + "src": "1546:15:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata" + } + }, + { + "id": 27849, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27837, + "src": "1563:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 27852, + "name": "witness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27839, + "src": "1593:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27853, + "name": "witnessTypeString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27841, + "src": "1602:17:22", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "id": 27850, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27832, + "src": "1570:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 27851, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1577:15:22", + "memberName": "hashWithWitness", + "nodeType": "MemberAccess", + "referencedDeclaration": 29183, + "src": "1570:22:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_bytes32_$_t_string_calldata_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$", + "typeString": "function (struct ISignatureTransfer.PermitTransferFrom memory,bytes32,string calldata) view returns (bytes32)" + } + }, + "id": 27854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1570:50:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27855, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27843, + "src": "1622:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 27846, + "name": "_permitTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 27931, + 28103 + ], + "referencedDeclaration": 27931, + "src": "1505:19:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$_t_address_$_t_bytes32_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (struct ISignatureTransfer.PermitTransferFrom memory,struct ISignatureTransfer.SignatureTransferDetails calldata,address,bytes32,bytes calldata)" + } + }, + "id": 27856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1505:136:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27857, + "nodeType": "ExpressionStatement", + "src": "1505:136:22" + } + ] + }, + "baseFunctions": [ + 28525 + ], + "documentation": { + "id": 27829, + "nodeType": "StructuredDocumentation", + "src": "1180:34:22", + "text": "@inheritdoc ISignatureTransfer" + }, + "functionSelector": "137c29fe", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permitWitnessTransferFrom", + "nameLocation": "1228:25:22", + "parameters": { + "id": 27844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27832, + "mutability": "mutable", + "name": "permit", + "nameLocation": "1289:6:22", + "nodeType": "VariableDeclaration", + "scope": 27859, + "src": "1263:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 27831, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27830, + "name": "PermitTransferFrom", + "nameLocations": [ + "1263:18:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "1263:18:22" + }, + "referencedDeclaration": 28469, + "src": "1263:18:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27835, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "1339:15:22", + "nodeType": "VariableDeclaration", + "scope": 27859, + "src": "1305:49:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + }, + "typeName": { + "id": 27834, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27833, + "name": "SignatureTransferDetails", + "nameLocations": [ + "1305:24:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "1305:24:22" + }, + "referencedDeclaration": 28474, + "src": "1305:24:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27837, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1372:5:22", + "nodeType": "VariableDeclaration", + "scope": 27859, + "src": "1364:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27836, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1364:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27839, + "mutability": "mutable", + "name": "witness", + "nameLocation": "1395:7:22", + "nodeType": "VariableDeclaration", + "scope": 27859, + "src": "1387:15:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27838, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1387:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27841, + "mutability": "mutable", + "name": "witnessTypeString", + "nameLocation": "1428:17:22", + "nodeType": "VariableDeclaration", + "scope": 27859, + "src": "1412:33:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 27840, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1412:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27843, + "mutability": "mutable", + "name": "signature", + "nameLocation": "1470:9:22", + "nodeType": "VariableDeclaration", + "scope": 27859, + "src": "1455:24:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 27842, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1455:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1253:232:22" + }, + "returnParameters": { + "id": 27845, + "nodeType": "ParameterList", + "parameters": [], + "src": "1495:0:22" + }, + "scope": 28198, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27931, + "nodeType": "FunctionDefinition", + "src": "2075:704:22", + "nodes": [], + "body": { + "id": 27930, + "nodeType": "Block", + "src": "2302:477:22", + "nodes": [], + "statements": [ + { + "assignments": [ + 27876 + ], + "declarations": [ + { + "constant": false, + "id": 27876, + "mutability": "mutable", + "name": "requestedAmount", + "nameLocation": "2320:15:22", + "nodeType": "VariableDeclaration", + "scope": 27930, + "src": "2312:23:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27875, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2312:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 27879, + "initialValue": { + "expression": { + "id": 27877, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27866, + "src": "2338:15:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata" + } + }, + "id": 27878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2354:15:22", + "memberName": "requestedAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28473, + "src": "2338:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2312:57:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 27880, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2384:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 27881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2390:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2384:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 27882, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27863, + "src": "2402:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 27883, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2409:8:22", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28468, + "src": "2402:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2384:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27890, + "nodeType": "IfStatement", + "src": "2380:79:22", + "trueBody": { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 27886, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27863, + "src": "2443:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 27887, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2450:8:22", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28468, + "src": "2443:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 27885, + "name": "SignatureExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27757, + "src": "2426:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 27888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2426:33:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27889, + "nodeType": "RevertStatement", + "src": "2419:40:22" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 27895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 27891, + "name": "requestedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27876, + "src": "2473:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "expression": { + "id": 27892, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27863, + "src": "2491:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 27893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2498:9:22", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28464, + "src": "2491:16:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 27894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2508:6:22", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28460, + "src": "2491:23:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2473:41:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 27902, + "nodeType": "IfStatement", + "src": "2469:92:22", + "trueBody": { + "errorCall": { + "arguments": [ + { + "expression": { + "expression": { + "id": 27897, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27863, + "src": "2537:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 27898, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2544:9:22", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28464, + "src": "2537:16:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 27899, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2554:6:22", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28460, + "src": "2537:23:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 27896, + "name": "InvalidAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28444, + "src": "2523:13:22", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 27900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2523:38:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27901, + "nodeType": "RevertStatement", + "src": "2516:45:22" + } + }, + { + "expression": { + "arguments": [ + { + "id": 27904, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27868, + "src": "2591:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 27905, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27863, + "src": "2598:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 27906, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2605:5:22", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28466, + "src": "2598:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 27903, + "name": "_useUnorderedNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28197, + "src": "2572:18:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 27907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2572:39:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27908, + "nodeType": "ExpressionStatement", + "src": "2572:39:22" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 27913, + "name": "dataHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27870, + "src": "2654:8:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 27912, + "name": "_hashTypedData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27737, + "src": "2639:14:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 27914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2639:24:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27915, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27868, + "src": "2665:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 27909, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27872, + "src": "2622:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 27911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2632:6:22", + "memberName": "verify", + "nodeType": "MemberAccess", + "referencedDeclaration": 29500, + "src": "2622:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_calldata_ptr_$_t_bytes32_$_t_address_$returns$__$bound_to$_t_bytes_calldata_ptr_$", + "typeString": "function (bytes calldata,bytes32,address) view" + } + }, + "id": 27916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:49:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27917, + "nodeType": "ExpressionStatement", + "src": "2622:49:22" + }, + { + "expression": { + "arguments": [ + { + "id": 27924, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27868, + "src": "2729:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 27925, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27866, + "src": "2736:15:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata" + } + }, + "id": 27926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2752:2:22", + "memberName": "to", + "nodeType": "MemberAccess", + "referencedDeclaration": 28471, + "src": "2736:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 27927, + "name": "requestedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27876, + "src": "2756:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "expression": { + "id": 27919, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27863, + "src": "2688:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 27920, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2695:9:22", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28464, + "src": "2688:16:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 27921, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2705:5:22", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 28458, + "src": "2688:22:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 27918, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "2682:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 27922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2682:29:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "id": 27923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2712:16:22", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 30007, + "src": "2682:46:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$29937_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$29937_$", + "typeString": "function (contract ERC20,address,address,uint256)" + } + }, + "id": 27928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2682:90:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27929, + "nodeType": "ExpressionStatement", + "src": "2682:90:22" + } + ] + }, + "documentation": { + "id": 27860, + "nodeType": "StructuredDocumentation", + "src": "1654:416:22", + "text": "@notice Transfers a token using a signed permit message.\n @param permit The permit data signed over by the owner\n @param dataHash The EIP-712 hash of permit data to include when checking signature\n @param owner The owner of the tokens to transfer\n @param transferDetails The spender's requested transfer details for the permitted token\n @param signature The signature to verify" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_permitTransferFrom", + "nameLocation": "2084:19:22", + "parameters": { + "id": 27873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27863, + "mutability": "mutable", + "name": "permit", + "nameLocation": "2139:6:22", + "nodeType": "VariableDeclaration", + "scope": 27931, + "src": "2113:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 27862, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27861, + "name": "PermitTransferFrom", + "nameLocations": [ + "2113:18:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "2113:18:22" + }, + "referencedDeclaration": 28469, + "src": "2113:18:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27866, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "2189:15:22", + "nodeType": "VariableDeclaration", + "scope": 27931, + "src": "2155:49:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + }, + "typeName": { + "id": 27865, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27864, + "name": "SignatureTransferDetails", + "nameLocations": [ + "2155:24:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "2155:24:22" + }, + "referencedDeclaration": 28474, + "src": "2155:24:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27868, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2222:5:22", + "nodeType": "VariableDeclaration", + "scope": 27931, + "src": "2214:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27867, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2214:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27870, + "mutability": "mutable", + "name": "dataHash", + "nameLocation": "2245:8:22", + "nodeType": "VariableDeclaration", + "scope": 27931, + "src": "2237:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27869, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2237:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27872, + "mutability": "mutable", + "name": "signature", + "nameLocation": "2278:9:22", + "nodeType": "VariableDeclaration", + "scope": 27931, + "src": "2263:24:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 27871, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2263:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2103:190:22" + }, + "returnParameters": { + "id": 27874, + "nodeType": "ParameterList", + "parameters": [], + "src": "2302:0:22" + }, + "scope": 28198, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "id": 27957, + "nodeType": "FunctionDefinition", + "src": "2824:302:22", + "nodes": [], + "body": { + "id": 27956, + "nodeType": "Block", + "src": "3032:94:22", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 27947, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27935, + "src": "3062:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + { + "id": 27948, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27939, + "src": "3070:15:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata[] calldata" + } + }, + { + "id": 27949, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27941, + "src": "3087:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 27950, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27935, + "src": "3094:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 27951, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3101:4:22", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 29138, + "src": "3094:11:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$", + "typeString": "function (struct ISignatureTransfer.PermitBatchTransferFrom memory) view returns (bytes32)" + } + }, + "id": 27952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3094:13:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27953, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27943, + "src": "3109:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata[] calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 27946, + "name": "_permitTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 27931, + 28103 + ], + "referencedDeclaration": 28103, + "src": "3042:19:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr_$_t_address_$_t_bytes32_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (struct ISignatureTransfer.PermitBatchTransferFrom memory,struct ISignatureTransfer.SignatureTransferDetails calldata[] calldata,address,bytes32,bytes calldata)" + } + }, + "id": 27954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3042:77:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27955, + "nodeType": "ExpressionStatement", + "src": "3042:77:22" + } + ] + }, + "baseFunctions": [ + 28540 + ], + "documentation": { + "id": 27932, + "nodeType": "StructuredDocumentation", + "src": "2785:34:22", + "text": "@inheritdoc ISignatureTransfer" + }, + "functionSelector": "edd9444b", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permitTransferFrom", + "nameLocation": "2833:18:22", + "parameters": { + "id": 27944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27935, + "mutability": "mutable", + "name": "permit", + "nameLocation": "2892:6:22", + "nodeType": "VariableDeclaration", + "scope": 27957, + "src": "2861:37:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 27934, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27933, + "name": "PermitBatchTransferFrom", + "nameLocations": [ + "2861:23:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "2861:23:22" + }, + "referencedDeclaration": 28483, + "src": "2861:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27939, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "2944:15:22", + "nodeType": "VariableDeclaration", + "scope": 27957, + "src": "2908:51:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + }, + "typeName": { + "baseType": { + "id": 27937, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27936, + "name": "SignatureTransferDetails", + "nameLocations": [ + "2908:24:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "2908:24:22" + }, + "referencedDeclaration": 28474, + "src": "2908:24:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "id": 27938, + "nodeType": "ArrayTypeName", + "src": "2908:26:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27941, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2977:5:22", + "nodeType": "VariableDeclaration", + "scope": 27957, + "src": "2969:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2969:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27943, + "mutability": "mutable", + "name": "signature", + "nameLocation": "3007:9:22", + "nodeType": "VariableDeclaration", + "scope": 27957, + "src": "2992:24:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 27942, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2992:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2851:171:22" + }, + "returnParameters": { + "id": 27945, + "nodeType": "ParameterList", + "parameters": [], + "src": "3032:0:22" + }, + "scope": 28198, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 27989, + "nodeType": "FunctionDefinition", + "src": "3171:436:22", + "nodes": [], + "body": { + "id": 27988, + "nodeType": "Block", + "src": "3454:153:22", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 27977, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27961, + "src": "3497:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + { + "id": 27978, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27965, + "src": "3505:15:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata[] calldata" + } + }, + { + "id": 27979, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27967, + "src": "3522:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 27982, + "name": "witness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27969, + "src": "3552:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27983, + "name": "witnessTypeString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27971, + "src": "3561:17:22", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "id": 27980, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27961, + "src": "3529:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 27981, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3536:15:22", + "memberName": "hashWithWitness", + "nodeType": "MemberAccess", + "referencedDeclaration": 29266, + "src": "3529:22:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes32_$_t_string_calldata_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$", + "typeString": "function (struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes32,string calldata) view returns (bytes32)" + } + }, + "id": 27984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3529:50:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 27985, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27973, + "src": "3581:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata[] calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 27976, + "name": "_permitTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 27931, + 28103 + ], + "referencedDeclaration": 28103, + "src": "3464:19:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr_$_t_address_$_t_bytes32_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (struct ISignatureTransfer.PermitBatchTransferFrom memory,struct ISignatureTransfer.SignatureTransferDetails calldata[] calldata,address,bytes32,bytes calldata)" + } + }, + "id": 27986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3464:136:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 27987, + "nodeType": "ExpressionStatement", + "src": "3464:136:22" + } + ] + }, + "baseFunctions": [ + 28559 + ], + "documentation": { + "id": 27958, + "nodeType": "StructuredDocumentation", + "src": "3132:34:22", + "text": "@inheritdoc ISignatureTransfer" + }, + "functionSelector": "fe8ec1a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permitWitnessTransferFrom", + "nameLocation": "3180:25:22", + "parameters": { + "id": 27974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27961, + "mutability": "mutable", + "name": "permit", + "nameLocation": "3246:6:22", + "nodeType": "VariableDeclaration", + "scope": 27989, + "src": "3215:37:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 27960, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27959, + "name": "PermitBatchTransferFrom", + "nameLocations": [ + "3215:23:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "3215:23:22" + }, + "referencedDeclaration": 28483, + "src": "3215:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27965, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "3298:15:22", + "nodeType": "VariableDeclaration", + "scope": 27989, + "src": "3262:51:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + }, + "typeName": { + "baseType": { + "id": 27963, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27962, + "name": "SignatureTransferDetails", + "nameLocations": [ + "3262:24:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "3262:24:22" + }, + "referencedDeclaration": 28474, + "src": "3262:24:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "id": 27964, + "nodeType": "ArrayTypeName", + "src": "3262:26:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27967, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3331:5:22", + "nodeType": "VariableDeclaration", + "scope": 27989, + "src": "3323:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27966, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3323:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27969, + "mutability": "mutable", + "name": "witness", + "nameLocation": "3354:7:22", + "nodeType": "VariableDeclaration", + "scope": 27989, + "src": "3346:15:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 27968, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3346:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27971, + "mutability": "mutable", + "name": "witnessTypeString", + "nameLocation": "3387:17:22", + "nodeType": "VariableDeclaration", + "scope": 27989, + "src": "3371:33:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 27970, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3371:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27973, + "mutability": "mutable", + "name": "signature", + "nameLocation": "3429:9:22", + "nodeType": "VariableDeclaration", + "scope": 27989, + "src": "3414:24:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 27972, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3414:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3205:239:22" + }, + "returnParameters": { + "id": 27975, + "nodeType": "ParameterList", + "parameters": [], + "src": "3454:0:22" + }, + "scope": 28198, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28103, + "nodeType": "FunctionDefinition", + "src": "3937:1194:22", + "nodes": [], + "body": { + "id": 28102, + "nodeType": "Block", + "src": "4171:960:22", + "nodes": [], + "statements": [ + { + "assignments": [ + 28007 + ], + "declarations": [ + { + "constant": false, + "id": 28007, + "mutability": "mutable", + "name": "numPermitted", + "nameLocation": "4189:12:22", + "nodeType": "VariableDeclaration", + "scope": 28102, + "src": "4181:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28006, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4181:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28011, + "initialValue": { + "expression": { + "expression": { + "id": 28008, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27993, + "src": "4204:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 28009, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4211:9:22", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "4204:16:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 28010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4221:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4204:23:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4181:46:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 28012, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "4242:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 28013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4248:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4242:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 28014, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27993, + "src": "4260:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 28015, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4267:8:22", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28482, + "src": "4260:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4242:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28022, + "nodeType": "IfStatement", + "src": "4238:79:22", + "trueBody": { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 28018, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27993, + "src": "4301:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 28019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4308:8:22", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28482, + "src": "4301:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28017, + "name": "SignatureExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27757, + "src": "4284:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 28020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4284:33:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28021, + "nodeType": "RevertStatement", + "src": "4277:40:22" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28023, + "name": "numPermitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28007, + "src": "4331:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 28024, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27997, + "src": "4347:15:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata[] calldata" + } + }, + "id": 28025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4363:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4347:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4331:38:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28030, + "nodeType": "IfStatement", + "src": "4327:67:22", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28027, + "name": "LengthMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28447, + "src": "4378:14:22", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 28028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4378:16:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28029, + "nodeType": "RevertStatement", + "src": "4371:23:22" + } + }, + { + "expression": { + "arguments": [ + { + "id": 28032, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27999, + "src": "4424:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 28033, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27993, + "src": "4431:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 28034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4438:5:22", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28480, + "src": "4431:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28031, + "name": "_useUnorderedNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28197, + "src": "4405:18:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 28035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4405:39:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28036, + "nodeType": "ExpressionStatement", + "src": "4405:39:22" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 28041, + "name": "dataHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28001, + "src": "4486:8:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 28040, + "name": "_hashTypedData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27737, + "src": "4471:14:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 28042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4471:24:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 28043, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27999, + "src": "4497:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 28037, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28003, + "src": "4454:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 28039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4464:6:22", + "memberName": "verify", + "nodeType": "MemberAccess", + "referencedDeclaration": 29500, + "src": "4454:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_calldata_ptr_$_t_bytes32_$_t_address_$returns$__$bound_to$_t_bytes_calldata_ptr_$", + "typeString": "function (bytes calldata,bytes32,address) view" + } + }, + "id": 28044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4454:49:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28045, + "nodeType": "ExpressionStatement", + "src": "4454:49:22" + }, + { + "id": 28101, + "nodeType": "UncheckedBlock", + "src": "4514:611:22", + "statements": [ + { + "body": { + "id": 28099, + "nodeType": "Block", + "src": "4581:534:22", + "statements": [ + { + "assignments": [ + 28058 + ], + "declarations": [ + { + "constant": false, + "id": 28058, + "mutability": "mutable", + "name": "permitted", + "nameLocation": "4623:9:22", + "nodeType": "VariableDeclaration", + "scope": 28099, + "src": "4599:33:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions" + }, + "typeName": { + "id": 28057, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28056, + "name": "TokenPermissions", + "nameLocations": [ + "4599:16:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28461, + "src": "4599:16:22" + }, + "referencedDeclaration": 28461, + "src": "4599:16:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions" + } + }, + "visibility": "internal" + } + ], + "id": 28063, + "initialValue": { + "baseExpression": { + "expression": { + "id": 28059, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27993, + "src": "4635:6:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 28060, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4642:9:22", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "4635:16:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 28062, + "indexExpression": { + "id": 28061, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28047, + "src": "4652:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4635:19:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4599:55:22" + }, + { + "assignments": [ + 28065 + ], + "declarations": [ + { + "constant": false, + "id": 28065, + "mutability": "mutable", + "name": "requestedAmount", + "nameLocation": "4680:15:22", + "nodeType": "VariableDeclaration", + "scope": 28099, + "src": "4672:23:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28064, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4672:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28070, + "initialValue": { + "expression": { + "baseExpression": { + "id": 28066, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27997, + "src": "4698:15:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata[] calldata" + } + }, + "id": 28068, + "indexExpression": { + "id": 28067, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28047, + "src": "4714:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4698:18:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata" + } + }, + "id": 28069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4717:15:22", + "memberName": "requestedAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28473, + "src": "4698:34:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4672:60:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28071, + "name": "requestedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28065, + "src": "4755:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 28072, + "name": "permitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28058, + "src": "4773:9:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 28073, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4783:6:22", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28460, + "src": "4773:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4755:34:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28080, + "nodeType": "IfStatement", + "src": "4751:78:22", + "trueBody": { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 28076, + "name": "permitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28058, + "src": "4812:9:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 28077, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4822:6:22", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28460, + "src": "4812:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28075, + "name": "InvalidAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28444, + "src": "4798:13:22", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 28078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4798:31:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28079, + "nodeType": "RevertStatement", + "src": "4791:38:22" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28081, + "name": "requestedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28065, + "src": "4852:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 28082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4871:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4852:20:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28098, + "nodeType": "IfStatement", + "src": "4848:253:22", + "trueBody": { + "id": 28097, + "nodeType": "Block", + "src": "4874:227:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 28089, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27999, + "src": "5036:5:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "id": 28090, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27997, + "src": "5043:15:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata[] calldata" + } + }, + "id": 28092, + "indexExpression": { + "id": 28091, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28047, + "src": "5059:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5043:18:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails calldata" + } + }, + "id": 28093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5062:2:22", + "memberName": "to", + "nodeType": "MemberAccess", + "referencedDeclaration": 28471, + "src": "5043:21:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28094, + "name": "requestedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28065, + "src": "5066:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 28085, + "name": "permitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28058, + "src": "5002:9:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 28086, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5012:5:22", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 28458, + "src": "5002:15:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28084, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "4996:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 28087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4996:22:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "id": 28088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5019:16:22", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 30007, + "src": "4996:39:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$29937_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$29937_$", + "typeString": "function (contract ERC20,address,address,uint256)" + } + }, + "id": 28095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4996:86:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28096, + "nodeType": "ExpressionStatement", + "src": "4996:86:22" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28050, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28047, + "src": "4558:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 28051, + "name": "numPermitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28007, + "src": "4562:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4558:16:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28100, + "initializationExpression": { + "assignments": [ + 28047 + ], + "declarations": [ + { + "constant": false, + "id": 28047, + "mutability": "mutable", + "name": "i", + "nameLocation": "4551:1:22", + "nodeType": "VariableDeclaration", + "scope": 28100, + "src": "4543:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28046, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4543:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28049, + "initialValue": { + "hexValue": "30", + "id": 28048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4555:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4543:13:22" + }, + "loopExpression": { + "expression": { + "id": 28054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "4576:3:22", + "subExpression": { + "id": 28053, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28047, + "src": "4578:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28055, + "nodeType": "ExpressionStatement", + "src": "4576:3:22" + }, + "nodeType": "ForStatement", + "src": "4538:577:22" + } + ] + } + ] + }, + "documentation": { + "id": 27990, + "nodeType": "StructuredDocumentation", + "src": "3613:319:22", + "text": "@notice Transfers tokens using a signed permit messages\n @param permit The permit data signed over by the owner\n @param dataHash The EIP-712 hash of permit data to include when checking signature\n @param owner The owner of the tokens to transfer\n @param signature The signature to verify" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_permitTransferFrom", + "nameLocation": "3946:19:22", + "parameters": { + "id": 28004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27993, + "mutability": "mutable", + "name": "permit", + "nameLocation": "4006:6:22", + "nodeType": "VariableDeclaration", + "scope": 28103, + "src": "3975:37:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 27992, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27991, + "name": "PermitBatchTransferFrom", + "nameLocations": [ + "3975:23:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "3975:23:22" + }, + "referencedDeclaration": 28483, + "src": "3975:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27997, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "4058:15:22", + "nodeType": "VariableDeclaration", + "scope": 28103, + "src": "4022:51:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + }, + "typeName": { + "baseType": { + "id": 27995, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27994, + "name": "SignatureTransferDetails", + "nameLocations": [ + "4022:24:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "4022:24:22" + }, + "referencedDeclaration": 28474, + "src": "4022:24:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "id": 27996, + "nodeType": "ArrayTypeName", + "src": "4022:26:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27999, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4091:5:22", + "nodeType": "VariableDeclaration", + "scope": 28103, + "src": "4083:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27998, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4083:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28001, + "mutability": "mutable", + "name": "dataHash", + "nameLocation": "4114:8:22", + "nodeType": "VariableDeclaration", + "scope": 28103, + "src": "4106:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28000, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4106:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28003, + "mutability": "mutable", + "name": "signature", + "nameLocation": "4147:9:22", + "nodeType": "VariableDeclaration", + "scope": 28103, + "src": "4132:24:22", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28002, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4132:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3965:197:22" + }, + "returnParameters": { + "id": 28005, + "nodeType": "ParameterList", + "parameters": [], + "src": "4171:0:22" + }, + "scope": 28198, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "id": 28128, + "nodeType": "FunctionDefinition", + "src": "5176:201:22", + "nodes": [], + "body": { + "id": 28127, + "nodeType": "Block", + "src": "5251:126:22", + "nodes": [], + "statements": [ + { + "expression": { + "id": 28118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 28111, + "name": "nonceBitmap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27803, + "src": "5261:11:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 28115, + "indexExpression": { + "expression": { + "id": 28112, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5273:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 28113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5277:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5273:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5261:23:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 28116, + "indexExpression": { + "id": 28114, + "name": "wordPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28106, + "src": "5285:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5261:32:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "|=", + "rightHandSide": { + "id": 28117, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28108, + "src": "5297:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5261:40:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28119, + "nodeType": "ExpressionStatement", + "src": "5261:40:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 28121, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5344:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 28122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5348:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5344:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28123, + "name": "wordPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28106, + "src": "5356:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 28124, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28108, + "src": "5365:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28120, + "name": "UnorderedNonceInvalidation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28456, + "src": "5317:26:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 28125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5317:53:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28126, + "nodeType": "EmitStatement", + "src": "5312:58:22" + } + ] + }, + "baseFunctions": [ + 28567 + ], + "documentation": { + "id": 28104, + "nodeType": "StructuredDocumentation", + "src": "5137:34:22", + "text": "@inheritdoc ISignatureTransfer" + }, + "functionSelector": "3ff9dcb1", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "invalidateUnorderedNonces", + "nameLocation": "5185:25:22", + "parameters": { + "id": 28109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28106, + "mutability": "mutable", + "name": "wordPos", + "nameLocation": "5219:7:22", + "nodeType": "VariableDeclaration", + "scope": 28128, + "src": "5211:15:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5211:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28108, + "mutability": "mutable", + "name": "mask", + "nameLocation": "5236:4:22", + "nodeType": "VariableDeclaration", + "scope": 28128, + "src": "5228:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5228:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5210:31:22" + }, + "returnParameters": { + "id": 28110, + "nodeType": "ParameterList", + "parameters": [], + "src": "5251:0:22" + }, + "scope": 28198, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28155, + "nodeType": "FunctionDefinition", + "src": "5860:172:22", + "nodes": [], + "body": { + "id": 28154, + "nodeType": "Block", + "src": "5955:77:22", + "nodes": [], + "statements": [ + { + "expression": { + "id": 28145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28138, + "name": "wordPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28134, + "src": "5965:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28141, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28131, + "src": "5983:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "38", + "id": 28142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5992:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "5983:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5975:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint248_$", + "typeString": "type(uint248)" + }, + "typeName": { + "id": 28139, + "name": "uint248", + "nodeType": "ElementaryTypeName", + "src": "5975:7:22", + "typeDescriptions": {} + } + }, + "id": 28144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5975:19:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint248", + "typeString": "uint248" + } + }, + "src": "5965:29:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28146, + "nodeType": "ExpressionStatement", + "src": "5965:29:22" + }, + { + "expression": { + "id": 28152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28147, + "name": "bitPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28136, + "src": "6004:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 28150, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28131, + "src": "6019:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6013:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 28148, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6013:5:22", + "typeDescriptions": {} + } + }, + "id": 28151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6013:12:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "6004:21:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28153, + "nodeType": "ExpressionStatement", + "src": "6004:21:22" + } + ] + }, + "documentation": { + "id": 28129, + "nodeType": "StructuredDocumentation", + "src": "5383:472:22", + "text": "@notice Returns the index of the bitmap and the bit position within the bitmap. Used for unordered nonces\n @param nonce The nonce to get the associated word and bit positions\n @return wordPos The word position or index into the nonceBitmap\n @return bitPos The bit position\n @dev The first 248 bits of the nonce value is the index of the desired bitmap\n @dev The last 8 bits of the nonce value is the position of the bit in the bitmap" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bitmapPositions", + "nameLocation": "5869:15:22", + "parameters": { + "id": 28132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28131, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "5893:5:22", + "nodeType": "VariableDeclaration", + "scope": 28155, + "src": "5885:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28130, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5885:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5884:15:22" + }, + "returnParameters": { + "id": 28137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28134, + "mutability": "mutable", + "name": "wordPos", + "nameLocation": "5930:7:22", + "nodeType": "VariableDeclaration", + "scope": 28155, + "src": "5922:15:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5922:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28136, + "mutability": "mutable", + "name": "bitPos", + "nameLocation": "5947:6:22", + "nodeType": "VariableDeclaration", + "scope": 28155, + "src": "5939:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5939:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5921:33:22" + }, + "scope": 28198, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 28197, + "nodeType": "FunctionDefinition", + "src": "6250:293:22", + "nodes": [], + "body": { + "id": 28196, + "nodeType": "Block", + "src": "6316:227:22", + "nodes": [], + "statements": [ + { + "assignments": [ + 28164, + 28166 + ], + "declarations": [ + { + "constant": false, + "id": 28164, + "mutability": "mutable", + "name": "wordPos", + "nameLocation": "6335:7:22", + "nodeType": "VariableDeclaration", + "scope": 28196, + "src": "6327:15:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6327:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28166, + "mutability": "mutable", + "name": "bitPos", + "nameLocation": "6352:6:22", + "nodeType": "VariableDeclaration", + "scope": 28196, + "src": "6344:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6344:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28170, + "initialValue": { + "arguments": [ + { + "id": 28168, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28160, + "src": "6378:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28167, + "name": "bitmapPositions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28155, + "src": "6362:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256,uint256)" + } + }, + "id": 28169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6362:22:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6326:58:22" + }, + { + "assignments": [ + 28172 + ], + "declarations": [ + { + "constant": false, + "id": 28172, + "mutability": "mutable", + "name": "bit", + "nameLocation": "6402:3:22", + "nodeType": "VariableDeclaration", + "scope": 28196, + "src": "6394:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28171, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6394:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28176, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 28173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6408:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "id": 28174, + "name": "bitPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28166, + "src": "6413:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6408:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6394:25:22" + }, + { + "assignments": [ + 28178 + ], + "declarations": [ + { + "constant": false, + "id": 28178, + "mutability": "mutable", + "name": "flipped", + "nameLocation": "6437:7:22", + "nodeType": "VariableDeclaration", + "scope": 28196, + "src": "6429:15:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28177, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6429:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28186, + "initialValue": { + "id": 28185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 28179, + "name": "nonceBitmap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27803, + "src": "6447:11:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 28181, + "indexExpression": { + "id": 28180, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28158, + "src": "6459:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6447:17:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 28183, + "indexExpression": { + "id": 28182, + "name": "wordPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28164, + "src": "6465:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6447:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "^=", + "rightHandSide": { + "id": 28184, + "name": "bit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28172, + "src": "6477:3:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6447:33:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6429:51:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28187, + "name": "flipped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28178, + "src": "6495:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 28188, + "name": "bit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28172, + "src": "6505:3:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6495:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 28190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6512:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6495:18:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28195, + "nodeType": "IfStatement", + "src": "6491:45:22", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28192, + "name": "InvalidNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27760, + "src": "6522:12:22", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 28193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6522:14:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28194, + "nodeType": "RevertStatement", + "src": "6515:21:22" + } + } + ] + }, + "documentation": { + "id": 28156, + "nodeType": "StructuredDocumentation", + "src": "6038:207:22", + "text": "@notice Checks whether a nonce is taken and sets the bit at the bit position in the bitmap at the word position\n @param from The address to use the nonce at\n @param nonce The nonce to spend" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_useUnorderedNonce", + "nameLocation": "6259:18:22", + "parameters": { + "id": 28161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28158, + "mutability": "mutable", + "name": "from", + "nameLocation": "6286:4:22", + "nodeType": "VariableDeclaration", + "scope": 28197, + "src": "6278:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28157, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6278:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28160, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "6300:5:22", + "nodeType": "VariableDeclaration", + "scope": 28197, + "src": "6292:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28159, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6292:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6277:29:22" + }, + "returnParameters": { + "id": 28162, + "nodeType": "ParameterList", + "parameters": [], + "src": "6316:0:22" + }, + "scope": 28198, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 27778, + "name": "ISignatureTransfer", + "nameLocations": [ + "519:18:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28568, + "src": "519:18:22" + }, + "id": 27779, + "nodeType": "InheritanceSpecifier", + "src": "519:18:22" + }, + { + "baseName": { + "id": 27780, + "name": "EIP712", + "nameLocations": [ + "539:6:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27738, + "src": "539:6:22" + }, + "id": 27781, + "nodeType": "InheritanceSpecifier", + "src": "539:6:22" + } + ], + "canonicalName": "SignatureTransfer", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 28198, + 27738, + 28568 + ], + "name": "SignatureTransfer", + "nameLocation": "498:17:22", + "scope": 28199, + "usedErrors": [ + 27757, + 27760, + 28444, + 28447, + 29339, + 29342, + 29345, + 29348 + ] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/interfaces/IAllowanceTransfer.sol": { + "id": 23, + "ast": { + "absolutePath": "lib/permit2/src/interfaces/IAllowanceTransfer.sol", + "id": 28401, + "exportedSymbols": { + "IAllowanceTransfer": [ + 28400 + ] + }, + "nodeType": "SourceUnit", + "src": "32:7553:23", + "nodes": [ + { + "id": 28200, + "nodeType": "PragmaDirective", + "src": "32:24:23", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 28400, + "nodeType": "ContractDefinition", + "src": "291:7293:23", + "nodes": [ + { + "id": 28206, + "nodeType": "ErrorDefinition", + "src": "476:41:23", + "nodes": [], + "documentation": { + "id": 28202, + "nodeType": "StructuredDocumentation", + "src": "326:145:23", + "text": "@notice Thrown when an allowance on a token has expired.\n @param deadline The timestamp at which the allowed amount is no longer valid" + }, + "errorSelector": "d81b2f2e", + "name": "AllowanceExpired", + "nameLocation": "482:16:23", + "parameters": { + "id": 28205, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28204, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "507:8:23", + "nodeType": "VariableDeclaration", + "scope": 28206, + "src": "499:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28203, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "499:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "498:18:23" + } + }, + { + "id": 28211, + "nodeType": "ErrorDefinition", + "src": "643:44:23", + "nodes": [], + "documentation": { + "id": 28207, + "nodeType": "StructuredDocumentation", + "src": "523:115:23", + "text": "@notice Thrown when an allowance on a token has been depleted.\n @param amount The maximum amount allowed" + }, + "errorSelector": "f96fb071", + "name": "InsufficientAllowance", + "nameLocation": "649:21:23", + "parameters": { + "id": 28210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28209, + "mutability": "mutable", + "name": "amount", + "nameLocation": "679:6:23", + "nodeType": "VariableDeclaration", + "scope": 28211, + "src": "671:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28208, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "671:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "670:16:23" + } + }, + { + "id": 28214, + "nodeType": "ErrorDefinition", + "src": "754:30:23", + "nodes": [], + "documentation": { + "id": 28212, + "nodeType": "StructuredDocumentation", + "src": "693:56:23", + "text": "@notice Thrown when too many nonces are invalidated." + }, + "errorSelector": "24d35a26", + "name": "ExcessiveInvalidation", + "nameLocation": "760:21:23", + "parameters": { + "id": 28213, + "nodeType": "ParameterList", + "parameters": [], + "src": "781:2:23" + } + }, + { + "id": 28227, + "nodeType": "EventDefinition", + "src": "879:143:23", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 28215, + "nodeType": "StructuredDocumentation", + "src": "790:84:23", + "text": "@notice Emits an event when the owner successfully invalidates an ordered nonce." + }, + "eventSelector": "55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f3", + "name": "NonceInvalidation", + "nameLocation": "885:17:23", + "parameters": { + "id": 28226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28217, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "928:5:23", + "nodeType": "VariableDeclaration", + "scope": 28227, + "src": "912:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "912:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28219, + "indexed": true, + "mutability": "mutable", + "name": "token", + "nameLocation": "951:5:23", + "nodeType": "VariableDeclaration", + "scope": 28227, + "src": "935:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "935:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28221, + "indexed": true, + "mutability": "mutable", + "name": "spender", + "nameLocation": "974:7:23", + "nodeType": "VariableDeclaration", + "scope": 28227, + "src": "958:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "958:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28223, + "indexed": false, + "mutability": "mutable", + "name": "newNonce", + "nameLocation": "990:8:23", + "nodeType": "VariableDeclaration", + "scope": 28227, + "src": "983:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28222, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "983:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28225, + "indexed": false, + "mutability": "mutable", + "name": "oldNonce", + "nameLocation": "1007:8:23", + "nodeType": "VariableDeclaration", + "scope": 28227, + "src": "1000:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28224, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1000:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "902:119:23" + } + }, + { + "id": 28240, + "nodeType": "EventDefinition", + "src": "1132:135:23", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 28228, + "nodeType": "StructuredDocumentation", + "src": "1028:99:23", + "text": "@notice Emits an event when the owner successfully sets permissions on a token for the spender." + }, + "eventSelector": "da9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "name": "Approval", + "nameLocation": "1138:8:23", + "parameters": { + "id": 28239, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28230, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1172:5:23", + "nodeType": "VariableDeclaration", + "scope": 28240, + "src": "1156:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28229, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1156:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28232, + "indexed": true, + "mutability": "mutable", + "name": "token", + "nameLocation": "1195:5:23", + "nodeType": "VariableDeclaration", + "scope": 28240, + "src": "1179:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28231, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1179:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28234, + "indexed": true, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1218:7:23", + "nodeType": "VariableDeclaration", + "scope": 28240, + "src": "1202:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28233, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1202:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28236, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1235:6:23", + "nodeType": "VariableDeclaration", + "scope": 28240, + "src": "1227:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28235, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "1227:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28238, + "indexed": false, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "1250:10:23", + "nodeType": "VariableDeclaration", + "scope": 28240, + "src": "1243:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28237, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1243:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "1146:120:23" + } + }, + { + "id": 28255, + "nodeType": "EventDefinition", + "src": "1402:187:23", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 28241, + "nodeType": "StructuredDocumentation", + "src": "1273:124:23", + "text": "@notice Emits an event when the owner successfully sets permissions using a permit signature on a token for the spender." + }, + "eventSelector": "c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec", + "name": "Permit", + "nameLocation": "1408:6:23", + "parameters": { + "id": 28254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28243, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1440:5:23", + "nodeType": "VariableDeclaration", + "scope": 28255, + "src": "1424:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28242, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1424:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28245, + "indexed": true, + "mutability": "mutable", + "name": "token", + "nameLocation": "1471:5:23", + "nodeType": "VariableDeclaration", + "scope": 28255, + "src": "1455:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28244, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1455:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28247, + "indexed": true, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1502:7:23", + "nodeType": "VariableDeclaration", + "scope": 28255, + "src": "1486:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28246, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1486:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28249, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1527:6:23", + "nodeType": "VariableDeclaration", + "scope": 28255, + "src": "1519:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28248, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "1519:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28251, + "indexed": false, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "1550:10:23", + "nodeType": "VariableDeclaration", + "scope": 28255, + "src": "1543:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28250, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1543:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28253, + "indexed": false, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1577:5:23", + "nodeType": "VariableDeclaration", + "scope": 28255, + "src": "1570:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28252, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1570:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "1414:174:23" + } + }, + { + "id": 28264, + "nodeType": "EventDefinition", + "src": "1698:70:23", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 28256, + "nodeType": "StructuredDocumentation", + "src": "1595:98:23", + "text": "@notice Emits an event when the owner sets the allowance back to 0 with the lockdown function." + }, + "eventSelector": "89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4", + "name": "Lockdown", + "nameLocation": "1704:8:23", + "parameters": { + "id": 28263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28258, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1729:5:23", + "nodeType": "VariableDeclaration", + "scope": 28264, + "src": "1713:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28257, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1713:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28260, + "indexed": false, + "mutability": "mutable", + "name": "token", + "nameLocation": "1744:5:23", + "nodeType": "VariableDeclaration", + "scope": 28264, + "src": "1736:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28259, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1736:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28262, + "indexed": false, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1759:7:23", + "nodeType": "VariableDeclaration", + "scope": 28264, + "src": "1751:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28261, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1751:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1712:55:23" + } + }, + { + "id": 28273, + "nodeType": "StructDefinition", + "src": "1818:364:23", + "nodes": [], + "canonicalName": "IAllowanceTransfer.PermitDetails", + "members": [ + { + "constant": false, + "id": 28266, + "mutability": "mutable", + "name": "token", + "nameLocation": "1888:5:23", + "nodeType": "VariableDeclaration", + "scope": 28273, + "src": "1880:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1880:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28268, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1958:6:23", + "nodeType": "VariableDeclaration", + "scope": 28273, + "src": "1950:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28267, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "1950:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28270, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "2055:10:23", + "nodeType": "VariableDeclaration", + "scope": 28273, + "src": "2048:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28269, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "2048:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28272, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "2170:5:23", + "nodeType": "VariableDeclaration", + "scope": 28273, + "src": "2163:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28271, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "2163:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "name": "PermitDetails", + "nameLocation": "1825:13:23", + "scope": 28400, + "visibility": "public" + }, + { + "id": 28281, + "nodeType": "StructDefinition", + "src": "2258:264:23", + "nodes": [], + "canonicalName": "IAllowanceTransfer.PermitSingle", + "members": [ + { + "constant": false, + "id": 28276, + "mutability": "mutable", + "name": "details", + "nameLocation": "2356:7:23", + "nodeType": "VariableDeclaration", + "scope": 28281, + "src": "2342:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails" + }, + "typeName": { + "id": 28275, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28274, + "name": "PermitDetails", + "nameLocations": [ + "2342:13:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28273, + "src": "2342:13:23" + }, + "referencedDeclaration": 28273, + "src": "2342:13:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28278, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2435:7:23", + "nodeType": "VariableDeclaration", + "scope": 28281, + "src": "2427:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28277, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2427:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28280, + "mutability": "mutable", + "name": "sigDeadline", + "nameLocation": "2504:11:23", + "nodeType": "VariableDeclaration", + "scope": 28281, + "src": "2496:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2496:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "PermitSingle", + "nameLocation": "2265:12:23", + "scope": 28400, + "visibility": "public" + }, + { + "id": 28290, + "nodeType": "StructDefinition", + "src": "2600:268:23", + "nodes": [], + "canonicalName": "IAllowanceTransfer.PermitBatch", + "members": [ + { + "constant": false, + "id": 28285, + "mutability": "mutable", + "name": "details", + "nameLocation": "2702:7:23", + "nodeType": "VariableDeclaration", + "scope": 28290, + "src": "2686:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitDetails_$28273_storage_$dyn_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails[]" + }, + "typeName": { + "baseType": { + "id": 28283, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28282, + "name": "PermitDetails", + "nameLocations": [ + "2686:13:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28273, + "src": "2686:13:23" + }, + "referencedDeclaration": 28273, + "src": "2686:13:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails" + } + }, + "id": 28284, + "nodeType": "ArrayTypeName", + "src": "2686:15:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitDetails_$28273_storage_$dyn_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28287, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2781:7:23", + "nodeType": "VariableDeclaration", + "scope": 28290, + "src": "2773:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28286, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2773:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28289, + "mutability": "mutable", + "name": "sigDeadline", + "nameLocation": "2850:11:23", + "nodeType": "VariableDeclaration", + "scope": 28290, + "src": "2842:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2842:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "PermitBatch", + "nameLocation": "2607:11:23", + "scope": 28400, + "visibility": "public" + }, + { + "id": 28297, + "nodeType": "StructDefinition", + "src": "3096:246:23", + "nodes": [], + "canonicalName": "IAllowanceTransfer.PackedAllowance", + "members": [ + { + "constant": false, + "id": 28292, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3163:6:23", + "nodeType": "VariableDeclaration", + "scope": 28297, + "src": "3155:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28291, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "3155:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28294, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "3215:10:23", + "nodeType": "VariableDeclaration", + "scope": 28297, + "src": "3208:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28293, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "3208:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28296, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "3330:5:23", + "nodeType": "VariableDeclaration", + "scope": 28297, + "src": "3323:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28295, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "3323:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "name": "PackedAllowance", + "nameLocation": "3103:15:23", + "scope": 28400, + "visibility": "public" + }, + { + "id": 28302, + "nodeType": "StructDefinition", + "src": "3386:155:23", + "nodes": [], + "canonicalName": "IAllowanceTransfer.TokenSpenderPair", + "members": [ + { + "constant": false, + "id": 28299, + "mutability": "mutable", + "name": "token", + "nameLocation": "3473:5:23", + "nodeType": "VariableDeclaration", + "scope": 28302, + "src": "3465:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3465:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28301, + "mutability": "mutable", + "name": "spender", + "nameLocation": "3527:7:23", + "nodeType": "VariableDeclaration", + "scope": 28302, + "src": "3519:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3519:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "TokenSpenderPair", + "nameLocation": "3393:16:23", + "scope": 28400, + "visibility": "public" + }, + { + "id": 28311, + "nodeType": "StructDefinition", + "src": "3593:274:23", + "nodes": [], + "canonicalName": "IAllowanceTransfer.AllowanceTransferDetails", + "members": [ + { + "constant": false, + "id": 28304, + "mutability": "mutable", + "name": "from", + "nameLocation": "3677:4:23", + "nodeType": "VariableDeclaration", + "scope": 28311, + "src": "3669:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3669:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28306, + "mutability": "mutable", + "name": "to", + "nameLocation": "3737:2:23", + "nodeType": "VariableDeclaration", + "scope": 28311, + "src": "3729:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28305, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3729:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28308, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3792:6:23", + "nodeType": "VariableDeclaration", + "scope": 28311, + "src": "3784:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28307, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "3784:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28310, + "mutability": "mutable", + "name": "token", + "nameLocation": "3855:5:23", + "nodeType": "VariableDeclaration", + "scope": 28311, + "src": "3847:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28309, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3847:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "AllowanceTransferDetails", + "nameLocation": "3600:24:23", + "scope": 28400, + "visibility": "public" + }, + { + "id": 28327, + "nodeType": "FunctionDefinition", + "src": "4333:94:23", + "nodes": [], + "documentation": { + "id": 28312, + "nodeType": "StructuredDocumentation", + "src": "3873:455:23", + "text": "@notice A mapping from owner address to token address to spender address to PackedAllowance struct, which contains details and conditions of the approval.\n @notice The mapping is indexed in the above order see: allowance[ownerAddress][tokenAddress][spenderAddress]\n @dev The packed slot holds the allowed amount, expiration at which the allowed amount is no longer valid, and current nonce thats updated on any signature based approvals." + }, + "functionSelector": "927da105", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "4342:9:23", + "parameters": { + "id": 28319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28314, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28327, + "src": "4352:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4352:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28316, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28327, + "src": "4361:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28315, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4361:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28318, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28327, + "src": "4370:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28317, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4370:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4351:27:23" + }, + "returnParameters": { + "id": 28326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28321, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28327, + "src": "4402:7:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28320, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "4402:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28323, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28327, + "src": "4411:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28322, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "4411:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28325, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28327, + "src": "4419:6:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28324, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "4419:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "4401:25:23" + }, + "scope": 28400, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 28339, + "nodeType": "FunctionDefinition", + "src": "4936:93:23", + "nodes": [], + "documentation": { + "id": 28328, + "nodeType": "StructuredDocumentation", + "src": "4433:498:23", + "text": "@notice Approves the spender to use up to amount of the specified token up until the expiration\n @param token The token to approve\n @param spender The spender address to approve\n @param amount The approved amount of the token\n @param expiration The timestamp at which the approval is no longer valid\n @dev The packed allowance also holds a nonce, which will stay unchanged in approve\n @dev Setting amount to type(uint160).max sets an unlimited approval" + }, + "functionSelector": "87517c45", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "4945:7:23", + "parameters": { + "id": 28337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28330, + "mutability": "mutable", + "name": "token", + "nameLocation": "4961:5:23", + "nodeType": "VariableDeclaration", + "scope": 28339, + "src": "4953:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4953:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28332, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4976:7:23", + "nodeType": "VariableDeclaration", + "scope": 28339, + "src": "4968:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4968:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28334, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4993:6:23", + "nodeType": "VariableDeclaration", + "scope": 28339, + "src": "4985:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28333, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "4985:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28336, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "5008:10:23", + "nodeType": "VariableDeclaration", + "scope": 28339, + "src": "5001:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28335, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "5001:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "4952:67:23" + }, + "returnParameters": { + "id": 28338, + "nodeType": "ParameterList", + "parameters": [], + "src": "5028:0:23" + }, + "scope": 28400, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28350, + "nodeType": "FunctionDefinition", + "src": "5447:100:23", + "nodes": [], + "documentation": { + "id": 28340, + "nodeType": "StructuredDocumentation", + "src": "5035:407:23", + "text": "@notice Permit a spender to a given amount of the owners token via the owner's EIP-712 signature\n @dev May fail if the owner's nonce was invalidated in-flight by invalidateNonce\n @param owner The owner of the tokens being approved\n @param permitSingle Data signed over by the owner specifying the terms of approval\n @param signature The owner's signature over the permit data" + }, + "functionSelector": "2b67b570", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "permit", + "nameLocation": "5456:6:23", + "parameters": { + "id": 28348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28342, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5471:5:23", + "nodeType": "VariableDeclaration", + "scope": 28350, + "src": "5463:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28341, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5463:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28345, + "mutability": "mutable", + "name": "permitSingle", + "nameLocation": "5498:12:23", + "nodeType": "VariableDeclaration", + "scope": 28350, + "src": "5478:32:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + }, + "typeName": { + "id": 28344, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28343, + "name": "PermitSingle", + "nameLocations": [ + "5478:12:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28281, + "src": "5478:12:23" + }, + "referencedDeclaration": 28281, + "src": "5478:12:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28347, + "mutability": "mutable", + "name": "signature", + "nameLocation": "5527:9:23", + "nodeType": "VariableDeclaration", + "scope": 28350, + "src": "5512:24:23", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28346, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5512:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5462:75:23" + }, + "returnParameters": { + "id": 28349, + "nodeType": "ParameterList", + "parameters": [], + "src": "5546:0:23" + }, + "scope": 28400, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28361, + "nodeType": "FunctionDefinition", + "src": "5969:98:23", + "nodes": [], + "documentation": { + "id": 28351, + "nodeType": "StructuredDocumentation", + "src": "5553:411:23", + "text": "@notice Permit a spender to the signed amounts of the owners tokens via the owner's EIP-712 signature\n @dev May fail if the owner's nonce was invalidated in-flight by invalidateNonce\n @param owner The owner of the tokens being approved\n @param permitBatch Data signed over by the owner specifying the terms of approval\n @param signature The owner's signature over the permit data" + }, + "functionSelector": "2a2d80d1", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "permit", + "nameLocation": "5978:6:23", + "parameters": { + "id": 28359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28353, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5993:5:23", + "nodeType": "VariableDeclaration", + "scope": 28361, + "src": "5985:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28352, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5985:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28356, + "mutability": "mutable", + "name": "permitBatch", + "nameLocation": "6019:11:23", + "nodeType": "VariableDeclaration", + "scope": 28361, + "src": "6000:30:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch" + }, + "typeName": { + "id": 28355, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28354, + "name": "PermitBatch", + "nameLocations": [ + "6000:11:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28290, + "src": "6000:11:23" + }, + "referencedDeclaration": 28290, + "src": "6000:11:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28358, + "mutability": "mutable", + "name": "signature", + "nameLocation": "6047:9:23", + "nodeType": "VariableDeclaration", + "scope": 28361, + "src": "6032:24:23", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28357, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6032:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5984:73:23" + }, + "returnParameters": { + "id": 28360, + "nodeType": "ParameterList", + "parameters": [], + "src": "6066:0:23" + }, + "scope": 28400, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28373, + "nodeType": "FunctionDefinition", + "src": "6464:88:23", + "nodes": [], + "documentation": { + "id": 28362, + "nodeType": "StructuredDocumentation", + "src": "6073:386:23", + "text": "@notice Transfer approved tokens from one address to another\n @param from The address to transfer from\n @param to The address of the recipient\n @param amount The amount of the token to transfer\n @param token The token address to transfer\n @dev Requires the from address to have approved at least the desired amount\n of tokens to msg.sender." + }, + "functionSelector": "36c78516", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "6473:12:23", + "parameters": { + "id": 28371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28364, + "mutability": "mutable", + "name": "from", + "nameLocation": "6494:4:23", + "nodeType": "VariableDeclaration", + "scope": 28373, + "src": "6486:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6486:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28366, + "mutability": "mutable", + "name": "to", + "nameLocation": "6508:2:23", + "nodeType": "VariableDeclaration", + "scope": 28373, + "src": "6500:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6500:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28368, + "mutability": "mutable", + "name": "amount", + "nameLocation": "6520:6:23", + "nodeType": "VariableDeclaration", + "scope": 28373, + "src": "6512:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28367, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "6512:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28370, + "mutability": "mutable", + "name": "token", + "nameLocation": "6536:5:23", + "nodeType": "VariableDeclaration", + "scope": 28373, + "src": "6528:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28369, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6528:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6485:57:23" + }, + "returnParameters": { + "id": 28372, + "nodeType": "ParameterList", + "parameters": [], + "src": "6551:0:23" + }, + "scope": 28400, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28381, + "nodeType": "FunctionDefinition", + "src": "6827:84:23", + "nodes": [], + "documentation": { + "id": 28374, + "nodeType": "StructuredDocumentation", + "src": "6558:264:23", + "text": "@notice Transfer approved tokens in a batch\n @param transferDetails Array of owners, recipients, amounts, and tokens for the transfers\n @dev Requires the from addresses to have approved at least the desired amount\n of tokens to msg.sender." + }, + "functionSelector": "0d58b1db", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "6836:12:23", + "parameters": { + "id": 28379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28378, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "6885:15:23", + "nodeType": "VariableDeclaration", + "scope": 28381, + "src": "6849:51:23", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AllowanceTransferDetails_$28311_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails[]" + }, + "typeName": { + "baseType": { + "id": 28376, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28375, + "name": "AllowanceTransferDetails", + "nameLocations": [ + "6849:24:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28311, + "src": "6849:24:23" + }, + "referencedDeclaration": 28311, + "src": "6849:24:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AllowanceTransferDetails_$28311_storage_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails" + } + }, + "id": 28377, + "nodeType": "ArrayTypeName", + "src": "6849:26:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AllowanceTransferDetails_$28311_storage_$dyn_storage_ptr", + "typeString": "struct IAllowanceTransfer.AllowanceTransferDetails[]" + } + }, + "visibility": "internal" + } + ], + "src": "6848:53:23" + }, + "returnParameters": { + "id": 28380, + "nodeType": "ParameterList", + "parameters": [], + "src": "6910:0:23" + }, + "scope": 28400, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28389, + "nodeType": "FunctionDefinition", + "src": "7089:66:23", + "nodes": [], + "documentation": { + "id": 28382, + "nodeType": "StructuredDocumentation", + "src": "6917:167:23", + "text": "@notice Enables performing a \"lockdown\" of the sender's Permit2 identity\n by batch revoking approvals\n @param approvals Array of approvals to revoke." + }, + "functionSelector": "cc53287f", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "lockdown", + "nameLocation": "7098:8:23", + "parameters": { + "id": 28387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28386, + "mutability": "mutable", + "name": "approvals", + "nameLocation": "7135:9:23", + "nodeType": "VariableDeclaration", + "scope": 28389, + "src": "7107:37:23", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenSpenderPair_$28302_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair[]" + }, + "typeName": { + "baseType": { + "id": 28384, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28383, + "name": "TokenSpenderPair", + "nameLocations": [ + "7107:16:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28302, + "src": "7107:16:23" + }, + "referencedDeclaration": 28302, + "src": "7107:16:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenSpenderPair_$28302_storage_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair" + } + }, + "id": 28385, + "nodeType": "ArrayTypeName", + "src": "7107:18:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenSpenderPair_$28302_storage_$dyn_storage_ptr", + "typeString": "struct IAllowanceTransfer.TokenSpenderPair[]" + } + }, + "visibility": "internal" + } + ], + "src": "7106:39:23" + }, + "returnParameters": { + "id": 28388, + "nodeType": "ParameterList", + "parameters": [], + "src": "7154:0:23" + }, + "scope": 28400, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28399, + "nodeType": "FunctionDefinition", + "src": "7498:84:23", + "nodes": [], + "documentation": { + "id": 28390, + "nodeType": "StructuredDocumentation", + "src": "7161:332:23", + "text": "@notice Invalidate nonces for a given (token, spender) pair\n @param token The token to invalidate nonces for\n @param spender The spender to invalidate nonces for\n @param newNonce The new nonce to set. Invalidates all nonces less than it.\n @dev Can't invalidate more than 2**16 nonces per transaction." + }, + "functionSelector": "65d9723c", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "invalidateNonces", + "nameLocation": "7507:16:23", + "parameters": { + "id": 28397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28392, + "mutability": "mutable", + "name": "token", + "nameLocation": "7532:5:23", + "nodeType": "VariableDeclaration", + "scope": 28399, + "src": "7524:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7524:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28394, + "mutability": "mutable", + "name": "spender", + "nameLocation": "7547:7:23", + "nodeType": "VariableDeclaration", + "scope": 28399, + "src": "7539:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28393, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7539:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28396, + "mutability": "mutable", + "name": "newNonce", + "nameLocation": "7563:8:23", + "nodeType": "VariableDeclaration", + "scope": 28399, + "src": "7556:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28395, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "7556:6:23", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "7523:49:23" + }, + "returnParameters": { + "id": 28398, + "nodeType": "ParameterList", + "parameters": [], + "src": "7581:0:23" + }, + "scope": 28400, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "IAllowanceTransfer", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 28201, + "nodeType": "StructuredDocumentation", + "src": "58:233:23", + "text": "@title AllowanceTransfer\n @notice Handles ERC20 token permissions through signature based allowance setting and ERC20 token transfers by checking allowed amounts\n @dev Requires user's token approval on the Permit2 contract" + }, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 28400 + ], + "name": "IAllowanceTransfer", + "nameLocation": "301:18:23", + "scope": 28401, + "usedErrors": [ + 28206, + 28211, + 28214 + ] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/interfaces/IDAIPermit.sol": { + "id": 24, + "ast": { + "absolutePath": "lib/permit2/src/interfaces/IDAIPermit.sol", + "id": 28424, + "exportedSymbols": { + "IDAIPermit": [ + 28423 + ] + }, + "nodeType": "SourceUnit", + "src": "32:896:24", + "nodes": [ + { + "id": 28402, + "nodeType": "PragmaDirective", + "src": "32:24:24", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 28423, + "nodeType": "ContractDefinition", + "src": "58:869:24", + "nodes": [ + { + "id": 28422, + "nodeType": "FunctionDefinition", + "src": "721:204:24", + "nodes": [], + "documentation": { + "id": 28403, + "nodeType": "StructuredDocumentation", + "src": "85:631:24", + "text": "@param holder The address of the token owner.\n @param spender The address of the token spender.\n @param nonce The owner's nonce, increases at each call to permit.\n @param expiry The timestamp at which the permit is no longer valid.\n @param allowed Boolean that sets approval amount, true for type(uint256).max and false for 0.\n @param v Must produce valid secp256k1 signature from the owner along with r and s.\n @param r Must produce valid secp256k1 signature from the owner along with v and s.\n @param s Must produce valid secp256k1 signature from the owner along with r and v." + }, + "functionSelector": "8fcbaf0c", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "permit", + "nameLocation": "730:6:24", + "parameters": { + "id": 28420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28405, + "mutability": "mutable", + "name": "holder", + "nameLocation": "754:6:24", + "nodeType": "VariableDeclaration", + "scope": 28422, + "src": "746:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "746:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28407, + "mutability": "mutable", + "name": "spender", + "nameLocation": "778:7:24", + "nodeType": "VariableDeclaration", + "scope": 28422, + "src": "770:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "770:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28409, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "803:5:24", + "nodeType": "VariableDeclaration", + "scope": 28422, + "src": "795:13:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "795:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28411, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "826:6:24", + "nodeType": "VariableDeclaration", + "scope": 28422, + "src": "818:14:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "818:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28413, + "mutability": "mutable", + "name": "allowed", + "nameLocation": "847:7:24", + "nodeType": "VariableDeclaration", + "scope": 28422, + "src": "842:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28412, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "842:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28415, + "mutability": "mutable", + "name": "v", + "nameLocation": "870:1:24", + "nodeType": "VariableDeclaration", + "scope": 28422, + "src": "864:7:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 28414, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "864:5:24", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28417, + "mutability": "mutable", + "name": "r", + "nameLocation": "889:1:24", + "nodeType": "VariableDeclaration", + "scope": 28422, + "src": "881:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28416, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "881:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28419, + "mutability": "mutable", + "name": "s", + "nameLocation": "908:1:24", + "nodeType": "VariableDeclaration", + "scope": 28422, + "src": "900:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28418, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "900:7:24", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "736:179:24" + }, + "returnParameters": { + "id": 28421, + "nodeType": "ParameterList", + "parameters": [], + "src": "924:0:24" + }, + "scope": 28423, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "IDAIPermit", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 28423 + ], + "name": "IDAIPermit", + "nameLocation": "68:10:24", + "scope": 28424, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/interfaces/IERC1271.sol": { + "id": 25, + "ast": { + "absolutePath": "lib/permit2/src/interfaces/IERC1271.sol", + "id": 28437, + "exportedSymbols": { + "IERC1271": [ + 28436 + ] + }, + "nodeType": "SourceUnit", + "src": "32:433:25", + "nodes": [ + { + "id": 28425, + "nodeType": "PragmaDirective", + "src": "32:24:25", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 28436, + "nodeType": "ContractDefinition", + "src": "58:406:25", + "nodes": [ + { + "id": 28435, + "nodeType": "FunctionDefinition", + "src": "356:106:25", + "nodes": [], + "documentation": { + "id": 28426, + "nodeType": "StructuredDocumentation", + "src": "83:268:25", + "text": "@dev Should return whether the signature provided is valid for the provided data\n @param hash Hash of the data to be signed\n @param signature Signature byte array associated with _data\n @return magicValue The bytes4 magic value 0x1626ba7e" + }, + "functionSelector": "1626ba7e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isValidSignature", + "nameLocation": "365:16:25", + "parameters": { + "id": 28431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28428, + "mutability": "mutable", + "name": "hash", + "nameLocation": "390:4:25", + "nodeType": "VariableDeclaration", + "scope": 28435, + "src": "382:12:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28427, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "382:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28430, + "mutability": "mutable", + "name": "signature", + "nameLocation": "409:9:25", + "nodeType": "VariableDeclaration", + "scope": 28435, + "src": "396:22:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28429, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "396:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "381:38:25" + }, + "returnParameters": { + "id": 28434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28433, + "mutability": "mutable", + "name": "magicValue", + "nameLocation": "450:10:25", + "nodeType": "VariableDeclaration", + "scope": 28435, + "src": "443:17:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 28432, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "443:6:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "442:19:25" + }, + "scope": 28436, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC1271", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 28436 + ], + "name": "IERC1271", + "nameLocation": "68:8:25", + "scope": 28437, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/interfaces/ISignatureTransfer.sol": { + "id": 26, + "ast": { + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "id": 28569, + "exportedSymbols": { + "ISignatureTransfer": [ + 28568 + ] + }, + "nodeType": "SourceUnit", + "src": "32:6793:26", + "nodes": [ + { + "id": 28438, + "nodeType": "PragmaDirective", + "src": "32:24:26", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 28568, + "nodeType": "ContractDefinition", + "src": "225:6599:26", + "nodes": [ + { + "id": 28444, + "nodeType": "ErrorDefinition", + "src": "441:39:26", + "nodes": [], + "documentation": { + "id": 28440, + "nodeType": "StructuredDocumentation", + "src": "260:176:26", + "text": "@notice Thrown when the requested amount for a transfer is larger than the permissioned amount\n @param maxAmount The maximum amount a spender can request to transfer" + }, + "errorSelector": "3728b83d", + "name": "InvalidAmount", + "nameLocation": "447:13:26", + "parameters": { + "id": 28443, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28442, + "mutability": "mutable", + "name": "maxAmount", + "nameLocation": "469:9:26", + "nodeType": "VariableDeclaration", + "scope": 28444, + "src": "461:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28441, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "461:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "460:19:26" + } + }, + { + "id": 28447, + "nodeType": "ErrorDefinition", + "src": "752:23:26", + "nodes": [], + "documentation": { + "id": 28445, + "nodeType": "StructuredDocumentation", + "src": "486:261:26", + "text": "@notice Thrown when the number of tokens permissioned to a spender does not match the number of tokens being transferred\n @dev If the spender does not need to transfer the number of tokens permitted, the spender can request amount 0 to be transferred" + }, + "errorSelector": "ff633a38", + "name": "LengthMismatch", + "nameLocation": "758:14:26", + "parameters": { + "id": 28446, + "nodeType": "ParameterList", + "parameters": [], + "src": "772:2:26" + } + }, + { + "id": 28456, + "nodeType": "EventDefinition", + "src": "872:84:26", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 28448, + "nodeType": "StructuredDocumentation", + "src": "781:86:26", + "text": "@notice Emits an event when the owner successfully invalidates an unordered nonce." + }, + "eventSelector": "3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d", + "name": "UnorderedNonceInvalidation", + "nameLocation": "878:26:26", + "parameters": { + "id": 28455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28450, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "921:5:26", + "nodeType": "VariableDeclaration", + "scope": 28456, + "src": "905:21:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "905:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28452, + "indexed": false, + "mutability": "mutable", + "name": "word", + "nameLocation": "936:4:26", + "nodeType": "VariableDeclaration", + "scope": 28456, + "src": "928:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28451, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "928:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28454, + "indexed": false, + "mutability": "mutable", + "name": "mask", + "nameLocation": "950:4:26", + "nodeType": "VariableDeclaration", + "scope": 28456, + "src": "942:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28453, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "942:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "904:51:26" + } + }, + { + "id": 28461, + "nodeType": "StructDefinition", + "src": "1062:157:26", + "nodes": [], + "canonicalName": "ISignatureTransfer.TokenPermissions", + "members": [ + { + "constant": false, + "id": 28458, + "mutability": "mutable", + "name": "token", + "nameLocation": "1135:5:26", + "nodeType": "VariableDeclaration", + "scope": 28461, + "src": "1127:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1127:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28460, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1206:6:26", + "nodeType": "VariableDeclaration", + "scope": 28461, + "src": "1198:14:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1198:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "TokenPermissions", + "nameLocation": "1069:16:26", + "scope": 28568, + "visibility": "public" + }, + { + "id": 28469, + "nodeType": "StructDefinition", + "src": "1295:251:26", + "nodes": [], + "canonicalName": "ISignatureTransfer.PermitTransferFrom", + "members": [ + { + "constant": false, + "id": 28464, + "mutability": "mutable", + "name": "permitted", + "nameLocation": "1348:9:26", + "nodeType": "VariableDeclaration", + "scope": 28469, + "src": "1331:26:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions" + }, + "typeName": { + "id": 28463, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28462, + "name": "TokenPermissions", + "nameLocations": [ + "1331:16:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28461, + "src": "1331:16:26" + }, + "referencedDeclaration": 28461, + "src": "1331:16:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28466, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1464:5:26", + "nodeType": "VariableDeclaration", + "scope": 28469, + "src": "1456:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28465, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1456:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28468, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "1531:8:26", + "nodeType": "VariableDeclaration", + "scope": 28469, + "src": "1523:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28467, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1523:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "PermitTransferFrom", + "nameLocation": "1302:18:26", + "scope": 28568, + "visibility": "public" + }, + { + "id": 28474, + "nodeType": "StructDefinition", + "src": "1823:157:26", + "nodes": [], + "canonicalName": "ISignatureTransfer.SignatureTransferDetails", + "members": [ + { + "constant": false, + "id": 28471, + "mutability": "mutable", + "name": "to", + "nameLocation": "1902:2:26", + "nodeType": "VariableDeclaration", + "scope": 28474, + "src": "1894:10:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28470, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1894:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28473, + "mutability": "mutable", + "name": "requestedAmount", + "nameLocation": "1958:15:26", + "nodeType": "VariableDeclaration", + "scope": 28474, + "src": "1950:23:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28472, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1950:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "SignatureTransferDetails", + "nameLocation": "1830:24:26", + "scope": 28568, + "visibility": "public" + }, + { + "id": 28483, + "nodeType": "StructDefinition", + "src": "2234:331:26", + "nodes": [], + "canonicalName": "ISignatureTransfer.PermitBatchTransferFrom", + "members": [ + { + "constant": false, + "id": 28478, + "mutability": "mutable", + "name": "permitted", + "nameLocation": "2367:9:26", + "nodeType": "VariableDeclaration", + "scope": 28483, + "src": "2348:28:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions[]" + }, + "typeName": { + "baseType": { + "id": 28476, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28475, + "name": "TokenPermissions", + "nameLocations": [ + "2348:16:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28461, + "src": "2348:16:26" + }, + "referencedDeclaration": 28461, + "src": "2348:16:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions" + } + }, + "id": 28477, + "nodeType": "ArrayTypeName", + "src": "2348:18:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28480, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "2483:5:26", + "nodeType": "VariableDeclaration", + "scope": 28483, + "src": "2475:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2475:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28482, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "2550:8:26", + "nodeType": "VariableDeclaration", + "scope": 28483, + "src": "2542:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28481, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2542:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "PermitBatchTransferFrom", + "nameLocation": "2241:23:26", + "scope": 28568, + "visibility": "public" + }, + { + "id": 28493, + "nodeType": "FunctionDefinition", + "src": "3059:71:26", + "nodes": [], + "documentation": { + "id": 28484, + "nodeType": "StructuredDocumentation", + "src": "2571:483:26", + "text": "@notice A map from token owner address and a caller specified word index to a bitmap. Used to set bits in the bitmap to prevent against signature replay protection\n @dev Uses unordered nonces so that permit messages do not need to be spent in a certain order\n @dev The mapping is indexed first by the token owner, then by an index specified in the nonce\n @dev It returns a uint256 bitmap\n @dev The index, or wordPosition is capped at type(uint248).max" + }, + "functionSelector": "4fe02b44", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "nonceBitmap", + "nameLocation": "3068:11:26", + "parameters": { + "id": 28489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28486, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28493, + "src": "3080:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28485, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3080:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28488, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28493, + "src": "3089:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28487, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3089:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3079:18:26" + }, + "returnParameters": { + "id": 28492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28491, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28493, + "src": "3121:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28490, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3121:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3120:9:26" + }, + "scope": 28568, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 28507, + "nodeType": "FunctionDefinition", + "src": "3554:201:26", + "nodes": [], + "documentation": { + "id": 28494, + "nodeType": "StructuredDocumentation", + "src": "3136:413:26", + "text": "@notice Transfers a token using a signed permit message\n @dev Reverts if the requested amount is greater than the permitted signed amount\n @param permit The permit data signed over by the owner\n @param owner The owner of the tokens to transfer\n @param transferDetails The spender's requested transfer details for the permitted token\n @param signature The signature to verify" + }, + "functionSelector": "30f28b7a", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "permitTransferFrom", + "nameLocation": "3563:18:26", + "parameters": { + "id": 28505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28497, + "mutability": "mutable", + "name": "permit", + "nameLocation": "3617:6:26", + "nodeType": "VariableDeclaration", + "scope": 28507, + "src": "3591:32:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 28496, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28495, + "name": "PermitTransferFrom", + "nameLocations": [ + "3591:18:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "3591:18:26" + }, + "referencedDeclaration": 28469, + "src": "3591:18:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28500, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "3667:15:26", + "nodeType": "VariableDeclaration", + "scope": 28507, + "src": "3633:49:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + }, + "typeName": { + "id": 28499, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28498, + "name": "SignatureTransferDetails", + "nameLocations": [ + "3633:24:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "3633:24:26" + }, + "referencedDeclaration": 28474, + "src": "3633:24:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28502, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3700:5:26", + "nodeType": "VariableDeclaration", + "scope": 28507, + "src": "3692:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28501, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3692:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28504, + "mutability": "mutable", + "name": "signature", + "nameLocation": "3730:9:26", + "nodeType": "VariableDeclaration", + "scope": 28507, + "src": "3715:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28503, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3715:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3581:164:26" + }, + "returnParameters": { + "id": 28506, + "nodeType": "ParameterList", + "parameters": [], + "src": "3754:0:26" + }, + "scope": 28568, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28525, + "nodeType": "FunctionDefinition", + "src": "4581:276:26", + "nodes": [], + "documentation": { + "id": 28508, + "nodeType": "StructuredDocumentation", + "src": "3761:815:26", + "text": "@notice Transfers a token using a signed permit message\n @notice Includes extra data provided by the caller to verify signature over\n @dev The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definition\n @dev Reverts if the requested amount is greater than the permitted signed amount\n @param permit The permit data signed over by the owner\n @param owner The owner of the tokens to transfer\n @param transferDetails The spender's requested transfer details for the permitted token\n @param witness Extra data to include when checking the user signature\n @param witnessTypeString The EIP-712 type definition for remaining string stub of the typehash\n @param signature The signature to verify" + }, + "functionSelector": "137c29fe", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "permitWitnessTransferFrom", + "nameLocation": "4590:25:26", + "parameters": { + "id": 28523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28511, + "mutability": "mutable", + "name": "permit", + "nameLocation": "4651:6:26", + "nodeType": "VariableDeclaration", + "scope": 28525, + "src": "4625:32:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 28510, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28509, + "name": "PermitTransferFrom", + "nameLocations": [ + "4625:18:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "4625:18:26" + }, + "referencedDeclaration": 28469, + "src": "4625:18:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28514, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "4701:15:26", + "nodeType": "VariableDeclaration", + "scope": 28525, + "src": "4667:49:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + }, + "typeName": { + "id": 28513, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28512, + "name": "SignatureTransferDetails", + "nameLocations": [ + "4667:24:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "4667:24:26" + }, + "referencedDeclaration": 28474, + "src": "4667:24:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28516, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4734:5:26", + "nodeType": "VariableDeclaration", + "scope": 28525, + "src": "4726:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28515, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4726:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28518, + "mutability": "mutable", + "name": "witness", + "nameLocation": "4757:7:26", + "nodeType": "VariableDeclaration", + "scope": 28525, + "src": "4749:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28517, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4749:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28520, + "mutability": "mutable", + "name": "witnessTypeString", + "nameLocation": "4790:17:26", + "nodeType": "VariableDeclaration", + "scope": 28525, + "src": "4774:33:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28519, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4774:6:26", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28522, + "mutability": "mutable", + "name": "signature", + "nameLocation": "4832:9:26", + "nodeType": "VariableDeclaration", + "scope": 28525, + "src": "4817:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28521, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4817:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4615:232:26" + }, + "returnParameters": { + "id": 28524, + "nodeType": "ParameterList", + "parameters": [], + "src": "4856:0:26" + }, + "scope": 28568, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28540, + "nodeType": "FunctionDefinition", + "src": "5203:208:26", + "nodes": [], + "documentation": { + "id": 28526, + "nodeType": "StructuredDocumentation", + "src": "4863:335:26", + "text": "@notice Transfers multiple tokens using a signed permit message\n @param permit The permit data signed over by the owner\n @param owner The owner of the tokens to transfer\n @param transferDetails Specifies the recipient and requested amount for the token transfer\n @param signature The signature to verify" + }, + "functionSelector": "edd9444b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "permitTransferFrom", + "nameLocation": "5212:18:26", + "parameters": { + "id": 28538, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28529, + "mutability": "mutable", + "name": "permit", + "nameLocation": "5271:6:26", + "nodeType": "VariableDeclaration", + "scope": 28540, + "src": "5240:37:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 28528, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28527, + "name": "PermitBatchTransferFrom", + "nameLocations": [ + "5240:23:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "5240:23:26" + }, + "referencedDeclaration": 28483, + "src": "5240:23:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28533, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "5323:15:26", + "nodeType": "VariableDeclaration", + "scope": 28540, + "src": "5287:51:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + }, + "typeName": { + "baseType": { + "id": 28531, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28530, + "name": "SignatureTransferDetails", + "nameLocations": [ + "5287:24:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "5287:24:26" + }, + "referencedDeclaration": 28474, + "src": "5287:24:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "id": 28532, + "nodeType": "ArrayTypeName", + "src": "5287:26:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28535, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5356:5:26", + "nodeType": "VariableDeclaration", + "scope": 28540, + "src": "5348:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28534, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5348:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28537, + "mutability": "mutable", + "name": "signature", + "nameLocation": "5386:9:26", + "nodeType": "VariableDeclaration", + "scope": 28540, + "src": "5371:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28536, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5371:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5230:171:26" + }, + "returnParameters": { + "id": 28539, + "nodeType": "ParameterList", + "parameters": [], + "src": "5410:0:26" + }, + "scope": 28568, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28559, + "nodeType": "FunctionDefinition", + "src": "6159:283:26", + "nodes": [], + "documentation": { + "id": 28541, + "nodeType": "StructuredDocumentation", + "src": "5417:737:26", + "text": "@notice Transfers multiple tokens using a signed permit message\n @dev The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definition\n @notice Includes extra data provided by the caller to verify signature over\n @param permit The permit data signed over by the owner\n @param owner The owner of the tokens to transfer\n @param transferDetails Specifies the recipient and requested amount for the token transfer\n @param witness Extra data to include when checking the user signature\n @param witnessTypeString The EIP-712 type definition for remaining string stub of the typehash\n @param signature The signature to verify" + }, + "functionSelector": "fe8ec1a7", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "permitWitnessTransferFrom", + "nameLocation": "6168:25:26", + "parameters": { + "id": 28557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28544, + "mutability": "mutable", + "name": "permit", + "nameLocation": "6234:6:26", + "nodeType": "VariableDeclaration", + "scope": 28559, + "src": "6203:37:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 28543, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28542, + "name": "PermitBatchTransferFrom", + "nameLocations": [ + "6203:23:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "6203:23:26" + }, + "referencedDeclaration": 28483, + "src": "6203:23:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28548, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "6286:15:26", + "nodeType": "VariableDeclaration", + "scope": 28559, + "src": "6250:51:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + }, + "typeName": { + "baseType": { + "id": 28546, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28545, + "name": "SignatureTransferDetails", + "nameLocations": [ + "6250:24:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "6250:24:26" + }, + "referencedDeclaration": 28474, + "src": "6250:24:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "id": 28547, + "nodeType": "ArrayTypeName", + "src": "6250:26:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28550, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6319:5:26", + "nodeType": "VariableDeclaration", + "scope": 28559, + "src": "6311:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28549, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6311:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28552, + "mutability": "mutable", + "name": "witness", + "nameLocation": "6342:7:26", + "nodeType": "VariableDeclaration", + "scope": 28559, + "src": "6334:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28551, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6334:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28554, + "mutability": "mutable", + "name": "witnessTypeString", + "nameLocation": "6375:17:26", + "nodeType": "VariableDeclaration", + "scope": 28559, + "src": "6359:33:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28553, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6359:6:26", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28556, + "mutability": "mutable", + "name": "signature", + "nameLocation": "6417:9:26", + "nodeType": "VariableDeclaration", + "scope": 28559, + "src": "6402:24:26", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28555, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6402:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6193:239:26" + }, + "returnParameters": { + "id": 28558, + "nodeType": "ParameterList", + "parameters": [], + "src": "6441:0:26" + }, + "scope": 28568, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28567, + "nodeType": "FunctionDefinition", + "src": "6747:75:26", + "nodes": [], + "documentation": { + "id": 28560, + "nodeType": "StructuredDocumentation", + "src": "6448:294:26", + "text": "@notice Invalidates the bits specified in mask for the bitmap at the word position\n @dev The wordPos is maxed at type(uint248).max\n @param wordPos A number to index the nonceBitmap at\n @param mask A bitmap masked against msg.sender's current bitmap at the word position" + }, + "functionSelector": "3ff9dcb1", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "invalidateUnorderedNonces", + "nameLocation": "6756:25:26", + "parameters": { + "id": 28565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28562, + "mutability": "mutable", + "name": "wordPos", + "nameLocation": "6790:7:26", + "nodeType": "VariableDeclaration", + "scope": 28567, + "src": "6782:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28561, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6782:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28564, + "mutability": "mutable", + "name": "mask", + "nameLocation": "6807:4:26", + "nodeType": "VariableDeclaration", + "scope": 28567, + "src": "6799:12:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28563, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6799:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6781:31:26" + }, + "returnParameters": { + "id": 28566, + "nodeType": "ParameterList", + "parameters": [], + "src": "6821:0:26" + }, + "scope": 28568, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "ISignatureTransfer", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 28439, + "nodeType": "StructuredDocumentation", + "src": "58:167:26", + "text": "@title SignatureTransfer\n @notice Handles ERC20 token transfers through signature based actions\n @dev Requires user's token approval on the Permit2 contract" + }, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 28568 + ], + "name": "ISignatureTransfer", + "nameLocation": "235:18:26", + "scope": 28569, + "usedErrors": [ + 28444, + 28447 + ] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/libraries/Allowance.sol": { + "id": 27, + "ast": { + "absolutePath": "lib/permit2/src/libraries/Allowance.sol", + "id": 28688, + "exportedSymbols": { + "Allowance": [ + 28687 + ], + "IAllowanceTransfer": [ + 28400 + ] + }, + "nodeType": "SourceUnit", + "src": "32:1873:27", + "nodes": [ + { + "id": 28570, + "nodeType": "PragmaDirective", + "src": "32:24:27", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 28572, + "nodeType": "ImportDirective", + "src": "58:72:27", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/IAllowanceTransfer.sol", + "file": "../interfaces/IAllowanceTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 28688, + "sourceUnit": 28401, + "symbolAliases": [ + { + "foreign": { + "id": 28571, + "name": "IAllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28400, + "src": "66:18:27", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28687, + "nodeType": "ContractDefinition", + "src": "132:1772:27", + "nodes": [ + { + "id": 28575, + "nodeType": "VariableDeclaration", + "src": "247:55:27", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "BLOCK_TIMESTAMP_EXPIRATION", + "nameLocation": "272:26:27", + "scope": 28687, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "247:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 28574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "301:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "private" + }, + { + "id": 28621, + "nodeType": "FunctionDefinition", + "src": "544:522:27", + "nodes": [], + "body": { + "id": 28620, + "nodeType": "Block", + "src": "711:355:27", + "nodes": [], + "statements": [ + { + "assignments": [ + 28589 + ], + "declarations": [ + { + "constant": false, + "id": 28589, + "mutability": "mutable", + "name": "storedNonce", + "nameLocation": "728:11:27", + "nodeType": "VariableDeclaration", + "scope": 28620, + "src": "721:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28588, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "721:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "id": 28590, + "nodeType": "VariableDeclarationStatement", + "src": "721:18:27" + }, + { + "id": 28597, + "nodeType": "UncheckedBlock", + "src": "749:58:27", + "statements": [ + { + "expression": { + "id": 28595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28591, + "name": "storedNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28589, + "src": "773:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "id": 28594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28592, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28585, + "src": "787:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 28593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "795:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "787:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "src": "773:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "id": 28596, + "nodeType": "ExpressionStatement", + "src": "773:23:27" + } + ] + }, + { + "assignments": [ + 28599 + ], + "declarations": [ + { + "constant": false, + "id": 28599, + "mutability": "mutable", + "name": "storedExpiration", + "nameLocation": "824:16:27", + "nodeType": "VariableDeclaration", + "scope": 28620, + "src": "817:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28598, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "817:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "id": 28610, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28600, + "name": "expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28583, + "src": "843:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 28601, + "name": "BLOCK_TIMESTAMP_EXPIRATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28575, + "src": "857:26:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "843:40:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 28608, + "name": "expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28583, + "src": "912:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "id": 28609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "843:79:27", + "trueExpression": { + "arguments": [ + { + "expression": { + "id": 28605, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "893:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 28606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "899:9:27", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "893:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "886:6:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + }, + "typeName": { + "id": 28603, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "886:6:27", + "typeDescriptions": {} + } + }, + "id": 28607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "886:23:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "817:105:27" + }, + { + "assignments": [ + 28612 + ], + "declarations": [ + { + "constant": false, + "id": 28612, + "mutability": "mutable", + "name": "word", + "nameLocation": "941:4:27", + "nodeType": "VariableDeclaration", + "scope": 28620, + "src": "933:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "933:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28618, + "initialValue": { + "arguments": [ + { + "id": 28614, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28581, + "src": "953:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "id": 28615, + "name": "storedExpiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28599, + "src": "961:16:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + { + "id": 28616, + "name": "storedNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28589, + "src": "979:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 28613, + "name": "pack", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28686, + "src": "948:4:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint160_$_t_uint48_$_t_uint48_$returns$_t_uint256_$", + "typeString": "function (uint160,uint48,uint48) pure returns (uint256)" + } + }, + "id": 28617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "948:43:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "933:58:27" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1010:50:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "allowed.slot", + "nodeType": "YulIdentifier", + "src": "1031:12:27" + }, + { + "name": "word", + "nodeType": "YulIdentifier", + "src": "1045:4:27" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "1024:6:27" + }, + "nodeType": "YulFunctionCall", + "src": "1024:26:27" + }, + "nodeType": "YulExpressionStatement", + "src": "1024:26:27" + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 28579, + "isOffset": false, + "isSlot": true, + "src": "1031:12:27", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 28612, + "isOffset": false, + "isSlot": false, + "src": "1045:4:27", + "valueSize": 1 + } + ], + "id": 28619, + "nodeType": "InlineAssembly", + "src": "1001:59:27" + } + ] + }, + "documentation": { + "id": 28576, + "nodeType": "StructuredDocumentation", + "src": "309:230:27", + "text": "@notice Sets the allowed amount, expiry, and nonce of the spender's permissions on owner's token.\n @dev Nonce is incremented.\n @dev If the inputted expiration is 0, the stored expiration is set to block.timestamp" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "updateAll", + "nameLocation": "553:9:27", + "parameters": { + "id": 28586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28579, + "mutability": "mutable", + "name": "allowed", + "nameLocation": "615:7:27", + "nodeType": "VariableDeclaration", + "scope": 28621, + "src": "572:50:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + }, + "typeName": { + "id": 28578, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28577, + "name": "IAllowanceTransfer.PackedAllowance", + "nameLocations": [ + "572:18:27", + "591:15:27" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28297, + "src": "572:34:27" + }, + "referencedDeclaration": 28297, + "src": "572:34:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28581, + "mutability": "mutable", + "name": "amount", + "nameLocation": "640:6:27", + "nodeType": "VariableDeclaration", + "scope": 28621, + "src": "632:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28580, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "632:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28583, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "663:10:27", + "nodeType": "VariableDeclaration", + "scope": 28621, + "src": "656:17:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28582, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "656:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28585, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "690:5:27", + "nodeType": "VariableDeclaration", + "scope": 28621, + "src": "683:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28584, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "683:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "562:139:27" + }, + "returnParameters": { + "id": 28587, + "nodeType": "ParameterList", + "parameters": [], + "src": "711:0:27" + }, + "scope": 28687, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 28654, + "nodeType": "FunctionDefinition", + "src": "1222:382:27", + "nodes": [], + "body": { + "id": 28653, + "nodeType": "Block", + "src": "1383:221:27", + "nodes": [], + "statements": [ + { + "expression": { + "id": 28645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 28632, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28625, + "src": "1489:7:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage pointer" + } + }, + "id": 28634, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1497:10:27", + "memberName": "expiration", + "nodeType": "MemberAccess", + "referencedDeclaration": 28294, + "src": "1489:18:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "id": 28637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28635, + "name": "expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28629, + "src": "1510:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 28636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1524:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1510:15:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 28643, + "name": "expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28629, + "src": "1554:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "id": 28644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1510:54:27", + "trueExpression": { + "arguments": [ + { + "expression": { + "id": 28640, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1535:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 28641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1541:9:27", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1535:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1528:6:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + }, + "typeName": { + "id": 28638, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1528:6:27", + "typeDescriptions": {} + } + }, + "id": 28642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1528:23:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "src": "1489:75:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "id": 28646, + "nodeType": "ExpressionStatement", + "src": "1489:75:27" + }, + { + "expression": { + "id": 28651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 28647, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28625, + "src": "1574:7:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance storage pointer" + } + }, + "id": 28649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1582:6:27", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 28292, + "src": "1574:14:27", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 28650, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28627, + "src": "1591:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "src": "1574:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "id": 28652, + "nodeType": "ExpressionStatement", + "src": "1574:23:27" + } + ] + }, + "documentation": { + "id": 28622, + "nodeType": "StructuredDocumentation", + "src": "1072:145:27", + "text": "@notice Sets the allowed amount and expiry of the spender's permissions on owner's token.\n @dev Nonce does not need to be incremented." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "updateAmountAndExpiration", + "nameLocation": "1231:25:27", + "parameters": { + "id": 28630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28625, + "mutability": "mutable", + "name": "allowed", + "nameLocation": "1309:7:27", + "nodeType": "VariableDeclaration", + "scope": 28654, + "src": "1266:50:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + }, + "typeName": { + "id": 28624, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28623, + "name": "IAllowanceTransfer.PackedAllowance", + "nameLocations": [ + "1266:18:27", + "1285:15:27" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28297, + "src": "1266:34:27" + }, + "referencedDeclaration": 28297, + "src": "1266:34:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedAllowance_$28297_storage_ptr", + "typeString": "struct IAllowanceTransfer.PackedAllowance" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28627, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1334:6:27", + "nodeType": "VariableDeclaration", + "scope": 28654, + "src": "1326:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28626, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "1326:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28629, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "1357:10:27", + "nodeType": "VariableDeclaration", + "scope": 28654, + "src": "1350:17:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28628, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1350:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "1256:117:27" + }, + "returnParameters": { + "id": 28631, + "nodeType": "ParameterList", + "parameters": [], + "src": "1383:0:27" + }, + "scope": 28687, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 28686, + "nodeType": "FunctionDefinition", + "src": "1717:185:27", + "nodes": [], + "body": { + "id": 28685, + "nodeType": "Block", + "src": "1817:85:27", + "nodes": [], + "statements": [ + { + "expression": { + "id": 28683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28666, + "name": "word", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28664, + "src": "1827:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 28669, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28661, + "src": "1843:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 28668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1835:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 28667, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1835:7:27", + "typeDescriptions": {} + } + }, + "id": 28670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1835:14:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "323038", + "id": 28671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1853:3:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + }, + "value": "208" + }, + "src": "1835:21:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 28673, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1834:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 28676, + "name": "expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28659, + "src": "1868:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 28675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1860:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 28674, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1860:7:27", + "typeDescriptions": {} + } + }, + "id": 28677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1860:19:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313630", + "id": 28678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1883:3:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + "value": "160" + }, + "src": "1860:26:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1834:52:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "id": 28681, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28657, + "src": "1889:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "src": "1834:61:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1827:68:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28684, + "nodeType": "ExpressionStatement", + "src": "1827:68:27" + } + ] + }, + "documentation": { + "id": 28655, + "nodeType": "StructuredDocumentation", + "src": "1610:102:27", + "text": "@notice Computes the packed slot of the amount, expiration, and nonce that make up PackedAllowance" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "pack", + "nameLocation": "1726:4:27", + "parameters": { + "id": 28662, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28657, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1739:6:27", + "nodeType": "VariableDeclaration", + "scope": 28686, + "src": "1731:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 28656, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "1731:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28659, + "mutability": "mutable", + "name": "expiration", + "nameLocation": "1754:10:27", + "nodeType": "VariableDeclaration", + "scope": 28686, + "src": "1747:17:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28658, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1747:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28661, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1773:5:27", + "nodeType": "VariableDeclaration", + "scope": 28686, + "src": "1766:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28660, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1766:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "1730:49:27" + }, + "returnParameters": { + "id": 28665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28664, + "mutability": "mutable", + "name": "word", + "nameLocation": "1811:4:27", + "nodeType": "VariableDeclaration", + "scope": 28686, + "src": "1803:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1803:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1802:14:27" + }, + "scope": 28687, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "Allowance", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 28687 + ], + "name": "Allowance", + "nameLocation": "140:9:27", + "scope": 28688, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/libraries/Permit2Lib.sol": { + "id": 28, + "ast": { + "absolutePath": "lib/permit2/src/libraries/Permit2Lib.sol", + "id": 28902, + "exportedSymbols": { + "ERC20": [ + 29937 + ], + "IAllowanceTransfer": [ + 28400 + ], + "IDAIPermit": [ + 28423 + ], + "Permit2": [ + 27750 + ], + "Permit2Lib": [ + 28901 + ], + "SafeCast160": [ + 29332 + ] + }, + "nodeType": "SourceUnit", + "src": "32:7243:28", + "nodes": [ + { + "id": 28689, + "nodeType": "PragmaDirective", + "src": "32:24:28", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 28691, + "nodeType": "ImportDirective", + "src": "58:51:28", + "nodes": [], + "absolutePath": "lib/solmate/src/tokens/ERC20.sol", + "file": "solmate/src/tokens/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 28902, + "sourceUnit": 29938, + "symbolAliases": [ + { + "foreign": { + "id": 28690, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "66:5:28", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28693, + "nodeType": "ImportDirective", + "src": "111:39:28", + "nodes": [], + "absolutePath": "lib/permit2/src/Permit2.sol", + "file": "../Permit2.sol", + "nameLocation": "-1:-1:-1", + "scope": 28902, + "sourceUnit": 27751, + "symbolAliases": [ + { + "foreign": { + "id": 28692, + "name": "Permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27750, + "src": "119:7:28", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28695, + "nodeType": "ImportDirective", + "src": "151:56:28", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/IDAIPermit.sol", + "file": "../interfaces/IDAIPermit.sol", + "nameLocation": "-1:-1:-1", + "scope": 28902, + "sourceUnit": 28424, + "symbolAliases": [ + { + "foreign": { + "id": 28694, + "name": "IDAIPermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28423, + "src": "159:10:28", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28697, + "nodeType": "ImportDirective", + "src": "208:72:28", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/IAllowanceTransfer.sol", + "file": "../interfaces/IAllowanceTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 28902, + "sourceUnit": 28401, + "symbolAliases": [ + { + "foreign": { + "id": 28696, + "name": "IAllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28400, + "src": "216:18:28", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28699, + "nodeType": "ImportDirective", + "src": "281:46:28", + "nodes": [], + "absolutePath": "lib/permit2/src/libraries/SafeCast160.sol", + "file": "./SafeCast160.sol", + "nameLocation": "-1:-1:-1", + "scope": 28902, + "sourceUnit": 29333, + "symbolAliases": [ + { + "foreign": { + "id": 28698, + "name": "SafeCast160", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29332, + "src": "289:11:28", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28901, + "nodeType": "ContractDefinition", + "src": "462:6812:28", + "nodes": [ + { + "id": 28703, + "nodeType": "UsingForDirective", + "src": "487:30:28", + "nodes": [], + "global": false, + "libraryName": { + "id": 28701, + "name": "SafeCast160", + "nameLocations": [ + "493:11:28" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29332, + "src": "493:11:28" + }, + "typeName": { + "id": 28702, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "509:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 28707, + "nodeType": "VariableDeclaration", + "src": "787:115:28", + "nodes": [], + "constant": true, + "documentation": { + "id": 28704, + "nodeType": "StructuredDocumentation", + "src": "703:79:28", + "text": "@dev The unique EIP-712 domain domain separator for the DAI token contract." + }, + "mutability": "constant", + "name": "DAI_DOMAIN_SEPARATOR", + "nameLocation": "813:20:28", + "scope": 28901, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28705, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "787:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307864626238636634326531656362303238626533663364626339323265316438373862393633663431316463333838636564353031363031633630663763366637", + "id": 28706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "836:66:28", + "typeDescriptions": { + "typeIdentifier": "t_rational_99383044164297460920199564169379472118763403594000230800569066591923778078455_by_1", + "typeString": "int_const 9938...(69 digits omitted)...8455" + }, + "value": "0xdbb8cf42e1ecb028be3f3dbc922e1d878b963f411dc388ced501601c60f7c6f7" + }, + "visibility": "internal" + }, + { + "id": 28711, + "nodeType": "VariableDeclaration", + "src": "1000:108:28", + "nodes": [], + "constant": true, + "documentation": { + "id": 28708, + "nodeType": "StructuredDocumentation", + "src": "909:86:28", + "text": "@dev The address for the WETH9 contract on Ethereum mainnet, encoded as a bytes32." + }, + "mutability": "constant", + "name": "WETH9_ADDRESS", + "nameLocation": "1026:13:28", + "scope": 28901, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28709, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1000:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307830303030303030303030303030303030303030303030303063303261616133396232323366653864306130653563346632376561643930383363373536636332", + "id": 28710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1042:66:28", + "typeDescriptions": { + "typeIdentifier": "t_rational_1097077688018008265106216665536940668749033598146_by_1", + "typeString": "int_const 1097...(41 digits omitted)...8146" + }, + "value": "0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" + }, + "visibility": "internal" + }, + { + "id": 28721, + "nodeType": "VariableDeclaration", + "src": "1186:96:28", + "nodes": [], + "constant": true, + "documentation": { + "id": 28712, + "nodeType": "StructuredDocumentation", + "src": "1115:66:28", + "text": "@dev The address of the Permit2 contract the library will use." + }, + "mutability": "constant", + "name": "PERMIT2", + "nameLocation": "1212:7:28", + "scope": 28901, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + "typeName": { + "id": 28714, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28713, + "name": "Permit2", + "nameLocations": [ + "1186:7:28" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27750, + "src": "1186:7:28" + }, + "referencedDeclaration": 27750, + "src": "1186:7:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "307830303030303030303030323244343733303330463131366444454539463642343361433738424133", + "id": 28718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1238:42:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1230:7:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 28716, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1230:7:28", + "typeDescriptions": {} + } + }, + "id": 28719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1230:51:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28715, + "name": "Permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27750, + "src": "1222:7:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Permit2_$27750_$", + "typeString": "type(contract Permit2)" + } + }, + "id": 28720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1222:60:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "visibility": "internal" + }, + { + "id": 28768, + "nodeType": "FunctionDefinition", + "src": "1545:1272:28", + "nodes": [], + "body": { + "id": 28767, + "nodeType": "Block", + "src": "1632:1185:28", + "nodes": [], + "statements": [ + { + "assignments": [ + 28735 + ], + "declarations": [ + { + "constant": false, + "id": 28735, + "mutability": "mutable", + "name": "inputData", + "nameLocation": "1718:9:28", + "nodeType": "VariableDeclaration", + "scope": 28767, + "src": "1705:22:28", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28734, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1705:5:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 28745, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 28738, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "1745:5:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 28739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1751:12:28", + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 29748, + "src": "1745:18:28", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function ERC20.transferFrom(address,address,uint256) returns (bool)" + } + }, + { + "components": [ + { + "id": 28740, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28727, + "src": "1766:4:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28741, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28729, + "src": "1772:2:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28742, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28731, + "src": "1776:6:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 28743, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1765:18:28", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_address_$_t_uint256_$", + "typeString": "tuple(address,address,uint256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function ERC20.transferFrom(address,address,uint256) returns (bool)" + }, + { + "typeIdentifier": "t_tuple$_t_address_$_t_address_$_t_uint256_$", + "typeString": "tuple(address,address,uint256)" + } + ], + "expression": { + "id": 28736, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1730:3:28", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1734:10:28", + "memberName": "encodeCall", + "nodeType": "MemberAccess", + "src": "1730:14:28", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 28744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1730:54:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1705:79:28" + }, + { + "assignments": [ + 28747 + ], + "declarations": [ + { + "constant": false, + "id": 28747, + "mutability": "mutable", + "name": "success", + "nameLocation": "1800:7:28", + "nodeType": "VariableDeclaration", + "scope": 28767, + "src": "1795:12:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28746, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1795:4:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 28748, + "nodeType": "VariableDeclarationStatement", + "src": "1795:12:28" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1896:724:28", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1910:700:28", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2161:1:28", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2155:5:28" + }, + "nodeType": "YulFunctionCall", + "src": "2155:8:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2165:1:28", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2152:2:28" + }, + "nodeType": "YulFunctionCall", + "src": "2152:15:28" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "2176:14:28" + }, + "nodeType": "YulFunctionCall", + "src": "2176:16:28" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2169:6:28" + }, + "nodeType": "YulFunctionCall", + "src": "2169:24:28" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "2149:2:28" + }, + "nodeType": "YulFunctionCall", + "src": "2149:45:28" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "2531:3:28" + }, + "nodeType": "YulFunctionCall", + "src": "2531:5:28" + }, + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "2538:5:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2545:1:28", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "name": "inputData", + "nodeType": "YulIdentifier", + "src": "2552:9:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2563:2:28", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2548:3:28" + }, + "nodeType": "YulFunctionCall", + "src": "2548:18:28" + }, + { + "arguments": [ + { + "name": "inputData", + "nodeType": "YulIdentifier", + "src": "2574:9:28" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2568:5:28" + }, + "nodeType": "YulFunctionCall", + "src": "2568:16:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2586:1:28", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2589:2:28", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "2526:4:28" + }, + "nodeType": "YulFunctionCall", + "src": "2526:66:28" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1937:3:28" + }, + "nodeType": "YulFunctionCall", + "src": "1937:673:28" + }, + "variableNames": [ + { + "name": "success", + "nodeType": "YulIdentifier", + "src": "1910:7:28" + } + ] + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 28735, + "isOffset": false, + "isSlot": false, + "src": "2552:9:28", + "valueSize": 1 + }, + { + "declaration": 28735, + "isOffset": false, + "isSlot": false, + "src": "2574:9:28", + "valueSize": 1 + }, + { + "declaration": 28747, + "isOffset": false, + "isSlot": false, + "src": "1910:7:28", + "valueSize": 1 + }, + { + "declaration": 28725, + "isOffset": false, + "isSlot": false, + "src": "2538:5:28", + "valueSize": 1 + } + ], + "id": 28749, + "nodeType": "InlineAssembly", + "src": "1887:733:28" + }, + { + "condition": { + "id": 28751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2734:8:28", + "subExpression": { + "id": 28750, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28747, + "src": "2735:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28766, + "nodeType": "IfStatement", + "src": "2730:80:28", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 28755, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28727, + "src": "2765:4:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28756, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28729, + "src": "2771:2:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 28757, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28731, + "src": "2775:6:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2782:9:28", + "memberName": "toUint160", + "nodeType": "MemberAccess", + "referencedDeclaration": 29331, + "src": "2775:16:28", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint160_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint160)" + } + }, + "id": 28759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2775:18:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "arguments": [ + { + "id": 28762, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28725, + "src": "2803:5:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + ], + "id": 28761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2795:7:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 28760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2795:7:28", + "typeDescriptions": {} + } + }, + "id": 28763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2795:14:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 28752, + "name": "PERMIT2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28721, + "src": "2744:7:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 28754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2752:12:28", + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 27315, + "src": "2744:20:28", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint160_$_t_address_$returns$__$", + "typeString": "function (address,address,uint160,address) external" + } + }, + "id": 28764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2744:66:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28765, + "nodeType": "ExpressionStatement", + "src": "2744:66:28" + } + } + ] + }, + "documentation": { + "id": 28722, + "nodeType": "StructuredDocumentation", + "src": "1289:251:28", + "text": "@notice Transfer a given amount of tokens from one user to another.\n @param token The token to transfer.\n @param from The user to transfer from.\n @param to The user to transfer to.\n @param amount The amount to transfer." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom2", + "nameLocation": "1554:13:28", + "parameters": { + "id": 28732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28725, + "mutability": "mutable", + "name": "token", + "nameLocation": "1574:5:28", + "nodeType": "VariableDeclaration", + "scope": 28768, + "src": "1568:11:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + }, + "typeName": { + "id": 28724, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28723, + "name": "ERC20", + "nameLocations": [ + "1568:5:28" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "1568:5:28" + }, + "referencedDeclaration": 29937, + "src": "1568:5:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28727, + "mutability": "mutable", + "name": "from", + "nameLocation": "1589:4:28", + "nodeType": "VariableDeclaration", + "scope": 28768, + "src": "1581:12:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28726, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1581:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28729, + "mutability": "mutable", + "name": "to", + "nameLocation": "1603:2:28", + "nodeType": "VariableDeclaration", + "scope": 28768, + "src": "1595:10:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28728, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1595:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28731, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1615:6:28", + "nodeType": "VariableDeclaration", + "scope": 28768, + "src": "1607:14:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1607:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1567:55:28" + }, + "returnParameters": { + "id": 28733, + "nodeType": "ParameterList", + "parameters": [], + "src": "1632:0:28" + }, + "scope": 28901, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 28900, + "nodeType": "FunctionDefinition", + "src": "3699:3573:28", + "nodes": [], + "body": { + "id": 28899, + "nodeType": "Block", + "src": "3905:3367:28", + "nodes": [], + "statements": [ + { + "assignments": [ + 28790 + ], + "declarations": [ + { + "constant": false, + "id": 28790, + "mutability": "mutable", + "name": "inputData", + "nameLocation": "4002:9:28", + "nodeType": "VariableDeclaration", + "scope": 28899, + "src": "3989:22:28", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 28789, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3989:5:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 28797, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 28793, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "4037:5:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 28794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4043:16:28", + "memberName": "DOMAIN_SEPARATOR", + "nodeType": "MemberAccess", + "referencedDeclaration": 29850, + "src": "4037:22:28", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_view$__$returns$_t_bytes32_$", + "typeString": "function ERC20.DOMAIN_SEPARATOR() view returns (bytes32)" + } + }, + "id": 28795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4060:8:28", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "4037:31:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 28791, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4014:3:28", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4018:18:28", + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "4014:22:28", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 28796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4014:55:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3989:80:28" + }, + { + "assignments": [ + 28799 + ], + "declarations": [ + { + "constant": false, + "id": 28799, + "mutability": "mutable", + "name": "success", + "nameLocation": "4085:7:28", + "nodeType": "VariableDeclaration", + "scope": 28899, + "src": "4080:12:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28798, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4080:4:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 28800, + "nodeType": "VariableDeclarationStatement", + "src": "4080:12:28" + }, + { + "assignments": [ + 28802 + ], + "declarations": [ + { + "constant": false, + "id": 28802, + "mutability": "mutable", + "name": "domainSeparator", + "nameLocation": "4180:15:28", + "nodeType": "VariableDeclaration", + "scope": 28899, + "src": "4172:23:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28801, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4172:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 28803, + "nodeType": "VariableDeclarationStatement", + "src": "4172:23:28" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "4278:1344:28", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4595:1017:28", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4613:880:28", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4789:1:28", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4783:5:28" + }, + "nodeType": "YulFunctionCall", + "src": "4783:8:28" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4776:6:28" + }, + "nodeType": "YulFunctionCall", + "src": "4776:16:28" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4769:6:28" + }, + "nodeType": "YulFunctionCall", + "src": "4769:24:28" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "4798:14:28" + }, + "nodeType": "YulFunctionCall", + "src": "4798:16:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4816:2:28", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4795:2:28" + }, + "nodeType": "YulFunctionCall", + "src": "4795:24:28" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4765:3:28" + }, + "nodeType": "YulFunctionCall", + "src": "4765:55:28" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5414:4:28", + "type": "", + "value": "5000" + }, + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "5420:5:28" + }, + { + "arguments": [ + { + "name": "inputData", + "nodeType": "YulIdentifier", + "src": "5431:9:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5442:2:28", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5427:3:28" + }, + "nodeType": "YulFunctionCall", + "src": "5427:18:28" + }, + { + "arguments": [ + { + "name": "inputData", + "nodeType": "YulIdentifier", + "src": "5453:9:28" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5447:5:28" + }, + "nodeType": "YulFunctionCall", + "src": "5447:16:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5465:1:28", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5468:2:28", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "staticcall", + "nodeType": "YulIdentifier", + "src": "5403:10:28" + }, + "nodeType": "YulFunctionCall", + "src": "5403:68:28" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4644:3:28" + }, + "nodeType": "YulFunctionCall", + "src": "4644:849:28" + }, + "variableNames": [ + { + "name": "success", + "nodeType": "YulIdentifier", + "src": "4613:7:28" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5511:27:28", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5536:1:28", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5530:5:28" + }, + "nodeType": "YulFunctionCall", + "src": "5530:8:28" + }, + "variableNames": [ + { + "name": "domainSeparator", + "nodeType": "YulIdentifier", + "src": "5511:15:28" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "4527:5:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4534:42:28", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4523:3:28" + }, + "nodeType": "YulFunctionCall", + "src": "4523:54:28" + }, + { + "name": "WETH9_ADDRESS", + "nodeType": "YulIdentifier", + "src": "4579:13:28" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4520:2:28" + }, + "nodeType": "YulFunctionCall", + "src": "4520:73:28" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4513:6:28" + }, + "nodeType": "YulFunctionCall", + "src": "4513:81:28" + }, + "nodeType": "YulIf", + "src": "4510:1102:28" + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 28711, + "isOffset": false, + "isSlot": false, + "src": "4579:13:28", + "valueSize": 1 + }, + { + "declaration": 28802, + "isOffset": false, + "isSlot": false, + "src": "5511:15:28", + "valueSize": 1 + }, + { + "declaration": 28790, + "isOffset": false, + "isSlot": false, + "src": "5431:9:28", + "valueSize": 1 + }, + { + "declaration": 28790, + "isOffset": false, + "isSlot": false, + "src": "5453:9:28", + "valueSize": 1 + }, + { + "declaration": 28799, + "isOffset": false, + "isSlot": false, + "src": "4613:7:28", + "valueSize": 1 + }, + { + "declaration": 28772, + "isOffset": false, + "isSlot": false, + "src": "4527:5:28", + "valueSize": 1 + }, + { + "declaration": 28772, + "isOffset": false, + "isSlot": false, + "src": "5420:5:28", + "valueSize": 1 + } + ], + "id": 28804, + "nodeType": "InlineAssembly", + "src": "4269:1353:28" + }, + { + "condition": { + "id": 28805, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28799, + "src": "5721:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28845, + "nodeType": "IfStatement", + "src": "5717:591:28", + "trueBody": { + "id": 28844, + "nodeType": "Block", + "src": "5730:578:28", + "statements": [ + { + "expression": { + "id": 28841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28806, + "name": "inputData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28790, + "src": "5907:9:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 28809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28807, + "name": "domainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28802, + "src": "5919:15:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 28808, + "name": "DAI_DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28707, + "src": "5938:20:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5919:39:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "arguments": [ + { + "expression": { + "id": 28829, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "6108:5:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 28830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6114:6:28", + "memberName": "permit", + "nodeType": "MemberAccess", + "referencedDeclaration": 29835, + "src": "6108:12:28", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)" + } + }, + { + "components": [ + { + "id": 28831, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28774, + "src": "6123:5:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28832, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28776, + "src": "6130:7:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28833, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28778, + "src": "6139:6:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 28834, + "name": "deadline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28780, + "src": "6147:8:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 28835, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28782, + "src": "6157:1:28", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 28836, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28784, + "src": "6160:1:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 28837, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28786, + "src": "6163:1:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 28838, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6122:43:28", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(address,address,uint256,uint256,uint8,bytes32,bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)" + }, + { + "typeIdentifier": "t_tuple$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(address,address,uint256,uint256,uint8,bytes32,bytes32)" + } + ], + "expression": { + "id": 28827, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6093:3:28", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6097:10:28", + "memberName": "encodeCall", + "nodeType": "MemberAccess", + "src": "6093:14:28", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 28839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6093:73:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 28840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "5919:247:28", + "trueExpression": { + "arguments": [ + { + "expression": { + "id": 28812, + "name": "IDAIPermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28423, + "src": "5992:10:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IDAIPermit_$28423_$", + "typeString": "type(contract IDAIPermit)" + } + }, + "id": 28813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6003:6:28", + "memberName": "permit", + "nodeType": "MemberAccess", + "referencedDeclaration": 28422, + "src": "5992:17:28", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function IDAIPermit.permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)" + } + }, + { + "components": [ + { + "id": 28814, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28774, + "src": "6012:5:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28815, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28776, + "src": "6019:7:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 28818, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28774, + "src": "6041:5:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 28816, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28772, + "src": "6028:5:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "id": 28817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6034:6:28", + "memberName": "nonces", + "nodeType": "MemberAccess", + "referencedDeclaration": 29594, + "src": "6028:12:28", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 28819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6028:19:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 28820, + "name": "deadline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28780, + "src": "6049:8:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", + "id": 28821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6059:4:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "id": 28822, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28782, + "src": "6065:1:28", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 28823, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28784, + "src": "6068:1:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 28824, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28786, + "src": "6071:1:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 28825, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6011:62:28", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function IDAIPermit.permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)" + }, + { + "typeIdentifier": "t_tuple$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)" + } + ], + "expression": { + "id": 28810, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5977:3:28", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5981:10:28", + "memberName": "encodeCall", + "nodeType": "MemberAccess", + "src": "5977:14:28", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 28826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5977:97:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "5907:259:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 28842, + "nodeType": "ExpressionStatement", + "src": "5907:259:28" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "6190:108:28", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6208:76:28", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "6224:3:28" + }, + "nodeType": "YulFunctionCall", + "src": "6224:5:28" + }, + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "6231:5:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6238:1:28", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "name": "inputData", + "nodeType": "YulIdentifier", + "src": "6245:9:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6256:2:28", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6241:3:28" + }, + "nodeType": "YulFunctionCall", + "src": "6241:18:28" + }, + { + "arguments": [ + { + "name": "inputData", + "nodeType": "YulIdentifier", + "src": "6267:9:28" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6261:5:28" + }, + "nodeType": "YulFunctionCall", + "src": "6261:16:28" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6279:1:28", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6282:1:28", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "6219:4:28" + }, + "nodeType": "YulFunctionCall", + "src": "6219:65:28" + }, + "variableNames": [ + { + "name": "success", + "nodeType": "YulIdentifier", + "src": "6208:7:28" + } + ] + } + ] + }, + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 28790, + "isOffset": false, + "isSlot": false, + "src": "6245:9:28", + "valueSize": 1 + }, + { + "declaration": 28790, + "isOffset": false, + "isSlot": false, + "src": "6267:9:28", + "valueSize": 1 + }, + { + "declaration": 28799, + "isOffset": false, + "isSlot": false, + "src": "6208:7:28", + "valueSize": 1 + }, + { + "declaration": 28772, + "isOffset": false, + "isSlot": false, + "src": "6231:5:28", + "valueSize": 1 + } + ], + "id": 28843, + "nodeType": "InlineAssembly", + "src": "6181:117:28" + } + ] + } + }, + { + "condition": { + "id": 28847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6322:8:28", + "subExpression": { + "id": 28846, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28799, + "src": "6323:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28898, + "nodeType": "IfStatement", + "src": "6318:948:28", + "trueBody": { + "id": 28897, + "nodeType": "Block", + "src": "6332:934:28", + "statements": [ + { + "assignments": [ + null, + null, + 28849 + ], + "declarations": [ + null, + null, + { + "constant": false, + "id": 28849, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "6512:5:28", + "nodeType": "VariableDeclaration", + "scope": 28897, + "src": "6505:12:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 28848, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "6505:6:28", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "id": 28859, + "initialValue": { + "arguments": [ + { + "id": 28852, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28774, + "src": "6539:5:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 28855, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28772, + "src": "6554:5:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + ], + "id": 28854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6546:7:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 28853, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6546:7:28", + "typeDescriptions": {} + } + }, + "id": 28856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6546:14:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28857, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28776, + "src": "6562:7:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 28850, + "name": "PERMIT2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28721, + "src": "6521:7:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 28851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6529:9:28", + "memberName": "allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 27145, + "src": "6521:17:28", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_address_$returns$_t_uint160_$_t_uint48_$_t_uint48_$", + "typeString": "function (address,address,address) view external returns (uint160,uint48,uint48)" + } + }, + "id": 28858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6521:49:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint160_$_t_uint48_$_t_uint48_$", + "typeString": "tuple(uint160,uint48,uint48)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6501:69:28" + }, + { + "expression": { + "arguments": [ + { + "id": 28863, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28774, + "src": "6617:5:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 28870, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28772, + "src": "6777:5:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + ], + "id": 28869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6769:7:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 28868, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6769:7:28", + "typeDescriptions": {} + } + }, + "id": 28871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6769:14:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 28872, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28778, + "src": "6817:6:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6824:9:28", + "memberName": "toUint160", + "nodeType": "MemberAccess", + "referencedDeclaration": 29331, + "src": "6817:16:28", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint160_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint160)" + } + }, + "id": 28874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6817:18:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "expression": { + "arguments": [ + { + "id": 28877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7022:6:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + }, + "typeName": { + "id": 28876, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "7022:6:28", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + } + ], + "id": 28875, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "7017:4:28", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 28878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7017:12:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint48", + "typeString": "type(uint48)" + } + }, + "id": 28879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7030:3:28", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "7017:16:28", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + { + "id": 28880, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28849, + "src": "7066:5:28", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "expression": { + "id": 28866, + "name": "IAllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28400, + "src": "6703:18:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAllowanceTransfer_$28400_$", + "typeString": "type(contract IAllowanceTransfer)" + } + }, + "id": 28867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6722:13:28", + "memberName": "PermitDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 28273, + "src": "6703:32:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PermitDetails_$28273_storage_ptr_$", + "typeString": "type(struct IAllowanceTransfer.PermitDetails storage pointer)" + } + }, + "id": 28881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "6762:5:28", + "6809:6:28", + "7005:10:28", + "7059:5:28" + ], + "names": [ + "token", + "amount", + "expiration", + "nonce" + ], + "nodeType": "FunctionCall", + "src": "6703:391:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + }, + { + "id": 28882, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28776, + "src": "7125:7:28", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28883, + "name": "deadline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28780, + "src": "7167:8:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 28864, + "name": "IAllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28400, + "src": "6640:18:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAllowanceTransfer_$28400_$", + "typeString": "type(contract IAllowanceTransfer)" + } + }, + "id": 28865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6659:12:28", + "memberName": "PermitSingle", + "nodeType": "MemberAccess", + "referencedDeclaration": 28281, + "src": "6640:31:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PermitSingle_$28281_storage_ptr_$", + "typeString": "type(struct IAllowanceTransfer.PermitSingle storage pointer)" + } + }, + "id": 28884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "6694:7:28", + "7116:7:28", + "7154:11:28" + ], + "names": [ + "details", + "spender", + "sigDeadline" + ], + "nodeType": "FunctionCall", + "src": "6640:554:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + { + "arguments": [ + { + "id": 28888, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28784, + "src": "7225:1:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 28889, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28786, + "src": "7228:1:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "id": 28892, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28782, + "src": "7238:1:28", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 28891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7231:6:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 28890, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "7231:6:28", + "typeDescriptions": {} + } + }, + "id": 28893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7231:9:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "expression": { + "id": 28886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7212:5:28", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 28885, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7212:5:28", + "typeDescriptions": {} + } + }, + "id": 28887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7218:6:28", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "7212:12:28", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 28894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7212:29:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 28860, + "name": "PERMIT2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28721, + "src": "6585:7:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 28862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6593:6:28", + "memberName": "permit", + "nodeType": "MemberAccess", + "referencedDeclaration": 27228, + "src": "6585:14:28", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_struct$_PermitSingle_$28281_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,struct IAllowanceTransfer.PermitSingle memory,bytes memory) external" + } + }, + "id": 28895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6585:670:28", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28896, + "nodeType": "ExpressionStatement", + "src": "6585:670:28" + } + ] + } + } + ] + }, + "documentation": { + "id": 28769, + "nodeType": "StructuredDocumentation", + "src": "3005:689:28", + "text": "@notice Permit a user to spend a given amount of\n another user's tokens via the owner's EIP-712 signature.\n @param token The token to permit spending.\n @param owner The user to permit spending from.\n @param spender The user to permit spending to.\n @param amount The amount to permit spending.\n @param deadline The timestamp after which the signature is no longer valid.\n @param v Must produce valid secp256k1 signature from the owner along with r and s.\n @param r Must produce valid secp256k1 signature from the owner along with v and s.\n @param s Must produce valid secp256k1 signature from the owner along with r and v." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permit2", + "nameLocation": "3708:7:28", + "parameters": { + "id": 28787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28772, + "mutability": "mutable", + "name": "token", + "nameLocation": "3731:5:28", + "nodeType": "VariableDeclaration", + "scope": 28900, + "src": "3725:11:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + }, + "typeName": { + "id": 28771, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28770, + "name": "ERC20", + "nameLocations": [ + "3725:5:28" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "3725:5:28" + }, + "referencedDeclaration": 29937, + "src": "3725:5:28", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28774, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3754:5:28", + "nodeType": "VariableDeclaration", + "scope": 28900, + "src": "3746:13:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28773, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3746:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28776, + "mutability": "mutable", + "name": "spender", + "nameLocation": "3777:7:28", + "nodeType": "VariableDeclaration", + "scope": 28900, + "src": "3769:15:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28775, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3769:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28778, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3802:6:28", + "nodeType": "VariableDeclaration", + "scope": 28900, + "src": "3794:14:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28777, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3794:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28780, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "3826:8:28", + "nodeType": "VariableDeclaration", + "scope": 28900, + "src": "3818:16:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3818:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28782, + "mutability": "mutable", + "name": "v", + "nameLocation": "3850:1:28", + "nodeType": "VariableDeclaration", + "scope": 28900, + "src": "3844:7:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 28781, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3844:5:28", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28784, + "mutability": "mutable", + "name": "r", + "nameLocation": "3869:1:28", + "nodeType": "VariableDeclaration", + "scope": 28900, + "src": "3861:9:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28783, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3861:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28786, + "mutability": "mutable", + "name": "s", + "nameLocation": "3888:1:28", + "nodeType": "VariableDeclaration", + "scope": 28900, + "src": "3880:9:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28785, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3880:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3715:180:28" + }, + "returnParameters": { + "id": 28788, + "nodeType": "ParameterList", + "parameters": [], + "src": "3905:0:28" + }, + "scope": 28901, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "Permit2Lib", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 28700, + "nodeType": "StructuredDocumentation", + "src": "329:133:28", + "text": "@title Permit2Lib\n @notice Enables efficient transfers and EIP-2612/DAI\n permits for any token by falling back to Permit2." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 28901 + ], + "name": "Permit2Lib", + "nameLocation": "470:10:28", + "scope": 28902, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/libraries/PermitHash.sol": { + "id": 29, + "ast": { + "absolutePath": "lib/permit2/src/libraries/PermitHash.sol", + "id": 29302, + "exportedSymbols": { + "IAllowanceTransfer": [ + 28400 + ], + "ISignatureTransfer": [ + 28568 + ], + "PermitHash": [ + 29301 + ] + }, + "nodeType": "SourceUnit", + "src": "32:5739:29", + "nodes": [ + { + "id": 28903, + "nodeType": "PragmaDirective", + "src": "32:24:29", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 28905, + "nodeType": "ImportDirective", + "src": "58:72:29", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/IAllowanceTransfer.sol", + "file": "../interfaces/IAllowanceTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 29302, + "sourceUnit": 28401, + "symbolAliases": [ + { + "foreign": { + "id": 28904, + "name": "IAllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28400, + "src": "66:18:29", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28907, + "nodeType": "ImportDirective", + "src": "131:72:29", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "file": "../interfaces/ISignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 29302, + "sourceUnit": 28569, + "symbolAliases": [ + { + "foreign": { + "id": 28906, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "139:18:29", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 29301, + "nodeType": "ContractDefinition", + "src": "205:5565:29", + "nodes": [ + { + "id": 28912, + "nodeType": "VariableDeclaration", + "src": "230:146:29", + "nodes": [], + "constant": true, + "functionSelector": "6e4f2775", + "mutability": "constant", + "name": "_PERMIT_DETAILS_TYPEHASH", + "nameLocation": "254:24:29", + "scope": 29301, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28908, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "230:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d697444657461696c73286164647265737320746f6b656e2c75696e7431363020616d6f756e742c75696e7434382065787069726174696f6e2c75696e743438206e6f6e636529", + "id": 28910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "299:76:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678", + "typeString": "literal_string \"PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + }, + "value": "PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678", + "typeString": "literal_string \"PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + } + ], + "id": 28909, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "289:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 28911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "289:87:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 28917, + "nodeType": "VariableDeclaration", + "src": "383:222:29", + "nodes": [], + "constant": true, + "functionSelector": "c5df4f03", + "mutability": "constant", + "name": "_PERMIT_SINGLE_TYPEHASH", + "nameLocation": "407:23:29", + "scope": 29301, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28913, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "383:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d697453696e676c65285065726d697444657461696c732064657461696c732c61646472657373207370656e6465722c75696e7432353620736967446561646c696e65295065726d697444657461696c73286164647265737320746f6b656e2c75696e7431363020616d6f756e742c75696e7434382065787069726174696f6e2c75696e743438206e6f6e636529", + "id": 28915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "452:147:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0", + "typeString": "literal_string \"PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + }, + "value": "PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0", + "typeString": "literal_string \"PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + } + ], + "id": 28914, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "433:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 28916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "433:172:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 28922, + "nodeType": "VariableDeclaration", + "src": "612:222:29", + "nodes": [], + "constant": true, + "functionSelector": "6302c3cf", + "mutability": "constant", + "name": "_PERMIT_BATCH_TYPEHASH", + "nameLocation": "636:22:29", + "scope": 29301, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28918, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "612:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d69744261746368285065726d697444657461696c735b5d2064657461696c732c61646472657373207370656e6465722c75696e7432353620736967446561646c696e65295065726d697444657461696c73286164647265737320746f6b656e2c75696e7431363020616d6f756e742c75696e7434382065787069726174696f6e2c75696e743438206e6f6e636529", + "id": 28920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "680:148:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863", + "typeString": "literal_string \"PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + }, + "value": "PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_af1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863", + "typeString": "literal_string \"PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + } + ], + "id": 28919, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "661:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 28921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "661:173:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 28927, + "nodeType": "VariableDeclaration", + "src": "841:113:29", + "nodes": [], + "constant": true, + "functionSelector": "415e982d", + "mutability": "constant", + "name": "_TOKEN_PERMISSIONS_TYPEHASH", + "nameLocation": "865:27:29", + "scope": 29301, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28923, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "841:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e7429", + "id": 28925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "905:48:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1", + "typeString": "literal_string \"TokenPermissions(address token,uint256 amount)\"" + }, + "value": "TokenPermissions(address token,uint256 amount)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1", + "typeString": "literal_string \"TokenPermissions(address token,uint256 amount)\"" + } + ], + "id": 28924, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "895:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 28926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "895:59:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 28932, + "nodeType": "VariableDeclaration", + "src": "961:223:29", + "nodes": [], + "constant": true, + "functionSelector": "78f16830", + "mutability": "constant", + "name": "_PERMIT_TRANSFER_FROM_TYPEHASH", + "nameLocation": "985:30:29", + "scope": 29301, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28928, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "961:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d69745472616e7366657246726f6d28546f6b656e5065726d697373696f6e73207065726d69747465642c61646472657373207370656e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e7429", + "id": 28930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1037:141:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106", + "typeString": "literal_string \"PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"" + }, + "value": "PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106", + "typeString": "literal_string \"PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"" + } + ], + "id": 28929, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1018:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 28931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1018:166:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 28937, + "nodeType": "VariableDeclaration", + "src": "1191:236:29", + "nodes": [], + "constant": true, + "functionSelector": "3eb8b8fd", + "mutability": "constant", + "name": "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH", + "nameLocation": "1215:36:29", + "scope": 29301, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28933, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1191:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d697442617463685472616e7366657246726f6d28546f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472657373207370656e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e7429", + "id": 28935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:148:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b766", + "typeString": "literal_string \"PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"" + }, + "value": "PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b766", + "typeString": "literal_string \"PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"" + } + ], + "id": 28934, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1254:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 28936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1254:173:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 28940, + "nodeType": "VariableDeclaration", + "src": "1434:103:29", + "nodes": [], + "constant": true, + "functionSelector": "c0c7fa7e", + "mutability": "constant", + "name": "_TOKEN_PERMISSIONS_TYPESTRING", + "nameLocation": "1457:29:29", + "scope": 29301, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28938, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1434:6:29", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "hexValue": "546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e7429", + "id": 28939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1489:48:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1", + "typeString": "literal_string \"TokenPermissions(address token,uint256 amount)\"" + }, + "value": "TokenPermissions(address token,uint256 amount)" + }, + "visibility": "public" + }, + { + "id": 28943, + "nodeType": "VariableDeclaration", + "src": "1544:179:29", + "nodes": [], + "constant": true, + "functionSelector": "84b8efbb", + "mutability": "constant", + "name": "_PERMIT_TRANSFER_FROM_WITNESS_TYPEHASH_STUB", + "nameLocation": "1567:43:29", + "scope": 29301, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28941, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1544:6:29", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "hexValue": "5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5065726d697373696f6e73207065726d69747465642c61646472657373207370656e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e652c", + "id": 28942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1621:102:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7c29ab44842e91090848780f4cd9a6c05ba5b883d9f1f1ad134563b61518940b", + "typeString": "literal_string \"PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,\"" + }, + "value": "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline," + }, + "visibility": "public" + }, + { + "id": 28946, + "nodeType": "VariableDeclaration", + "src": "1730:192:29", + "nodes": [], + "constant": true, + "functionSelector": "90bbf2f3", + "mutability": "constant", + "name": "_PERMIT_BATCH_WITNESS_TRANSFER_FROM_TYPEHASH_STUB", + "nameLocation": "1753:49:29", + "scope": 29301, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28944, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1730:6:29", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "hexValue": "5065726d697442617463685769746e6573735472616e7366657246726f6d28546f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472657373207370656e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e652c", + "id": 28945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1813:109:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0bf214d267f8e8fa0f37d38e2103aff5c639b54388783bd59a418a8bee49520c", + "typeString": "literal_string \"PermitBatchWitnessTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline,\"" + }, + "value": "PermitBatchWitnessTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline," + }, + "visibility": "public" + }, + { + "id": 28974, + "nodeType": "FunctionDefinition", + "src": "1929:312:29", + "nodes": [], + "body": { + "id": 28973, + "nodeType": "Block", + "src": "2028:213:29", + "nodes": [], + "statements": [ + { + "assignments": [ + 28955 + ], + "declarations": [ + { + "constant": false, + "id": 28955, + "mutability": "mutable", + "name": "permitHash", + "nameLocation": "2046:10:29", + "nodeType": "VariableDeclaration", + "scope": 28973, + "src": "2038:18:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28954, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2038:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 28960, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 28957, + "name": "permitSingle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28949, + "src": "2078:12:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 28958, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2091:7:29", + "memberName": "details", + "nodeType": "MemberAccess", + "referencedDeclaration": 28276, + "src": "2078:20:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + ], + "id": 28956, + "name": "_hashPermitDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29283, + "src": "2059:18:29", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitDetails_$28273_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct IAllowanceTransfer.PermitDetails memory) pure returns (bytes32)" + } + }, + "id": 28959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2059:40:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2038:61:29" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 28964, + "name": "_PERMIT_SINGLE_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28917, + "src": "2149:23:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 28965, + "name": "permitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28955, + "src": "2174:10:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 28966, + "name": "permitSingle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28949, + "src": "2186:12:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 28967, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2199:7:29", + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 28278, + "src": "2186:20:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 28968, + "name": "permitSingle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28949, + "src": "2208:12:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 28969, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2221:11:29", + "memberName": "sigDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28280, + "src": "2208:24:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 28962, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2138:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2142:6:29", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2138:10:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 28970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2138:95:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 28961, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2128:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 28971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2128:106:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 28953, + "id": 28972, + "nodeType": "Return", + "src": "2109:125:29" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nameLocation": "1938:4:29", + "parameters": { + "id": 28950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28949, + "mutability": "mutable", + "name": "permitSingle", + "nameLocation": "1982:12:29", + "nodeType": "VariableDeclaration", + "scope": 28974, + "src": "1943:51:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + }, + "typeName": { + "id": 28948, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28947, + "name": "IAllowanceTransfer.PermitSingle", + "nameLocations": [ + "1943:18:29", + "1962:12:29" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28281, + "src": "1943:31:29" + }, + "referencedDeclaration": 28281, + "src": "1943:31:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + } + }, + "visibility": "internal" + } + ], + "src": "1942:53:29" + }, + "returnParameters": { + "id": 28953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28952, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28974, + "src": "2019:7:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28951, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2019:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2018:9:29" + }, + "scope": 29301, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 29040, + "nodeType": "FunctionDefinition", + "src": "2247:614:29", + "nodes": [], + "body": { + "id": 29039, + "nodeType": "Block", + "src": "2344:517:29", + "nodes": [], + "statements": [ + { + "assignments": [ + 28983 + ], + "declarations": [ + { + "constant": false, + "id": 28983, + "mutability": "mutable", + "name": "numPermits", + "nameLocation": "2362:10:29", + "nodeType": "VariableDeclaration", + "scope": 29039, + "src": "2354:18:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28982, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2354:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28987, + "initialValue": { + "expression": { + "expression": { + "id": 28984, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28977, + "src": "2375:11:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 28985, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2387:7:29", + "memberName": "details", + "nodeType": "MemberAccess", + "referencedDeclaration": 28285, + "src": "2375:19:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitDetails_$28273_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory[] memory" + } + }, + "id": 28986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2395:6:29", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2375:26:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2354:47:29" + }, + { + "assignments": [ + 28992 + ], + "declarations": [ + { + "constant": false, + "id": 28992, + "mutability": "mutable", + "name": "permitHashes", + "nameLocation": "2428:12:29", + "nodeType": "VariableDeclaration", + "scope": 29039, + "src": "2411:29:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 28990, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2411:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 28991, + "nodeType": "ArrayTypeName", + "src": "2411:9:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 28998, + "initialValue": { + "arguments": [ + { + "id": 28996, + "name": "numPermits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28983, + "src": "2457:10:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2443:13:29", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 28993, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2447:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 28994, + "nodeType": "ArrayTypeName", + "src": "2447:9:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 28997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2443:25:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2411:57:29" + }, + { + "body": { + "id": 29020, + "nodeType": "Block", + "src": "2519:85:29", + "statements": [ + { + "expression": { + "id": 29018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29009, + "name": "permitHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28992, + "src": "2533:12:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 29011, + "indexExpression": { + "id": 29010, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29000, + "src": "2546:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2533:15:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "expression": { + "id": 29013, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28977, + "src": "2570:11:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 29014, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2582:7:29", + "memberName": "details", + "nodeType": "MemberAccess", + "referencedDeclaration": 28285, + "src": "2570:19:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitDetails_$28273_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory[] memory" + } + }, + "id": 29016, + "indexExpression": { + "id": 29015, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29000, + "src": "2590:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2570:22:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + ], + "id": 29012, + "name": "_hashPermitDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29283, + "src": "2551:18:29", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitDetails_$28273_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct IAllowanceTransfer.PermitDetails memory) pure returns (bytes32)" + } + }, + "id": 29017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2551:42:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2533:60:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29019, + "nodeType": "ExpressionStatement", + "src": "2533:60:29" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29003, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29000, + "src": "2498:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 29004, + "name": "numPermits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28983, + "src": "2502:10:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2498:14:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29021, + "initializationExpression": { + "assignments": [ + 29000 + ], + "declarations": [ + { + "constant": false, + "id": 29000, + "mutability": "mutable", + "name": "i", + "nameLocation": "2491:1:29", + "nodeType": "VariableDeclaration", + "scope": 29021, + "src": "2483:9:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2483:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29002, + "initialValue": { + "hexValue": "30", + "id": 29001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2495:1:29", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2483:13:29" + }, + "loopExpression": { + "expression": { + "id": 29007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "2514:3:29", + "subExpression": { + "id": 29006, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29000, + "src": "2516:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29008, + "nodeType": "ExpressionStatement", + "src": "2514:3:29" + }, + "nodeType": "ForStatement", + "src": "2478:126:29" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 29025, + "name": "_PERMIT_BATCH_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28922, + "src": "2671:22:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 29029, + "name": "permitHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28992, + "src": "2738:12:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "expression": { + "id": 29027, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2721:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2725:12:29", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2721:16:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2721:30:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29026, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2711:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2711:41:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 29032, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28977, + "src": "2770:11:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 29033, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2782:7:29", + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 28287, + "src": "2770:19:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29034, + "name": "permitBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28977, + "src": "2807:11:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch memory" + } + }, + "id": 29035, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2819:11:29", + "memberName": "sigDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28289, + "src": "2807:23:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 29023, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2643:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2647:6:29", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2643:10:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2643:201:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29022, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2620:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2620:234:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 28981, + "id": 29038, + "nodeType": "Return", + "src": "2613:241:29" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nameLocation": "2256:4:29", + "parameters": { + "id": 28978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28977, + "mutability": "mutable", + "name": "permitBatch", + "nameLocation": "2299:11:29", + "nodeType": "VariableDeclaration", + "scope": 29040, + "src": "2261:49:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch" + }, + "typeName": { + "id": 28976, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28975, + "name": "IAllowanceTransfer.PermitBatch", + "nameLocations": [ + "2261:18:29", + "2280:11:29" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28290, + "src": "2261:30:29" + }, + "referencedDeclaration": 28290, + "src": "2261:30:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatch_$28290_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitBatch" + } + }, + "visibility": "internal" + } + ], + "src": "2260:51:29" + }, + "returnParameters": { + "id": 28981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28980, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29040, + "src": "2335:7:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 28979, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2335:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2334:9:29" + }, + "scope": 29301, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 29070, + "nodeType": "FunctionDefinition", + "src": "2867:343:29", + "nodes": [], + "body": { + "id": 29069, + "nodeType": "Block", + "src": "2966:244:29", + "nodes": [], + "statements": [ + { + "assignments": [ + 29049 + ], + "declarations": [ + { + "constant": false, + "id": 29049, + "mutability": "mutable", + "name": "tokenPermissionsHash", + "nameLocation": "2984:20:29", + "nodeType": "VariableDeclaration", + "scope": 29069, + "src": "2976:28:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29048, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2976:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 29054, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 29051, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29043, + "src": "3029:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 29052, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3036:9:29", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28464, + "src": "3029:16:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + ], + "id": 29050, + "name": "_hashTokenPermissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29300, + "src": "3007:21:29", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_TokenPermissions_$28461_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct ISignatureTransfer.TokenPermissions memory) pure returns (bytes32)" + } + }, + "id": 29053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3007:39:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2976:70:29" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 29058, + "name": "_PERMIT_TRANSFER_FROM_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28932, + "src": "3097:30:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29059, + "name": "tokenPermissionsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29049, + "src": "3129:20:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 29060, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3151:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3155:6:29", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3151:10:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29062, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29043, + "src": "3163:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 29063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3170:5:29", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28466, + "src": "3163:12:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29064, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29043, + "src": "3177:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 29065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3184:8:29", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28468, + "src": "3177:15:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 29056, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3086:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3090:6:29", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3086:10:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3086:107:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29055, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3063:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3063:140:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 29047, + "id": 29068, + "nodeType": "Return", + "src": "3056:147:29" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nameLocation": "2876:4:29", + "parameters": { + "id": 29044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29043, + "mutability": "mutable", + "name": "permit", + "nameLocation": "2926:6:29", + "nodeType": "VariableDeclaration", + "scope": 29070, + "src": "2881:51:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 29042, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29041, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "2881:18:29", + "2900:18:29" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "2881:37:29" + }, + "referencedDeclaration": 28469, + "src": "2881:37:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + } + ], + "src": "2880:53:29" + }, + "returnParameters": { + "id": 29047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29046, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29070, + "src": "2957:7:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29045, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2957:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2956:9:29" + }, + "scope": 29301, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 29138, + "nodeType": "FunctionDefinition", + "src": "3216:680:29", + "nodes": [], + "body": { + "id": 29137, + "nodeType": "Block", + "src": "3320:576:29", + "nodes": [], + "statements": [ + { + "assignments": [ + 29079 + ], + "declarations": [ + { + "constant": false, + "id": 29079, + "mutability": "mutable", + "name": "numPermitted", + "nameLocation": "3338:12:29", + "nodeType": "VariableDeclaration", + "scope": 29137, + "src": "3330:20:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29078, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3330:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29083, + "initialValue": { + "expression": { + "expression": { + "id": 29080, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29073, + "src": "3353:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 29081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3360:9:29", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "3353:16:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 29082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3370:6:29", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3353:23:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3330:46:29" + }, + { + "assignments": [ + 29088 + ], + "declarations": [ + { + "constant": false, + "id": 29088, + "mutability": "mutable", + "name": "tokenPermissionHashes", + "nameLocation": "3403:21:29", + "nodeType": "VariableDeclaration", + "scope": 29137, + "src": "3386:38:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 29086, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3386:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29087, + "nodeType": "ArrayTypeName", + "src": "3386:9:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 29094, + "initialValue": { + "arguments": [ + { + "id": 29092, + "name": "numPermitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29079, + "src": "3441:12:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "3427:13:29", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 29089, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3431:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29090, + "nodeType": "ArrayTypeName", + "src": "3431:9:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 29093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3427:27:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3386:68:29" + }, + { + "body": { + "id": 29116, + "nodeType": "Block", + "src": "3508:94:29", + "statements": [ + { + "expression": { + "id": 29114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29105, + "name": "tokenPermissionHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29088, + "src": "3522:21:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 29107, + "indexExpression": { + "id": 29106, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29096, + "src": "3544:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3522:24:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "expression": { + "id": 29109, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29073, + "src": "3571:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 29110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3578:9:29", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "3571:16:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 29112, + "indexExpression": { + "id": 29111, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29096, + "src": "3588:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3571:19:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + ], + "id": 29108, + "name": "_hashTokenPermissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29300, + "src": "3549:21:29", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_TokenPermissions_$28461_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct ISignatureTransfer.TokenPermissions memory) pure returns (bytes32)" + } + }, + "id": 29113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3549:42:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3522:69:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29115, + "nodeType": "ExpressionStatement", + "src": "3522:69:29" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29099, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29096, + "src": "3485:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 29100, + "name": "numPermitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29079, + "src": "3489:12:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3485:16:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29117, + "initializationExpression": { + "assignments": [ + 29096 + ], + "declarations": [ + { + "constant": false, + "id": 29096, + "mutability": "mutable", + "name": "i", + "nameLocation": "3478:1:29", + "nodeType": "VariableDeclaration", + "scope": 29117, + "src": "3470:9:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29095, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3470:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29098, + "initialValue": { + "hexValue": "30", + "id": 29097, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3482:1:29", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3470:13:29" + }, + "loopExpression": { + "expression": { + "id": 29103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "3503:3:29", + "subExpression": { + "id": 29102, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29096, + "src": "3505:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29104, + "nodeType": "ExpressionStatement", + "src": "3503:3:29" + }, + "nodeType": "ForStatement", + "src": "3465:137:29" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 29121, + "name": "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28937, + "src": "3670:36:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 29125, + "name": "tokenPermissionHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29088, + "src": "3751:21:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "expression": { + "id": 29123, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3734:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3738:12:29", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3734:16:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3734:39:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29122, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3724:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3724:50:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 29128, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3792:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3796:6:29", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3792:10:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29130, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29073, + "src": "3820:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 29131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3827:5:29", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28480, + "src": "3820:12:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29132, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29073, + "src": "3850:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 29133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3857:8:29", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28482, + "src": "3850:15:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 29119, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3642:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3646:6:29", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3642:10:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3642:237:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29118, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3619:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3619:270:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 29077, + "id": 29136, + "nodeType": "Return", + "src": "3612:277:29" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nameLocation": "3225:4:29", + "parameters": { + "id": 29074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29073, + "mutability": "mutable", + "name": "permit", + "nameLocation": "3280:6:29", + "nodeType": "VariableDeclaration", + "scope": 29138, + "src": "3230:56:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 29072, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29071, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "3230:18:29", + "3249:23:29" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "3230:42:29" + }, + "referencedDeclaration": 28483, + "src": "3230:42:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + } + ], + "src": "3229:58:29" + }, + "returnParameters": { + "id": 29077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29076, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29138, + "src": "3311:7:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29075, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3311:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3310:9:29" + }, + "scope": 29301, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 29183, + "nodeType": "FunctionDefinition", + "src": "3902:522:29", + "nodes": [], + "body": { + "id": 29182, + "nodeType": "Block", + "src": "4094:330:29", + "nodes": [], + "statements": [ + { + "assignments": [ + 29151 + ], + "declarations": [ + { + "constant": false, + "id": 29151, + "mutability": "mutable", + "name": "typeHash", + "nameLocation": "4112:8:29", + "nodeType": "VariableDeclaration", + "scope": 29182, + "src": "4104:16:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29150, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4104:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 29159, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 29155, + "name": "_PERMIT_TRANSFER_FROM_WITNESS_TYPEHASH_STUB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28943, + "src": "4150:43:29", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 29156, + "name": "witnessTypeString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29145, + "src": "4195:17:29", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "id": 29153, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4133:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4137:12:29", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4133:16:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4133:80:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29152, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4123:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4123:91:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4104:110:29" + }, + { + "assignments": [ + 29161 + ], + "declarations": [ + { + "constant": false, + "id": 29161, + "mutability": "mutable", + "name": "tokenPermissionsHash", + "nameLocation": "4233:20:29", + "nodeType": "VariableDeclaration", + "scope": 29182, + "src": "4225:28:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29160, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4225:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 29166, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 29163, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29141, + "src": "4278:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 29164, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4285:9:29", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28464, + "src": "4278:16:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + ], + "id": 29162, + "name": "_hashTokenPermissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29300, + "src": "4256:21:29", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_TokenPermissions_$28461_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct ISignatureTransfer.TokenPermissions memory) pure returns (bytes32)" + } + }, + "id": 29165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4256:39:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4225:70:29" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 29170, + "name": "typeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29151, + "src": "4333:8:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29171, + "name": "tokenPermissionsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29161, + "src": "4343:20:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 29172, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4365:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4369:6:29", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4365:10:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29174, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29141, + "src": "4377:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 29175, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4384:5:29", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28466, + "src": "4377:12:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29176, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29141, + "src": "4391:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 29177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4398:8:29", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28468, + "src": "4391:15:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29178, + "name": "witness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29143, + "src": "4408:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 29168, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4322:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4326:6:29", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4322:10:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4322:94:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29167, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4312:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4312:105:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 29149, + "id": 29181, + "nodeType": "Return", + "src": "4305:112:29" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashWithWitness", + "nameLocation": "3911:15:29", + "parameters": { + "id": 29146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29141, + "mutability": "mutable", + "name": "permit", + "nameLocation": "3981:6:29", + "nodeType": "VariableDeclaration", + "scope": 29183, + "src": "3936:51:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 29140, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29139, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "3936:18:29", + "3955:18:29" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "3936:37:29" + }, + "referencedDeclaration": 28469, + "src": "3936:37:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29143, + "mutability": "mutable", + "name": "witness", + "nameLocation": "4005:7:29", + "nodeType": "VariableDeclaration", + "scope": 29183, + "src": "3997:15:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29142, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3997:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29145, + "mutability": "mutable", + "name": "witnessTypeString", + "nameLocation": "4038:17:29", + "nodeType": "VariableDeclaration", + "scope": 29183, + "src": "4022:33:29", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 29144, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4022:6:29", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3926:135:29" + }, + "returnParameters": { + "id": 29149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29148, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29183, + "src": "4085:7:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29147, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4085:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4084:9:29" + }, + "scope": 29301, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 29266, + "nodeType": "FunctionDefinition", + "src": "4430:909:29", + "nodes": [], + "body": { + "id": 29265, + "nodeType": "Block", + "src": "4627:712:29", + "nodes": [], + "statements": [ + { + "assignments": [ + 29196 + ], + "declarations": [ + { + "constant": false, + "id": 29196, + "mutability": "mutable", + "name": "typeHash", + "nameLocation": "4645:8:29", + "nodeType": "VariableDeclaration", + "scope": 29265, + "src": "4637:16:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29195, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4637:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 29204, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 29200, + "name": "_PERMIT_BATCH_WITNESS_TRANSFER_FROM_TYPEHASH_STUB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28946, + "src": "4695:49:29", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 29201, + "name": "witnessTypeString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29190, + "src": "4746:17:29", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "expression": { + "id": 29198, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4678:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4682:12:29", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4678:16:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4678:86:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29197, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4668:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4668:97:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4637:128:29" + }, + { + "assignments": [ + 29206 + ], + "declarations": [ + { + "constant": false, + "id": 29206, + "mutability": "mutable", + "name": "numPermitted", + "nameLocation": "4784:12:29", + "nodeType": "VariableDeclaration", + "scope": 29265, + "src": "4776:20:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29205, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4776:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29210, + "initialValue": { + "expression": { + "expression": { + "id": 29207, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29186, + "src": "4799:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 29208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4806:9:29", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "4799:16:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 29209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4816:6:29", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4799:23:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4776:46:29" + }, + { + "assignments": [ + 29215 + ], + "declarations": [ + { + "constant": false, + "id": 29215, + "mutability": "mutable", + "name": "tokenPermissionHashes", + "nameLocation": "4849:21:29", + "nodeType": "VariableDeclaration", + "scope": 29265, + "src": "4832:38:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 29213, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4832:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29214, + "nodeType": "ArrayTypeName", + "src": "4832:9:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 29221, + "initialValue": { + "arguments": [ + { + "id": 29219, + "name": "numPermitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29206, + "src": "4887:12:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4873:13:29", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 29216, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4877:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29217, + "nodeType": "ArrayTypeName", + "src": "4877:9:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 29220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4873:27:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4832:68:29" + }, + { + "body": { + "id": 29243, + "nodeType": "Block", + "src": "4954:94:29", + "statements": [ + { + "expression": { + "id": 29241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29232, + "name": "tokenPermissionHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29215, + "src": "4968:21:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 29234, + "indexExpression": { + "id": 29233, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29223, + "src": "4990:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4968:24:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "expression": { + "id": 29236, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29186, + "src": "5017:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 29237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5024:9:29", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "5017:16:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 29239, + "indexExpression": { + "id": 29238, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29223, + "src": "5034:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5017:19:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + ], + "id": 29235, + "name": "_hashTokenPermissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29300, + "src": "4995:21:29", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_TokenPermissions_$28461_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct ISignatureTransfer.TokenPermissions memory) pure returns (bytes32)" + } + }, + "id": 29240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4995:42:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4968:69:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29242, + "nodeType": "ExpressionStatement", + "src": "4968:69:29" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29226, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29223, + "src": "4931:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 29227, + "name": "numPermitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29206, + "src": "4935:12:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4931:16:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29244, + "initializationExpression": { + "assignments": [ + 29223 + ], + "declarations": [ + { + "constant": false, + "id": 29223, + "mutability": "mutable", + "name": "i", + "nameLocation": "4924:1:29", + "nodeType": "VariableDeclaration", + "scope": 29244, + "src": "4916:9:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29222, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4916:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29225, + "initialValue": { + "hexValue": "30", + "id": 29224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4928:1:29", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4916:13:29" + }, + "loopExpression": { + "expression": { + "id": 29230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "4949:3:29", + "subExpression": { + "id": 29229, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29223, + "src": "4951:1:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29231, + "nodeType": "ExpressionStatement", + "src": "4949:3:29" + }, + "nodeType": "ForStatement", + "src": "4911:137:29" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 29248, + "name": "typeHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29196, + "src": "5116:8:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 29252, + "name": "tokenPermissionHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29215, + "src": "5169:21:29", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "expression": { + "id": 29250, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5152:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5156:12:29", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5152:16:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5152:39:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29249, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5142:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5142:50:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 29255, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5210:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5214:6:29", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5210:10:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 29257, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29186, + "src": "5238:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 29258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5245:5:29", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28480, + "src": "5238:12:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 29259, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29186, + "src": "5268:6:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 29260, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5275:8:29", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28482, + "src": "5268:15:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29261, + "name": "witness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29188, + "src": "5301:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 29246, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5088:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5092:6:29", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5088:10:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5088:234:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29245, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5065:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5065:267:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 29194, + "id": 29264, + "nodeType": "Return", + "src": "5058:274:29" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashWithWitness", + "nameLocation": "4439:15:29", + "parameters": { + "id": 29191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29186, + "mutability": "mutable", + "name": "permit", + "nameLocation": "4514:6:29", + "nodeType": "VariableDeclaration", + "scope": 29266, + "src": "4464:56:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 29185, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29184, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "4464:18:29", + "4483:23:29" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "4464:42:29" + }, + "referencedDeclaration": 28483, + "src": "4464:42:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29188, + "mutability": "mutable", + "name": "witness", + "nameLocation": "4538:7:29", + "nodeType": "VariableDeclaration", + "scope": 29266, + "src": "4530:15:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29187, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4530:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29190, + "mutability": "mutable", + "name": "witnessTypeString", + "nameLocation": "4571:17:29", + "nodeType": "VariableDeclaration", + "scope": 29266, + "src": "4555:33:29", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 29189, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4555:6:29", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4454:140:29" + }, + "returnParameters": { + "id": 29194, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29193, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29266, + "src": "4618:7:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29192, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4618:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4617:9:29" + }, + "scope": 29301, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 29283, + "nodeType": "FunctionDefinition", + "src": "5345:188:29", + "nodes": [], + "body": { + "id": 29282, + "nodeType": "Block", + "src": "5453:80:29", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 29277, + "name": "_PERMIT_DETAILS_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28912, + "src": "5491:24:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29278, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29269, + "src": "5517:7:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + ], + "expression": { + "id": 29275, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5480:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5484:6:29", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5480:10:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5480:45:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29274, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5470:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5470:56:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 29273, + "id": 29281, + "nodeType": "Return", + "src": "5463:63:29" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_hashPermitDetails", + "nameLocation": "5354:18:29", + "parameters": { + "id": 29270, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29269, + "mutability": "mutable", + "name": "details", + "nameLocation": "5413:7:29", + "nodeType": "VariableDeclaration", + "scope": 29283, + "src": "5373:47:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails" + }, + "typeName": { + "id": 29268, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29267, + "name": "IAllowanceTransfer.PermitDetails", + "nameLocations": [ + "5373:18:29", + "5392:13:29" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28273, + "src": "5373:32:29" + }, + "referencedDeclaration": 28273, + "src": "5373:32:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails" + } + }, + "visibility": "internal" + } + ], + "src": "5372:49:29" + }, + "returnParameters": { + "id": 29273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29272, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29283, + "src": "5444:7:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29271, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5444:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5443:9:29" + }, + "scope": 29301, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 29300, + "nodeType": "FunctionDefinition", + "src": "5539:229:29", + "nodes": [], + "body": { + "id": 29299, + "nodeType": "Block", + "src": "5683:85:29", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 29294, + "name": "_TOKEN_PERMISSIONS_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28927, + "src": "5721:27:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29295, + "name": "permitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29286, + "src": "5750:9:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + ], + "expression": { + "id": 29292, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5710:3:29", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5714:6:29", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5710:10:29", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5710:50:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29291, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5700:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5700:61:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 29290, + "id": 29298, + "nodeType": "Return", + "src": "5693:68:29" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_hashTokenPermissions", + "nameLocation": "5548:21:29", + "parameters": { + "id": 29287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29286, + "mutability": "mutable", + "name": "permitted", + "nameLocation": "5613:9:29", + "nodeType": "VariableDeclaration", + "scope": 29300, + "src": "5570:52:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions" + }, + "typeName": { + "id": 29285, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29284, + "name": "ISignatureTransfer.TokenPermissions", + "nameLocations": [ + "5570:18:29", + "5589:16:29" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28461, + "src": "5570:35:29" + }, + "referencedDeclaration": 28461, + "src": "5570:35:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions" + } + }, + "visibility": "internal" + } + ], + "src": "5569:54:29" + }, + "returnParameters": { + "id": 29290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29289, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29300, + "src": "5670:7:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29288, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5670:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5669:9:29" + }, + "scope": 29301, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "PermitHash", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 29301 + ], + "name": "PermitHash", + "nameLocation": "213:10:29", + "scope": 29302, + "usedErrors": [] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/libraries/SafeCast160.sol": { + "id": 30, + "ast": { + "absolutePath": "lib/permit2/src/libraries/SafeCast160.sol", + "id": 29333, + "exportedSymbols": { + "SafeCast160": [ + 29332 + ] + }, + "nodeType": "SourceUnit", + "src": "32:423:30", + "nodes": [ + { + "id": 29303, + "nodeType": "PragmaDirective", + "src": "32:24:30", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 29332, + "nodeType": "ContractDefinition", + "src": "58:396:30", + "nodes": [ + { + "id": 29306, + "nodeType": "ErrorDefinition", + "src": "171:19:30", + "nodes": [], + "documentation": { + "id": 29304, + "nodeType": "StructuredDocumentation", + "src": "84:82:30", + "text": "@notice Thrown when a valude greater than type(uint160).max is cast to uint160" + }, + "errorSelector": "c4bd89a9", + "name": "UnsafeCast", + "nameLocation": "177:10:30", + "parameters": { + "id": 29305, + "nodeType": "ParameterList", + "parameters": [], + "src": "187:2:30" + } + }, + { + "id": 29331, + "nodeType": "FunctionDefinition", + "src": "288:164:30", + "nodes": [], + "body": { + "id": 29330, + "nodeType": "Block", + "src": "354:98:30", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29314, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29309, + "src": "368:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 29317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "381:7:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 29316, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "381:7:30", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + } + ], + "id": 29315, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "376:4:30", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 29318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "376:13:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint160", + "typeString": "type(uint160)" + } + }, + "id": 29319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "390:3:30", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "376:17:30", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "src": "368:25:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29324, + "nodeType": "IfStatement", + "src": "364:50:30", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 29321, + "name": "UnsafeCast", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29306, + "src": "402:10:30", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 29322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "402:12:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29323, + "nodeType": "RevertStatement", + "src": "395:19:30" + } + }, + { + "expression": { + "arguments": [ + { + "id": 29327, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29309, + "src": "439:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "431:7:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 29325, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "431:7:30", + "typeDescriptions": {} + } + }, + "id": 29328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "431:14:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "functionReturnParameters": 29313, + "id": 29329, + "nodeType": "Return", + "src": "424:21:30" + } + ] + }, + "documentation": { + "id": 29307, + "nodeType": "StructuredDocumentation", + "src": "196:87:30", + "text": "@notice Safely casts uint256 to uint160\n @param value The uint256 to be cast" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toUint160", + "nameLocation": "297:9:30", + "parameters": { + "id": 29310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29309, + "mutability": "mutable", + "name": "value", + "nameLocation": "315:5:30", + "nodeType": "VariableDeclaration", + "scope": 29331, + "src": "307:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29308, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "307:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "306:15:30" + }, + "returnParameters": { + "id": 29313, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29312, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29331, + "src": "345:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + "typeName": { + "id": 29311, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "345:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + "visibility": "internal" + } + ], + "src": "344:9:30" + }, + "scope": 29332, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "SafeCast160", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 29332 + ], + "name": "SafeCast160", + "nameLocation": "66:11:30", + "scope": 29333, + "usedErrors": [ + 29306 + ] + } + ], + "license": "MIT" + } + }, + "lib/permit2/src/libraries/SignatureVerification.sol": { + "id": 31, + "ast": { + "absolutePath": "lib/permit2/src/libraries/SignatureVerification.sol", + "id": 29502, + "exportedSymbols": { + "IERC1271": [ + 28436 + ], + "SignatureVerification": [ + 29501 + ] + }, + "nodeType": "SourceUnit", + "src": "32:1780:31", + "nodes": [ + { + "id": 29334, + "nodeType": "PragmaDirective", + "src": "32:24:31", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 29336, + "nodeType": "ImportDirective", + "src": "58:52:31", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/IERC1271.sol", + "file": "../interfaces/IERC1271.sol", + "nameLocation": "-1:-1:-1", + "scope": 29502, + "sourceUnit": 28437, + "symbolAliases": [ + { + "foreign": { + "id": 29335, + "name": "IERC1271", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28436, + "src": "66:8:31", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 29501, + "nodeType": "ContractDefinition", + "src": "112:1699:31", + "nodes": [ + { + "id": 29339, + "nodeType": "ErrorDefinition", + "src": "222:31:31", + "nodes": [], + "documentation": { + "id": 29337, + "nodeType": "StructuredDocumentation", + "src": "148:69:31", + "text": "@notice Thrown when the passed in signature is not a valid length" + }, + "errorSelector": "4be6321b", + "name": "InvalidSignatureLength", + "nameLocation": "228:22:31", + "parameters": { + "id": 29338, + "nodeType": "ParameterList", + "parameters": [], + "src": "250:2:31" + } + }, + { + "id": 29342, + "nodeType": "ErrorDefinition", + "src": "337:25:31", + "nodes": [], + "documentation": { + "id": 29340, + "nodeType": "StructuredDocumentation", + "src": "259:73:31", + "text": "@notice Thrown when the recovered signer is equal to the zero address" + }, + "errorSelector": "8baa579f", + "name": "InvalidSignature", + "nameLocation": "343:16:31", + "parameters": { + "id": 29341, + "nodeType": "ParameterList", + "parameters": [], + "src": "359:2:31" + } + }, + { + "id": 29345, + "nodeType": "ErrorDefinition", + "src": "450:22:31", + "nodes": [], + "documentation": { + "id": 29343, + "nodeType": "StructuredDocumentation", + "src": "368:77:31", + "text": "@notice Thrown when the recovered signer does not equal the claimedSigner" + }, + "errorSelector": "815e1d64", + "name": "InvalidSigner", + "nameLocation": "456:13:31", + "parameters": { + "id": 29344, + "nodeType": "ParameterList", + "parameters": [], + "src": "469:2:31" + } + }, + { + "id": 29348, + "nodeType": "ErrorDefinition", + "src": "552:33:31", + "nodes": [], + "documentation": { + "id": 29346, + "nodeType": "StructuredDocumentation", + "src": "478:69:31", + "text": "@notice Thrown when the recovered contract signature is incorrect" + }, + "errorSelector": "b0669cbc", + "name": "InvalidContractSignature", + "nameLocation": "558:24:31", + "parameters": { + "id": 29347, + "nodeType": "ParameterList", + "parameters": [], + "src": "582:2:31" + } + }, + { + "id": 29352, + "nodeType": "VariableDeclaration", + "src": "591:102:31", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "UPPER_BIT_MASK", + "nameLocation": "608:14:31", + "scope": 29501, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29349, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "591:7:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "components": [ + { + "hexValue": "307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666", + "id": 29350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "626:66:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1", + "typeString": "int_const 5789...(69 digits omitted)...9967" + }, + "value": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "id": 29351, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "625:68:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1", + "typeString": "int_const 5789...(69 digits omitted)...9967" + } + }, + "visibility": "internal" + }, + { + "id": 29500, + "nodeType": "FunctionDefinition", + "src": "700:1109:31", + "nodes": [], + "body": { + "id": 29499, + "nodeType": "Block", + "src": "793:1016:31", + "nodes": [], + "statements": [ + { + "assignments": [ + 29362 + ], + "declarations": [ + { + "constant": false, + "id": 29362, + "mutability": "mutable", + "name": "r", + "nameLocation": "811:1:31", + "nodeType": "VariableDeclaration", + "scope": 29499, + "src": "803:9:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "803:7:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 29363, + "nodeType": "VariableDeclarationStatement", + "src": "803:9:31" + }, + { + "assignments": [ + 29365 + ], + "declarations": [ + { + "constant": false, + "id": 29365, + "mutability": "mutable", + "name": "s", + "nameLocation": "830:1:31", + "nodeType": "VariableDeclaration", + "scope": 29499, + "src": "822:9:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29364, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "822:7:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 29366, + "nodeType": "VariableDeclarationStatement", + "src": "822:9:31" + }, + { + "assignments": [ + 29368 + ], + "declarations": [ + { + "constant": false, + "id": 29368, + "mutability": "mutable", + "name": "v", + "nameLocation": "847:1:31", + "nodeType": "VariableDeclaration", + "scope": 29499, + "src": "841:7:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 29367, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "841:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 29369, + "nodeType": "VariableDeclarationStatement", + "src": "841:7:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 29370, + "name": "claimedSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29358, + "src": "863:13:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 29371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "877:4:31", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "863:18:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 29372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "882:6:31", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "863:25:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 29373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "892:1:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "863:30:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 29497, + "nodeType": "Block", + "src": "1600:203:31", + "statements": [ + { + "assignments": [ + 29479 + ], + "declarations": [ + { + "constant": false, + "id": 29479, + "mutability": "mutable", + "name": "magicValue", + "nameLocation": "1621:10:31", + "nodeType": "VariableDeclaration", + "scope": 29497, + "src": "1614:17:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 29478, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1614:6:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "id": 29487, + "initialValue": { + "arguments": [ + { + "id": 29484, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29356, + "src": "1675:4:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29485, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29354, + "src": "1681:9:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "arguments": [ + { + "id": 29481, + "name": "claimedSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29358, + "src": "1643:13:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 29480, + "name": "IERC1271", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28436, + "src": "1634:8:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1271_$28436_$", + "typeString": "type(contract IERC1271)" + } + }, + "id": 29482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1634:23:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1271_$28436", + "typeString": "contract IERC1271" + } + }, + "id": 29483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1658:16:31", + "memberName": "isValidSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": 28435, + "src": "1634:40:31", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (bytes32,bytes memory) view external returns (bytes4)" + } + }, + "id": 29486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1634:57:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1614:77:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 29492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29488, + "name": "magicValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29479, + "src": "1709:10:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "expression": { + "id": 29489, + "name": "IERC1271", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28436, + "src": "1723:8:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1271_$28436_$", + "typeString": "type(contract IERC1271)" + } + }, + "id": 29490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1732:16:31", + "memberName": "isValidSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": 28435, + "src": "1723:25:31", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function IERC1271.isValidSignature(bytes32,bytes memory) view returns (bytes4)" + } + }, + "id": 29491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1749:8:31", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "1723:34:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1709:48:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29496, + "nodeType": "IfStatement", + "src": "1705:87:31", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 29493, + "name": "InvalidContractSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29348, + "src": "1766:24:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 29494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1766:26:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29495, + "nodeType": "RevertStatement", + "src": "1759:33:31" + } + } + ] + }, + "id": 29498, + "nodeType": "IfStatement", + "src": "859:944:31", + "trueBody": { + "id": 29477, + "nodeType": "Block", + "src": "895:699:31", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29375, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29354, + "src": "913:9:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 29376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "923:6:31", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "913:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3635", + "id": 29377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "933:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "65" + }, + "src": "913:22:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29403, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29354, + "src": "1072:9:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 29404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1082:6:31", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1072:16:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3634", + "id": 29405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1092:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "1072:22:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 29448, + "nodeType": "Block", + "src": "1335:64:31", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 29445, + "name": "InvalidSignatureLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29339, + "src": "1360:22:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 29446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1360:24:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29447, + "nodeType": "RevertStatement", + "src": "1353:31:31" + } + ] + }, + "id": 29449, + "nodeType": "IfStatement", + "src": "1068:331:31", + "trueBody": { + "id": 29444, + "nodeType": "Block", + "src": "1096:233:31", + "statements": [ + { + "assignments": [ + 29408 + ], + "declarations": [ + { + "constant": false, + "id": 29408, + "mutability": "mutable", + "name": "vs", + "nameLocation": "1150:2:31", + "nodeType": "VariableDeclaration", + "scope": 29444, + "src": "1142:10:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29407, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1142:7:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 29409, + "nodeType": "VariableDeclarationStatement", + "src": "1142:10:31" + }, + { + "expression": { + "id": 29422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 29410, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29362, + "src": "1171:1:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29411, + "name": "vs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29408, + "src": "1174:2:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 29412, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1170:7:31", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(bytes32,bytes32)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 29415, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29354, + "src": "1191:9:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 29417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1203:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 29416, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1203:7:31", + "typeDescriptions": {} + } + }, + { + "id": 29419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1212:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 29418, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1212:7:31", + "typeDescriptions": {} + } + } + ], + "id": 29420, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1202:18:31", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_type$_t_bytes32_$_$_t_type$_t_bytes32_$_$", + "typeString": "tuple(type(bytes32),type(bytes32))" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_tuple$_t_type$_t_bytes32_$_$_t_type$_t_bytes32_$_$", + "typeString": "tuple(type(bytes32),type(bytes32))" + } + ], + "expression": { + "id": 29413, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1180:3:31", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1184:6:31", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1180:10:31", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 29421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1180:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(bytes32,bytes32)" + } + }, + "src": "1170:51:31", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29423, + "nodeType": "ExpressionStatement", + "src": "1170:51:31" + }, + { + "expression": { + "id": 29428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29424, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29365, + "src": "1239:1:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 29427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29425, + "name": "vs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29408, + "src": "1243:2:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 29426, + "name": "UPPER_BIT_MASK", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29352, + "src": "1248:14:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1243:19:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1239:23:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29429, + "nodeType": "ExpressionStatement", + "src": "1239:23:31" + }, + { + "expression": { + "id": 29442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29430, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29368, + "src": "1280:1:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 29441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 29437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29435, + "name": "vs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29408, + "src": "1298:2:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "323535", + "id": 29436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1304:3:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "255" + }, + "src": "1298:9:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 29434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1290:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 29433, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1290:7:31", + "typeDescriptions": {} + } + }, + "id": 29438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1290:18:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1284:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 29431, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1284:5:31", + "typeDescriptions": {} + } + }, + "id": 29439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1284:25:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3237", + "id": 29440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1312:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "src": "1284:30:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "1280:34:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 29443, + "nodeType": "ExpressionStatement", + "src": "1280:34:31" + } + ] + } + }, + "id": 29450, + "nodeType": "IfStatement", + "src": "909:490:31", + "trueBody": { + "id": 29402, + "nodeType": "Block", + "src": "937:125:31", + "statements": [ + { + "expression": { + "id": 29391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 29379, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29362, + "src": "956:1:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29380, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29365, + "src": "959:1:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 29381, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "955:6:31", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(bytes32,bytes32)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 29384, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29354, + "src": "975:9:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 29386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "987:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 29385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "987:7:31", + "typeDescriptions": {} + } + }, + { + "id": 29388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "996:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 29387, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "996:7:31", + "typeDescriptions": {} + } + } + ], + "id": 29389, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "986:18:31", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_type$_t_bytes32_$_$_t_type$_t_bytes32_$_$", + "typeString": "tuple(type(bytes32),type(bytes32))" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_tuple$_t_type$_t_bytes32_$_$_t_type$_t_bytes32_$_$", + "typeString": "tuple(type(bytes32),type(bytes32))" + } + ], + "expression": { + "id": 29382, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "964:3:31", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "968:6:31", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "964:10:31", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 29390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "964:41:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(bytes32,bytes32)" + } + }, + "src": "955:50:31", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29392, + "nodeType": "ExpressionStatement", + "src": "955:50:31" + }, + { + "expression": { + "id": 29400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29393, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29368, + "src": "1023:1:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 29396, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29354, + "src": "1033:9:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 29398, + "indexExpression": { + "hexValue": "3634", + "id": 29397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1043:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1033:13:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 29395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1027:5:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 29394, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1027:5:31", + "typeDescriptions": {} + } + }, + "id": 29399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1027:20:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "1023:24:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 29401, + "nodeType": "ExpressionStatement", + "src": "1023:24:31" + } + ] + } + }, + { + "assignments": [ + 29452 + ], + "declarations": [ + { + "constant": false, + "id": 29452, + "mutability": "mutable", + "name": "signer", + "nameLocation": "1420:6:31", + "nodeType": "VariableDeclaration", + "scope": 29477, + "src": "1412:14:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29451, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1412:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 29459, + "initialValue": { + "arguments": [ + { + "id": 29454, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29356, + "src": "1439:4:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29455, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29368, + "src": "1445:1:31", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 29456, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29362, + "src": "1448:1:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29457, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29365, + "src": "1451:1:31", + "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": 29453, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -6, + "src": "1429:9:31", + "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": 29458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1429:24:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1412:41:31" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29460, + "name": "signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29452, + "src": "1471:6:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 29463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1489:1:31", + "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": 29462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1481:7:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 29461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1481:7:31", + "typeDescriptions": {} + } + }, + "id": 29464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1481:10:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1471:20:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29469, + "nodeType": "IfStatement", + "src": "1467:51:31", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 29466, + "name": "InvalidSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29342, + "src": "1500:16:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 29467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1500:18:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29468, + "nodeType": "RevertStatement", + "src": "1493:25:31" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29470, + "name": "signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29452, + "src": "1536:6:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 29471, + "name": "claimedSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29358, + "src": "1546:13:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1536:23:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29476, + "nodeType": "IfStatement", + "src": "1532:51:31", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 29473, + "name": "InvalidSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29345, + "src": "1568:13:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 29474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1568:15:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29475, + "nodeType": "RevertStatement", + "src": "1561:22:31" + } + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verify", + "nameLocation": "709:6:31", + "parameters": { + "id": 29359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29354, + "mutability": "mutable", + "name": "signature", + "nameLocation": "731:9:31", + "nodeType": "VariableDeclaration", + "scope": 29500, + "src": "716:24:31", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 29353, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "716:5:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29356, + "mutability": "mutable", + "name": "hash", + "nameLocation": "750:4:31", + "nodeType": "VariableDeclaration", + "scope": 29500, + "src": "742:12:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29355, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "742:7:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29358, + "mutability": "mutable", + "name": "claimedSigner", + "nameLocation": "764:13:31", + "nodeType": "VariableDeclaration", + "scope": 29500, + "src": "756:21:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "756:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "715:63:31" + }, + "returnParameters": { + "id": 29360, + "nodeType": "ParameterList", + "parameters": [], + "src": "793:0:31" + }, + "scope": 29501, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "SignatureVerification", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 29501 + ], + "name": "SignatureVerification", + "nameLocation": "120:21:31", + "scope": 29502, + "usedErrors": [ + 29339, + 29342, + 29345, + 29348 + ] + } + ], + "license": "MIT" + } + }, + "lib/solmate/src/test/utils/mocks/MockERC20.sol": { + "id": 32, + "ast": { + "absolutePath": "lib/solmate/src/test/utils/mocks/MockERC20.sol", + "id": 29550, + "exportedSymbols": { + "ERC20": [ + 29937 + ], + "MockERC20": [ + 29549 + ] + }, + "nodeType": "SourceUnit", + "src": "42:445:32", + "nodes": [ + { + "id": 29503, + "nodeType": "PragmaDirective", + "src": "42:24:32", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 29505, + "nodeType": "ImportDirective", + "src": "68:48:32", + "nodes": [], + "absolutePath": "lib/solmate/src/tokens/ERC20.sol", + "file": "../../../tokens/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 29550, + "sourceUnit": 29938, + "symbolAliases": [ + { + "foreign": { + "id": 29504, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "76:5:32", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 29549, + "nodeType": "ContractDefinition", + "src": "118:368:32", + "nodes": [ + { + "id": 29522, + "nodeType": "FunctionDefinition", + "src": "152:138:32", + "nodes": [], + "body": { + "id": 29521, + "nodeType": "Block", + "src": "288:2:32", + "nodes": [], + "statements": [] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 29516, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29509, + "src": "261:5:32", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 29517, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29511, + "src": "268:7:32", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 29518, + "name": "_decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29513, + "src": "277:9:32", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 29519, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 29515, + "name": "ERC20", + "nameLocations": [ + "255:5:32" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "255:5:32" + }, + "nodeType": "ModifierInvocation", + "src": "255:32:32" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 29514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29509, + "mutability": "mutable", + "name": "_name", + "nameLocation": "187:5:32", + "nodeType": "VariableDeclaration", + "scope": 29522, + "src": "173:19:32", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 29508, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "173:6:32", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29511, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "216:7:32", + "nodeType": "VariableDeclaration", + "scope": 29522, + "src": "202:21:32", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 29510, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "202:6:32", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29513, + "mutability": "mutable", + "name": "_decimals", + "nameLocation": "239:9:32", + "nodeType": "VariableDeclaration", + "scope": 29522, + "src": "233:15:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 29512, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "233:5:32", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "163:91:32" + }, + "returnParameters": { + "id": 29520, + "nodeType": "ParameterList", + "parameters": [], + "src": "288:0:32" + }, + "scope": 29549, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 29535, + "nodeType": "FunctionDefinition", + "src": "296:89:32", + "nodes": [], + "body": { + "id": 29534, + "nodeType": "Block", + "src": "352:33:32", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 29530, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29524, + "src": "368:2:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29531, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29526, + "src": "372:5:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29529, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29908, + "src": "362:5:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 29532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "362:16:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29533, + "nodeType": "ExpressionStatement", + "src": "362:16:32" + } + ] + }, + "functionSelector": "40c10f19", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mint", + "nameLocation": "305:4:32", + "parameters": { + "id": 29527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29524, + "mutability": "mutable", + "name": "to", + "nameLocation": "318:2:32", + "nodeType": "VariableDeclaration", + "scope": 29535, + "src": "310:10:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29523, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "310:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29526, + "mutability": "mutable", + "name": "value", + "nameLocation": "330:5:32", + "nodeType": "VariableDeclaration", + "scope": 29535, + "src": "322:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "322:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "309:27:32" + }, + "returnParameters": { + "id": 29528, + "nodeType": "ParameterList", + "parameters": [], + "src": "352:0:32" + }, + "scope": 29549, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 29548, + "nodeType": "FunctionDefinition", + "src": "391:93:32", + "nodes": [], + "body": { + "id": 29547, + "nodeType": "Block", + "src": "449:35:32", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 29543, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29537, + "src": "465:4:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29544, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29539, + "src": "471:5:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29542, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29936, + "src": "459:5:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 29545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "459:18:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29546, + "nodeType": "ExpressionStatement", + "src": "459:18:32" + } + ] + }, + "functionSelector": "9dc29fac", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "400:4:32", + "parameters": { + "id": 29540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29537, + "mutability": "mutable", + "name": "from", + "nameLocation": "413:4:32", + "nodeType": "VariableDeclaration", + "scope": 29548, + "src": "405:12:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "405:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29539, + "mutability": "mutable", + "name": "value", + "nameLocation": "427:5:32", + "nodeType": "VariableDeclaration", + "scope": 29548, + "src": "419:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "419:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "404:29:32" + }, + "returnParameters": { + "id": 29541, + "nodeType": "ParameterList", + "parameters": [], + "src": "449:0:32" + }, + "scope": 29549, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 29506, + "name": "ERC20", + "nameLocations": [ + "140:5:32" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "140:5:32" + }, + "id": 29507, + "nodeType": "InheritanceSpecifier", + "src": "140:5:32" + } + ], + "canonicalName": "MockERC20", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 29549, + 29937 + ], + "name": "MockERC20", + "nameLocation": "127:9:32", + "scope": 29550, + "usedErrors": [] + } + ], + "license": "AGPL-3.0-only" + } + }, + "lib/solmate/src/tokens/ERC20.sol": { + "id": 33, + "ast": { + "absolutePath": "lib/solmate/src/tokens/ERC20.sol", + "id": 29938, + "exportedSymbols": { + "ERC20": [ + 29937 + ] + }, + "nodeType": "SourceUnit", + "src": "42:6770:33", + "nodes": [ + { + "id": 29551, + "nodeType": "PragmaDirective", + "src": "42:24:33", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 29937, + "nodeType": "ContractDefinition", + "src": "474:6337:33", + "nodes": [ + { + "id": 29560, + "nodeType": "EventDefinition", + "src": "683:73:33", + "nodes": [], + "anonymous": false, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "name": "Transfer", + "nameLocation": "689:8:33", + "parameters": { + "id": 29559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29554, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "714:4:33", + "nodeType": "VariableDeclaration", + "scope": 29560, + "src": "698:20:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29553, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "698:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29556, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "736:2:33", + "nodeType": "VariableDeclaration", + "scope": 29560, + "src": "720:18:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29555, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "720:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29558, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "748:6:33", + "nodeType": "VariableDeclaration", + "scope": 29560, + "src": "740:14:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29557, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "740:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "697:58:33" + } + }, + { + "id": 29568, + "nodeType": "EventDefinition", + "src": "762:79:33", + "nodes": [], + "anonymous": false, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "name": "Approval", + "nameLocation": "768:8:33", + "parameters": { + "id": 29567, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29562, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "793:5:33", + "nodeType": "VariableDeclaration", + "scope": 29568, + "src": "777:21:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29561, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "777:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29564, + "indexed": true, + "mutability": "mutable", + "name": "spender", + "nameLocation": "816:7:33", + "nodeType": "VariableDeclaration", + "scope": 29568, + "src": "800:23:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "800:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29566, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "833:6:33", + "nodeType": "VariableDeclaration", + "scope": 29568, + "src": "825:14:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29565, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "825:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "776:64:33" + } + }, + { + "id": 29570, + "nodeType": "VariableDeclaration", + "src": "1031:18:33", + "nodes": [], + "constant": false, + "functionSelector": "06fdde03", + "mutability": "mutable", + "name": "name", + "nameLocation": "1045:4:33", + "scope": 29937, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 29569, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1031:6:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "public" + }, + { + "id": 29572, + "nodeType": "VariableDeclaration", + "src": "1056:20:33", + "nodes": [], + "constant": false, + "functionSelector": "95d89b41", + "mutability": "mutable", + "name": "symbol", + "nameLocation": "1070:6:33", + "scope": 29937, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 29571, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1056:6:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "public" + }, + { + "id": 29574, + "nodeType": "VariableDeclaration", + "src": "1083:31:33", + "nodes": [], + "constant": false, + "functionSelector": "313ce567", + "mutability": "immutable", + "name": "decimals", + "nameLocation": "1106:8:33", + "scope": 29937, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 29573, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1083:5:33", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "public" + }, + { + "id": 29576, + "nodeType": "VariableDeclaration", + "src": "1304:26:33", + "nodes": [], + "constant": false, + "functionSelector": "18160ddd", + "mutability": "mutable", + "name": "totalSupply", + "nameLocation": "1319:11:33", + "scope": 29937, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1304:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 29580, + "nodeType": "VariableDeclaration", + "src": "1337:44:33", + "nodes": [], + "constant": false, + "functionSelector": "70a08231", + "mutability": "mutable", + "name": "balanceOf", + "nameLocation": "1372:9:33", + "scope": 29937, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 29579, + "keyType": { + "id": 29577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1345:7:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1337:27:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 29578, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1356:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "id": 29586, + "nodeType": "VariableDeclaration", + "src": "1388:64:33", + "nodes": [], + "constant": false, + "functionSelector": "dd62ed3e", + "mutability": "mutable", + "name": "allowance", + "nameLocation": "1443:9:33", + "scope": 29937, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 29585, + "keyType": { + "id": 29581, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1396:7:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1388:47:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 29584, + "keyType": { + "id": 29582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1415:7:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1407:27:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 29583, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1426:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "public" + }, + { + "id": 29588, + "nodeType": "VariableDeclaration", + "src": "1643:43:33", + "nodes": [], + "constant": false, + "mutability": "immutable", + "name": "INITIAL_CHAIN_ID", + "nameLocation": "1670:16:33", + "scope": 29937, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1643:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "id": 29590, + "nodeType": "VariableDeclaration", + "src": "1693:51:33", + "nodes": [], + "constant": false, + "mutability": "immutable", + "name": "INITIAL_DOMAIN_SEPARATOR", + "nameLocation": "1720:24:33", + "scope": 29937, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29589, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1693:7:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 29594, + "nodeType": "VariableDeclaration", + "src": "1751:41:33", + "nodes": [], + "constant": false, + "functionSelector": "7ecebe00", + "mutability": "mutable", + "name": "nonces", + "nameLocation": "1786:6:33", + "scope": 29937, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 29593, + "keyType": { + "id": 29591, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1759:7:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1751:27:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 29592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1770:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "id": 29626, + "nodeType": "FunctionDefinition", + "src": "1981:292:33", + "nodes": [], + "body": { + "id": 29625, + "nodeType": "Block", + "src": "2084:189:33", + "nodes": [], + "statements": [ + { + "expression": { + "id": 29605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29603, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29570, + "src": "2094:4:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 29604, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29596, + "src": "2101:5:33", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2094:12:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 29606, + "nodeType": "ExpressionStatement", + "src": "2094:12:33" + }, + { + "expression": { + "id": 29609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29607, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29572, + "src": "2116:6:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 29608, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29598, + "src": "2125:7:33", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2116:16:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 29610, + "nodeType": "ExpressionStatement", + "src": "2116:16:33" + }, + { + "expression": { + "id": 29613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29611, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29574, + "src": "2142:8:33", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 29612, + "name": "_decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29600, + "src": "2153:9:33", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "2142:20:33", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 29614, + "nodeType": "ExpressionStatement", + "src": "2142:20:33" + }, + { + "expression": { + "id": 29618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29615, + "name": "INITIAL_CHAIN_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29588, + "src": "2173:16:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 29616, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2192:5:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 29617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2198:7:33", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "2192:13:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2173:32:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29619, + "nodeType": "ExpressionStatement", + "src": "2173:32:33" + }, + { + "expression": { + "id": 29623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29620, + "name": "INITIAL_DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29590, + "src": "2215:24:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 29621, + "name": "computeDomainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29880, + "src": "2242:22:33", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", + "typeString": "function () view returns (bytes32)" + } + }, + "id": 29622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2242:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2215:51:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29624, + "nodeType": "ExpressionStatement", + "src": "2215:51:33" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 29601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29596, + "mutability": "mutable", + "name": "_name", + "nameLocation": "2016:5:33", + "nodeType": "VariableDeclaration", + "scope": 29626, + "src": "2002:19:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 29595, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2002:6:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29598, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "2045:7:33", + "nodeType": "VariableDeclaration", + "scope": 29626, + "src": "2031:21:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 29597, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2031:6:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29600, + "mutability": "mutable", + "name": "_decimals", + "nameLocation": "2068:9:33", + "nodeType": "VariableDeclaration", + "scope": 29626, + "src": "2062:15:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 29599, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2062:5:33", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "1992:91:33" + }, + "returnParameters": { + "id": 29602, + "nodeType": "ParameterList", + "parameters": [], + "src": "2084:0:33" + }, + "scope": 29937, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 29654, + "nodeType": "FunctionDefinition", + "src": "2461:211:33", + "nodes": [], + "body": { + "id": 29653, + "nodeType": "Block", + "src": "2541:131:33", + "nodes": [], + "statements": [ + { + "expression": { + "id": 29642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 29635, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29586, + "src": "2551:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 29639, + "indexExpression": { + "expression": { + "id": 29636, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2561:3:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2565:6:33", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2561:10:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2551:21:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29640, + "indexExpression": { + "id": 29638, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29628, + "src": "2573:7:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2551:30:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 29641, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29630, + "src": "2584:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2551:39:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29643, + "nodeType": "ExpressionStatement", + "src": "2551:39:33" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29645, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2615:3:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2619:6:33", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2615:10:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29647, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29628, + "src": "2627:7:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29648, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29630, + "src": "2636:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29644, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29568, + "src": "2606:8:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2606:37:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29650, + "nodeType": "EmitStatement", + "src": "2601:42:33" + }, + { + "expression": { + "hexValue": "74727565", + "id": 29651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2661:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 29634, + "id": 29652, + "nodeType": "Return", + "src": "2654:11:33" + } + ] + }, + "functionSelector": "095ea7b3", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "2470:7:33", + "parameters": { + "id": 29631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29628, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2486:7:33", + "nodeType": "VariableDeclaration", + "scope": 29654, + "src": "2478:15:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2478:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29630, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2503:6:33", + "nodeType": "VariableDeclaration", + "scope": 29654, + "src": "2495:14:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2495:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2477:33:33" + }, + "returnParameters": { + "id": 29634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29633, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29654, + "src": "2535:4:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 29632, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2535:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2534:6:33" + }, + "scope": 29937, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 29687, + "nodeType": "FunctionDefinition", + "src": "2678:373:33", + "nodes": [], + "body": { + "id": 29686, + "nodeType": "Block", + "src": "2754:297:33", + "nodes": [], + "statements": [ + { + "expression": { + "id": 29668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29663, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29580, + "src": "2764:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29666, + "indexExpression": { + "expression": { + "id": 29664, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2774:3:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2778:6:33", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2774:10:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2764:21:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 29667, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29658, + "src": "2789:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2764:31:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29669, + "nodeType": "ExpressionStatement", + "src": "2764:31:33" + }, + { + "id": 29676, + "nodeType": "UncheckedBlock", + "src": "2917:58:33", + "statements": [ + { + "expression": { + "id": 29674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29670, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29580, + "src": "2941:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29672, + "indexExpression": { + "id": 29671, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29656, + "src": "2951:2:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2941:13:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 29673, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29658, + "src": "2958:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2941:23:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29675, + "nodeType": "ExpressionStatement", + "src": "2941:23:33" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 29678, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2999:3:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3003:6:33", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2999:10:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29680, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29656, + "src": "3011:2:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29681, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29658, + "src": "3015:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29677, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29560, + "src": "2990:8:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2990:32:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29683, + "nodeType": "EmitStatement", + "src": "2985:37:33" + }, + { + "expression": { + "hexValue": "74727565", + "id": 29684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3040:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 29662, + "id": 29685, + "nodeType": "Return", + "src": "3033:11:33" + } + ] + }, + "functionSelector": "a9059cbb", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "2687:8:33", + "parameters": { + "id": 29659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29656, + "mutability": "mutable", + "name": "to", + "nameLocation": "2704:2:33", + "nodeType": "VariableDeclaration", + "scope": 29687, + "src": "2696:10:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29655, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2696:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29658, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2716:6:33", + "nodeType": "VariableDeclaration", + "scope": 29687, + "src": "2708:14:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29657, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2708:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2695:28:33" + }, + "returnParameters": { + "id": 29662, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29661, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29687, + "src": "2748:4:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 29660, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2748:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2747:6:33" + }, + "scope": 29937, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 29748, + "nodeType": "FunctionDefinition", + "src": "3057:592:33", + "nodes": [], + "body": { + "id": 29747, + "nodeType": "Block", + "src": "3181:468:33", + "nodes": [], + "statements": [ + { + "assignments": [ + 29699 + ], + "declarations": [ + { + "constant": false, + "id": 29699, + "mutability": "mutable", + "name": "allowed", + "nameLocation": "3199:7:33", + "nodeType": "VariableDeclaration", + "scope": 29747, + "src": "3191:15:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3191:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 29706, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 29700, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29586, + "src": "3209:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 29702, + "indexExpression": { + "id": 29701, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29689, + "src": "3219:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3209:15:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29705, + "indexExpression": { + "expression": { + "id": 29703, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3225:3:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3229:6:33", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3225:10:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3209:27:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3191:45:33" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29707, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29699, + "src": "3287:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 29710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3303:7:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 29709, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3303:7:33", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 29708, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3298:4:33", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 29711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3298:13:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 29712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3312:3:33", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "3298:17:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3287:28:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 29725, + "nodeType": "IfStatement", + "src": "3283:80:33", + "trueBody": { + "expression": { + "id": 29723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 29714, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29586, + "src": "3317:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 29718, + "indexExpression": { + "id": 29715, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29689, + "src": "3327:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3317:15:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29719, + "indexExpression": { + "expression": { + "id": 29716, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3333:3:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3337:6:33", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3333:10:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3317:27:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29720, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29699, + "src": "3347:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 29721, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29693, + "src": "3357:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3347:16:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3317:46:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29724, + "nodeType": "ExpressionStatement", + "src": "3317:46:33" + } + }, + { + "expression": { + "id": 29730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29726, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29580, + "src": "3374:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29728, + "indexExpression": { + "id": 29727, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29689, + "src": "3384:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3374:15:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 29729, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29693, + "src": "3393:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3374:25:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29731, + "nodeType": "ExpressionStatement", + "src": "3374:25:33" + }, + { + "id": 29738, + "nodeType": "UncheckedBlock", + "src": "3521:58:33", + "statements": [ + { + "expression": { + "id": 29736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29732, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29580, + "src": "3545:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29734, + "indexExpression": { + "id": 29733, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29691, + "src": "3555:2:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3545:13:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 29735, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29693, + "src": "3562:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3545:23:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29737, + "nodeType": "ExpressionStatement", + "src": "3545:23:33" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 29740, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29689, + "src": "3603:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29741, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29691, + "src": "3609:2:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29742, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29693, + "src": "3613:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29739, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29560, + "src": "3594:8:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3594:26:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29744, + "nodeType": "EmitStatement", + "src": "3589:31:33" + }, + { + "expression": { + "hexValue": "74727565", + "id": 29745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3638:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 29697, + "id": 29746, + "nodeType": "Return", + "src": "3631:11:33" + } + ] + }, + "functionSelector": "23b872dd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "3066:12:33", + "parameters": { + "id": 29694, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29689, + "mutability": "mutable", + "name": "from", + "nameLocation": "3096:4:33", + "nodeType": "VariableDeclaration", + "scope": 29748, + "src": "3088:12:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29688, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3088:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29691, + "mutability": "mutable", + "name": "to", + "nameLocation": "3118:2:33", + "nodeType": "VariableDeclaration", + "scope": 29748, + "src": "3110:10:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3110:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29693, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3138:6:33", + "nodeType": "VariableDeclaration", + "scope": 29748, + "src": "3130:14:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29692, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3130:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3078:72:33" + }, + "returnParameters": { + "id": 29697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29748, + "src": "3175:4:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 29695, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3175:4:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3174:6:33" + }, + "scope": 29937, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 29835, + "nodeType": "FunctionDefinition", + "src": "3838:1483:33", + "nodes": [], + "body": { + "id": 29834, + "nodeType": "Block", + "src": "4027:1294:33", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29766, + "name": "deadline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29756, + "src": "4045:8:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 29767, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "4057:5:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 29768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4063:9:33", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4057:15:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4045:27:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5045524d49545f444541444c494e455f45585049524544", + "id": 29770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4074:25:33", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e", + "typeString": "literal_string \"PERMIT_DEADLINE_EXPIRED\"" + }, + "value": "PERMIT_DEADLINE_EXPIRED" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e", + "typeString": "literal_string \"PERMIT_DEADLINE_EXPIRED\"" + } + ], + "id": 29765, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4037:7:33", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 29771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4037:63:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29772, + "nodeType": "ExpressionStatement", + "src": "4037:63:33" + }, + { + "id": 29827, + "nodeType": "UncheckedBlock", + "src": "4241:1027:33", + "statements": [ + { + "assignments": [ + 29774 + ], + "declarations": [ + { + "constant": false, + "id": 29774, + "mutability": "mutable", + "name": "recoveredAddress", + "nameLocation": "4273:16:33", + "nodeType": "VariableDeclaration", + "scope": 29827, + "src": "4265:24:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29773, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4265:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 29804, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "1901", + "id": 29779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4392:10:33", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", + "typeString": "literal_string hex\"1901\"" + }, + "value": "\u0019\u0001" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 29780, + "name": "DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29850, + "src": "4428:16:33", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", + "typeString": "function () view returns (bytes32)" + } + }, + "id": 29781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4428:18:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529", + "id": 29786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4602:84:33", + "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": 29785, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4555:9:33", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4555:165:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29788, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29750, + "src": "4754:5:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29789, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29752, + "src": "4793:7:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29790, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29754, + "src": "4834:5:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4873:15:33", + "subExpression": { + "baseExpression": { + "id": 29791, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29594, + "src": "4873:6:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29793, + "indexExpression": { + "id": 29792, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29750, + "src": "4880:5:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4873:13:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 29795, + "name": "deadline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29756, + "src": "4922:8:33", + "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": 29783, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4511:3:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4515:6:33", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4511:10:33", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4511:449:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29782, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4472:9:33", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4472:514:33", + "tryCall": false, + "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": 29777, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4350:3:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4354:12:33", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4350:16:33", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4350:658:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29776, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4319:9:33", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4319:707:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29800, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29758, + "src": "5044:1:33", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 29801, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29760, + "src": "5063:1:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 29802, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29762, + "src": "5082:1:33", + "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": 29775, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -6, + "src": "4292:9:33", + "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": 29803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4292:805:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4265:832:33" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 29815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29806, + "name": "recoveredAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29774, + "src": "5120:16:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 29809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5148:1:33", + "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": 29808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5140:7:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 29807, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5140:7:33", + "typeDescriptions": {} + } + }, + "id": 29810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5140:10:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5120:30:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 29814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29812, + "name": "recoveredAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29774, + "src": "5154:16:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 29813, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29750, + "src": "5174:5:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5154:25:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5120:59:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "494e56414c49445f5349474e4552", + "id": 29816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5181:16:33", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c", + "typeString": "literal_string \"INVALID_SIGNER\"" + }, + "value": "INVALID_SIGNER" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c", + "typeString": "literal_string \"INVALID_SIGNER\"" + } + ], + "id": 29805, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5112:7:33", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 29817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5112:86:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29818, + "nodeType": "ExpressionStatement", + "src": "5112:86:33" + }, + { + "expression": { + "id": 29825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 29819, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29586, + "src": "5213:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 29822, + "indexExpression": { + "id": 29820, + "name": "recoveredAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29774, + "src": "5223:16:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5213:27:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29823, + "indexExpression": { + "id": 29821, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29752, + "src": "5241:7:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5213:36:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 29824, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29754, + "src": "5252:5:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5213:44:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29826, + "nodeType": "ExpressionStatement", + "src": "5213:44:33" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 29829, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29750, + "src": "5292:5:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29830, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29752, + "src": "5299:7:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29831, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29754, + "src": "5308:5:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29828, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29568, + "src": "5283:8:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5283:31:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29833, + "nodeType": "EmitStatement", + "src": "5278:36:33" + } + ] + }, + "functionSelector": "d505accf", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permit", + "nameLocation": "3847:6:33", + "parameters": { + "id": 29763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29750, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3871:5:33", + "nodeType": "VariableDeclaration", + "scope": 29835, + "src": "3863:13:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29749, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3863:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29752, + "mutability": "mutable", + "name": "spender", + "nameLocation": "3894:7:33", + "nodeType": "VariableDeclaration", + "scope": 29835, + "src": "3886:15:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29751, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3886:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29754, + "mutability": "mutable", + "name": "value", + "nameLocation": "3919:5:33", + "nodeType": "VariableDeclaration", + "scope": 29835, + "src": "3911:13:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29753, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3911:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29756, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "3942:8:33", + "nodeType": "VariableDeclaration", + "scope": 29835, + "src": "3934:16:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3934:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29758, + "mutability": "mutable", + "name": "v", + "nameLocation": "3966:1:33", + "nodeType": "VariableDeclaration", + "scope": 29835, + "src": "3960:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 29757, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3960:5:33", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29760, + "mutability": "mutable", + "name": "r", + "nameLocation": "3985:1:33", + "nodeType": "VariableDeclaration", + "scope": 29835, + "src": "3977:9:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29759, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3977:7:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29762, + "mutability": "mutable", + "name": "s", + "nameLocation": "4004:1:33", + "nodeType": "VariableDeclaration", + "scope": 29835, + "src": "3996:9:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29761, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3996:7:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3853:158:33" + }, + "returnParameters": { + "id": 29764, + "nodeType": "ParameterList", + "parameters": [], + "src": "4027:0:33" + }, + "scope": 29937, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 29850, + "nodeType": "FunctionDefinition", + "src": "5327:177:33", + "nodes": [], + "body": { + "id": 29849, + "nodeType": "Block", + "src": "5393:111:33", + "nodes": [], + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29840, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "5410:5:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 29841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5416:7:33", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "5410:13:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 29842, + "name": "INITIAL_CHAIN_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29588, + "src": "5427:16:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5410:33:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 29845, + "name": "computeDomainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29880, + "src": "5473:22:33", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", + "typeString": "function () view returns (bytes32)" + } + }, + "id": 29846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5473:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 29847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "5410:87:33", + "trueExpression": { + "id": 29844, + "name": "INITIAL_DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29590, + "src": "5446:24:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 29839, + "id": 29848, + "nodeType": "Return", + "src": "5403:94:33" + } + ] + }, + "functionSelector": "3644e515", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "DOMAIN_SEPARATOR", + "nameLocation": "5336:16:33", + "parameters": { + "id": 29836, + "nodeType": "ParameterList", + "parameters": [], + "src": "5352:2:33" + }, + "returnParameters": { + "id": 29839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29838, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29850, + "src": "5384:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29837, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5384:7:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5383:9:33" + }, + "scope": 29937, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 29880, + "nodeType": "FunctionDefinition", + "src": "5510:446:33", + "nodes": [], + "body": { + "id": 29879, + "nodeType": "Block", + "src": "5584:372:33", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", + "id": 29859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5682:84:33", + "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": 29858, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5672:9:33", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5672:95:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 29864, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29570, + "src": "5805:4:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 29863, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5799:5:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 29862, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5799:5:33", + "typeDescriptions": {} + } + }, + "id": 29865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5799:11:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + ], + "id": 29861, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5789:9:33", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5789:22:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "hexValue": "31", + "id": 29868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5843:3:33", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", + "typeString": "literal_string \"1\"" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", + "typeString": "literal_string \"1\"" + } + ], + "id": 29867, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5833:9:33", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5833:14:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 29870, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "5869:5:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 29871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5875:7:33", + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "5869:13:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 29874, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "5912:4:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + ], + "id": 29873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5904:7:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 29872, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5904:7:33", + "typeDescriptions": {} + } + }, + "id": 29875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5904:13:33", + "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": 29856, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5640:3:33", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 29857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5644:6:33", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5640:10:33", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 29876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5640:295:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 29855, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5613:9:33", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 29877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5613:336:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 29854, + "id": 29878, + "nodeType": "Return", + "src": "5594:355:33" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "computeDomainSeparator", + "nameLocation": "5519:22:33", + "parameters": { + "id": 29851, + "nodeType": "ParameterList", + "parameters": [], + "src": "5541:2:33" + }, + "returnParameters": { + "id": 29854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29853, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 29880, + "src": "5575:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29852, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5575:7:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5574:9:33" + }, + "scope": 29937, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 29908, + "nodeType": "FunctionDefinition", + "src": "6150:325:33", + "nodes": [], + "body": { + "id": 29907, + "nodeType": "Block", + "src": "6210:265:33", + "nodes": [], + "statements": [ + { + "expression": { + "id": 29889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29887, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29576, + "src": "6220:11:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 29888, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29884, + "src": "6235:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6220:21:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29890, + "nodeType": "ExpressionStatement", + "src": "6220:21:33" + }, + { + "id": 29897, + "nodeType": "UncheckedBlock", + "src": "6363:58:33", + "statements": [ + { + "expression": { + "id": 29895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29891, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29580, + "src": "6387:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29893, + "indexExpression": { + "id": 29892, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29882, + "src": "6397:2:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6387:13:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 29894, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29884, + "src": "6404:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6387:23:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29896, + "nodeType": "ExpressionStatement", + "src": "6387:23:33" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 29901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6453:1:33", + "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": 29900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6445:7:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 29899, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6445:7:33", + "typeDescriptions": {} + } + }, + "id": 29902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6445:10:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29903, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29882, + "src": "6457:2:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29904, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29884, + "src": "6461:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29898, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29560, + "src": "6436:8:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6436:32:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29906, + "nodeType": "EmitStatement", + "src": "6431:37:33" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "6159:5:33", + "parameters": { + "id": 29885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29882, + "mutability": "mutable", + "name": "to", + "nameLocation": "6173:2:33", + "nodeType": "VariableDeclaration", + "scope": 29908, + "src": "6165:10:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6165:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29884, + "mutability": "mutable", + "name": "amount", + "nameLocation": "6185:6:33", + "nodeType": "VariableDeclaration", + "scope": 29908, + "src": "6177:14:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29883, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6177:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6164:28:33" + }, + "returnParameters": { + "id": 29886, + "nodeType": "ParameterList", + "parameters": [], + "src": "6210:0:33" + }, + "scope": 29937, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 29936, + "nodeType": "FunctionDefinition", + "src": "6481:328:33", + "nodes": [], + "body": { + "id": 29935, + "nodeType": "Block", + "src": "6543:266:33", + "nodes": [], + "statements": [ + { + "expression": { + "id": 29919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 29915, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29580, + "src": "6553:9:33", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 29917, + "indexExpression": { + "id": 29916, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29910, + "src": "6563:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6553:15:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 29918, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29912, + "src": "6572:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6553:25:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29920, + "nodeType": "ExpressionStatement", + "src": "6553:25:33" + }, + { + "id": 29925, + "nodeType": "UncheckedBlock", + "src": "6697:56:33", + "statements": [ + { + "expression": { + "id": 29923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29921, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29576, + "src": "6721:11:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 29922, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29912, + "src": "6736:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6721:21:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29924, + "nodeType": "ExpressionStatement", + "src": "6721:21:33" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 29927, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29910, + "src": "6777:4:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 29930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6791:1:33", + "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": 29929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6783:7:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 29928, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6783:7:33", + "typeDescriptions": {} + } + }, + "id": 29931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6783:10:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 29932, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29912, + "src": "6795:6:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 29926, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29560, + "src": "6768:8:33", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 29933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6768:34:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29934, + "nodeType": "EmitStatement", + "src": "6763:39:33" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "6490:5:33", + "parameters": { + "id": 29913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29910, + "mutability": "mutable", + "name": "from", + "nameLocation": "6504:4:33", + "nodeType": "VariableDeclaration", + "scope": 29936, + "src": "6496:12:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29909, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6496:7:33", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29912, + "mutability": "mutable", + "name": "amount", + "nameLocation": "6518:6:33", + "nodeType": "VariableDeclaration", + "scope": 29936, + "src": "6510:14:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29911, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6510:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6495:30:33" + }, + "returnParameters": { + "id": 29914, + "nodeType": "ParameterList", + "parameters": [], + "src": "6543:0:33" + }, + "scope": 29937, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "abstract": true, + "baseContracts": [], + "canonicalName": "ERC20", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 29552, + "nodeType": "StructuredDocumentation", + "src": "68:406:33", + "text": "@notice Modern and gas efficient ERC20 + EIP-2612 implementation.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)\n @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\n @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 29937 + ], + "name": "ERC20", + "nameLocation": "492:5:33", + "scope": 29938, + "usedErrors": [] + } + ], + "license": "AGPL-3.0-only" + } + }, + "lib/solmate/src/utils/ReentrancyGuard.sol": { + "id": 34, + "ast": { + "absolutePath": "lib/solmate/src/utils/ReentrancyGuard.sol", + "id": 29964, + "exportedSymbols": { + "ReentrancyGuard": [ + 29963 + ] + }, + "nodeType": "SourceUnit", + "src": "42:560:34", + "nodes": [ + { + "id": 29939, + "nodeType": "PragmaDirective", + "src": "42:24:34", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 29963, + "nodeType": "ContractDefinition", + "src": "389:212:34", + "nodes": [ + { + "id": 29943, + "nodeType": "VariableDeclaration", + "src": "429:26:34", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "locked", + "nameLocation": "445:6:34", + "scope": 29963, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "429:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 29942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "454:1:34", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "private" + }, + { + "id": 29962, + "nodeType": "ModifierDefinition", + "src": "462:137:34", + "nodes": [], + "body": { + "id": 29961, + "nodeType": "Block", + "src": "494:105:34", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 29946, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29943, + "src": "512:6:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 29947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "522:1:34", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "512:11:34", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5245454e5452414e4359", + "id": 29949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "525:12:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_180a23d5434c537ca84b1e47f534d18e25bd055e02a65ce20bae4afd9c835f59", + "typeString": "literal_string \"REENTRANCY\"" + }, + "value": "REENTRANCY" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_180a23d5434c537ca84b1e47f534d18e25bd055e02a65ce20bae4afd9c835f59", + "typeString": "literal_string \"REENTRANCY\"" + } + ], + "id": 29945, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "504:7:34", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 29950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "504:34:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29951, + "nodeType": "ExpressionStatement", + "src": "504:34:34" + }, + { + "expression": { + "id": 29954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29952, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29943, + "src": "549:6:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "32", + "id": 29953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "558:1:34", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "549:10:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29955, + "nodeType": "ExpressionStatement", + "src": "549:10:34" + }, + { + "id": 29956, + "nodeType": "PlaceholderStatement", + "src": "570:1:34" + }, + { + "expression": { + "id": 29959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 29957, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29943, + "src": "582:6:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 29958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "591:1:34", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "582:10:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 29960, + "nodeType": "ExpressionStatement", + "src": "582:10:34" + } + ] + }, + "name": "nonReentrant", + "nameLocation": "471:12:34", + "parameters": { + "id": 29944, + "nodeType": "ParameterList", + "parameters": [], + "src": "483:2:34" + }, + "virtual": true, + "visibility": "internal" + } + ], + "abstract": true, + "baseContracts": [], + "canonicalName": "ReentrancyGuard", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 29940, + "nodeType": "StructuredDocumentation", + "src": "68:321:34", + "text": "@notice Gas optimized reentrancy protection for smart contracts.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/ReentrancyGuard.sol)\n @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol)" + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 29963 + ], + "name": "ReentrancyGuard", + "nameLocation": "407:15:34", + "scope": 29964, + "usedErrors": [] + } + ], + "license": "AGPL-3.0-only" + } + }, + "lib/solmate/src/utils/SafeTransferLib.sol": { + "id": 35, + "ast": { + "absolutePath": "lib/solmate/src/utils/SafeTransferLib.sol", + "id": 30049, + "exportedSymbols": { + "ERC20": [ + 29937 + ], + "SafeTransferLib": [ + 30048 + ] + }, + "nodeType": "SourceUnit", + "src": "42:5913:35", + "nodes": [ + { + "id": 29965, + "nodeType": "PragmaDirective", + "src": "42:24:35", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 29967, + "nodeType": "ImportDirective", + "src": "68:42:35", + "nodes": [], + "absolutePath": "lib/solmate/src/tokens/ERC20.sol", + "file": "../tokens/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 30049, + "sourceUnit": 29938, + "symbolAliases": [ + { + "foreign": { + "id": 29966, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "76:5:35", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30048, + "nodeType": "ContractDefinition", + "src": "586:5368:35", + "nodes": [ + { + "id": 29985, + "nodeType": "FunctionDefinition", + "src": "799:339:35", + "nodes": [], + "body": { + "id": 29984, + "nodeType": "Block", + "src": "861:277:35", + "nodes": [], + "statements": [ + { + "assignments": [ + 29976 + ], + "declarations": [ + { + "constant": false, + "id": 29976, + "mutability": "mutable", + "name": "success", + "nameLocation": "876:7:35", + "nodeType": "VariableDeclaration", + "scope": 29984, + "src": "871:12:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 29975, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "871:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 29977, + "nodeType": "VariableDeclarationStatement", + "src": "871:12:35" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "946:136:35", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1026:46:35", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "1042:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "1042:5:35" + }, + { + "name": "to", + "nodeType": "YulIdentifier", + "src": "1049:2:35" + }, + { + "name": "amount", + "nodeType": "YulIdentifier", + "src": "1053:6:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1061:1:35", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1064:1:35", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1067:1:35", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1070:1:35", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "1037:4:35" + }, + "nodeType": "YulFunctionCall", + "src": "1037:35:35" + }, + "variableNames": [ + { + "name": "success", + "nodeType": "YulIdentifier", + "src": "1026:7:35" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 29972, + "isOffset": false, + "isSlot": false, + "src": "1053:6:35", + "valueSize": 1 + }, + { + "declaration": 29976, + "isOffset": false, + "isSlot": false, + "src": "1026:7:35", + "valueSize": 1 + }, + { + "declaration": 29970, + "isOffset": false, + "isSlot": false, + "src": "1049:2:35", + "valueSize": 1 + } + ], + "id": 29978, + "nodeType": "InlineAssembly", + "src": "937:145:35" + }, + { + "expression": { + "arguments": [ + { + "id": 29980, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29976, + "src": "1100:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4554485f5452414e534645525f4641494c4544", + "id": 29981, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1109:21:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d383913ea1996930a2623a0d739b8fc033c734c1d71d4759d3ccba1d3a719c29", + "typeString": "literal_string \"ETH_TRANSFER_FAILED\"" + }, + "value": "ETH_TRANSFER_FAILED" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d383913ea1996930a2623a0d739b8fc033c734c1d71d4759d3ccba1d3a719c29", + "typeString": "literal_string \"ETH_TRANSFER_FAILED\"" + } + ], + "id": 29979, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1092:7:35", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 29982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1092:39:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29983, + "nodeType": "ExpressionStatement", + "src": "1092:39:35" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferETH", + "nameLocation": "808:15:35", + "parameters": { + "id": 29973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29970, + "mutability": "mutable", + "name": "to", + "nameLocation": "832:2:35", + "nodeType": "VariableDeclaration", + "scope": 29985, + "src": "824:10:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "824:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29972, + "mutability": "mutable", + "name": "amount", + "nameLocation": "844:6:35", + "nodeType": "VariableDeclaration", + "scope": 29985, + "src": "836:14:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29971, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "836:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "823:28:35" + }, + "returnParameters": { + "id": 29974, + "nodeType": "ParameterList", + "parameters": [], + "src": "861:0:35" + }, + "scope": 30048, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 30007, + "nodeType": "FunctionDefinition", + "src": "1328:1616:35", + "nodes": [], + "body": { + "id": 30006, + "nodeType": "Block", + "src": "1456:1488:35", + "nodes": [], + "statements": [ + { + "assignments": [ + 29998 + ], + "declarations": [ + { + "constant": false, + "id": 29998, + "mutability": "mutable", + "name": "success", + "nameLocation": "1471:7:35", + "nodeType": "VariableDeclaration", + "scope": 30006, + "src": "1466:12:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 29997, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1466:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 29999, + "nodeType": "VariableDeclarationStatement", + "src": "1466:12:35" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1541:1346:35", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1605:36:35", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1636:4:35", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1630:5:35" + }, + "nodeType": "YulFunctionCall", + "src": "1630:11:35" + }, + "variables": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulTypedName", + "src": "1609:17:35", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "1759:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1778:66:35", + "type": "", + "value": "0x23b872dd00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1752:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "1752:93:35" + }, + "nodeType": "YulExpressionStatement", + "src": "1752:93:35" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "1869:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1888:1:35", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1865:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "1865:25:35" + }, + { + "name": "from", + "nodeType": "YulIdentifier", + "src": "1892:4:35" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1858:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "1858:39:35" + }, + "nodeType": "YulExpressionStatement", + "src": "1858:39:35" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "1952:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1971:2:35", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1948:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "1948:26:35" + }, + { + "name": "to", + "nodeType": "YulIdentifier", + "src": "1976:2:35" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1941:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "1941:38:35" + }, + "nodeType": "YulExpressionStatement", + "src": "1941:38:35" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "2032:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2051:2:35", + "type": "", + "value": "68" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2028:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "2028:26:35" + }, + { + "name": "amount", + "nodeType": "YulIdentifier", + "src": "2056:6:35" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2021:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "2021:42:35" + }, + "nodeType": "YulExpressionStatement", + "src": "2021:42:35" + }, + { + "nodeType": "YulAssignment", + "src": "2110:767:35", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2337:1:35", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2331:5:35" + }, + "nodeType": "YulFunctionCall", + "src": "2331:8:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2341:1:35", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2328:2:35" + }, + "nodeType": "YulFunctionCall", + "src": "2328:15:35" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "2348:14:35" + }, + "nodeType": "YulFunctionCall", + "src": "2348:16:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2366:2:35", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2345:2:35" + }, + "nodeType": "YulFunctionCall", + "src": "2345:24:35" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2324:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "2324:46:35" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "2379:14:35" + }, + "nodeType": "YulFunctionCall", + "src": "2379:16:35" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2372:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "2372:24:35" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "2321:2:35" + }, + "nodeType": "YulFunctionCall", + "src": "2321:76:35" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "2816:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "2816:5:35" + }, + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "2823:5:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2830:1:35", + "type": "", + "value": "0" + }, + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "2833:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2852:3:35", + "type": "", + "value": "100" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2857:1:35", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2860:2:35", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "2811:4:35" + }, + "nodeType": "YulFunctionCall", + "src": "2811:52:35" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2121:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "2121:756:35" + }, + "variableNames": [ + { + "name": "success", + "nodeType": "YulIdentifier", + "src": "2110:7:35" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 29994, + "isOffset": false, + "isSlot": false, + "src": "2056:6:35", + "valueSize": 1 + }, + { + "declaration": 29990, + "isOffset": false, + "isSlot": false, + "src": "1892:4:35", + "valueSize": 1 + }, + { + "declaration": 29998, + "isOffset": false, + "isSlot": false, + "src": "2110:7:35", + "valueSize": 1 + }, + { + "declaration": 29992, + "isOffset": false, + "isSlot": false, + "src": "1976:2:35", + "valueSize": 1 + }, + { + "declaration": 29988, + "isOffset": false, + "isSlot": false, + "src": "2823:5:35", + "valueSize": 1 + } + ], + "id": 30000, + "nodeType": "InlineAssembly", + "src": "1532:1355:35" + }, + { + "expression": { + "arguments": [ + { + "id": 30002, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29998, + "src": "2905:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5452414e534645525f46524f4d5f4641494c4544", + "id": 30003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2914:22:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_77631768048ee92f9dcf4b9b9d762877d6b9723214862c733f0596708fc219b7", + "typeString": "literal_string \"TRANSFER_FROM_FAILED\"" + }, + "value": "TRANSFER_FROM_FAILED" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_77631768048ee92f9dcf4b9b9d762877d6b9723214862c733f0596708fc219b7", + "typeString": "literal_string \"TRANSFER_FROM_FAILED\"" + } + ], + "id": 30001, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2897:7:35", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 30004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2897:40:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30005, + "nodeType": "ExpressionStatement", + "src": "2897:40:35" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "1337:16:35", + "parameters": { + "id": 29995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29988, + "mutability": "mutable", + "name": "token", + "nameLocation": "1369:5:35", + "nodeType": "VariableDeclaration", + "scope": 30007, + "src": "1363:11:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + }, + "typeName": { + "id": 29987, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 29986, + "name": "ERC20", + "nameLocations": [ + "1363:5:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "1363:5:35" + }, + "referencedDeclaration": 29937, + "src": "1363:5:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29990, + "mutability": "mutable", + "name": "from", + "nameLocation": "1392:4:35", + "nodeType": "VariableDeclaration", + "scope": 30007, + "src": "1384:12:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29989, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1384:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29992, + "mutability": "mutable", + "name": "to", + "nameLocation": "1414:2:35", + "nodeType": "VariableDeclaration", + "scope": 30007, + "src": "1406:10:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 29991, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1406:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 29994, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1434:6:35", + "nodeType": "VariableDeclaration", + "scope": 30007, + "src": "1426:14:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 29993, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1426:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1353:93:35" + }, + "returnParameters": { + "id": 29996, + "nodeType": "ParameterList", + "parameters": [], + "src": "1456:0:35" + }, + "scope": 30048, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 30027, + "nodeType": "FunctionDefinition", + "src": "2950:1499:35", + "nodes": [], + "body": { + "id": 30026, + "nodeType": "Block", + "src": "3052:1397:35", + "nodes": [], + "statements": [ + { + "assignments": [ + 30018 + ], + "declarations": [ + { + "constant": false, + "id": 30018, + "mutability": "mutable", + "name": "success", + "nameLocation": "3067:7:35", + "nodeType": "VariableDeclaration", + "scope": 30026, + "src": "3062:12:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 30017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3062:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 30019, + "nodeType": "VariableDeclarationStatement", + "src": "3062:12:35" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "3137:1260:35", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3201:36:35", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3232:4:35", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3226:5:35" + }, + "nodeType": "YulFunctionCall", + "src": "3226:11:35" + }, + "variables": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulTypedName", + "src": "3205:17:35", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "3355:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3374:66:35", + "type": "", + "value": "0xa9059cbb00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3348:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "3348:93:35" + }, + "nodeType": "YulExpressionStatement", + "src": "3348:93:35" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "3465:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3484:1:35", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3461:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "3461:25:35" + }, + { + "name": "to", + "nodeType": "YulIdentifier", + "src": "3488:2:35" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3454:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "3454:37:35" + }, + "nodeType": "YulExpressionStatement", + "src": "3454:37:35" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "3544:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3563:2:35", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3540:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "3540:26:35" + }, + { + "name": "amount", + "nodeType": "YulIdentifier", + "src": "3568:6:35" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3533:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "3533:42:35" + }, + "nodeType": "YulExpressionStatement", + "src": "3533:42:35" + }, + { + "nodeType": "YulAssignment", + "src": "3622:765:35", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3849:1:35", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3843:5:35" + }, + "nodeType": "YulFunctionCall", + "src": "3843:8:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3853:1:35", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3840:2:35" + }, + "nodeType": "YulFunctionCall", + "src": "3840:15:35" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "3860:14:35" + }, + "nodeType": "YulFunctionCall", + "src": "3860:16:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3878:2:35", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3857:2:35" + }, + "nodeType": "YulFunctionCall", + "src": "3857:24:35" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3836:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "3836:46:35" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "3891:14:35" + }, + "nodeType": "YulFunctionCall", + "src": "3891:16:35" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3884:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "3884:24:35" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "3833:2:35" + }, + "nodeType": "YulFunctionCall", + "src": "3833:76:35" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "4327:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "4327:5:35" + }, + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "4334:5:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4341:1:35", + "type": "", + "value": "0" + }, + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "4344:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4363:2:35", + "type": "", + "value": "68" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4367:1:35", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4370:2:35", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "4322:4:35" + }, + "nodeType": "YulFunctionCall", + "src": "4322:51:35" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3633:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "3633:754:35" + }, + "variableNames": [ + { + "name": "success", + "nodeType": "YulIdentifier", + "src": "3622:7:35" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 30014, + "isOffset": false, + "isSlot": false, + "src": "3568:6:35", + "valueSize": 1 + }, + { + "declaration": 30018, + "isOffset": false, + "isSlot": false, + "src": "3622:7:35", + "valueSize": 1 + }, + { + "declaration": 30012, + "isOffset": false, + "isSlot": false, + "src": "3488:2:35", + "valueSize": 1 + }, + { + "declaration": 30010, + "isOffset": false, + "isSlot": false, + "src": "4334:5:35", + "valueSize": 1 + } + ], + "id": 30020, + "nodeType": "InlineAssembly", + "src": "3128:1269:35" + }, + { + "expression": { + "arguments": [ + { + "id": 30022, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30018, + "src": "4415:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5452414e534645525f4641494c4544", + "id": 30023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4424:17:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8bf8f0d780f13740660fe63233b17f96cb1813889e7dce4121e55b817b367b72", + "typeString": "literal_string \"TRANSFER_FAILED\"" + }, + "value": "TRANSFER_FAILED" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8bf8f0d780f13740660fe63233b17f96cb1813889e7dce4121e55b817b367b72", + "typeString": "literal_string \"TRANSFER_FAILED\"" + } + ], + "id": 30021, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4407:7:35", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 30024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4407:35:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30025, + "nodeType": "ExpressionStatement", + "src": "4407:35:35" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransfer", + "nameLocation": "2959:12:35", + "parameters": { + "id": 30015, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30010, + "mutability": "mutable", + "name": "token", + "nameLocation": "2987:5:35", + "nodeType": "VariableDeclaration", + "scope": 30027, + "src": "2981:11:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + }, + "typeName": { + "id": 30009, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30008, + "name": "ERC20", + "nameLocations": [ + "2981:5:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "2981:5:35" + }, + "referencedDeclaration": 29937, + "src": "2981:5:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30012, + "mutability": "mutable", + "name": "to", + "nameLocation": "3010:2:35", + "nodeType": "VariableDeclaration", + "scope": 30027, + "src": "3002:10:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30011, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3002:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30014, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3030:6:35", + "nodeType": "VariableDeclaration", + "scope": 30027, + "src": "3022:14:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30013, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3022:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2971:71:35" + }, + "returnParameters": { + "id": 30016, + "nodeType": "ParameterList", + "parameters": [], + "src": "3052:0:35" + }, + "scope": 30048, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 30047, + "nodeType": "FunctionDefinition", + "src": "4455:1497:35", + "nodes": [], + "body": { + "id": 30046, + "nodeType": "Block", + "src": "4556:1396:35", + "nodes": [], + "statements": [ + { + "assignments": [ + 30038 + ], + "declarations": [ + { + "constant": false, + "id": 30038, + "mutability": "mutable", + "name": "success", + "nameLocation": "4571:7:35", + "nodeType": "VariableDeclaration", + "scope": 30046, + "src": "4566:12:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 30037, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4566:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 30039, + "nodeType": "VariableDeclarationStatement", + "src": "4566:12:35" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "4641:1260:35", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4705:36:35", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4736:4:35", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4730:5:35" + }, + "nodeType": "YulFunctionCall", + "src": "4730:11:35" + }, + "variables": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulTypedName", + "src": "4709:17:35", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "4859:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4878:66:35", + "type": "", + "value": "0x095ea7b300000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4852:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "4852:93:35" + }, + "nodeType": "YulExpressionStatement", + "src": "4852:93:35" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "4969:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4988:1:35", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4965:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "4965:25:35" + }, + { + "name": "to", + "nodeType": "YulIdentifier", + "src": "4992:2:35" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4958:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "4958:37:35" + }, + "nodeType": "YulExpressionStatement", + "src": "4958:37:35" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "5048:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5067:2:35", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5044:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "5044:26:35" + }, + { + "name": "amount", + "nodeType": "YulIdentifier", + "src": "5072:6:35" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5037:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "5037:42:35" + }, + "nodeType": "YulExpressionStatement", + "src": "5037:42:35" + }, + { + "nodeType": "YulAssignment", + "src": "5126:765:35", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5353:1:35", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5347:5:35" + }, + "nodeType": "YulFunctionCall", + "src": "5347:8:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5357:1:35", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5344:2:35" + }, + "nodeType": "YulFunctionCall", + "src": "5344:15:35" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "5364:14:35" + }, + "nodeType": "YulFunctionCall", + "src": "5364:16:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5382:2:35", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5361:2:35" + }, + "nodeType": "YulFunctionCall", + "src": "5361:24:35" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5340:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "5340:46:35" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "5395:14:35" + }, + "nodeType": "YulFunctionCall", + "src": "5395:16:35" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5388:6:35" + }, + "nodeType": "YulFunctionCall", + "src": "5388:24:35" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "5337:2:35" + }, + "nodeType": "YulFunctionCall", + "src": "5337:76:35" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "5831:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "5831:5:35" + }, + { + "name": "token", + "nodeType": "YulIdentifier", + "src": "5838:5:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5845:1:35", + "type": "", + "value": "0" + }, + { + "name": "freeMemoryPointer", + "nodeType": "YulIdentifier", + "src": "5848:17:35" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5867:2:35", + "type": "", + "value": "68" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5871:1:35", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5874:2:35", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "call", + "nodeType": "YulIdentifier", + "src": "5826:4:35" + }, + "nodeType": "YulFunctionCall", + "src": "5826:51:35" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5137:3:35" + }, + "nodeType": "YulFunctionCall", + "src": "5137:754:35" + }, + "variableNames": [ + { + "name": "success", + "nodeType": "YulIdentifier", + "src": "5126:7:35" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 30034, + "isOffset": false, + "isSlot": false, + "src": "5072:6:35", + "valueSize": 1 + }, + { + "declaration": 30038, + "isOffset": false, + "isSlot": false, + "src": "5126:7:35", + "valueSize": 1 + }, + { + "declaration": 30032, + "isOffset": false, + "isSlot": false, + "src": "4992:2:35", + "valueSize": 1 + }, + { + "declaration": 30030, + "isOffset": false, + "isSlot": false, + "src": "5838:5:35", + "valueSize": 1 + } + ], + "id": 30040, + "nodeType": "InlineAssembly", + "src": "4632:1269:35" + }, + { + "expression": { + "arguments": [ + { + "id": 30042, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30038, + "src": "5919:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "415050524f56455f4641494c4544", + "id": 30043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5928:16:35", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd400c5237ae346977ee020ef8d0d26a880c07edf7eba69a8848f0d31e9a88f2", + "typeString": "literal_string \"APPROVE_FAILED\"" + }, + "value": "APPROVE_FAILED" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cd400c5237ae346977ee020ef8d0d26a880c07edf7eba69a8848f0d31e9a88f2", + "typeString": "literal_string \"APPROVE_FAILED\"" + } + ], + "id": 30041, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5911:7:35", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 30044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5911:34:35", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30045, + "nodeType": "ExpressionStatement", + "src": "5911:34:35" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeApprove", + "nameLocation": "4464:11:35", + "parameters": { + "id": 30035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30030, + "mutability": "mutable", + "name": "token", + "nameLocation": "4491:5:35", + "nodeType": "VariableDeclaration", + "scope": 30047, + "src": "4485:11:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + }, + "typeName": { + "id": 30029, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30028, + "name": "ERC20", + "nameLocations": [ + "4485:5:35" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "4485:5:35" + }, + "referencedDeclaration": 29937, + "src": "4485:5:35", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30032, + "mutability": "mutable", + "name": "to", + "nameLocation": "4514:2:35", + "nodeType": "VariableDeclaration", + "scope": 30047, + "src": "4506:10:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30031, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4506:7:35", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30034, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4534:6:35", + "nodeType": "VariableDeclaration", + "scope": 30047, + "src": "4526:14:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30033, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4526:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4475:71:35" + }, + "returnParameters": { + "id": 30036, + "nodeType": "ParameterList", + "parameters": [], + "src": "4556:0:35" + }, + "scope": 30048, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "SafeTransferLib", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 29968, + "nodeType": "StructuredDocumentation", + "src": "112:474:35", + "text": "@notice Safe ETH and ERC20 transfer library that gracefully handles missing return values.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)\n @dev Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer.\n @dev Note that none of the functions in this library check that a token has code at all! That responsibility is delegated to the caller." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 30048 + ], + "name": "SafeTransferLib", + "nameLocation": "594:15:35", + "scope": 30049, + "usedErrors": [] + } + ], + "license": "AGPL-3.0-only" + } + }, + "script/DeploymentUtils.sol": { + "id": 36, + "ast": { + "absolutePath": "script/DeploymentUtils.sol", + "id": 30326, + "exportedSymbols": { + "ContractData": [ + 30058 + ], + "DeploymentUtils": [ + 30325 + ], + "Script": [ + 1895 + ], + "console": [ + 18297 + ] + }, + "nodeType": "SourceUnit", + "src": "45:2361:36", + "nodes": [ + { + "id": 30050, + "nodeType": "PragmaDirective", + "src": "45:24:36", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".15" + ] + }, + { + "id": 30053, + "nodeType": "ImportDirective", + "src": "71:55:36", + "nodes": [], + "absolutePath": "lib/forge-std/src/Script.sol", + "file": "forge-std/Script.sol", + "nameLocation": "-1:-1:-1", + "scope": 30326, + "sourceUnit": 1896, + "symbolAliases": [ + { + "foreign": { + "id": 30051, + "name": "Script", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "80:6:36", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 30052, + "name": "console", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18297, + "src": "88:7:36", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30058, + "nodeType": "StructDefinition", + "src": "128:57:36", + "nodes": [], + "canonicalName": "ContractData", + "members": [ + { + "constant": false, + "id": 30055, + "mutability": "mutable", + "name": "key", + "nameLocation": "161:3:36", + "nodeType": "VariableDeclaration", + "scope": 30058, + "src": "154:10:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30054, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "154:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30057, + "mutability": "mutable", + "name": "addr", + "nameLocation": "178:4:36", + "nodeType": "VariableDeclaration", + "scope": 30058, + "src": "170:12:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30056, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "170:7:36", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "ContractData", + "nameLocation": "135:12:36", + "scope": 30326, + "visibility": "public" + }, + { + "id": 30325, + "nodeType": "ContractDefinition", + "src": "187:2218:36", + "nodes": [ + { + "id": 30064, + "nodeType": "VariableDeclaration", + "src": "228:34:36", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "registeredContracts", + "nameLocation": "243:19:36", + "scope": 30325, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData[]" + }, + "typeName": { + "baseType": { + "id": 30062, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30061, + "name": "ContractData", + "nameLocations": [ + "228:12:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30058, + "src": "228:12:36" + }, + "referencedDeclaration": 30058, + "src": "228:12:36", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContractData_$30058_storage_ptr", + "typeString": "struct ContractData" + } + }, + "id": 30063, + "nodeType": "ArrayTypeName", + "src": "228:14:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage_ptr", + "typeString": "struct ContractData[]" + } + }, + "visibility": "internal" + }, + { + "id": 30068, + "nodeType": "VariableDeclaration", + "src": "268:53:36", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "registeredContractsAddress", + "nameLocation": "295:26:36", + "scope": 30325, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string => address)" + }, + "typeName": { + "id": 30067, + "keyType": { + "id": 30065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "276:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "268:26:36", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string => address)" + }, + "valueType": { + "id": 30066, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "286:7:36", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "internal" + }, + { + "id": 30072, + "nodeType": "VariableDeclaration", + "src": "328:33:36", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "__madeDir", + "nameLocation": "352:9:36", + "scope": 30325, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", + "typeString": "mapping(string => bool)" + }, + "typeName": { + "id": 30071, + "keyType": { + "id": 30069, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "336:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "328:23:36", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", + "typeString": "mapping(string => bool)" + }, + "valueType": { + "id": 30070, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "346:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "id": 30087, + "nodeType": "FunctionDefinition", + "src": "368:150:36", + "nodes": [], + "body": { + "id": 30086, + "nodeType": "Block", + "src": "459:59:36", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "6465706c6f796d656e74732f", + "id": 30082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "490:14:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_87890c498a1cdfe64bb20732ccc4d16351460170607667de109d51be9d167714", + "typeString": "literal_string \"deployments/\"" + }, + "value": "deployments/" + }, + { + "id": 30083, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30074, + "src": "506:4:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_87890c498a1cdfe64bb20732ccc4d16351460170607667de109d51be9d167714", + "typeString": "literal_string \"deployments/\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 30080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "476:6:36", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 30079, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "476:6:36", + "typeDescriptions": {} + } + }, + "id": 30081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "483:6:36", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "476:13:36", + "typeDescriptions": { + "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", + "typeString": "function () pure returns (string memory)" + } + }, + "id": 30084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "476:35:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 30078, + "id": 30085, + "nodeType": "Return", + "src": "469:42:36" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deploymentsPath", + "nameLocation": "377:15:36", + "parameters": { + "id": 30075, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30074, + "mutability": "mutable", + "name": "path", + "nameLocation": "407:4:36", + "nodeType": "VariableDeclaration", + "scope": 30087, + "src": "393:18:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30073, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "393:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "392:20:36" + }, + "returnParameters": { + "id": 30078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30077, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 30087, + "src": "444:13:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30076, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "444:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "443:15:36" + }, + "scope": 30325, + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "id": 30110, + "nodeType": "FunctionDefinition", + "src": "524:190:36", + "nodes": [], + "body": { + "id": 30109, + "nodeType": "Block", + "src": "600:114:36", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 30098, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30089, + "src": "648:3:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 30099, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30091, + "src": "653:4:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30097, + "name": "ContractData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30058, + "src": "635:12:36", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ContractData_$30058_storage_ptr_$", + "typeString": "type(struct ContractData storage pointer)" + } + }, + "id": 30100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "635:23:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContractData_$30058_memory_ptr", + "typeString": "struct ContractData memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_ContractData_$30058_memory_ptr", + "typeString": "struct ContractData memory" + } + ], + "expression": { + "id": 30094, + "name": "registeredContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30064, + "src": "610:19:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData storage ref[] storage ref" + } + }, + "id": 30096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "630:4:36", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "610:24:36", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage_ptr_$_t_struct$_ContractData_$30058_storage_$returns$__$bound_to$_t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage_ptr_$", + "typeString": "function (struct ContractData storage ref[] storage pointer,struct ContractData storage ref)" + } + }, + "id": 30101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "610:49:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30102, + "nodeType": "ExpressionStatement", + "src": "610:49:36" + }, + { + "expression": { + "id": 30107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 30103, + "name": "registeredContractsAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30068, + "src": "669:26:36", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 30105, + "indexExpression": { + "id": 30104, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30089, + "src": "696:3:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "669:31:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30106, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30091, + "src": "703:4:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "669:38:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 30108, + "nodeType": "ExpressionStatement", + "src": "669:38:36" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerContract", + "nameLocation": "533:16:36", + "parameters": { + "id": 30092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30089, + "mutability": "mutable", + "name": "key", + "nameLocation": "564:3:36", + "nodeType": "VariableDeclaration", + "scope": 30110, + "src": "550:17:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30088, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "550:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30091, + "mutability": "mutable", + "name": "addr", + "nameLocation": "577:4:36", + "nodeType": "VariableDeclaration", + "scope": 30110, + "src": "569:12:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "569:7:36", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "549:33:36" + }, + "returnParameters": { + "id": 30093, + "nodeType": "ParameterList", + "parameters": [], + "src": "600:0:36" + }, + "scope": 30325, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 30162, + "nodeType": "FunctionDefinition", + "src": "720:286:36", + "nodes": [], + "body": { + "id": 30161, + "nodeType": "Block", + "src": "772:234:36", + "nodes": [], + "statements": [ + { + "condition": { + "baseExpression": { + "id": 30115, + "name": "__madeDir", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30072, + "src": "786:9:36", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", + "typeString": "mapping(string memory => bool)" + } + }, + "id": 30117, + "indexExpression": { + "id": 30116, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30112, + "src": "796:4:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "786:15:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30119, + "nodeType": "IfStatement", + "src": "782:28:36", + "trueBody": { + "functionReturnParameters": 30114, + "id": 30118, + "nodeType": "Return", + "src": "803:7:36" + } + }, + { + "assignments": [ + 30124 + ], + "declarations": [ + { + "constant": false, + "id": 30124, + "mutability": "mutable", + "name": "script", + "nameLocation": "836:6:36", + "nodeType": "VariableDeclaration", + "scope": 30161, + "src": "820:22:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 30122, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "820:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 30123, + "nodeType": "ArrayTypeName", + "src": "820:8:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "id": 30130, + "initialValue": { + "arguments": [ + { + "hexValue": "33", + "id": 30128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "858:1:36", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + } + ], + "id": 30127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "845:12:36", + "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": 30125, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "849:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 30126, + "nodeType": "ArrayTypeName", + "src": "849:8:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + } + }, + "id": 30129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "845:15:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "820:40:36" + }, + { + "expression": { + "id": 30135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 30131, + "name": "script", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30124, + "src": "870:6:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 30133, + "indexExpression": { + "hexValue": "30", + "id": 30132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "877:1:36", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "870:9:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "6d6b646972", + "id": 30134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "882:7:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d0a66eba828720e4a87c5882ed3da3c7fe6a088cb0837fb4a1b7f0ed274d2b5", + "typeString": "literal_string \"mkdir\"" + }, + "value": "mkdir" + }, + "src": "870:19:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 30136, + "nodeType": "ExpressionStatement", + "src": "870:19:36" + }, + { + "expression": { + "id": 30141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 30137, + "name": "script", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30124, + "src": "899:6:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 30139, + "indexExpression": { + "hexValue": "31", + "id": 30138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "906:1:36", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "899:9:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "2d70", + "id": 30140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "911:4:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_82963bf5ac7bcb82b1b097cc99700ea756ef9e513e6bc51bc0e020c884856321", + "typeString": "literal_string \"-p\"" + }, + "value": "-p" + }, + "src": "899:16:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 30142, + "nodeType": "ExpressionStatement", + "src": "899:16:36" + }, + { + "expression": { + "id": 30147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 30143, + "name": "script", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30124, + "src": "925:6:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 30145, + "indexExpression": { + "hexValue": "32", + "id": 30144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "932:1:36", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "925:9:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30146, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30112, + "src": "937:4:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "925:16:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 30148, + "nodeType": "ExpressionStatement", + "src": "925:16:36" + }, + { + "expression": { + "arguments": [ + { + "id": 30152, + "name": "script", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30124, + "src": "959:6:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + ], + "expression": { + "id": 30149, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "952:2:36", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 30151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "955:3:36", + "memberName": "ffi", + "nodeType": "MemberAccess", + "referencedDeclaration": 9018, + "src": "952:6:36", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory[] memory) external returns (bytes memory)" + } + }, + "id": 30153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "952:14:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 30154, + "nodeType": "ExpressionStatement", + "src": "952:14:36" + }, + { + "expression": { + "id": 30159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 30155, + "name": "__madeDir", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30072, + "src": "977:9:36", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_bool_$", + "typeString": "mapping(string memory => bool)" + } + }, + "id": 30157, + "indexExpression": { + "id": 30156, + "name": "path", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30112, + "src": "987:4:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "977:15:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 30158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "995:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "977:22:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30160, + "nodeType": "ExpressionStatement", + "src": "977:22:36" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mkdir", + "nameLocation": "729:5:36", + "parameters": { + "id": 30113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30112, + "mutability": "mutable", + "name": "path", + "nameLocation": "749:4:36", + "nodeType": "VariableDeclaration", + "scope": 30162, + "src": "735:18:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30111, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "735:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "734:20:36" + }, + "returnParameters": { + "id": 30114, + "nodeType": "ParameterList", + "parameters": [], + "src": "772:0:36" + }, + "scope": 30325, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 30234, + "nodeType": "FunctionDefinition", + "src": "1012:594:36", + "nodes": [], + "body": { + "id": 30233, + "nodeType": "Block", + "src": "1101:505:36", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30167, + "name": "registeredContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30064, + "src": "1115:19:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData storage ref[] storage ref" + } + }, + "id": 30168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1135:6:36", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1115:26:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 30169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1145:1:36", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1115:31:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30173, + "nodeType": "IfStatement", + "src": "1111:46:36", + "trueBody": { + "expression": { + "hexValue": "", + "id": 30171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1155:2:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "functionReturnParameters": 30166, + "id": 30172, + "nodeType": "Return", + "src": "1148:9:36" + } + }, + { + "expression": { + "id": 30180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30174, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30165, + "src": "1168:4:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "7b0a", + "id": 30178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1189:5:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e84e3be0b2539d1e662254f21d16cce12f72d843aa9078698eea39320cd6a28", + "typeString": "literal_string hex\"7b0a\"" + }, + "value": "{\n" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7e84e3be0b2539d1e662254f21d16cce12f72d843aa9078698eea39320cd6a28", + "typeString": "literal_string hex\"7b0a\"" + } + ], + "expression": { + "id": 30176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1175:6:36", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 30175, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1175:6:36", + "typeDescriptions": {} + } + }, + "id": 30177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1182:6:36", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "1175:13:36", + "typeDescriptions": { + "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", + "typeString": "function () pure returns (string memory)" + } + }, + "id": 30179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1175:20:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1168:27:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 30181, + "nodeType": "ExpressionStatement", + "src": "1168:27:36" + }, + { + "body": { + "id": 30222, + "nodeType": "Block", + "src": "1259:299:36", + "statements": [ + { + "expression": { + "id": 30220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30192, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30165, + "src": "1273:4:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 30196, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30165, + "src": "1311:4:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2022", + "id": 30197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1333:4:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6223c8c0722bf9c2efa71d366d5c1bcad93c9b3d552da5e817515ed40f1a0c26", + "typeString": "literal_string \" \"\"" + }, + "value": " \"" + }, + { + "expression": { + "baseExpression": { + "id": 30198, + "name": "registeredContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30064, + "src": "1355:19:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData storage ref[] storage ref" + } + }, + "id": 30200, + "indexExpression": { + "id": 30199, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30183, + "src": "1375:1:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1355:22:36", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContractData_$30058_storage", + "typeString": "struct ContractData storage ref" + } + }, + "id": 30201, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1378:3:36", + "memberName": "key", + "nodeType": "MemberAccess", + "referencedDeclaration": 30055, + "src": "1355:26:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "hexValue": "223a2022", + "id": 30202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1399:6:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_421d27414eddf282f4e4829f41eae7914013e664221e77a97e7b4ec73be26358", + "typeString": "literal_string \"\": \"\"" + }, + "value": "\": \"" + }, + { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 30205, + "name": "registeredContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30064, + "src": "1435:19:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData storage ref[] storage ref" + } + }, + "id": 30207, + "indexExpression": { + "id": 30206, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30183, + "src": "1455:1:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1435:22:36", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContractData_$30058_storage", + "typeString": "struct ContractData storage ref" + } + }, + "id": 30208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1458:4:36", + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 30057, + "src": "1435:27:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 30203, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "1423:2:36", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 30204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1426:8:36", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 9434, + "src": "1423:11:36", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$", + "typeString": "function (address) pure external returns (string memory)" + } + }, + "id": 30209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1423:40:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30210, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30183, + "src": "1481:1:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 30211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1485:1:36", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1481:5:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 30213, + "name": "registeredContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30064, + "src": "1490:19:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData storage ref[] storage ref" + } + }, + "id": 30214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1510:6:36", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1490:26:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1481:35:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "222c0a", + "id": 30217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1527:6:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_14bc0c2e4ecbbcde6f56f467d580b5a8756be2d54196a67449228844deeba1e8", + "typeString": "literal_string hex\"222c0a\"" + }, + "value": "\",\n" + }, + "id": 30218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1481:52:36", + "trueExpression": { + "hexValue": "220a", + "id": 30216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1519:5:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae5ec70ff0fecda1c466fa7ab008f650d2e7908d671facbd000a7534217740c8", + "typeString": "literal_string hex\"220a\"" + }, + "value": "\"\n" + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_6223c8c0722bf9c2efa71d366d5c1bcad93c9b3d552da5e817515ed40f1a0c26", + "typeString": "literal_string \" \"\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_stringliteral_421d27414eddf282f4e4829f41eae7914013e664221e77a97e7b4ec73be26358", + "typeString": "literal_string \"\": \"\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 30194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1280:6:36", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 30193, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1280:6:36", + "typeDescriptions": {} + } + }, + "id": 30195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1287:6:36", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "1280:13:36", + "typeDescriptions": { + "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", + "typeString": "function () pure returns (string memory)" + } + }, + "id": 30219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1280:267:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1273:274:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 30221, + "nodeType": "ExpressionStatement", + "src": "1273:274:36" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30185, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30183, + "src": "1222:1:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 30186, + "name": "registeredContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30064, + "src": "1226:19:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData storage ref[] storage ref" + } + }, + "id": 30187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1246:6:36", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1226:26:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1222:30:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30223, + "initializationExpression": { + "assignments": [ + 30183 + ], + "declarations": [ + { + "constant": false, + "id": 30183, + "mutability": "mutable", + "name": "i", + "nameLocation": "1219:1:36", + "nodeType": "VariableDeclaration", + "scope": 30223, + "src": "1211:9:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1211:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 30184, + "nodeType": "VariableDeclarationStatement", + "src": "1211:9:36" + }, + "loopExpression": { + "expression": { + "id": 30190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1254:3:36", + "subExpression": { + "id": 30189, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30183, + "src": "1254:1:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30191, + "nodeType": "ExpressionStatement", + "src": "1254:3:36" + }, + "nodeType": "ForStatement", + "src": "1206:352:36" + }, + { + "expression": { + "id": 30231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30224, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30165, + "src": "1568:4:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 30228, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30165, + "src": "1589:4:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "7d", + "id": 30229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1595:3:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", + "typeString": "literal_string \"}\"" + }, + "value": "}" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", + "typeString": "literal_string \"}\"" + } + ], + "expression": { + "id": 30226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1575:6:36", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 30225, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1575:6:36", + "typeDescriptions": {} + } + }, + "id": 30227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1582:6:36", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "1575:13:36", + "typeDescriptions": { + "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", + "typeString": "function () pure returns (string memory)" + } + }, + "id": 30230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1575:24:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1568:31:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 30232, + "nodeType": "ExpressionStatement", + "src": "1568:31:36" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "generateRegisteredContractsJson", + "nameLocation": "1021:31:36", + "parameters": { + "id": 30163, + "nodeType": "ParameterList", + "parameters": [], + "src": "1052:2:36" + }, + "returnParameters": { + "id": 30166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30165, + "mutability": "mutable", + "name": "json", + "nameLocation": "1095:4:36", + "nodeType": "VariableDeclaration", + "scope": 30234, + "src": "1081:18:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30164, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1081:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1080:20:36" + }, + "scope": 30325, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 30264, + "nodeType": "FunctionDefinition", + "src": "1612:219:36", + "nodes": [], + "body": { + "id": 30263, + "nodeType": "Block", + "src": "1660:171:36", + "nodes": [], + "statements": [ + { + "body": { + "id": 30261, + "nodeType": "Block", + "src": "1723:102:36", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "25733d2573", + "id": 30250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1749:7:36", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ba04ca59cef6dfc4ba7b955963ea5e8e44f1f0881af75381f21b14f7884b2ac", + "typeString": "literal_string \"%s=%s\"" + }, + "value": "%s=%s" + }, + { + "expression": { + "baseExpression": { + "id": 30251, + "name": "registeredContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30064, + "src": "1758:19:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData storage ref[] storage ref" + } + }, + "id": 30253, + "indexExpression": { + "id": 30252, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30238, + "src": "1778:1:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1758:22:36", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContractData_$30058_storage", + "typeString": "struct ContractData storage ref" + } + }, + "id": 30254, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1781:3:36", + "memberName": "key", + "nodeType": "MemberAccess", + "referencedDeclaration": 30055, + "src": "1758:26:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "expression": { + "baseExpression": { + "id": 30255, + "name": "registeredContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30064, + "src": "1786:19:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData storage ref[] storage ref" + } + }, + "id": 30257, + "indexExpression": { + "id": 30256, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30238, + "src": "1806:1:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1786:22:36", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ContractData_$30058_storage", + "typeString": "struct ContractData storage ref" + } + }, + "id": 30258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1809:4:36", + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 30057, + "src": "1786:27:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2ba04ca59cef6dfc4ba7b955963ea5e8e44f1f0881af75381f21b14f7884b2ac", + "typeString": "literal_string \"%s=%s\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 30247, + "name": "console", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18297, + "src": "1737:7:36", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_console_$18297_$", + "typeString": "type(library console)" + } + }, + "id": 30249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1745:3:36", + "memberName": "log", + "nodeType": "MemberAccess", + "referencedDeclaration": 11608, + "src": "1737:11:36", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,string memory,address) view" + } + }, + "id": 30259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1737:77:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30260, + "nodeType": "ExpressionStatement", + "src": "1737:77:36" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30240, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30238, + "src": "1686:1:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 30241, + "name": "registeredContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30064, + "src": "1690:19:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_ContractData_$30058_storage_$dyn_storage", + "typeString": "struct ContractData storage ref[] storage ref" + } + }, + "id": 30242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1710:6:36", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1690:26:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1686:30:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30262, + "initializationExpression": { + "assignments": [ + 30238 + ], + "declarations": [ + { + "constant": false, + "id": 30238, + "mutability": "mutable", + "name": "i", + "nameLocation": "1683:1:36", + "nodeType": "VariableDeclaration", + "scope": 30262, + "src": "1675:9:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30237, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1675:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 30239, + "nodeType": "VariableDeclarationStatement", + "src": "1675:9:36" + }, + "loopExpression": { + "expression": { + "id": 30245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1718:3:36", + "subExpression": { + "id": 30244, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30238, + "src": "1718:1:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30246, + "nodeType": "ExpressionStatement", + "src": "1718:3:36" + }, + "nodeType": "ForStatement", + "src": "1670:155:36" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logDeployments", + "nameLocation": "1621:14:36", + "parameters": { + "id": 30235, + "nodeType": "ParameterList", + "parameters": [], + "src": "1635:2:36" + }, + "returnParameters": { + "id": 30236, + "nodeType": "ParameterList", + "parameters": [], + "src": "1660:0:36" + }, + "scope": 30325, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 30294, + "nodeType": "FunctionDefinition", + "src": "1837:277:36", + "nodes": [], + "body": { + "id": 30293, + "nodeType": "Block", + "src": "1966:148:36", + "nodes": [], + "statements": [ + { + "expression": { + "id": 30275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30273, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30271, + "src": "1976:5:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30274, + "name": "defaultValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30266, + "src": "1984:12:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1976:20:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30276, + "nodeType": "ExpressionStatement", + "src": "1976:20:36" + }, + { + "clauses": [ + { + "block": { + "id": 30288, + "nodeType": "Block", + "src": "2058:41:36", + "statements": [ + { + "expression": { + "id": 30286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30284, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30271, + "src": "2072:5:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30285, + "name": "envValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30282, + "src": "2080:8:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2072:16:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30287, + "nodeType": "ExpressionStatement", + "src": "2072:16:36" + } + ] + }, + "errorName": "", + "id": 30289, + "nodeType": "TryCatchClause", + "parameters": { + "id": 30283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30282, + "mutability": "mutable", + "name": "envValue", + "nameLocation": "2048:8:36", + "nodeType": "VariableDeclaration", + "scope": 30289, + "src": "2040:16:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2040:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2039:18:36" + }, + "src": "2031:68:36" + }, + { + "block": { + "id": 30290, + "nodeType": "Block", + "src": "2106:2:36", + "statements": [] + }, + "errorName": "", + "id": 30291, + "nodeType": "TryCatchClause", + "src": "2100:8:36" + } + ], + "externalCall": { + "arguments": [ + { + "id": 30279, + "name": "varName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30268, + "src": "2022:7:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 30277, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "2011:2:36", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 30278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2014:7:36", + "memberName": "envUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 9039, + "src": "2011:10:36", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 30280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2011:19:36", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30292, + "nodeType": "TryStatement", + "src": "2007:101:36" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "loadEnvUint", + "nameLocation": "1846:11:36", + "parameters": { + "id": 30269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30266, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "1875:12:36", + "nodeType": "VariableDeclaration", + "scope": 30294, + "src": "1867:20:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1867:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30268, + "mutability": "mutable", + "name": "varName", + "nameLocation": "1911:7:36", + "nodeType": "VariableDeclaration", + "scope": 30294, + "src": "1897:21:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30267, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1897:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1857:67:36" + }, + "returnParameters": { + "id": 30272, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30271, + "mutability": "mutable", + "name": "value", + "nameLocation": "1959:5:36", + "nodeType": "VariableDeclaration", + "scope": 30294, + "src": "1951:13:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30270, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1951:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1950:15:36" + }, + "scope": 30325, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "id": 30324, + "nodeType": "FunctionDefinition", + "src": "2120:283:36", + "nodes": [], + "body": { + "id": 30323, + "nodeType": "Block", + "src": "2252:151:36", + "nodes": [], + "statements": [ + { + "expression": { + "id": 30305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30303, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30301, + "src": "2262:5:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30304, + "name": "defaultValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30296, + "src": "2270:12:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2262:20:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 30306, + "nodeType": "ExpressionStatement", + "src": "2262:20:36" + }, + { + "clauses": [ + { + "block": { + "id": 30318, + "nodeType": "Block", + "src": "2347:41:36", + "statements": [ + { + "expression": { + "id": 30316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30314, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30301, + "src": "2361:5:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30315, + "name": "envValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30312, + "src": "2369:8:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2361:16:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 30317, + "nodeType": "ExpressionStatement", + "src": "2361:16:36" + } + ] + }, + "errorName": "", + "id": 30319, + "nodeType": "TryCatchClause", + "parameters": { + "id": 30313, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30312, + "mutability": "mutable", + "name": "envValue", + "nameLocation": "2337:8:36", + "nodeType": "VariableDeclaration", + "scope": 30319, + "src": "2329:16:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30311, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2329:7:36", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2328:18:36" + }, + "src": "2320:68:36" + }, + { + "block": { + "id": 30320, + "nodeType": "Block", + "src": "2395:2:36", + "statements": [] + }, + "errorName": "", + "id": 30321, + "nodeType": "TryCatchClause", + "src": "2389:8:36" + } + ], + "externalCall": { + "arguments": [ + { + "id": 30309, + "name": "varName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30298, + "src": "2311:7:36", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 30307, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "2297:2:36", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 30308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2300:10:36", + "memberName": "envAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9053, + "src": "2297:13:36", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 30310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2297:22:36", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 30322, + "nodeType": "TryStatement", + "src": "2293:104:36" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "loadEnvAddress", + "nameLocation": "2129:14:36", + "parameters": { + "id": 30299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30296, + "mutability": "mutable", + "name": "defaultValue", + "nameLocation": "2161:12:36", + "nodeType": "VariableDeclaration", + "scope": 30324, + "src": "2153:20:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30295, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2153:7:36", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30298, + "mutability": "mutable", + "name": "varName", + "nameLocation": "2197:7:36", + "nodeType": "VariableDeclaration", + "scope": 30324, + "src": "2183:21:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30297, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2183:6:36", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2143:67:36" + }, + "returnParameters": { + "id": 30302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30301, + "mutability": "mutable", + "name": "value", + "nameLocation": "2245:5:36", + "nodeType": "VariableDeclaration", + "scope": 30324, + "src": "2237:13:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2237:7:36", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2236:15:36" + }, + "scope": 30325, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 30059, + "name": "Script", + "nameLocations": [ + "215:6:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1895, + "src": "215:6:36" + }, + "id": 30060, + "nodeType": "InheritanceSpecifier", + "src": "215:6:36" + } + ], + "canonicalName": "DeploymentUtils", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 30325, + 1895, + 1858, + 1843, + 8901, + 5365, + 3793 + ], + "name": "DeploymentUtils", + "nameLocation": "196:15:36", + "scope": 30326, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "script/deploy.sol": { + "id": 37, + "ast": { + "absolutePath": "script/deploy.sol", + "id": 30652, + "exportedSymbols": { + "Arbitrator": [ + 31189 + ], + "CollateralAgreementFramework": [ + 32623 + ], + "DeployStack": [ + 30651 + ], + "DeploymentUtils": [ + 30325 + ], + "DepositConfig": [ + 33295 + ], + "ERC20": [ + 29937 + ], + "MockERC20": [ + 29549 + ], + "Permit2": [ + 27750 + ], + "Script": [ + 1895 + ], + "console": [ + 18297 + ] + }, + "nodeType": "SourceUnit", + "src": "45:3509:37", + "nodes": [ + { + "id": 30327, + "nodeType": "PragmaDirective", + "src": "45:24:37", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".15" + ] + }, + { + "id": 30330, + "nodeType": "ImportDirective", + "src": "71:55:37", + "nodes": [], + "absolutePath": "lib/forge-std/src/Script.sol", + "file": "forge-std/Script.sol", + "nameLocation": "-1:-1:-1", + "scope": 30652, + "sourceUnit": 1896, + "symbolAliases": [ + { + "foreign": { + "id": 30328, + "name": "Script", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "80:6:37", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 30329, + "name": "console", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18297, + "src": "88:7:37", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30333, + "nodeType": "ImportDirective", + "src": "128:78:37", + "nodes": [], + "absolutePath": "lib/solmate/src/test/utils/mocks/MockERC20.sol", + "file": "solmate/src/test/utils/mocks/MockERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 30652, + "sourceUnit": 29550, + "symbolAliases": [ + { + "foreign": { + "id": 30331, + "name": "MockERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29549, + "src": "137:9:37", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 30332, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "148:5:37", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30335, + "nodeType": "ImportDirective", + "src": "207:50:37", + "nodes": [], + "absolutePath": "lib/permit2/src/Permit2.sol", + "file": "permit2/src/Permit2.sol", + "nameLocation": "-1:-1:-1", + "scope": 30652, + "sourceUnit": 27751, + "symbolAliases": [ + { + "foreign": { + "id": 30334, + "name": "Permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27750, + "src": "216:7:37", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30337, + "nodeType": "ImportDirective", + "src": "259:61:37", + "nodes": [], + "absolutePath": "script/DeploymentUtils.sol", + "file": "script/DeploymentUtils.sol", + "nameLocation": "-1:-1:-1", + "scope": 30652, + "sourceUnit": 30326, + "symbolAliases": [ + { + "foreign": { + "id": 30336, + "name": "DeploymentUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30325, + "src": "268:15:37", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30339, + "nodeType": "ImportDirective", + "src": "322:66:37", + "nodes": [], + "absolutePath": "src/utils/interfaces/Deposits.sol", + "file": "src/utils/interfaces/Deposits.sol", + "nameLocation": "-1:-1:-1", + "scope": 30652, + "sourceUnit": 33296, + "symbolAliases": [ + { + "foreign": { + "id": 30338, + "name": "DepositConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33295, + "src": "331:13:37", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30341, + "nodeType": "ImportDirective", + "src": "389:48:37", + "nodes": [], + "absolutePath": "src/Arbitrator.sol", + "file": "src/Arbitrator.sol", + "nameLocation": "-1:-1:-1", + "scope": 30652, + "sourceUnit": 31190, + "symbolAliases": [ + { + "foreign": { + "id": 30340, + "name": "Arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31189, + "src": "398:10:37", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30343, + "nodeType": "ImportDirective", + "src": "438:86:37", + "nodes": [], + "absolutePath": "src/frameworks/CollateralAgreement.sol", + "file": "src/frameworks/CollateralAgreement.sol", + "nameLocation": "-1:-1:-1", + "scope": 30652, + "sourceUnit": 32624, + "symbolAliases": [ + { + "foreign": { + "id": 30342, + "name": "CollateralAgreementFramework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32623, + "src": "447:28:37", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30651, + "nodeType": "ContractDefinition", + "src": "526:3027:37", + "nodes": [ + { + "id": 30351, + "nodeType": "VariableDeclaration", + "src": "610:69:37", + "nodes": [], + "constant": true, + "documentation": { + "id": 30348, + "nodeType": "StructuredDocumentation", + "src": "580:25:37", + "text": "Environment variables" + }, + "mutability": "constant", + "name": "PERMIT2", + "nameLocation": "627:7:37", + "scope": 30651, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30349, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "610:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "hexValue": "307830303030303030303030323244343733303330463131366444454539463642343361433738424133", + "id": 30350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "637:42:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x000000000022D473030F116dDEE9F6B43aC78BA3" + }, + "visibility": "internal" + }, + { + "id": 30360, + "nodeType": "VariableDeclaration", + "src": "685:47:37", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "SALT", + "nameLocation": "702:4:37", + "scope": 30651, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 30352, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "685:7:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "3078333134", + "id": 30357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "725:5:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_788_by_1", + "typeString": "int_const 788" + }, + "value": "0x314" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_788_by_1", + "typeString": "int_const 788" + } + ], + "id": 30356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "717:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 30355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "717:7:37", + "typeDescriptions": {} + } + }, + "id": 30358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "717:14:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 30354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "709:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 30353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "709:7:37", + "typeDescriptions": {} + } + }, + "id": 30359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "709:23:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 30362, + "nodeType": "VariableDeclaration", + "src": "739:18:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "ARBITRATOR", + "nameLocation": "747:10:37", + "scope": 30651, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30361, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "739:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 30364, + "nodeType": "VariableDeclaration", + "src": "763:25:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "ARBITRATION_TOKEN", + "nameLocation": "771:17:37", + "scope": 30651, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "763:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 30367, + "nodeType": "VariableDeclaration", + "src": "794:24:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "DISPUTE_COST", + "nameLocation": "802:12:37", + "scope": 30651, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "794:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 30366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "817:1:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 30370, + "nodeType": "VariableDeclaration", + "src": "824:23:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "APPEAL_COST", + "nameLocation": "832:11:37", + "scope": 30651, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "824:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 30369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "846:1:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "id": 30375, + "nodeType": "VariableDeclaration", + "src": "853:53:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "RESOLUTION_LOCK_PERIOD", + "nameLocation": "861:22:37", + "scope": 30651, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "853:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_15600_by_1", + "typeString": "int_const 15600" + }, + "id": 30374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "34", + "id": 30372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "886:7:37", + "subdenomination": "hours", + "typeDescriptions": { + "typeIdentifier": "t_rational_14400_by_1", + "typeString": "int_const 14400" + }, + "value": "4" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3230", + "id": 30373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "896:10:37", + "subdenomination": "minutes", + "typeDescriptions": { + "typeIdentifier": "t_rational_1200_by_1", + "typeString": "int_const 1200" + }, + "value": "20" + }, + "src": "886:20:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_15600_by_1", + "typeString": "int_const 15600" + } + }, + "visibility": "internal" + }, + { + "id": 30435, + "nodeType": "FunctionDefinition", + "src": "913:594:37", + "nodes": [], + "body": { + "id": 30434, + "nodeType": "Block", + "src": "949:558:37", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 30383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30378, + "name": "ARBITRATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30362, + "src": "963:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 30381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "985:1:37", + "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": 30380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "977:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 30379, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "977:7:37", + "typeDescriptions": {} + } + }, + "id": 30382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "977:10:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "963:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 30432, + "nodeType": "Block", + "src": "1434:67:37", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "41726269747261746f72", + "id": 30428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1465:12:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f423b6c3d78cca2f68bec7b5c05ee96c00e66d21e47351c53047793ab009322", + "typeString": "literal_string \"Arbitrator\"" + }, + "value": "Arbitrator" + }, + { + "id": 30429, + "name": "ARBITRATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30362, + "src": "1479:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8f423b6c3d78cca2f68bec7b5c05ee96c00e66d21e47351c53047793ab009322", + "typeString": "literal_string \"Arbitrator\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30427, + "name": "registerContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30110, + "src": "1448:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address)" + } + }, + "id": 30430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1448:42:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30431, + "nodeType": "ExpressionStatement", + "src": "1448:42:37" + } + ] + }, + "id": 30433, + "nodeType": "IfStatement", + "src": "959:542:37", + "trueBody": { + "id": 30426, + "nodeType": "Block", + "src": "989:439:37", + "statements": [ + { + "assignments": [ + 30385 + ], + "declarations": [ + { + "constant": false, + "id": 30385, + "mutability": "mutable", + "name": "arbitrationToken", + "nameLocation": "1011:16:37", + "nodeType": "VariableDeclaration", + "scope": 30426, + "src": "1003:24:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30384, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1003:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 30389, + "initialValue": { + "baseExpression": { + "id": 30386, + "name": "registeredContractsAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30068, + "src": "1030:26:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 30388, + "indexExpression": { + "hexValue": "4172626974726174696f6e546f6b656e", + "id": 30387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1057:18:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0dc6c78ff24f2af6d030480abe1ab3afaa5c2280434f9dec1a1bb19d2cb67959", + "typeString": "literal_string \"ArbitrationToken\"" + }, + "value": "ArbitrationToken" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1030:46:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1003:73:37" + }, + { + "assignments": [ + 30392 + ], + "declarations": [ + { + "constant": false, + "id": 30392, + "mutability": "mutable", + "name": "arbitrator", + "nameLocation": "1102:10:37", + "nodeType": "VariableDeclaration", + "scope": 30426, + "src": "1091:21:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + }, + "typeName": { + "id": 30391, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30390, + "name": "Arbitrator", + "nameLocations": [ + "1091:10:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31189, + "src": "1091:10:37" + }, + "referencedDeclaration": 31189, + "src": "1091:10:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "visibility": "internal" + } + ], + "id": 30404, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 30399, + "name": "PERMIT2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30351, + "src": "1152:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30398, + "name": "Permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27750, + "src": "1144:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Permit2_$27750_$", + "typeString": "type(contract Permit2)" + } + }, + "id": 30400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1144:16:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + { + "expression": { + "id": 30401, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -26, + "src": "1162:2:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 30402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1165:6:37", + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "1162:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1115:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_Permit2_$27750_$_t_address_$returns$_t_contract$_Arbitrator_$31189_$", + "typeString": "function (contract Permit2,address) returns (contract Arbitrator)" + }, + "typeName": { + "id": 30394, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30393, + "name": "Arbitrator", + "nameLocations": [ + "1119:10:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31189, + "src": "1119:10:37" + }, + "referencedDeclaration": 31189, + "src": "1119:10:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + } + }, + "id": 30397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "salt" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 30396, + "name": "SALT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30360, + "src": "1137:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "src": "1115:28:37", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_Permit2_$27750_$_t_address_$returns$_t_contract$_Arbitrator_$31189_$salt", + "typeString": "function (contract Permit2,address) returns (contract Arbitrator)" + } + }, + "id": 30403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1115:57:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1091:81:37" + }, + { + "expression": { + "arguments": [ + { + "id": 30408, + "name": "RESOLUTION_LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30375, + "src": "1220:22:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", + "id": 30409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1260:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "arguments": [ + { + "id": 30411, + "name": "arbitrationToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30385, + "src": "1296:16:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 30412, + "name": "APPEAL_COST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30370, + "src": "1314:11:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 30413, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -26, + "src": "1327:2:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 30414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1330:6:37", + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "1327:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30410, + "name": "DepositConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33295, + "src": "1282:13:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DepositConfig_$33295_storage_ptr_$", + "typeString": "type(struct DepositConfig storage pointer)" + } + }, + "id": 30415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1282:55:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + ], + "expression": { + "id": 30405, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30392, + "src": "1186:10:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 30407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1197:5:37", + "memberName": "setUp", + "nodeType": "MemberAccess", + "referencedDeclaration": 30754, + "src": "1186:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bool_$_t_struct$_DepositConfig_$33295_memory_ptr_$returns$__$", + "typeString": "function (uint256,bool,struct DepositConfig memory) external" + } + }, + "id": 30416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1186:165:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30417, + "nodeType": "ExpressionStatement", + "src": "1186:165:37" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "41726269747261746f72", + "id": 30419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1383:12:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f423b6c3d78cca2f68bec7b5c05ee96c00e66d21e47351c53047793ab009322", + "typeString": "literal_string \"Arbitrator\"" + }, + "value": "Arbitrator" + }, + { + "arguments": [ + { + "id": 30422, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30392, + "src": "1405:10:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + ], + "id": 30421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1397:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 30420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1397:7:37", + "typeDescriptions": {} + } + }, + "id": 30423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1397:19:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8f423b6c3d78cca2f68bec7b5c05ee96c00e66d21e47351c53047793ab009322", + "typeString": "literal_string \"Arbitrator\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30418, + "name": "registerContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30110, + "src": "1366:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address)" + } + }, + "id": 30424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1366:51:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30425, + "nodeType": "ExpressionStatement", + "src": "1366:51:37" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setUpArbitrator", + "nameLocation": "922:15:37", + "parameters": { + "id": 30376, + "nodeType": "ParameterList", + "parameters": [], + "src": "937:2:37" + }, + "returnParameters": { + "id": 30377, + "nodeType": "ParameterList", + "parameters": [], + "src": "949:0:37" + }, + "scope": 30651, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 30486, + "nodeType": "FunctionDefinition", + "src": "1513:531:37", + "nodes": [], + "body": { + "id": 30485, + "nodeType": "Block", + "src": "1548:496:37", + "nodes": [], + "statements": [ + { + "assignments": [ + 30439 + ], + "declarations": [ + { + "constant": false, + "id": 30439, + "mutability": "mutable", + "name": "arbitrationToken", + "nameLocation": "1566:16:37", + "nodeType": "VariableDeclaration", + "scope": 30485, + "src": "1558:24:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1558:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 30443, + "initialValue": { + "baseExpression": { + "id": 30440, + "name": "registeredContractsAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30068, + "src": "1585:26:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 30442, + "indexExpression": { + "hexValue": "4172626974726174696f6e546f6b656e", + "id": 30441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1612:18:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0dc6c78ff24f2af6d030480abe1ab3afaa5c2280434f9dec1a1bb19d2cb67959", + "typeString": "literal_string \"ArbitrationToken\"" + }, + "value": "ArbitrationToken" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1585:46:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1558:73:37" + }, + { + "assignments": [ + 30445 + ], + "declarations": [ + { + "constant": false, + "id": 30445, + "mutability": "mutable", + "name": "arbitrator", + "nameLocation": "1649:10:37", + "nodeType": "VariableDeclaration", + "scope": 30485, + "src": "1641:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1641:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 30449, + "initialValue": { + "baseExpression": { + "id": 30446, + "name": "registeredContractsAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30068, + "src": "1662:26:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 30448, + "indexExpression": { + "hexValue": "41726269747261746f72", + "id": 30447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1689:12:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f423b6c3d78cca2f68bec7b5c05ee96c00e66d21e47351c53047793ab009322", + "typeString": "literal_string \"Arbitrator\"" + }, + "value": "Arbitrator" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1662:40:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1641:61:37" + }, + { + "assignments": [ + 30452 + ], + "declarations": [ + { + "constant": false, + "id": 30452, + "mutability": "mutable", + "name": "framework", + "nameLocation": "1742:9:37", + "nodeType": "VariableDeclaration", + "scope": 30485, + "src": "1713:38:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + }, + "typeName": { + "id": 30451, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30450, + "name": "CollateralAgreementFramework", + "nameLocations": [ + "1713:28:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32623, + "src": "1713:28:37" + }, + "referencedDeclaration": 32623, + "src": "1713:28:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "visibility": "internal" + } + ], + "id": 30464, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 30459, + "name": "PERMIT2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30351, + "src": "1822:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30458, + "name": "Permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27750, + "src": "1814:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Permit2_$27750_$", + "typeString": "type(contract Permit2)" + } + }, + "id": 30460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1814:16:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + { + "expression": { + "id": 30461, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -26, + "src": "1844:2:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 30462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1847:6:37", + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "1844:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1754:32:37", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_Permit2_$27750_$_t_address_$returns$_t_contract$_CollateralAgreementFramework_$32623_$", + "typeString": "function (contract Permit2,address) returns (contract CollateralAgreementFramework)" + }, + "typeName": { + "id": 30454, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30453, + "name": "CollateralAgreementFramework", + "nameLocations": [ + "1758:28:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32623, + "src": "1758:28:37" + }, + "referencedDeclaration": 32623, + "src": "1758:28:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + }, + "id": 30457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "salt" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 30456, + "name": "SALT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30360, + "src": "1794:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "src": "1754:46:37", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_Permit2_$27750_$_t_address_$returns$_t_contract$_CollateralAgreementFramework_$32623_$salt", + "typeString": "function (contract Permit2,address) returns (contract CollateralAgreementFramework)" + } + }, + "id": 30463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1754:109:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1713:150:37" + }, + { + "expression": { + "arguments": [ + { + "id": 30468, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30445, + "src": "1889:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 30470, + "name": "arbitrationToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30439, + "src": "1915:16:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 30471, + "name": "DISPUTE_COST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30367, + "src": "1933:12:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 30472, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -26, + "src": "1947:2:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 30473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1950:6:37", + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "1947:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30469, + "name": "DepositConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33295, + "src": "1901:13:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DepositConfig_$33295_storage_ptr_$", + "typeString": "type(struct DepositConfig storage pointer)" + } + }, + "id": 30474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1901:56:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + ], + "expression": { + "id": 30465, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30452, + "src": "1873:9:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 30467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1883:5:37", + "memberName": "setUp", + "nodeType": "MemberAccess", + "referencedDeclaration": 31495, + "src": "1873:15:37", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_struct$_DepositConfig_$33295_memory_ptr_$returns$__$", + "typeString": "function (address,struct DepositConfig memory) external" + } + }, + "id": 30475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1873:85:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30476, + "nodeType": "ExpressionStatement", + "src": "1873:85:37" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "436f6c6c61746572616c41677265656d656e744672616d65776f726b", + "id": 30478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1986:30:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ca1f4d1140dd987cf406382e123b8a9f293b19f078ed5984709adc143310ab92", + "typeString": "literal_string \"CollateralAgreementFramework\"" + }, + "value": "CollateralAgreementFramework" + }, + { + "arguments": [ + { + "id": 30481, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30452, + "src": "2026:9:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 30480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2018:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 30479, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2018:7:37", + "typeDescriptions": {} + } + }, + "id": 30482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2018:18:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ca1f4d1140dd987cf406382e123b8a9f293b19f078ed5984709adc143310ab92", + "typeString": "literal_string \"CollateralAgreementFramework\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30477, + "name": "registerContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30110, + "src": "1969:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address)" + } + }, + "id": 30483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1969:68:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30484, + "nodeType": "ExpressionStatement", + "src": "1969:68:37" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setUpFramework", + "nameLocation": "1522:14:37", + "parameters": { + "id": 30436, + "nodeType": "ParameterList", + "parameters": [], + "src": "1536:2:37" + }, + "returnParameters": { + "id": 30437, + "nodeType": "ParameterList", + "parameters": [], + "src": "1548:0:37" + }, + "scope": 30651, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 30525, + "nodeType": "FunctionDefinition", + "src": "2050:411:37", + "nodes": [], + "body": { + "id": 30524, + "nodeType": "Block", + "src": "2082:379:37", + "nodes": [], + "statements": [ + { + "expression": { + "id": 30494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30489, + "name": "ARBITRATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30362, + "src": "2092:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 30491, + "name": "ARBITRATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30362, + "src": "2120:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "41524249545241544f52", + "id": 30492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2132:12:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12f2a202ec5999866a94474e99d46b7bf4d80cd7bfd1b76112ca747570b7d94d", + "typeString": "literal_string \"ARBITRATOR\"" + }, + "value": "ARBITRATOR" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_12f2a202ec5999866a94474e99d46b7bf4d80cd7bfd1b76112ca747570b7d94d", + "typeString": "literal_string \"ARBITRATOR\"" + } + ], + "id": 30490, + "name": "loadEnvAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30324, + "src": "2105:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (address,string memory) returns (address)" + } + }, + "id": 30493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2105:40:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2092:53:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 30495, + "nodeType": "ExpressionStatement", + "src": "2092:53:37" + }, + { + "expression": { + "id": 30501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30496, + "name": "ARBITRATION_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30364, + "src": "2155:17:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 30498, + "name": "ARBITRATION_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30364, + "src": "2190:17:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "4152424954524154494f4e5f544f4b454e", + "id": 30499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2209:19:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_adb8aafaf64d0c208ee9569e4125da27a2740935abb0e52b70ea64a1bd99094d", + "typeString": "literal_string \"ARBITRATION_TOKEN\"" + }, + "value": "ARBITRATION_TOKEN" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_adb8aafaf64d0c208ee9569e4125da27a2740935abb0e52b70ea64a1bd99094d", + "typeString": "literal_string \"ARBITRATION_TOKEN\"" + } + ], + "id": 30497, + "name": "loadEnvAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30324, + "src": "2175:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (address,string memory) returns (address)" + } + }, + "id": 30500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2175:54:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2155:74:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 30502, + "nodeType": "ExpressionStatement", + "src": "2155:74:37" + }, + { + "expression": { + "id": 30508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30503, + "name": "DISPUTE_COST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30367, + "src": "2239:12:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 30505, + "name": "DISPUTE_COST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30367, + "src": "2266:12:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "444953505554455f434f5354", + "id": 30506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2280:14:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fbcb0158d2839fb99ac8f6a314656f2a8b420bd728aba85fd7d25d809c1d61ba", + "typeString": "literal_string \"DISPUTE_COST\"" + }, + "value": "DISPUTE_COST" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_fbcb0158d2839fb99ac8f6a314656f2a8b420bd728aba85fd7d25d809c1d61ba", + "typeString": "literal_string \"DISPUTE_COST\"" + } + ], + "id": 30504, + "name": "loadEnvUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30294, + "src": "2254:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,string memory) returns (uint256)" + } + }, + "id": 30507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2254:41:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2239:56:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30509, + "nodeType": "ExpressionStatement", + "src": "2239:56:37" + }, + { + "expression": { + "id": 30515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30510, + "name": "APPEAL_COST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30370, + "src": "2305:11:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 30512, + "name": "APPEAL_COST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30370, + "src": "2331:11:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "41505045414c5f434f5354", + "id": 30513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2344:13:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b598badab89ae5388081007f7e16af5883ddf7d2c8c583db995d9b84328e0f3d", + "typeString": "literal_string \"APPEAL_COST\"" + }, + "value": "APPEAL_COST" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_b598badab89ae5388081007f7e16af5883ddf7d2c8c583db995d9b84328e0f3d", + "typeString": "literal_string \"APPEAL_COST\"" + } + ], + "id": 30511, + "name": "loadEnvUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30294, + "src": "2319:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,string memory) returns (uint256)" + } + }, + "id": 30514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2319:39:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2305:53:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30516, + "nodeType": "ExpressionStatement", + "src": "2305:53:37" + }, + { + "expression": { + "id": 30522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30517, + "name": "RESOLUTION_LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30375, + "src": "2368:22:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 30519, + "name": "RESOLUTION_LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30375, + "src": "2405:22:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "5245534f4c5554494f4e5f4c4f434b5f504552494f44", + "id": 30520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2429:24:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_573c497a0f0c5c05bea2f66c24ccc12e847b1de4788a9936e34e3229ac2c47c5", + "typeString": "literal_string \"RESOLUTION_LOCK_PERIOD\"" + }, + "value": "RESOLUTION_LOCK_PERIOD" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_573c497a0f0c5c05bea2f66c24ccc12e847b1de4788a9936e34e3229ac2c47c5", + "typeString": "literal_string \"RESOLUTION_LOCK_PERIOD\"" + } + ], + "id": 30518, + "name": "loadEnvUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30294, + "src": "2393:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,string memory) returns (uint256)" + } + }, + "id": 30521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2393:61:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2368:86:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30523, + "nodeType": "ExpressionStatement", + "src": "2368:86:37" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "loadEnvVars", + "nameLocation": "2059:11:37", + "parameters": { + "id": 30487, + "nodeType": "ParameterList", + "parameters": [], + "src": "2070:2:37" + }, + "returnParameters": { + "id": 30488, + "nodeType": "ParameterList", + "parameters": [], + "src": "2082:0:37" + }, + "scope": 30651, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 30558, + "nodeType": "FunctionDefinition", + "src": "2467:312:37", + "nodes": [], + "body": { + "id": 30557, + "nodeType": "Block", + "src": "2511:268:37", + "nodes": [], + "statements": [ + { + "assignments": [ + 30529 + ], + "declarations": [ + { + "constant": false, + "id": 30529, + "mutability": "mutable", + "name": "manifest", + "nameLocation": "2535:8:37", + "nodeType": "VariableDeclaration", + "scope": 30557, + "src": "2521:22:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30528, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2521:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 30532, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30530, + "name": "generateRegisteredContractsJson", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30234, + "src": "2546:31:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_string_memory_ptr_$", + "typeString": "function () returns (string memory)" + } + }, + "id": 30531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2546:33:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2521:58:37" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "", + "id": 30535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2612:2:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 30534, + "name": "deploymentsPath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30087, + "src": "2596:15:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (string memory)" + } + }, + "id": 30536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2596:19:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 30533, + "name": "mkdir", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30162, + "src": "2590:5:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 30537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2590:26:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30538, + "nodeType": "ExpressionStatement", + "src": "2590:26:37" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c61746573742e6a736f6e", + "id": 30543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2656:13:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b8d7262bda9546e529c706fef0341e7f1d2c48dd364ad92b56942bac368e0d7b", + "typeString": "literal_string \"latest.json\"" + }, + "value": "latest.json" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b8d7262bda9546e529c706fef0341e7f1d2c48dd364ad92b56942bac368e0d7b", + "typeString": "literal_string \"latest.json\"" + } + ], + "id": 30542, + "name": "deploymentsPath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30087, + "src": "2640:15:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (string memory)" + } + }, + "id": 30544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2640:30:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 30545, + "name": "manifest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30529, + "src": "2672:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 30539, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "2627:2:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 30541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2630:9:37", + "memberName": "writeFile", + "nodeType": "MemberAccess", + "referencedDeclaration": 9403, + "src": "2627:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory) external" + } + }, + "id": 30546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2627:54:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30547, + "nodeType": "ExpressionStatement", + "src": "2627:54:37" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "53746f726564206465706c6f796d656e74206d616e69666573742061742025732e", + "id": 30551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2704:35:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0a320bd76ceb589911c67fb817bbf6ea4fed46567e6b4ed45a45030d7a7ff3d6", + "typeString": "literal_string \"Stored deployment manifest at %s.\"" + }, + "value": "Stored deployment manifest at %s." + }, + { + "arguments": [ + { + "hexValue": "6c61746573742e6a736f6e", + "id": 30553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2757:13:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b8d7262bda9546e529c706fef0341e7f1d2c48dd364ad92b56942bac368e0d7b", + "typeString": "literal_string \"latest.json\"" + }, + "value": "latest.json" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b8d7262bda9546e529c706fef0341e7f1d2c48dd364ad92b56942bac368e0d7b", + "typeString": "literal_string \"latest.json\"" + } + ], + "id": 30552, + "name": "deploymentsPath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30087, + "src": "2741:15:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (string memory)" + } + }, + "id": 30554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2741:30:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0a320bd76ceb589911c67fb817bbf6ea4fed46567e6b4ed45a45030d7a7ff3d6", + "typeString": "literal_string \"Stored deployment manifest at %s.\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 30548, + "name": "console", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18297, + "src": "2692:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_console_$18297_$", + "typeString": "type(library console)" + } + }, + "id": 30550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2700:3:37", + "memberName": "log", + "nodeType": "MemberAccess", + "referencedDeclaration": 10958, + "src": "2692:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory) view" + } + }, + "id": 30555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2692:80:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30556, + "nodeType": "ExpressionStatement", + "src": "2692:80:37" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "storeDeploymentManifest", + "nameLocation": "2476:23:37", + "parameters": { + "id": 30526, + "nodeType": "ParameterList", + "parameters": [], + "src": "2499:2:37" + }, + "returnParameters": { + "id": 30527, + "nodeType": "ParameterList", + "parameters": [], + "src": "2511:0:37" + }, + "scope": 30651, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 30611, + "nodeType": "FunctionDefinition", + "src": "2785:435:37", + "nodes": [], + "body": { + "id": 30610, + "nodeType": "Block", + "src": "2817:403:37", + "nodes": [], + "statements": [ + { + "assignments": [ + 30562 + ], + "declarations": [ + { + "constant": false, + "id": 30562, + "mutability": "mutable", + "name": "arbitrationToken", + "nameLocation": "2835:16:37", + "nodeType": "VariableDeclaration", + "scope": 30610, + "src": "2827:24:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30561, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2827:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 30563, + "nodeType": "VariableDeclarationStatement", + "src": "2827:24:37" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 30569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30564, + "name": "ARBITRATION_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30364, + "src": "2865:17:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 30567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2894:1:37", + "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": 30566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2886:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 30565, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2886:7:37", + "typeDescriptions": {} + } + }, + "id": 30568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2886:10:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2865:31:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 30603, + "nodeType": "Block", + "src": "3088:61:37", + "statements": [ + { + "expression": { + "id": 30601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30599, + "name": "arbitrationToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30562, + "src": "3102:16:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30600, + "name": "ARBITRATION_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30364, + "src": "3121:17:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3102:36:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 30602, + "nodeType": "ExpressionStatement", + "src": "3102:36:37" + } + ] + }, + "id": 30604, + "nodeType": "IfStatement", + "src": "2861:288:37", + "trueBody": { + "id": 30598, + "nodeType": "Block", + "src": "2898:184:37", + "statements": [ + { + "assignments": [ + 30572 + ], + "declarations": [ + { + "constant": false, + "id": 30572, + "mutability": "mutable", + "name": "newToken", + "nameLocation": "2922:8:37", + "nodeType": "VariableDeclaration", + "scope": 30598, + "src": "2912:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + }, + "typeName": { + "id": 30571, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30570, + "name": "MockERC20", + "nameLocations": [ + "2912:9:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29549, + "src": "2912:9:37" + }, + "referencedDeclaration": 29549, + "src": "2912:9:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "visibility": "internal" + } + ], + "id": 30580, + "initialValue": { + "arguments": [ + { + "hexValue": "436f75727420546f6b656e", + "id": 30576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2947:13:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ab14633a69affbb2c008fdc4456f4bc052cdf4a9df12dce5cd760723ea70c16", + "typeString": "literal_string \"Court Token\"" + }, + "value": "Court Token" + }, + { + "hexValue": "4354", + "id": 30577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2962:4:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b0ae267f5886f41f13af4b185dfccc0c901c3b3efe1f44065fbb41d74159fc76", + "typeString": "literal_string \"CT\"" + }, + "value": "CT" + }, + { + "hexValue": "3138", + "id": 30578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2968:2:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4ab14633a69affbb2c008fdc4456f4bc052cdf4a9df12dce5cd760723ea70c16", + "typeString": "literal_string \"Court Token\"" + }, + { + "typeIdentifier": "t_stringliteral_b0ae267f5886f41f13af4b185dfccc0c901c3b3efe1f44065fbb41d74159fc76", + "typeString": "literal_string \"CT\"" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 30575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2933:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$29549_$", + "typeString": "function (string memory,string memory,uint8) returns (contract MockERC20)" + }, + "typeName": { + "id": 30574, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30573, + "name": "MockERC20", + "nameLocations": [ + "2937:9:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29549, + "src": "2937:9:37" + }, + "referencedDeclaration": 29549, + "src": "2937:9:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + }, + "id": 30579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2933:38:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2912:59:37" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 30584, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -26, + "src": "2999:2:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 30585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3002:6:37", + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "2999:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_rational_314000000000000000000_by_1", + "typeString": "int_const 314000000000000000000" + }, + "id": 30588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "333134", + "id": 30586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3010:3:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_314_by_1", + "typeString": "int_const 314" + }, + "value": "314" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "31653138", + "id": 30587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3016:4:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "value": "1e18" + }, + "src": "3010:10:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_314000000000000000000_by_1", + "typeString": "int_const 314000000000000000000" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_314000000000000000000_by_1", + "typeString": "int_const 314000000000000000000" + } + ], + "expression": { + "id": 30581, + "name": "newToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30572, + "src": "2985:8:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "id": 30583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2994:4:37", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 29535, + "src": "2985:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 30589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2985:36:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30590, + "nodeType": "ExpressionStatement", + "src": "2985:36:37" + }, + { + "expression": { + "id": 30596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30591, + "name": "arbitrationToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30562, + "src": "3035:16:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 30594, + "name": "newToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30572, + "src": "3062:8:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + ], + "id": 30593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3054:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 30592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3054:7:37", + "typeDescriptions": {} + } + }, + "id": 30595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3054:17:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3035:36:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 30597, + "nodeType": "ExpressionStatement", + "src": "3035:36:37" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "hexValue": "4172626974726174696f6e546f6b656e", + "id": 30606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3176:18:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0dc6c78ff24f2af6d030480abe1ab3afaa5c2280434f9dec1a1bb19d2cb67959", + "typeString": "literal_string \"ArbitrationToken\"" + }, + "value": "ArbitrationToken" + }, + { + "id": 30607, + "name": "arbitrationToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30562, + "src": "3196:16:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0dc6c78ff24f2af6d030480abe1ab3afaa5c2280434f9dec1a1bb19d2cb67959", + "typeString": "literal_string \"ArbitrationToken\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 30605, + "name": "registerContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30110, + "src": "3159:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address)" + } + }, + "id": 30608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3159:54:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30609, + "nodeType": "ExpressionStatement", + "src": "3159:54:37" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setupTokens", + "nameLocation": "2794:11:37", + "parameters": { + "id": 30559, + "nodeType": "ParameterList", + "parameters": [], + "src": "2805:2:37" + }, + "returnParameters": { + "id": 30560, + "nodeType": "ParameterList", + "parameters": [], + "src": "2817:0:37" + }, + "scope": 30651, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 30624, + "nodeType": "FunctionDefinition", + "src": "3226:118:37", + "nodes": [], + "body": { + "id": 30623, + "nodeType": "Block", + "src": "3261:83:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30614, + "name": "setupTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30611, + "src": "3271:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 30615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3271:13:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30616, + "nodeType": "ExpressionStatement", + "src": "3271:13:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30617, + "name": "setUpArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30435, + "src": "3294:15:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 30618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3294:17:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30619, + "nodeType": "ExpressionStatement", + "src": "3294:17:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30620, + "name": "setUpFramework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30486, + "src": "3321:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 30621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3321:16:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30622, + "nodeType": "ExpressionStatement", + "src": "3321:16:37" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setUpContracts", + "nameLocation": "3235:14:37", + "parameters": { + "id": 30612, + "nodeType": "ParameterList", + "parameters": [], + "src": "3249:2:37" + }, + "returnParameters": { + "id": 30613, + "nodeType": "ParameterList", + "parameters": [], + "src": "3261:0:37" + }, + "scope": 30651, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 30650, + "nodeType": "FunctionDefinition", + "src": "3350:201:37", + "nodes": [], + "body": { + "id": 30649, + "nodeType": "Block", + "src": "3372:179:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30627, + "name": "loadEnvVars", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30525, + "src": "3382:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 30628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3382:13:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30629, + "nodeType": "ExpressionStatement", + "src": "3382:13:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 30630, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "3406:2:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 30632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3409:14:37", + "memberName": "startBroadcast", + "nodeType": "MemberAccess", + "referencedDeclaration": 9349, + "src": "3406:17:37", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 30633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3406:19:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30634, + "nodeType": "ExpressionStatement", + "src": "3406:19:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30635, + "name": "setUpContracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30624, + "src": "3436:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 30636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3436:16:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30637, + "nodeType": "ExpressionStatement", + "src": "3436:16:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 30638, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "3463:2:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 30640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3466:13:37", + "memberName": "stopBroadcast", + "nodeType": "MemberAccess", + "referencedDeclaration": 9362, + "src": "3463:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 30641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3463:18:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30642, + "nodeType": "ExpressionStatement", + "src": "3463:18:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30643, + "name": "logDeployments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30264, + "src": "3492:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 30644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3492:16:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30645, + "nodeType": "ExpressionStatement", + "src": "3492:16:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30646, + "name": "storeDeploymentManifest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30558, + "src": "3519:23:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 30647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3519:25:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30648, + "nodeType": "ExpressionStatement", + "src": "3519:25:37" + } + ] + }, + "functionSelector": "c0406226", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "run", + "nameLocation": "3359:3:37", + "parameters": { + "id": 30625, + "nodeType": "ParameterList", + "parameters": [], + "src": "3362:2:37" + }, + "returnParameters": { + "id": 30626, + "nodeType": "ParameterList", + "parameters": [], + "src": "3372:0:37" + }, + "scope": 30651, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 30344, + "name": "Script", + "nameLocations": [ + "550:6:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1895, + "src": "550:6:37" + }, + "id": 30345, + "nodeType": "InheritanceSpecifier", + "src": "550:6:37" + }, + { + "baseName": { + "id": 30346, + "name": "DeploymentUtils", + "nameLocations": [ + "558:15:37" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30325, + "src": "558:15:37" + }, + "id": 30347, + "nodeType": "InheritanceSpecifier", + "src": "558:15:37" + } + ], + "canonicalName": "DeployStack", + "contractDependencies": [ + 29549, + 31189, + 32623 + ], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 30651, + 30325, + 1895, + 1858, + 1843, + 8901, + 5365, + 3793 + ], + "name": "DeployStack", + "nameLocation": "535:11:37", + "scope": 30652, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/Arbitrator.sol": { + "id": 38, + "ast": { + "absolutePath": "src/Arbitrator.sol", + "id": 31190, + "exportedSymbols": { + "Arbitrator": [ + 31189 + ], + "Controlled": [ + 33189 + ], + "DepositConfig": [ + 33295 + ], + "IArbitrable": [ + 32932 + ], + "IArbitrator": [ + 33028 + ], + "ISignatureTransfer": [ + 28568 + ], + "InvalidPermit": [ + 32757 + ], + "NoPartOfSettlement": [ + 32748 + ], + "NonExistentResolution": [ + 32733 + ], + "Permit2": [ + 27750 + ], + "PositionParams": [ + 32681 + ], + "Resolution": [ + 32779 + ], + "ResolutionIsAppealed": [ + 32742 + ], + "ResolutionIsEndorsed": [ + 32745 + ], + "ResolutionIsExecuted": [ + 32739 + ], + "ResolutionIsLocked": [ + 32736 + ], + "ResolutionStatus": [ + 32765 + ], + "SettlementBalanceMustMatch": [ + 32754 + ], + "SettlementPositionsMustMatch": [ + 32751 + ], + "Toggleable": [ + 33283 + ] + }, + "nodeType": "SourceUnit", + "src": "45:7358:38", + "nodes": [ + { + "id": 30653, + "nodeType": "PragmaDirective", + "src": "45:24:38", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 30655, + "nodeType": "ImportDirective", + "src": "71:83:38", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "file": "permit2/src/interfaces/ISignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 28569, + "symbolAliases": [ + { + "foreign": { + "id": 30654, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "80:18:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30657, + "nodeType": "ImportDirective", + "src": "156:50:38", + "nodes": [], + "absolutePath": "lib/permit2/src/Permit2.sol", + "file": "permit2/src/Permit2.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 27751, + "symbolAliases": [ + { + "foreign": { + "id": 30656, + "name": "Permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27750, + "src": "165:7:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30659, + "nodeType": "ImportDirective", + "src": "208:67:38", + "nodes": [], + "absolutePath": "src/interfaces/AgreementTypes.sol", + "file": "src/interfaces/AgreementTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 32729, + "symbolAliases": [ + { + "foreign": { + "id": 30658, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "217:14:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30662, + "nodeType": "ImportDirective", + "src": "276:83:38", + "nodes": [], + "absolutePath": "src/interfaces/ArbitrationTypes.sol", + "file": "src/interfaces/ArbitrationTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 32780, + "symbolAliases": [ + { + "foreign": { + "id": 30660, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "285:16:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 30661, + "name": "Resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32779, + "src": "303:10:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30663, + "nodeType": "ImportDirective", + "src": "360:46:38", + "nodes": [], + "absolutePath": "src/interfaces/ArbitrationErrors.sol", + "file": "src/interfaces/ArbitrationErrors.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 32758, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 30665, + "nodeType": "ImportDirective", + "src": "407:61:38", + "nodes": [], + "absolutePath": "src/interfaces/IArbitrable.sol", + "file": "src/interfaces/IArbitrable.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 32933, + "symbolAliases": [ + { + "foreign": { + "id": 30664, + "name": "IArbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32932, + "src": "416:11:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30667, + "nodeType": "ImportDirective", + "src": "469:61:38", + "nodes": [], + "absolutePath": "src/interfaces/IArbitrator.sol", + "file": "src/interfaces/IArbitrator.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 33029, + "symbolAliases": [ + { + "foreign": { + "id": 30666, + "name": "IArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33028, + "src": "478:11:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30669, + "nodeType": "ImportDirective", + "src": "532:66:38", + "nodes": [], + "absolutePath": "src/utils/interfaces/Deposits.sol", + "file": "src/utils/interfaces/Deposits.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 33296, + "symbolAliases": [ + { + "foreign": { + "id": 30668, + "name": "DepositConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33295, + "src": "541:13:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30671, + "nodeType": "ImportDirective", + "src": "599:54:38", + "nodes": [], + "absolutePath": "src/utils/Controlled.sol", + "file": "src/utils/Controlled.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 33190, + "symbolAliases": [ + { + "foreign": { + "id": 30670, + "name": "Controlled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33189, + "src": "608:10:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 30673, + "nodeType": "ImportDirective", + "src": "654:54:38", + "nodes": [], + "absolutePath": "src/utils/Toggleable.sol", + "file": "src/utils/Toggleable.sol", + "nameLocation": "-1:-1:-1", + "scope": 31190, + "sourceUnit": 33284, + "symbolAliases": [ + { + "foreign": { + "id": 30672, + "name": "Toggleable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33283, + "src": "663:10:38", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31189, + "nodeType": "ContractDefinition", + "src": "1277:6125:38", + "nodes": [ + { + "id": 30684, + "nodeType": "VariableDeclaration", + "src": "1402:32:38", + "nodes": [], + "constant": false, + "documentation": { + "id": 30681, + "nodeType": "StructuredDocumentation", + "src": "1342:55:38", + "text": "@notice Address of the Permit2 contract deployment." + }, + "functionSelector": "12261ee7", + "mutability": "immutable", + "name": "permit2", + "nameLocation": "1427:7:38", + "scope": 31189, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + "typeName": { + "id": 30683, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30682, + "name": "Permit2", + "nameLocations": [ + "1402:7:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27750, + "src": "1402:7:38" + }, + "referencedDeclaration": 27750, + "src": "1402:7:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "visibility": "public" + }, + { + "id": 30688, + "nodeType": "VariableDeclaration", + "src": "1489:29:38", + "nodes": [], + "constant": false, + "documentation": { + "id": 30685, + "nodeType": "StructuredDocumentation", + "src": "1441:43:38", + "text": "@notice Appeals deposits configuration." + }, + "functionSelector": "323a5e0b", + "mutability": "mutable", + "name": "deposits", + "nameLocation": "1510:8:38", + "scope": 31189, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 30687, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30686, + "name": "DepositConfig", + "nameLocations": [ + "1489:13:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "1489:13:38" + }, + "referencedDeclaration": 33295, + "src": "1489:13:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "public" + }, + { + "id": 30691, + "nodeType": "VariableDeclaration", + "src": "1619:25:38", + "nodes": [], + "constant": false, + "documentation": { + "id": 30689, + "nodeType": "StructuredDocumentation", + "src": "1525:89:38", + "text": "@notice Time (in seconds) between when a resolution is submitted and it's executable." + }, + "functionSelector": "3fd8b02f", + "mutability": "mutable", + "name": "lockPeriod", + "nameLocation": "1634:10:38", + "scope": 31189, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30690, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1619:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 30697, + "nodeType": "VariableDeclaration", + "src": "1698:50:38", + "nodes": [], + "constant": false, + "documentation": { + "id": 30692, + "nodeType": "StructuredDocumentation", + "src": "1651:42:38", + "text": "@dev Resolution data by resolution id." + }, + "mutability": "mutable", + "name": "resolution", + "nameLocation": "1738:10:38", + "scope": 31189, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Resolution_$32779_storage_$", + "typeString": "mapping(bytes32 => struct Resolution)" + }, + "typeName": { + "id": 30696, + "keyType": { + "id": 30693, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1706:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1698:30:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Resolution_$32779_storage_$", + "typeString": "mapping(bytes32 => struct Resolution)" + }, + "valueType": { + "id": 30695, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30694, + "name": "Resolution", + "nameLocations": [ + "1717:10:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "1717:10:38" + }, + "referencedDeclaration": 32779, + "src": "1717:10:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + } + }, + "visibility": "internal" + }, + { + "id": 30711, + "nodeType": "FunctionDefinition", + "src": "1915:127:38", + "nodes": [], + "body": { + "id": 30710, + "nodeType": "Block", + "src": "2004:38:38", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "id": 30706, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30697, + "src": "2021:10:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Resolution_$32779_storage_$", + "typeString": "mapping(bytes32 => struct Resolution storage ref)" + } + }, + "id": 30708, + "indexExpression": { + "id": 30707, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30700, + "src": "2032:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2021:14:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage", + "typeString": "struct Resolution storage ref" + } + }, + "functionReturnParameters": 30705, + "id": 30709, + "nodeType": "Return", + "src": "2014:21:38" + } + ] + }, + "documentation": { + "id": 30698, + "nodeType": "StructuredDocumentation", + "src": "1755:155:38", + "text": "@notice Retrieve resolution details.\n @param id Id of the resolution to return data from.\n @return details Data struct of the resolution." + }, + "functionSelector": "ec67b8c8", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "resolutionDetails", + "nameLocation": "1924:17:38", + "parameters": { + "id": 30701, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30700, + "mutability": "mutable", + "name": "id", + "nameLocation": "1950:2:38", + "nodeType": "VariableDeclaration", + "scope": 30711, + "src": "1942:10:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 30699, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1942:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1941:12:38" + }, + "returnParameters": { + "id": 30705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30704, + "mutability": "mutable", + "name": "details", + "nameLocation": "1995:7:38", + "nodeType": "VariableDeclaration", + "scope": 30711, + "src": "1977:25:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 30703, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30702, + "name": "Resolution", + "nameLocations": [ + "1977:10:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "1977:10:38" + }, + "referencedDeclaration": 32779, + "src": "1977:10:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "src": "1976:27:38" + }, + "scope": 31189, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 30728, + "nodeType": "FunctionDefinition", + "src": "2048:105:38", + "nodes": [], + "body": { + "id": 30727, + "nodeType": "Block", + "src": "2118:35:38", + "nodes": [], + "statements": [ + { + "expression": { + "id": 30725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30723, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30684, + "src": "2128:7:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30724, + "name": "permit2_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30714, + "src": "2138:8:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "src": "2128:18:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 30726, + "nodeType": "ExpressionStatement", + "src": "2128:18:38" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 30719, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30716, + "src": "2104:5:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 30720, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30716, + "src": "2111:5:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 30721, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 30718, + "name": "Controlled", + "nameLocations": [ + "2093:10:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33189, + "src": "2093:10:38" + }, + "nodeType": "ModifierInvocation", + "src": "2093:24:38" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 30717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30714, + "mutability": "mutable", + "name": "permit2_", + "nameLocation": "2068:8:38", + "nodeType": "VariableDeclaration", + "scope": 30728, + "src": "2060:16:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + "typeName": { + "id": 30713, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30712, + "name": "Permit2", + "nameLocations": [ + "2060:7:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27750, + "src": "2060:7:38" + }, + "referencedDeclaration": 27750, + "src": "2060:7:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30716, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2086:5:38", + "nodeType": "VariableDeclaration", + "scope": 30728, + "src": "2078:13:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 30715, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2078:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2059:33:38" + }, + "returnParameters": { + "id": 30722, + "nodeType": "ParameterList", + "parameters": [], + "src": "2118:0:38" + }, + "scope": 31189, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 30754, + "nodeType": "FunctionDefinition", + "src": "2409:233:38", + "nodes": [], + "body": { + "id": 30753, + "nodeType": "Block", + "src": "2543:99:38", + "nodes": [], + "statements": [ + { + "expression": { + "id": 30743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30741, + "name": "lockPeriod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30691, + "src": "2553:10:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30742, + "name": "lockPeriod_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30731, + "src": "2566:11:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2553:24:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30744, + "nodeType": "ExpressionStatement", + "src": "2553:24:38" + }, + { + "expression": { + "id": 30747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30745, + "name": "enabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33260, + "src": "2587:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30746, + "name": "enabled_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30733, + "src": "2597:8:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2587:18:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30748, + "nodeType": "ExpressionStatement", + "src": "2587:18:38" + }, + { + "expression": { + "id": 30751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30749, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30688, + "src": "2615:8:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30750, + "name": "deposits_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30736, + "src": "2626:9:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_calldata_ptr", + "typeString": "struct DepositConfig calldata" + } + }, + "src": "2615:20:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 30752, + "nodeType": "ExpressionStatement", + "src": "2615:20:38" + } + ] + }, + "documentation": { + "id": 30729, + "nodeType": "StructuredDocumentation", + "src": "2159:245:38", + "text": "@notice Setup arbitrator variables.\n @param lockPeriod_ Duration of the resolution lock period.\n @param enabled_ Status of the arbitrator.\n @param deposits_ Configuration of the appeal's deposits in DepositConfig format." + }, + "functionSelector": "410fa8e6", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 30739, + "kind": "modifierInvocation", + "modifierName": { + "id": 30738, + "name": "onlyOwner", + "nameLocations": [ + "2533:9:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33216, + "src": "2533:9:38" + }, + "nodeType": "ModifierInvocation", + "src": "2533:9:38" + } + ], + "name": "setUp", + "nameLocation": "2418:5:38", + "parameters": { + "id": 30737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30731, + "mutability": "mutable", + "name": "lockPeriod_", + "nameLocation": "2441:11:38", + "nodeType": "VariableDeclaration", + "scope": 30754, + "src": "2433:19:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2433:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30733, + "mutability": "mutable", + "name": "enabled_", + "nameLocation": "2467:8:38", + "nodeType": "VariableDeclaration", + "scope": 30754, + "src": "2462:13:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 30732, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2462:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30736, + "mutability": "mutable", + "name": "deposits_", + "nameLocation": "2508:9:38", + "nodeType": "VariableDeclaration", + "scope": 30754, + "src": "2485:32:38", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_calldata_ptr", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 30735, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30734, + "name": "DepositConfig", + "nameLocations": [ + "2485:13:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "2485:13:38" + }, + "referencedDeclaration": 33295, + "src": "2485:13:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + } + ], + "src": "2423:100:38" + }, + "returnParameters": { + "id": 30740, + "nodeType": "ParameterList", + "parameters": [], + "src": "2543:0:38" + }, + "scope": 31189, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 30850, + "nodeType": "FunctionDefinition", + "src": "2740:848:38", + "nodes": [], + "body": { + "id": 30849, + "nodeType": "Block", + "src": "2964:624:38", + "nodes": [], + "statements": [ + { + "expression": { + "id": 30783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 30775, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30773, + "src": "2974:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 30779, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30758, + "src": "3006:9:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + } + }, + { + "id": 30780, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30760, + "src": "3017:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 30777, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2989:3:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 30778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2993:12:38", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2989:16:38", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 30781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2989:36:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 30776, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2979:9:38", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 30782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2979:47:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2974:52:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 30784, + "nodeType": "ExpressionStatement", + "src": "2974:52:38" + }, + { + "assignments": [ + 30787 + ], + "declarations": [ + { + "constant": false, + "id": 30787, + "mutability": "mutable", + "name": "resolution_", + "nameLocation": "3055:11:38", + "nodeType": "VariableDeclaration", + "scope": 30849, + "src": "3036:30:38", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 30786, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30785, + "name": "Resolution", + "nameLocations": [ + "3036:10:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "3036:10:38" + }, + "referencedDeclaration": 32779, + "src": "3036:10:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "id": 30791, + "initialValue": { + "baseExpression": { + "id": 30788, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30697, + "src": "3069:10:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Resolution_$32779_storage_$", + "typeString": "mapping(bytes32 => struct Resolution storage ref)" + } + }, + "id": 30790, + "indexExpression": { + "id": 30789, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30773, + "src": "3080:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3069:14:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage", + "typeString": "struct Resolution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3036:47:38" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "id": 30796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30792, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30787, + "src": "3098:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3110:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "3098:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 30794, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "3120:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 30795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3137:8:38", + "memberName": "Executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32764, + "src": "3120:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "3098:47:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30801, + "nodeType": "IfStatement", + "src": "3094:107:38", + "trueBody": { + "id": 30800, + "nodeType": "Block", + "src": "3147:54:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30797, + "name": "ResolutionIsExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32739, + "src": "3168:20:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 30798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3168:22:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30799, + "nodeType": "RevertStatement", + "src": "3161:29:38" + } + ] + } + }, + { + "assignments": [ + 30803 + ], + "declarations": [ + { + "constant": false, + "id": 30803, + "mutability": "mutable", + "name": "settlementEncoding", + "nameLocation": "3219:18:38", + "nodeType": "VariableDeclaration", + "scope": 30849, + "src": "3211:26:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 30802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3211:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 30810, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 30807, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30766, + "src": "3261:10:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + ], + "expression": { + "id": 30805, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3250:3:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 30806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3254:6:38", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3250:10:38", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 30808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3250:22:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 30804, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3240:9:38", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 30809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3240:33:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3211:62:38" + }, + { + "expression": { + "id": 30816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 30811, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30787, + "src": "3283:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30813, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3295:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "3283:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 30814, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "3304:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 30815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3321:9:38", + "memberName": "Submitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 32761, + "src": "3304:26:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "3283:47:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "id": 30817, + "nodeType": "ExpressionStatement", + "src": "3283:47:38" + }, + { + "expression": { + "id": 30822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 30818, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30787, + "src": "3340:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30820, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3352:10:38", + "memberName": "settlement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32772, + "src": "3340:22:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30821, + "name": "settlementEncoding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30803, + "src": "3365:18:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3340:43:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 30823, + "nodeType": "ExpressionStatement", + "src": "3340:43:38" + }, + { + "expression": { + "id": 30828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 30824, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30787, + "src": "3393:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30826, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3405:11:38", + "memberName": "metadataURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 32775, + "src": "3393:23:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 30827, + "name": "metadataURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30762, + "src": "3419:11:38", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + "src": "3393:37:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 30829, + "nodeType": "ExpressionStatement", + "src": "3393:37:38" + }, + { + "expression": { + "id": 30837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 30830, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30787, + "src": "3440:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30832, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3452:10:38", + "memberName": "unlockTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 32778, + "src": "3440:22:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30833, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "3465:5:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 30834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3471:9:38", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "3465:15:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 30835, + "name": "lockPeriod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30691, + "src": "3483:10:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3465:28:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3440:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 30838, + "nodeType": "ExpressionStatement", + "src": "3440:53:38" + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "id": 30842, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30758, + "src": "3537:9:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + } + ], + "id": 30841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3529:7:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 30840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3529:7:38", + "typeDescriptions": {} + } + }, + "id": 30843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3529:18:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 30844, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30760, + "src": "3549:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 30845, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30773, + "src": "3558:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 30846, + "name": "settlementEncoding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30803, + "src": "3562:18:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 30839, + "name": "ResolutionSubmitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32951, + "src": "3509:19:38", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32,bytes32,bytes32)" + } + }, + "id": 30847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3509:72:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30848, + "nodeType": "EmitStatement", + "src": "3504:77:38" + } + ] + }, + "baseFunctions": [ + 32991 + ], + "documentation": { + "id": 30755, + "nodeType": "StructuredDocumentation", + "src": "2648:87:38", + "text": "@inheritdoc IArbitrator\n @dev Only controller is able to submit resolutions." + }, + "functionSelector": "02fd597d", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 30769, + "kind": "modifierInvocation", + "modifierName": { + "id": 30768, + "name": "isEnabled", + "nameLocations": [ + "2918:9:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33271, + "src": "2918:9:38" + }, + "nodeType": "ModifierInvocation", + "src": "2918:9:38" + }, + { + "id": 30771, + "kind": "modifierInvocation", + "modifierName": { + "id": 30770, + "name": "onlyController", + "nameLocations": [ + "2928:14:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33131, + "src": "2928:14:38" + }, + "nodeType": "ModifierInvocation", + "src": "2928:14:38" + } + ], + "name": "submitResolution", + "nameLocation": "2749:16:38", + "parameters": { + "id": 30767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30758, + "mutability": "mutable", + "name": "framework", + "nameLocation": "2787:9:38", + "nodeType": "VariableDeclaration", + "scope": 30850, + "src": "2775:21:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + }, + "typeName": { + "id": 30757, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30756, + "name": "IArbitrable", + "nameLocations": [ + "2775:11:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32932, + "src": "2775:11:38" + }, + "referencedDeclaration": 32932, + "src": "2775:11:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30760, + "mutability": "mutable", + "name": "dispute", + "nameLocation": "2814:7:38", + "nodeType": "VariableDeclaration", + "scope": 30850, + "src": "2806:15:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 30759, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2806:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30762, + "mutability": "mutable", + "name": "metadataURI", + "nameLocation": "2847:11:38", + "nodeType": "VariableDeclaration", + "scope": 30850, + "src": "2831:27:38", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 30761, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2831:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30766, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "2894:10:38", + "nodeType": "VariableDeclaration", + "scope": 30850, + "src": "2868:36:38", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 30764, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30763, + "name": "PositionParams", + "nameLocations": [ + "2868:14:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "2868:14:38" + }, + "referencedDeclaration": 32681, + "src": "2868:14:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 30765, + "nodeType": "ArrayTypeName", + "src": "2868:16:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "2765:145:38" + }, + "returnParameters": { + "id": 30774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30773, + "mutability": "mutable", + "name": "id", + "nameLocation": "2960:2:38", + "nodeType": "VariableDeclaration", + "scope": 30850, + "src": "2952:10:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 30772, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2952:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2951:12:38" + }, + "scope": 31189, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 30956, + "nodeType": "FunctionDefinition", + "src": "3626:1074:38", + "nodes": [], + "body": { + "id": 30955, + "nodeType": "Block", + "src": "3778:922:38", + "nodes": [], + "statements": [ + { + "assignments": [ + 30866 + ], + "declarations": [ + { + "constant": false, + "id": 30866, + "mutability": "mutable", + "name": "id", + "nameLocation": "3796:2:38", + "nodeType": "VariableDeclaration", + "scope": 30955, + "src": "3788:10:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 30865, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3788:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 30874, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 30870, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30854, + "src": "3828:9:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + } + }, + { + "id": 30871, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30856, + "src": "3839:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 30868, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3811:3:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 30869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3815:12:38", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3811:16:38", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 30872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3811:36:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 30867, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3801:9:38", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 30873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3801:47:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3788:60:38" + }, + { + "assignments": [ + 30877 + ], + "declarations": [ + { + "constant": false, + "id": 30877, + "mutability": "mutable", + "name": "resolution_", + "nameLocation": "3877:11:38", + "nodeType": "VariableDeclaration", + "scope": 30955, + "src": "3858:30:38", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 30876, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30875, + "name": "Resolution", + "nameLocations": [ + "3858:10:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "3858:10:38" + }, + "referencedDeclaration": 32779, + "src": "3858:10:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "id": 30881, + "initialValue": { + "baseExpression": { + "id": 30878, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30697, + "src": "3891:10:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Resolution_$32779_storage_$", + "typeString": "mapping(bytes32 => struct Resolution storage ref)" + } + }, + "id": 30880, + "indexExpression": { + "id": 30879, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30866, + "src": "3902:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3891:14:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage", + "typeString": "struct Resolution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3858:47:38" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "id": 30886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30882, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30877, + "src": "3920:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30883, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3932:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "3920:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 30884, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "3942:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 30885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3959:8:38", + "memberName": "Appealed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32762, + "src": "3942:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "3920:47:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30891, + "nodeType": "IfStatement", + "src": "3916:107:38", + "trueBody": { + "id": 30890, + "nodeType": "Block", + "src": "3969:54:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30887, + "name": "ResolutionIsAppealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32742, + "src": "3990:20:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 30888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3990:22:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30889, + "nodeType": "RevertStatement", + "src": "3983:29:38" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "id": 30896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30892, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30877, + "src": "4036:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4048:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "4036:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 30894, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "4058:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 30895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4075:8:38", + "memberName": "Executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32764, + "src": "4058:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "4036:47:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30901, + "nodeType": "IfStatement", + "src": "4032:107:38", + "trueBody": { + "id": 30900, + "nodeType": "Block", + "src": "4085:54:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30897, + "name": "ResolutionIsExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32739, + "src": "4106:20:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 30898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4106:22:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30899, + "nodeType": "RevertStatement", + "src": "4099:29:38" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 30912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "id": 30906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30902, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30877, + "src": "4165:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30903, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4177:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "4165:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 30904, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "4187:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 30905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4204:8:38", + "memberName": "Endorsed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32763, + "src": "4187:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "4165:47:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 30911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30907, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "4228:5:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 30908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4234:9:38", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4228:15:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 30909, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30877, + "src": "4246:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30910, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4258:10:38", + "memberName": "unlockTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 32778, + "src": "4246:22:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4228:40:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4165:103:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30917, + "nodeType": "IfStatement", + "src": "4148:183:38", + "trueBody": { + "id": 30916, + "nodeType": "Block", + "src": "4279:52:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30913, + "name": "ResolutionIsLocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32736, + "src": "4300:18:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 30914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4300:20:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30915, + "nodeType": "RevertStatement", + "src": "4293:27:38" + } + ] + } + }, + { + "assignments": [ + 30919 + ], + "declarations": [ + { + "constant": false, + "id": 30919, + "mutability": "mutable", + "name": "settlementEncoding", + "nameLocation": "4348:18:38", + "nodeType": "VariableDeclaration", + "scope": 30955, + "src": "4340:26:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 30918, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4340:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 30926, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 30923, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30860, + "src": "4390:10:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + ], + "expression": { + "id": 30921, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4379:3:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 30922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4383:6:38", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4379:10:38", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 30924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4379:22:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 30920, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4369:9:38", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 30925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4369:33:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4340:62:38" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 30930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30927, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30877, + "src": "4416:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4428:10:38", + "memberName": "settlement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32772, + "src": "4416:22:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 30929, + "name": "settlementEncoding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30919, + "src": "4442:18:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4416:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30935, + "nodeType": "IfStatement", + "src": "4412:112:38", + "trueBody": { + "id": 30934, + "nodeType": "Block", + "src": "4462:62:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30931, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "4483:28:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 30932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4483:30:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30933, + "nodeType": "RevertStatement", + "src": "4476:37:38" + } + ] + } + }, + { + "expression": { + "id": 30941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 30936, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30877, + "src": "4534:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30938, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4546:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "4534:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 30939, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "4555:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 30940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4572:8:38", + "memberName": "Executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32764, + "src": "4555:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "4534:46:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "id": 30942, + "nodeType": "ExpressionStatement", + "src": "4534:46:38" + }, + { + "expression": { + "arguments": [ + { + "id": 30946, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30856, + "src": "4615:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 30947, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30860, + "src": "4624:10:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + ], + "expression": { + "id": 30943, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30854, + "src": "4591:9:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + } + }, + "id": 30945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4601:13:38", + "memberName": "settleDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 32931, + "src": "4591:23:38", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 30948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4591:44:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30949, + "nodeType": "ExpressionStatement", + "src": "4591:44:38" + }, + { + "eventCall": { + "arguments": [ + { + "id": 30951, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30866, + "src": "4670:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 30952, + "name": "settlementEncoding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30919, + "src": "4674:18:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 30950, + "name": "ResolutionExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32974, + "src": "4651:18:38", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 30953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4651:42:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30954, + "nodeType": "EmitStatement", + "src": "4646:47:38" + } + ] + }, + "baseFunctions": [ + 33004 + ], + "documentation": { + "id": 30851, + "nodeType": "StructuredDocumentation", + "src": "3594:27:38", + "text": "@inheritdoc IArbitrator" + }, + "functionSelector": "2f7f204e", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 30863, + "kind": "modifierInvocation", + "modifierName": { + "id": 30862, + "name": "isEnabled", + "nameLocations": [ + "3768:9:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33271, + "src": "3768:9:38" + }, + "nodeType": "ModifierInvocation", + "src": "3768:9:38" + } + ], + "name": "executeResolution", + "nameLocation": "3635:17:38", + "parameters": { + "id": 30861, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30854, + "mutability": "mutable", + "name": "framework", + "nameLocation": "3674:9:38", + "nodeType": "VariableDeclaration", + "scope": 30956, + "src": "3662:21:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + }, + "typeName": { + "id": 30853, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30852, + "name": "IArbitrable", + "nameLocations": [ + "3662:11:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32932, + "src": "3662:11:38" + }, + "referencedDeclaration": 32932, + "src": "3662:11:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30856, + "mutability": "mutable", + "name": "dispute", + "nameLocation": "3701:7:38", + "nodeType": "VariableDeclaration", + "scope": 30956, + "src": "3693:15:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 30855, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3693:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30860, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "3744:10:38", + "nodeType": "VariableDeclaration", + "scope": 30956, + "src": "3718:36:38", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 30858, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30857, + "name": "PositionParams", + "nameLocations": [ + "3718:14:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "3718:14:38" + }, + "referencedDeclaration": 32681, + "src": "3718:14:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 30859, + "nodeType": "ArrayTypeName", + "src": "3718:16:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "3652:108:38" + }, + "returnParameters": { + "id": 30864, + "nodeType": "ParameterList", + "parameters": [], + "src": "3778:0:38" + }, + "scope": 31189, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 31089, + "nodeType": "FunctionDefinition", + "src": "4738:1390:38", + "nodes": [], + "body": { + "id": 31088, + "nodeType": "Block", + "src": "4940:1188:38", + "nodes": [], + "statements": [ + { + "assignments": [ + 30973 + ], + "declarations": [ + { + "constant": false, + "id": 30973, + "mutability": "mutable", + "name": "resolution_", + "nameLocation": "4969:11:38", + "nodeType": "VariableDeclaration", + "scope": 31088, + "src": "4950:30:38", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 30972, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30971, + "name": "Resolution", + "nameLocations": [ + "4950:10:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "4950:10:38" + }, + "referencedDeclaration": 32779, + "src": "4950:10:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "id": 30977, + "initialValue": { + "baseExpression": { + "id": 30974, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30697, + "src": "4983:10:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Resolution_$32779_storage_$", + "typeString": "mapping(bytes32 => struct Resolution storage ref)" + } + }, + "id": 30976, + "indexExpression": { + "id": 30975, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30959, + "src": "4994:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4983:14:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage", + "typeString": "struct Resolution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4950:47:38" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "id": 30982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30978, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30973, + "src": "5012:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30979, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5024:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "5012:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 30980, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "5034:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 30981, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5051:4:38", + "memberName": "Idle", + "nodeType": "MemberAccess", + "referencedDeclaration": 32760, + "src": "5034:21:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "5012:43:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30987, + "nodeType": "IfStatement", + "src": "5008:104:38", + "trueBody": { + "id": 30986, + "nodeType": "Block", + "src": "5057:55:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30983, + "name": "NonExistentResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32733, + "src": "5078:21:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 30984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5078:23:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30985, + "nodeType": "RevertStatement", + "src": "5071:30:38" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "id": 30992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30988, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30973, + "src": "5125:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30989, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5137:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "5125:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 30990, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "5147:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 30991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5164:8:38", + "memberName": "Executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32764, + "src": "5147:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "5125:47:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 30997, + "nodeType": "IfStatement", + "src": "5121:107:38", + "trueBody": { + "id": 30996, + "nodeType": "Block", + "src": "5174:54:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 30993, + "name": "ResolutionIsExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32739, + "src": "5195:20:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 30994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5195:22:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 30995, + "nodeType": "RevertStatement", + "src": "5188:29:38" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "id": 31002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 30998, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30973, + "src": "5241:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 30999, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5253:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "5241:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 31000, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "5263:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 31001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5280:8:38", + "memberName": "Endorsed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32763, + "src": "5263:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "5241:47:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31007, + "nodeType": "IfStatement", + "src": "5237:107:38", + "trueBody": { + "id": 31006, + "nodeType": "Block", + "src": "5290:54:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31003, + "name": "ResolutionIsEndorsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32745, + "src": "5311:20:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5311:22:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31005, + "nodeType": "RevertStatement", + "src": "5304:29:38" + } + ] + } + }, + { + "assignments": [ + 31010 + ], + "declarations": [ + { + "constant": false, + "id": 31010, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "5375:7:38", + "nodeType": "VariableDeclaration", + "scope": 31088, + "src": "5354:28:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 31009, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31008, + "name": "DepositConfig", + "nameLocations": [ + "5354:13:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "5354:13:38" + }, + "referencedDeclaration": 33295, + "src": "5354:13:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + } + ], + "id": 31012, + "initialValue": { + "id": 31011, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30688, + "src": "5385:8:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5354:39:38" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 31018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 31013, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30966, + "src": "5407:6:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 31014, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5414:9:38", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28464, + "src": "5407:16:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 31015, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5424:5:38", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 28458, + "src": "5407:22:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 31016, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31010, + "src": "5433:7:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 31017, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5441:5:38", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "5433:13:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5407:39:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31022, + "nodeType": "IfStatement", + "src": "5403:67:38", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31019, + "name": "InvalidPermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32757, + "src": "5455:13:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5455:15:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31021, + "nodeType": "RevertStatement", + "src": "5448:22:38" + } + }, + { + "assignments": [ + 31024 + ], + "declarations": [ + { + "constant": false, + "id": 31024, + "mutability": "mutable", + "name": "settlementEncoding", + "nameLocation": "5488:18:38", + "nodeType": "VariableDeclaration", + "scope": 31088, + "src": "5480:26:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31023, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5480:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 31031, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 31028, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30963, + "src": "5530:10:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + ], + "expression": { + "id": 31026, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5519:3:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 31027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5523:6:38", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5519:10:38", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 31029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5519:22:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 31025, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "5509:9:38", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 31030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5509:33:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5480:62:38" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 31035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 31032, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30973, + "src": "5556:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 31033, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5568:10:38", + "memberName": "settlement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32772, + "src": "5556:22:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 31034, + "name": "settlementEncoding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31024, + "src": "5582:18:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5556:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31040, + "nodeType": "IfStatement", + "src": "5552:112:38", + "trueBody": { + "id": 31039, + "nodeType": "Block", + "src": "5602:62:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31036, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "5623:28:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5623:30:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31038, + "nodeType": "RevertStatement", + "src": "5616:37:38" + } + ] + } + }, + { + "condition": { + "id": 31046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5677:33:38", + "subExpression": { + "arguments": [ + { + "expression": { + "id": 31042, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5687:3:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5691:6:38", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5687:10:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 31044, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30963, + "src": "5699:10:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + ], + "id": 31041, + "name": "_isParty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31188, + "src": "5678:8:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr_$returns$_t_bool_$", + "typeString": "function (address,struct PositionParams calldata[] calldata) pure returns (bool)" + } + }, + "id": 31045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5678:32:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31050, + "nodeType": "IfStatement", + "src": "5673:66:38", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31047, + "name": "NoPartOfSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32748, + "src": "5719:18:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5719:20:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31049, + "nodeType": "RevertStatement", + "src": "5712:27:38" + } + }, + { + "expression": { + "id": 31056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 31051, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30973, + "src": "5750:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 31053, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5762:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "5750:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 31054, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "5771:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 31055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5788:8:38", + "memberName": "Appealed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32762, + "src": "5771:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "5750:46:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "id": 31057, + "nodeType": "ExpressionStatement", + "src": "5750:46:38" + }, + { + "assignments": [ + 31062 + ], + "declarations": [ + { + "constant": false, + "id": 31062, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "5858:15:38", + "nodeType": "VariableDeclaration", + "scope": 31088, + "src": "5807:66:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + }, + "typeName": { + "id": 31061, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31060, + "name": "ISignatureTransfer.SignatureTransferDetails", + "nameLocations": [ + "5807:18:38", + "5826:24:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "5807:43:38" + }, + "referencedDeclaration": 28474, + "src": "5807:43:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "visibility": "internal" + } + ], + "id": 31070, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 31065, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31010, + "src": "5933:7:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 31066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5941:9:38", + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 33294, + "src": "5933:17:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31067, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31010, + "src": "5952:7:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 31068, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5960:6:38", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "5952:14:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 31063, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "5876:18:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ISignatureTransfer_$28568_$", + "typeString": "type(contract ISignatureTransfer)" + } + }, + "id": 31064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5908:24:38", + "memberName": "SignatureTransferDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 28474, + "src": "5876:56:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_SignatureTransferDetails_$28474_storage_ptr_$", + "typeString": "type(struct ISignatureTransfer.SignatureTransferDetails storage pointer)" + } + }, + "id": 31069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5876:91:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5807:160:38" + }, + { + "expression": { + "arguments": [ + { + "id": 31074, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30966, + "src": "6004:6:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "id": 31075, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31062, + "src": "6012:15:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + { + "expression": { + "id": 31076, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6029:3:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6033:6:38", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6029:10:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 31078, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30968, + "src": "6041:9:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 31071, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30684, + "src": "5977:7:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 31073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5985:18:38", + "memberName": "permitTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 27828, + "src": "5977:26:38", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (struct ISignatureTransfer.PermitTransferFrom memory,struct ISignatureTransfer.SignatureTransferDetails memory,address,bytes memory) external" + } + }, + "id": 31079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5977:74:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31080, + "nodeType": "ExpressionStatement", + "src": "5977:74:38" + }, + { + "eventCall": { + "arguments": [ + { + "id": 31082, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30959, + "src": "6086:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 31083, + "name": "settlementEncoding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31024, + "src": "6090:18:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 31084, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6110:3:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6114:6:38", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6110:10:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31081, + "name": "ResolutionAppealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32960, + "src": "6067:18:38", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,bytes32,address)" + } + }, + "id": 31086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6067:54:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31087, + "nodeType": "EmitStatement", + "src": "6062:59:38" + } + ] + }, + "baseFunctions": [ + 33019 + ], + "documentation": { + "id": 30957, + "nodeType": "StructuredDocumentation", + "src": "4706:27:38", + "text": "@inheritdoc IArbitrator" + }, + "functionSelector": "41bcf4dc", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "appealResolution", + "nameLocation": "4747:16:38", + "parameters": { + "id": 30969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30959, + "mutability": "mutable", + "name": "id", + "nameLocation": "4781:2:38", + "nodeType": "VariableDeclaration", + "scope": 31089, + "src": "4773:10:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 30958, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4773:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30963, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "4819:10:38", + "nodeType": "VariableDeclaration", + "scope": 31089, + "src": "4793:36:38", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 30961, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30960, + "name": "PositionParams", + "nameLocations": [ + "4793:14:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "4793:14:38" + }, + "referencedDeclaration": 32681, + "src": "4793:14:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 30962, + "nodeType": "ArrayTypeName", + "src": "4793:16:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30966, + "mutability": "mutable", + "name": "permit", + "nameLocation": "4884:6:38", + "nodeType": "VariableDeclaration", + "scope": 31089, + "src": "4839:51:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 30965, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 30964, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "4839:18:38", + "4858:18:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "4839:37:38" + }, + "referencedDeclaration": 28469, + "src": "4839:37:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30968, + "mutability": "mutable", + "name": "signature", + "nameLocation": "4915:9:38", + "nodeType": "VariableDeclaration", + "scope": 31089, + "src": "4900:24:38", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 30967, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4900:5:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4763:167:38" + }, + "returnParameters": { + "id": 30970, + "nodeType": "ParameterList", + "parameters": [], + "src": "4940:0:38" + }, + "scope": 31189, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 31148, + "nodeType": "FunctionDefinition", + "src": "6166:592:38", + "nodes": [], + "body": { + "id": 31147, + "nodeType": "Block", + "src": "6244:514:38", + "nodes": [], + "statements": [ + { + "assignments": [ + 31101 + ], + "declarations": [ + { + "constant": false, + "id": 31101, + "mutability": "mutable", + "name": "resolution_", + "nameLocation": "6273:11:38", + "nodeType": "VariableDeclaration", + "scope": 31147, + "src": "6254:30:38", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 31100, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31099, + "name": "Resolution", + "nameLocations": [ + "6254:10:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "6254:10:38" + }, + "referencedDeclaration": 32779, + "src": "6254:10:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "id": 31105, + "initialValue": { + "baseExpression": { + "id": 31102, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30697, + "src": "6287:10:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Resolution_$32779_storage_$", + "typeString": "mapping(bytes32 => struct Resolution storage ref)" + } + }, + "id": 31104, + "indexExpression": { + "id": 31103, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31092, + "src": "6298:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6287:14:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage", + "typeString": "struct Resolution storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6254:47:38" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "id": 31110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 31106, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31101, + "src": "6316:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 31107, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6328:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "6316:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 31108, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "6338:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 31109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6355:4:38", + "memberName": "Idle", + "nodeType": "MemberAccess", + "referencedDeclaration": 32760, + "src": "6338:21:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "6316:43:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31115, + "nodeType": "IfStatement", + "src": "6312:104:38", + "trueBody": { + "id": 31114, + "nodeType": "Block", + "src": "6361:55:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31111, + "name": "NonExistentResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32733, + "src": "6382:21:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6382:23:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31113, + "nodeType": "RevertStatement", + "src": "6375:30:38" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "id": 31120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 31116, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31101, + "src": "6429:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 31117, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6441:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "6429:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 31118, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "6451:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 31119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6468:8:38", + "memberName": "Executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32764, + "src": "6451:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "6429:47:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31125, + "nodeType": "IfStatement", + "src": "6425:107:38", + "trueBody": { + "id": 31124, + "nodeType": "Block", + "src": "6478:54:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31121, + "name": "ResolutionIsExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32739, + "src": "6499:20:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6499:22:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31123, + "nodeType": "RevertStatement", + "src": "6492:29:38" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 31129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 31126, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31101, + "src": "6545:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 31127, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6557:10:38", + "memberName": "settlement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32772, + "src": "6545:22:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 31128, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31094, + "src": "6571:10:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6545:36:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31134, + "nodeType": "IfStatement", + "src": "6541:104:38", + "trueBody": { + "id": 31133, + "nodeType": "Block", + "src": "6583:62:38", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31130, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "6604:28:38", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6604:30:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31132, + "nodeType": "RevertStatement", + "src": "6597:37:38" + } + ] + } + }, + { + "expression": { + "id": 31140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 31135, + "name": "resolution_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31101, + "src": "6655:11:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution storage pointer" + } + }, + "id": 31137, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6667:6:38", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "6655:18:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 31138, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "6676:16:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 31139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6693:8:38", + "memberName": "Endorsed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32763, + "src": "6676:25:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "src": "6655:46:38", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "id": 31141, + "nodeType": "ExpressionStatement", + "src": "6655:46:38" + }, + { + "eventCall": { + "arguments": [ + { + "id": 31143, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31092, + "src": "6736:2:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 31144, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31094, + "src": "6740:10:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 31142, + "name": "ResolutionEndorsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32967, + "src": "6717:18:38", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 31145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6717:34:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31146, + "nodeType": "EmitStatement", + "src": "6712:39:38" + } + ] + }, + "baseFunctions": [ + 33027 + ], + "documentation": { + "id": 31090, + "nodeType": "StructuredDocumentation", + "src": "6134:27:38", + "text": "@inheritdoc IArbitrator" + }, + "functionSelector": "e44cb37b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 31097, + "kind": "modifierInvocation", + "modifierName": { + "id": 31096, + "name": "onlyOwner", + "nameLocations": [ + "6234:9:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33216, + "src": "6234:9:38" + }, + "nodeType": "ModifierInvocation", + "src": "6234:9:38" + } + ], + "name": "endorseResolution", + "nameLocation": "6175:17:38", + "parameters": { + "id": 31095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31092, + "mutability": "mutable", + "name": "id", + "nameLocation": "6201:2:38", + "nodeType": "VariableDeclaration", + "scope": 31148, + "src": "6193:10:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31091, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6193:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31094, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "6213:10:38", + "nodeType": "VariableDeclaration", + "scope": 31148, + "src": "6205:18:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31093, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6205:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6192:32:38" + }, + "returnParameters": { + "id": 31098, + "nodeType": "ParameterList", + "parameters": [], + "src": "6244:0:38" + }, + "scope": 31189, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 31188, + "nodeType": "FunctionDefinition", + "src": "7123:277:38", + "nodes": [], + "body": { + "id": 31187, + "nodeType": "Block", + "src": "7253:147:38", + "nodes": [], + "statements": [ + { + "body": { + "id": 31185, + "nodeType": "Block", + "src": "7321:73:38", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 31179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 31174, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31155, + "src": "7339:10:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + }, + "id": 31176, + "indexExpression": { + "id": 31175, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31161, + "src": "7350:1:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7339:13:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 31177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7353:5:38", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "7339:19:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 31178, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31151, + "src": "7362:7:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7339:30:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31184, + "nodeType": "IfStatement", + "src": "7335:48:38", + "trueBody": { + "expression": { + "id": 31182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 31180, + "name": "found", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31158, + "src": "7371:5:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 31181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7379:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "7371:12:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31183, + "nodeType": "ExpressionStatement", + "src": "7371:12:38" + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 31170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 31165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "7283:6:38", + "subExpression": { + "id": 31164, + "name": "found", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31158, + "src": "7284:5:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 31169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 31166, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31161, + "src": "7293:1:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 31167, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31155, + "src": "7297:10:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + }, + "id": 31168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7308:6:38", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7297:17:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7293:21:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7283:31:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31186, + "initializationExpression": { + "assignments": [ + 31161 + ], + "declarations": [ + { + "constant": false, + "id": 31161, + "mutability": "mutable", + "name": "i", + "nameLocation": "7276:1:38", + "nodeType": "VariableDeclaration", + "scope": 31186, + "src": "7268:9:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7268:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 31163, + "initialValue": { + "hexValue": "30", + "id": 31162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7280:1:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "7268:13:38" + }, + "loopExpression": { + "expression": { + "id": 31172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7316:3:38", + "subExpression": { + "id": 31171, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31161, + "src": "7316:1:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 31173, + "nodeType": "ExpressionStatement", + "src": "7316:3:38" + }, + "nodeType": "ForStatement", + "src": "7263:131:38" + } + ] + }, + "documentation": { + "id": 31149, + "nodeType": "StructuredDocumentation", + "src": "6978:140:38", + "text": "@dev Check if an account is part of a settlement.\n @param account Address to check.\n @param settlement Array of positions." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isParty", + "nameLocation": "7132:8:38", + "parameters": { + "id": 31156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31151, + "mutability": "mutable", + "name": "account", + "nameLocation": "7158:7:38", + "nodeType": "VariableDeclaration", + "scope": 31188, + "src": "7150:15:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31150, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7150:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31155, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "7201:10:38", + "nodeType": "VariableDeclaration", + "scope": 31188, + "src": "7175:36:38", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 31153, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31152, + "name": "PositionParams", + "nameLocations": [ + "7175:14:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "7175:14:38" + }, + "referencedDeclaration": 32681, + "src": "7175:14:38", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 31154, + "nodeType": "ArrayTypeName", + "src": "7175:16:38", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "7140:77:38" + }, + "returnParameters": { + "id": 31159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31158, + "mutability": "mutable", + "name": "found", + "nameLocation": "7246:5:38", + "nodeType": "VariableDeclaration", + "scope": 31188, + "src": "7241:10:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 31157, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7241:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7240:12:38" + }, + "scope": 31189, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 30675, + "name": "IArbitrator", + "nameLocations": [ + "1300:11:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33028, + "src": "1300:11:38" + }, + "id": 30676, + "nodeType": "InheritanceSpecifier", + "src": "1300:11:38" + }, + { + "baseName": { + "id": 30677, + "name": "Controlled", + "nameLocations": [ + "1313:10:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33189, + "src": "1313:10:38" + }, + "id": 30678, + "nodeType": "InheritanceSpecifier", + "src": "1313:10:38" + }, + { + "baseName": { + "id": 30679, + "name": "Toggleable", + "nameLocations": [ + "1325:10:38" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33283, + "src": "1325:10:38" + }, + "id": 30680, + "nodeType": "InheritanceSpecifier", + "src": "1325:10:38" + } + ], + "canonicalName": "Arbitrator", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 30674, + "nodeType": "StructuredDocumentation", + "src": "710:567:38", + "text": "@notice Contract with the power to arbitrate Nation3 arbitrable contracts.\n The DAO owns this contract and set a controller to operate it.\n The owner sets the working parameters.\n The owner can disable submissions and executions at any time.\n The owner can replace the controller at any time.\n The execution of a resolution is locked during a period after submission.\n Any of the parties of a settlement can appeal a resolution before is executed.\n The owner can override appeals by endorsing resolutions.\n Anyone can execute resolutions." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 31189, + 33283, + 33189, + 33252, + 33028 + ], + "name": "Arbitrator", + "nameLocation": "1286:10:38", + "scope": 31190, + "usedErrors": [ + 32733, + 32736, + 32739, + 32742, + 32745, + 32748, + 32751, + 32757, + 33201, + 33257 + ] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/frameworks/AgreementFramework.sol": { + "id": 39, + "ast": { + "absolutePath": "src/frameworks/AgreementFramework.sol", + "id": 31228, + "exportedSymbols": { + "AgreementFramework": [ + 31227 + ], + "IAgreementFramework": [ + 32907 + ], + "IArbitrable": [ + 32932 + ], + "Owned": [ + 33252 + ] + }, + "nodeType": "SourceUnit", + "src": "45:842:39", + "nodes": [ + { + "id": 31191, + "nodeType": "PragmaDirective", + "src": "45:24:39", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 31193, + "nodeType": "ImportDirective", + "src": "71:61:39", + "nodes": [], + "absolutePath": "src/interfaces/IArbitrable.sol", + "file": "src/interfaces/IArbitrable.sol", + "nameLocation": "-1:-1:-1", + "scope": 31228, + "sourceUnit": 32933, + "symbolAliases": [ + { + "foreign": { + "id": 31192, + "name": "IArbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32932, + "src": "80:11:39", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31195, + "nodeType": "ImportDirective", + "src": "133:77:39", + "nodes": [], + "absolutePath": "src/interfaces/IAgreementFramework.sol", + "file": "src/interfaces/IAgreementFramework.sol", + "nameLocation": "-1:-1:-1", + "scope": 31228, + "sourceUnit": 32908, + "symbolAliases": [ + { + "foreign": { + "id": 31194, + "name": "IAgreementFramework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32907, + "src": "142:19:39", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31197, + "nodeType": "ImportDirective", + "src": "211:44:39", + "nodes": [], + "absolutePath": "src/utils/Owned.sol", + "file": "src/utils/Owned.sol", + "nameLocation": "-1:-1:-1", + "scope": 31228, + "sourceUnit": 33253, + "symbolAliases": [ + { + "foreign": { + "id": 31196, + "name": "Owned", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33252, + "src": "220:5:39", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31227, + "nodeType": "ContractDefinition", + "src": "257:629:39", + "nodes": [ + { + "id": 31204, + "nodeType": "VariableDeclaration", + "src": "362:25:39", + "nodes": [], + "baseFunctions": [ + 32921 + ], + "constant": false, + "documentation": { + "id": 31202, + "nodeType": "StructuredDocumentation", + "src": "330:27:39", + "text": "@inheritdoc IArbitrable" + }, + "functionSelector": "6cc6cde1", + "mutability": "mutable", + "name": "arbitrator", + "nameLocation": "377:10:39", + "scope": 31227, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "362:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 31209, + "nodeType": "EventDefinition", + "src": "520:60:39", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 31205, + "nodeType": "StructuredDocumentation", + "src": "394:121:39", + "text": "@notice Raised when the arbitration power is transferred.\n @param newArbitrator Address of the new arbitrator." + }, + "eventSelector": "15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f", + "name": "ArbitrationTransferred", + "nameLocation": "526:22:39", + "parameters": { + "id": 31208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31207, + "indexed": true, + "mutability": "mutable", + "name": "newArbitrator", + "nameLocation": "565:13:39", + "nodeType": "VariableDeclaration", + "scope": 31209, + "src": "549:29:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31206, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "549:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "548:31:39" + } + }, + { + "id": 31226, + "nodeType": "FunctionDefinition", + "src": "711:173:39", + "nodes": [], + "body": { + "id": 31225, + "nodeType": "Block", + "src": "788:96:39", + "nodes": [], + "statements": [ + { + "expression": { + "id": 31219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 31217, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31204, + "src": "798:10:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 31218, + "name": "newArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31212, + "src": "811:13:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "798:26:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 31220, + "nodeType": "ExpressionStatement", + "src": "798:26:39" + }, + { + "eventCall": { + "arguments": [ + { + "id": 31222, + "name": "newArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31212, + "src": "863:13:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31221, + "name": "ArbitrationTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31209, + "src": "840:22:39", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 31223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "840:37:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31224, + "nodeType": "EmitStatement", + "src": "835:42:39" + } + ] + }, + "documentation": { + "id": 31210, + "nodeType": "StructuredDocumentation", + "src": "586:120:39", + "text": "@notice Transfer the arbitration power of the agreement.\n @param newArbitrator Address of the new arbitrator." + }, + "functionSelector": "ab4f5678", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 31215, + "kind": "modifierInvocation", + "modifierName": { + "id": 31214, + "name": "onlyOwner", + "nameLocations": [ + "778:9:39" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33216, + "src": "778:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "778:9:39" + } + ], + "name": "transferArbitration", + "nameLocation": "720:19:39", + "parameters": { + "id": 31213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31212, + "mutability": "mutable", + "name": "newArbitrator", + "nameLocation": "748:13:39", + "nodeType": "VariableDeclaration", + "scope": 31226, + "src": "740:21:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31211, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "740:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "739:23:39" + }, + "returnParameters": { + "id": 31216, + "nodeType": "ParameterList", + "parameters": [], + "src": "788:0:39" + }, + "scope": 31227, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 31198, + "name": "IAgreementFramework", + "nameLocations": [ + "297:19:39" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32907, + "src": "297:19:39" + }, + "id": 31199, + "nodeType": "InheritanceSpecifier", + "src": "297:19:39" + }, + { + "baseName": { + "id": 31200, + "name": "Owned", + "nameLocations": [ + "318:5:39" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33252, + "src": "318:5:39" + }, + "id": 31201, + "nodeType": "InheritanceSpecifier", + "src": "318:5:39" + } + ], + "canonicalName": "AgreementFramework", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 31227, + 33252, + 32907, + 32932 + ], + "name": "AgreementFramework", + "nameLocation": "275:18:39", + "scope": 31228, + "usedErrors": [ + 33201 + ] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/frameworks/CollateralAgreement.sol": { + "id": 40, + "ast": { + "absolutePath": "src/frameworks/CollateralAgreement.sol", + "id": 32624, + "exportedSymbols": { + "Agreement": [ + 31314 + ], + "AgreementData": [ + 32728 + ], + "AgreementFramework": [ + 31227 + ], + "AgreementIsDisputed": [ + 32634 + ], + "AgreementIsFinalized": [ + 32637 + ], + "AgreementNotDisputed": [ + 32643 + ], + "AgreementNotFinalized": [ + 32640 + ], + "AgreementParams": [ + 32708 + ], + "AgreementStatus": [ + 32674 + ], + "AlreadyExistentAgreement": [ + 32631 + ], + "CollateralAgreementFramework": [ + 32623 + ], + "CriteriaResolution": [ + 33102 + ], + "CriteriaResolver": [ + 32789 + ], + "DepositConfig": [ + 33295 + ], + "ERC20": [ + 29937 + ], + "IAgreementFramework": [ + 32907 + ], + "IAllowanceTransfer": [ + 28400 + ], + "IArbitrable": [ + 32932 + ], + "ISignatureTransfer": [ + 28568 + ], + "InvalidBalance": [ + 32661 + ], + "InvalidCriteria": [ + 32655 + ], + "InvalidPermit": [ + 32658 + ], + "NoPartOfAgreement": [ + 32646 + ], + "NonExistentAgreement": [ + 32628 + ], + "OnlyArbitrator": [ + 32914 + ], + "Owned": [ + 33252 + ], + "PartyAlreadyFinalized": [ + 32652 + ], + "PartyAlreadyJoined": [ + 32649 + ], + "Permit2": [ + 27750 + ], + "Permit2Lib": [ + 28901 + ], + "Position": [ + 31282 + ], + "PositionData": [ + 32695 + ], + "PositionParams": [ + 32681 + ], + "PositionStatus": [ + 32669 + ], + "ReentrancyGuard": [ + 29963 + ], + "SafeTransferLib": [ + 30048 + ], + "SettlementBalanceMustMatch": [ + 32754 + ], + "SettlementPositionsMustMatch": [ + 32751 + ] + }, + "nodeType": "SourceUnit", + "src": "45:18497:40", + "nodes": [ + { + "id": 31229, + "nodeType": "PragmaDirective", + "src": "45:24:40", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 31231, + "nodeType": "ImportDirective", + "src": "71:83:40", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/IAllowanceTransfer.sol", + "file": "permit2/src/interfaces/IAllowanceTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 28401, + "symbolAliases": [ + { + "foreign": { + "id": 31230, + "name": "IAllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28400, + "src": "80:18:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31233, + "nodeType": "ImportDirective", + "src": "155:83:40", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "file": "permit2/src/interfaces/ISignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 28569, + "symbolAliases": [ + { + "foreign": { + "id": 31232, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "164:18:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31235, + "nodeType": "ImportDirective", + "src": "240:50:40", + "nodes": [], + "absolutePath": "lib/permit2/src/Permit2.sol", + "file": "permit2/src/Permit2.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 27751, + "symbolAliases": [ + { + "foreign": { + "id": 31234, + "name": "Permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27750, + "src": "249:7:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31237, + "nodeType": "ImportDirective", + "src": "291:66:40", + "nodes": [], + "absolutePath": "lib/permit2/src/libraries/Permit2Lib.sol", + "file": "permit2/src/libraries/Permit2Lib.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 28902, + "symbolAliases": [ + { + "foreign": { + "id": 31236, + "name": "Permit2Lib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28901, + "src": "300:10:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31239, + "nodeType": "ImportDirective", + "src": "358:53:40", + "nodes": [], + "absolutePath": "lib/solmate/src/tokens/ERC20.sol", + "file": "solmate/src/tokens/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 29938, + "symbolAliases": [ + { + "foreign": { + "id": 31238, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "367:5:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31241, + "nodeType": "ImportDirective", + "src": "412:72:40", + "nodes": [], + "absolutePath": "lib/solmate/src/utils/ReentrancyGuard.sol", + "file": "solmate/src/utils/ReentrancyGuard.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 29964, + "symbolAliases": [ + { + "foreign": { + "id": 31240, + "name": "ReentrancyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29963, + "src": "421:15:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31243, + "nodeType": "ImportDirective", + "src": "485:72:40", + "nodes": [], + "absolutePath": "lib/solmate/src/utils/SafeTransferLib.sol", + "file": "solmate/src/utils/SafeTransferLib.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 30049, + "symbolAliases": [ + { + "foreign": { + "id": 31242, + "name": "SafeTransferLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30048, + "src": "494:15:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31250, + "nodeType": "ImportDirective", + "src": "559:170:40", + "nodes": [], + "absolutePath": "src/interfaces/AgreementTypes.sol", + "file": "src/interfaces/AgreementTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 32729, + "symbolAliases": [ + { + "foreign": { + "id": 31244, + "name": "AgreementData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32728, + "src": "572:13:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 31245, + "name": "AgreementParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32708, + "src": "591:15:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 31246, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "612:15:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 31247, + "name": "PositionData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32695, + "src": "633:12:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 31248, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "651:14:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 31249, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "671:14:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31251, + "nodeType": "ImportDirective", + "src": "730:44:40", + "nodes": [], + "absolutePath": "src/interfaces/AgreementErrors.sol", + "file": "src/interfaces/AgreementErrors.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 32662, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 31254, + "nodeType": "ImportDirective", + "src": "775:120:40", + "nodes": [], + "absolutePath": "src/interfaces/ArbitrationErrors.sol", + "file": "src/interfaces/ArbitrationErrors.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 32758, + "symbolAliases": [ + { + "foreign": { + "id": 31252, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "788:28:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 31253, + "name": "SettlementBalanceMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32754, + "src": "822:26:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31256, + "nodeType": "ImportDirective", + "src": "896:77:40", + "nodes": [], + "absolutePath": "src/interfaces/IAgreementFramework.sol", + "file": "src/interfaces/IAgreementFramework.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 32908, + "symbolAliases": [ + { + "foreign": { + "id": 31255, + "name": "IAgreementFramework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32907, + "src": "905:19:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31259, + "nodeType": "ImportDirective", + "src": "974:77:40", + "nodes": [], + "absolutePath": "src/interfaces/IArbitrable.sol", + "file": "src/interfaces/IArbitrable.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 32933, + "symbolAliases": [ + { + "foreign": { + "id": 31257, + "name": "IArbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32932, + "src": "983:11:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 31258, + "name": "OnlyArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32914, + "src": "996:14:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31261, + "nodeType": "ImportDirective", + "src": "1053:75:40", + "nodes": [], + "absolutePath": "src/frameworks/AgreementFramework.sol", + "file": "src/frameworks/AgreementFramework.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 31228, + "symbolAliases": [ + { + "foreign": { + "id": 31260, + "name": "AgreementFramework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31227, + "src": "1062:18:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31264, + "nodeType": "ImportDirective", + "src": "1129:92:40", + "nodes": [], + "absolutePath": "src/libraries/CriteriaResolution.sol", + "file": "src/libraries/CriteriaResolution.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 33103, + "symbolAliases": [ + { + "foreign": { + "id": 31262, + "name": "CriteriaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32789, + "src": "1138:16:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 31263, + "name": "CriteriaResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33102, + "src": "1156:18:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31266, + "nodeType": "ImportDirective", + "src": "1222:66:40", + "nodes": [], + "absolutePath": "src/utils/interfaces/Deposits.sol", + "file": "src/utils/interfaces/Deposits.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 33296, + "symbolAliases": [ + { + "foreign": { + "id": 31265, + "name": "DepositConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33295, + "src": "1231:13:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31268, + "nodeType": "ImportDirective", + "src": "1289:44:40", + "nodes": [], + "absolutePath": "src/utils/Owned.sol", + "file": "src/utils/Owned.sol", + "nameLocation": "-1:-1:-1", + "scope": 32624, + "sourceUnit": 33253, + "symbolAliases": [ + { + "foreign": { + "id": 31267, + "name": "Owned", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33252, + "src": "1298:5:40", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 31282, + "nodeType": "StructDefinition", + "src": "1394:311:40", + "nodes": [], + "canonicalName": "Position", + "members": [ + { + "constant": false, + "id": 31271, + "mutability": "mutable", + "name": "party", + "nameLocation": "1475:5:40", + "nodeType": "VariableDeclaration", + "scope": 31282, + "src": "1467:13:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1467:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31274, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1551:7:40", + "nodeType": "VariableDeclaration", + "scope": 31282, + "src": "1543:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1543:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31277, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "1631:7:40", + "nodeType": "VariableDeclaration", + "scope": 31282, + "src": "1623:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1623:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31281, + "mutability": "mutable", + "name": "status", + "nameLocation": "1696:6:40", + "nodeType": "VariableDeclaration", + "scope": 31282, + "src": "1681:21:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + "typeName": { + "id": 31280, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31279, + "name": "PositionStatus", + "nameLocations": [ + "1681:14:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32669, + "src": "1681:14:40" + }, + "referencedDeclaration": 32669, + "src": "1681:14:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "visibility": "internal" + } + ], + "name": "Position", + "nameLocation": "1401:8:40", + "scope": 32624, + "visibility": "public" + }, + { + "id": 31314, + "nodeType": "StructDefinition", + "src": "1759:715:40", + "nodes": [], + "canonicalName": "Agreement", + "members": [ + { + "constant": false, + "id": 31285, + "mutability": "mutable", + "name": "termsHash", + "nameLocation": "1848:9:40", + "nodeType": "VariableDeclaration", + "scope": 31314, + "src": "1840:17:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31284, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1840:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31288, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "1944:8:40", + "nodeType": "VariableDeclaration", + "scope": 31314, + "src": "1936:16:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1936:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31291, + "mutability": "mutable", + "name": "metadataURI", + "nameLocation": "2016:11:40", + "nodeType": "VariableDeclaration", + "scope": 31314, + "src": "2009:18:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 31290, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2009:6:40", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31294, + "mutability": "mutable", + "name": "token", + "nameLocation": "2088:5:40", + "nodeType": "VariableDeclaration", + "scope": 31314, + "src": "2080:13:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31293, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2080:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31297, + "mutability": "mutable", + "name": "balance", + "nameLocation": "2182:7:40", + "nodeType": "VariableDeclaration", + "scope": 31314, + "src": "2174:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31296, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2174:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31300, + "mutability": "mutable", + "name": "finalizations", + "nameLocation": "2241:13:40", + "nodeType": "VariableDeclaration", + "scope": 31314, + "src": "2233:21:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31299, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2233:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31303, + "mutability": "mutable", + "name": "disputed", + "nameLocation": "2311:8:40", + "nodeType": "VariableDeclaration", + "scope": 31314, + "src": "2306:13:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 31302, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2306:4:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31307, + "mutability": "mutable", + "name": "party", + "nameLocation": "2391:5:40", + "nodeType": "VariableDeclaration", + "scope": 31314, + "src": "2381:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 31305, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2381:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 31306, + "nodeType": "ArrayTypeName", + "src": "2381:9:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31313, + "mutability": "mutable", + "name": "position", + "nameLocation": "2463:8:40", + "nodeType": "VariableDeclaration", + "scope": 31314, + "src": "2434:37:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position)" + }, + "typeName": { + "id": 31312, + "keyType": { + "id": 31309, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2442:7:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2434:28:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position)" + }, + "valueType": { + "id": 31311, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31310, + "name": "Position", + "nameLocations": [ + "2453:8:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31282, + "src": "2453:8:40" + }, + "referencedDeclaration": 31282, + "src": "2453:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position" + } + } + }, + "visibility": "internal" + } + ], + "name": "Agreement", + "nameLocation": "1766:9:40", + "scope": 32624, + "visibility": "public" + }, + { + "id": 32623, + "nodeType": "ContractDefinition", + "src": "2476:16065:40", + "nodes": [ + { + "id": 31322, + "nodeType": "UsingForDirective", + "src": "2559:32:40", + "nodes": [], + "global": false, + "libraryName": { + "id": 31319, + "name": "SafeTransferLib", + "nameLocations": [ + "2565:15:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30048, + "src": "2565:15:40" + }, + "typeName": { + "id": 31321, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31320, + "name": "ERC20", + "nameLocations": [ + "2585:5:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "2585:5:40" + }, + "referencedDeclaration": 29937, + "src": "2585:5:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + } + }, + { + "id": 31326, + "nodeType": "UsingForDirective", + "src": "2596:27:40", + "nodes": [], + "global": false, + "libraryName": { + "id": 31323, + "name": "Permit2Lib", + "nameLocations": [ + "2602:10:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28901, + "src": "2602:10:40" + }, + "typeName": { + "id": 31325, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31324, + "name": "ERC20", + "nameLocations": [ + "2617:5:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29937, + "src": "2617:5:40" + }, + "referencedDeclaration": 29937, + "src": "2617:5:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + } + }, + { + "id": 31330, + "nodeType": "VariableDeclaration", + "src": "2689:32:40", + "nodes": [], + "constant": false, + "documentation": { + "id": 31327, + "nodeType": "StructuredDocumentation", + "src": "2629:55:40", + "text": "@notice Address of the Permit2 contract deployment." + }, + "functionSelector": "12261ee7", + "mutability": "immutable", + "name": "permit2", + "nameLocation": "2714:7:40", + "scope": 32623, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + "typeName": { + "id": 31329, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31328, + "name": "Permit2", + "nameLocations": [ + "2689:7:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27750, + "src": "2689:7:40" + }, + "referencedDeclaration": 27750, + "src": "2689:7:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "visibility": "public" + }, + { + "id": 31334, + "nodeType": "VariableDeclaration", + "src": "2776:29:40", + "nodes": [], + "constant": false, + "documentation": { + "id": 31331, + "nodeType": "StructuredDocumentation", + "src": "2728:43:40", + "text": "@notice Dispute deposits configuration." + }, + "functionSelector": "323a5e0b", + "mutability": "mutable", + "name": "deposits", + "nameLocation": "2797:8:40", + "scope": 32623, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 31333, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31332, + "name": "DepositConfig", + "nameLocations": [ + "2776:13:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "2776:13:40" + }, + "referencedDeclaration": 33295, + "src": "2776:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "public" + }, + { + "id": 31340, + "nodeType": "VariableDeclaration", + "src": "2842:48:40", + "nodes": [], + "constant": false, + "documentation": { + "id": 31335, + "nodeType": "StructuredDocumentation", + "src": "2812:25:40", + "text": "@dev Agreements by id" + }, + "mutability": "mutable", + "name": "agreement", + "nameLocation": "2881:9:40", + "scope": 32623, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement)" + }, + "typeName": { + "id": 31339, + "keyType": { + "id": 31336, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2850:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "2842:29:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement)" + }, + "valueType": { + "id": 31338, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31337, + "name": "Agreement", + "nameLocations": [ + "2861:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "2861:9:40" + }, + "referencedDeclaration": 31314, + "src": "2861:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + } + }, + "visibility": "internal" + }, + { + "id": 31375, + "nodeType": "FunctionDefinition", + "src": "3269:394:40", + "nodes": [], + "body": { + "id": 31374, + "nodeType": "Block", + "src": "3354:309:40", + "nodes": [], + "statements": [ + { + "assignments": [ + 31351 + ], + "declarations": [ + { + "constant": false, + "id": 31351, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "3382:10:40", + "nodeType": "VariableDeclaration", + "scope": 31374, + "src": "3364:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 31350, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31349, + "name": "Agreement", + "nameLocations": [ + "3364:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "3364:9:40" + }, + "referencedDeclaration": 31314, + "src": "3364:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 31355, + "initialValue": { + "baseExpression": { + "id": 31352, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "3395:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 31354, + "indexExpression": { + "id": 31353, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31343, + "src": "3405:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3395:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3364:44:40" + }, + { + "expression": { + "id": 31372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 31356, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31347, + "src": "3419:4:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 31358, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31351, + "src": "3453:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31359, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3464:9:40", + "memberName": "termsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 31285, + "src": "3453:20:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 31360, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31351, + "src": "3487:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3498:8:40", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 31288, + "src": "3487:19:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 31362, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31351, + "src": "3520:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31363, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3531:11:40", + "memberName": "metadataURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 31291, + "src": "3520:22:40", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "expression": { + "id": 31364, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31351, + "src": "3556:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31365, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3567:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 31294, + "src": "3556:16:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31366, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31351, + "src": "3586:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31367, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3597:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31297, + "src": "3586:18:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 31369, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31351, + "src": "3635:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + ], + "id": 31368, + "name": "_agreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32364, + "src": "3618:16:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$returns$_t_enum$_AgreementStatus_$32674_$", + "typeString": "function (struct Agreement storage pointer) view returns (enum AgreementStatus)" + } + }, + "id": 31370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3618:28:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 31357, + "name": "AgreementData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32728, + "src": "3426:13:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AgreementData_$32728_storage_ptr_$", + "typeString": "type(struct AgreementData storage pointer)" + } + }, + "id": 31371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3426:230:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "src": "3419:237:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 31373, + "nodeType": "ExpressionStatement", + "src": "3419:237:40" + } + ] + }, + "documentation": { + "id": 31341, + "nodeType": "StructuredDocumentation", + "src": "3106:158:40", + "text": "@notice Retrieve basic data of an agreement.\n @param id Id of the agreement to return data from.\n @return data Data struct of the agreement." + }, + "functionSelector": "33099405", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "agreementData", + "nameLocation": "3278:13:40", + "parameters": { + "id": 31344, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31343, + "mutability": "mutable", + "name": "id", + "nameLocation": "3300:2:40", + "nodeType": "VariableDeclaration", + "scope": 31375, + "src": "3292:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31342, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3292:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3291:12:40" + }, + "returnParameters": { + "id": 31348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31347, + "mutability": "mutable", + "name": "data", + "nameLocation": "3348:4:40", + "nodeType": "VariableDeclaration", + "scope": 31375, + "src": "3327:25:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData" + }, + "typeName": { + "id": 31346, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31345, + "name": "AgreementData", + "nameLocations": [ + "3327:13:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32728, + "src": "3327:13:40" + }, + "referencedDeclaration": 32728, + "src": "3327:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_storage_ptr", + "typeString": "struct AgreementData" + } + }, + "visibility": "internal" + } + ], + "src": "3326:27:40" + }, + "scope": 32623, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 31455, + "nodeType": "FunctionDefinition", + "src": "3861:671:40", + "nodes": [], + "body": { + "id": 31454, + "nodeType": "Block", + "src": "3947:585:40", + "nodes": [], + "statements": [ + { + "assignments": [ + 31387 + ], + "declarations": [ + { + "constant": false, + "id": 31387, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "3975:10:40", + "nodeType": "VariableDeclaration", + "scope": 31454, + "src": "3957:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 31386, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31385, + "name": "Agreement", + "nameLocations": [ + "3957:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "3957:9:40" + }, + "referencedDeclaration": 31314, + "src": "3957:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 31391, + "initialValue": { + "baseExpression": { + "id": 31388, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "3988:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 31390, + "indexExpression": { + "id": 31389, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31378, + "src": "3998:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3988:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3957:44:40" + }, + { + "assignments": [ + 31393 + ], + "declarations": [ + { + "constant": false, + "id": 31393, + "mutability": "mutable", + "name": "partyLength", + "nameLocation": "4019:11:40", + "nodeType": "VariableDeclaration", + "scope": 31454, + "src": "4011:19:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4011:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 31397, + "initialValue": { + "expression": { + "expression": { + "id": 31394, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31387, + "src": "4033:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4044:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "4033:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 31396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4050:6:40", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4033:23:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4011:45:40" + }, + { + "assignments": [ + 31402 + ], + "declarations": [ + { + "constant": false, + "id": 31402, + "mutability": "mutable", + "name": "positions", + "nameLocation": "4088:9:40", + "nodeType": "VariableDeclaration", + "scope": 31454, + "src": "4066:31:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData[]" + }, + "typeName": { + "baseType": { + "id": 31400, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31399, + "name": "PositionData", + "nameLocations": [ + "4066:12:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "4066:12:40" + }, + "referencedDeclaration": 32695, + "src": "4066:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "id": 31401, + "nodeType": "ArrayTypeName", + "src": "4066:14:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_storage_$dyn_storage_ptr", + "typeString": "struct PositionData[]" + } + }, + "visibility": "internal" + } + ], + "id": 31409, + "initialValue": { + "arguments": [ + { + "id": 31407, + "name": "partyLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31393, + "src": "4119:11:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 31406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4100:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct PositionData memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 31404, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31403, + "name": "PositionData", + "nameLocations": [ + "4104:12:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "4104:12:40" + }, + "referencedDeclaration": 32695, + "src": "4104:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "id": 31405, + "nodeType": "ArrayTypeName", + "src": "4104:14:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_storage_$dyn_storage_ptr", + "typeString": "struct PositionData[]" + } + } + }, + "id": 31408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4100:31:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4066:65:40" + }, + { + "body": { + "id": 31450, + "nodeType": "Block", + "src": "4184:315:40", + "statements": [ + { + "assignments": [ + 31421 + ], + "declarations": [ + { + "constant": false, + "id": 31421, + "mutability": "mutable", + "name": "party", + "nameLocation": "4206:5:40", + "nodeType": "VariableDeclaration", + "scope": 31450, + "src": "4198:13:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4198:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 31426, + "initialValue": { + "baseExpression": { + "expression": { + "id": 31422, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31387, + "src": "4214:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31423, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4225:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "4214:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 31425, + "indexExpression": { + "id": 31424, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31411, + "src": "4231:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4214:19:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4198:35:40" + }, + { + "assignments": [ + 31429 + ], + "declarations": [ + { + "constant": false, + "id": 31429, + "mutability": "mutable", + "name": "position", + "nameLocation": "4263:8:40", + "nodeType": "VariableDeclaration", + "scope": 31450, + "src": "4247:24:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position" + }, + "typeName": { + "id": 31428, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31427, + "name": "Position", + "nameLocations": [ + "4247:8:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31282, + "src": "4247:8:40" + }, + "referencedDeclaration": 31282, + "src": "4247:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position" + } + }, + "visibility": "internal" + } + ], + "id": 31434, + "initialValue": { + "baseExpression": { + "expression": { + "id": 31430, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31387, + "src": "4274:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4285:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "4274:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 31433, + "indexExpression": { + "id": 31432, + "name": "party", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31421, + "src": "4294:5:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4274:26:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4247:53:40" + }, + { + "expression": { + "id": 31448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 31435, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31402, + "src": "4314:9:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 31437, + "indexExpression": { + "id": 31436, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31411, + "src": "4324:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4314:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 31439, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31429, + "src": "4359:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "id": 31440, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4368:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31271, + "src": "4359:14:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31441, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31429, + "src": "4391:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "id": 31442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4400:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31274, + "src": "4391:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 31443, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31429, + "src": "4425:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "id": 31444, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4434:7:40", + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 31277, + "src": "4425:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 31445, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31429, + "src": "4459:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "id": 31446, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4468:6:40", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 31281, + "src": "4459:15:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 31438, + "name": "PositionData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32695, + "src": "4329:12:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionData_$32695_storage_ptr_$", + "typeString": "type(struct PositionData storage pointer)" + } + }, + "id": 31447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4329:159:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + "src": "4314:174:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + "id": 31449, + "nodeType": "ExpressionStatement", + "src": "4314:174:40" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 31416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 31414, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31411, + "src": "4162:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 31415, + "name": "partyLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31393, + "src": "4166:11:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4162:15:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31451, + "initializationExpression": { + "assignments": [ + 31411 + ], + "declarations": [ + { + "constant": false, + "id": 31411, + "mutability": "mutable", + "name": "i", + "nameLocation": "4155:1:40", + "nodeType": "VariableDeclaration", + "scope": 31451, + "src": "4147:9:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4147:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 31413, + "initialValue": { + "hexValue": "30", + "id": 31412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4159:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4147:13:40" + }, + "loopExpression": { + "expression": { + "id": 31418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4179:3:40", + "subExpression": { + "id": 31417, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31411, + "src": "4179:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 31419, + "nodeType": "ExpressionStatement", + "src": "4179:3:40" + }, + "nodeType": "ForStatement", + "src": "4142:357:40" + }, + { + "expression": { + "id": 31452, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31402, + "src": "4516:9:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "functionReturnParameters": 31384, + "id": 31453, + "nodeType": "Return", + "src": "4509:16:40" + } + ] + }, + "documentation": { + "id": 31376, + "nodeType": "StructuredDocumentation", + "src": "3669:187:40", + "text": "@notice Retrieve positions of an agreement.\n @param id Id of the agreement to return data from.\n @return Array of the positions of the agreement in PositionData structs." + }, + "functionSelector": "ac41b751", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "agreementPositions", + "nameLocation": "3870:18:40", + "parameters": { + "id": 31379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31378, + "mutability": "mutable", + "name": "id", + "nameLocation": "3897:2:40", + "nodeType": "VariableDeclaration", + "scope": 31455, + "src": "3889:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31377, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3889:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3888:12:40" + }, + "returnParameters": { + "id": 31384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31383, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 31455, + "src": "3924:21:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData[]" + }, + "typeName": { + "baseType": { + "id": 31381, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31380, + "name": "PositionData", + "nameLocations": [ + "3924:12:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "3924:12:40" + }, + "referencedDeclaration": 32695, + "src": "3924:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "id": 31382, + "nodeType": "ArrayTypeName", + "src": "3924:14:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_storage_$dyn_storage_ptr", + "typeString": "struct PositionData[]" + } + }, + "visibility": "internal" + } + ], + "src": "3923:23:40" + }, + "scope": 32623, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 31471, + "nodeType": "FunctionDefinition", + "src": "4747:93:40", + "nodes": [], + "body": { + "id": 31470, + "nodeType": "Block", + "src": "4805:35:40", + "nodes": [], + "statements": [ + { + "expression": { + "id": 31468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 31466, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31330, + "src": "4815:7:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 31467, + "name": "permit2_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31458, + "src": "4825:8:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "src": "4815:18:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 31469, + "nodeType": "ExpressionStatement", + "src": "4815:18:40" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 31463, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31460, + "src": "4798:5:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 31464, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 31462, + "name": "Owned", + "nameLocations": [ + "4792:5:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33252, + "src": "4792:5:40" + }, + "nodeType": "ModifierInvocation", + "src": "4792:12:40" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 31461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31458, + "mutability": "mutable", + "name": "permit2_", + "nameLocation": "4767:8:40", + "nodeType": "VariableDeclaration", + "scope": 31471, + "src": "4759:16:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + "typeName": { + "id": 31457, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31456, + "name": "Permit2", + "nameLocations": [ + "4759:7:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27750, + "src": "4759:7:40" + }, + "referencedDeclaration": 27750, + "src": "4759:7:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31460, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4785:5:40", + "nodeType": "VariableDeclaration", + "scope": 31471, + "src": "4777:13:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31459, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4777:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4758:33:40" + }, + "returnParameters": { + "id": 31465, + "nodeType": "ParameterList", + "parameters": [], + "src": "4805:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 31495, + "nodeType": "FunctionDefinition", + "src": "5042:211:40", + "nodes": [], + "body": { + "id": 31494, + "nodeType": "Block", + "src": "5131:122:40", + "nodes": [], + "statements": [ + { + "expression": { + "id": 31484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 31482, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31334, + "src": "5141:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 31483, + "name": "deposits_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31477, + "src": "5152:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_calldata_ptr", + "typeString": "struct DepositConfig calldata" + } + }, + "src": "5141:20:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 31485, + "nodeType": "ExpressionStatement", + "src": "5141:20:40" + }, + { + "expression": { + "id": 31488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 31486, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31204, + "src": "5171:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 31487, + "name": "arbitrator_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31474, + "src": "5184:11:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5171:24:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 31489, + "nodeType": "ExpressionStatement", + "src": "5171:24:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 31491, + "name": "arbitrator_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31474, + "src": "5234:11:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31490, + "name": "ArbitrationTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31209, + "src": "5211:22:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 31492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5211:35:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31493, + "nodeType": "EmitStatement", + "src": "5206:40:40" + } + ] + }, + "documentation": { + "id": 31472, + "nodeType": "StructuredDocumentation", + "src": "4846:191:40", + "text": "@notice Set up framework params;\n @param arbitrator_ Address allowed to settle disputes.\n @param deposits_ Configuration of the framework's deposits in DepositConfig format." + }, + "functionSelector": "af0f9df3", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 31480, + "kind": "modifierInvocation", + "modifierName": { + "id": 31479, + "name": "onlyOwner", + "nameLocations": [ + "5121:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33216, + "src": "5121:9:40" + }, + "nodeType": "ModifierInvocation", + "src": "5121:9:40" + } + ], + "name": "setUp", + "nameLocation": "5051:5:40", + "parameters": { + "id": 31478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31474, + "mutability": "mutable", + "name": "arbitrator_", + "nameLocation": "5065:11:40", + "nodeType": "VariableDeclaration", + "scope": 31495, + "src": "5057:19:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5057:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31477, + "mutability": "mutable", + "name": "deposits_", + "nameLocation": "5101:9:40", + "nodeType": "VariableDeclaration", + "scope": 31495, + "src": "5078:32:40", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_calldata_ptr", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 31476, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31475, + "name": "DepositConfig", + "nameLocations": [ + "5078:13:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "5078:13:40" + }, + "referencedDeclaration": 33295, + "src": "5078:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + } + ], + "src": "5056:55:40" + }, + "returnParameters": { + "id": 31481, + "nodeType": "ParameterList", + "parameters": [], + "src": "5131:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 31585, + "nodeType": "FunctionDefinition", + "src": "5853:773:40", + "nodes": [], + "body": { + "id": 31584, + "nodeType": "Block", + "src": "5977:649:40", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 31509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 31506, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "5991:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5998:8:40", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 32701, + "src": "5991:15:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 31508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6010:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5991:20:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31513, + "nodeType": "IfStatement", + "src": "5987:50:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31510, + "name": "InvalidCriteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32655, + "src": "6020:15:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6020:17:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31512, + "nodeType": "RevertStatement", + "src": "6013:24:40" + } + }, + { + "expression": { + "id": 31527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 31514, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31504, + "src": "6048:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 31520, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "6082:4:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 31519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6074:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 31518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6074:7:40", + "typeDescriptions": {} + } + }, + "id": 31521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6074:13:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31522, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "6089:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6096:9:40", + "memberName": "termsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 32698, + "src": "6089:16:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 31524, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31501, + "src": "6107:4:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 31516, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6063:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 31517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6067:6:40", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "6063:10:40", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 31525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6063:49:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 31515, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "6053:9:40", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 31526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6053:60:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6048:65:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 31528, + "nodeType": "ExpressionStatement", + "src": "6048:65:40" + }, + { + "assignments": [ + 31531 + ], + "declarations": [ + { + "constant": false, + "id": 31531, + "mutability": "mutable", + "name": "newAgreement", + "nameLocation": "6141:12:40", + "nodeType": "VariableDeclaration", + "scope": 31584, + "src": "6123:30:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 31530, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31529, + "name": "Agreement", + "nameLocations": [ + "6123:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "6123:9:40" + }, + "referencedDeclaration": 31314, + "src": "6123:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 31535, + "initialValue": { + "baseExpression": { + "id": 31532, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "6156:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 31534, + "indexExpression": { + "id": 31533, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31504, + "src": "6166:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6156:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6123:46:40" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 31539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 31536, + "name": "newAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31531, + "src": "6184:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31537, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6197:8:40", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 31288, + "src": "6184:21:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 31538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6209:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6184:26:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31543, + "nodeType": "IfStatement", + "src": "6180:65:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31540, + "name": "AlreadyExistentAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32631, + "src": "6219:24:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6219:26:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31542, + "nodeType": "RevertStatement", + "src": "6212:33:40" + } + }, + { + "expression": { + "id": 31549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 31544, + "name": "newAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31531, + "src": "6256:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31546, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6269:9:40", + "memberName": "termsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 31285, + "src": "6256:22:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 31547, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "6281:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6288:9:40", + "memberName": "termsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 32698, + "src": "6281:16:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6256:41:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 31550, + "nodeType": "ExpressionStatement", + "src": "6256:41:40" + }, + { + "expression": { + "id": 31556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 31551, + "name": "newAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31531, + "src": "6307:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31553, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6320:8:40", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 31288, + "src": "6307:21:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 31554, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "6331:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6338:8:40", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 32701, + "src": "6331:15:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6307:39:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 31557, + "nodeType": "ExpressionStatement", + "src": "6307:39:40" + }, + { + "expression": { + "id": 31563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 31558, + "name": "newAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31531, + "src": "6356:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31560, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6369:11:40", + "memberName": "metadataURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 31291, + "src": "6356:24:40", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 31561, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "6383:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6390:11:40", + "memberName": "metadataURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 32704, + "src": "6383:18:40", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + "src": "6356:45:40", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 31564, + "nodeType": "ExpressionStatement", + "src": "6356:45:40" + }, + { + "expression": { + "id": 31570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 31565, + "name": "newAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31531, + "src": "6411:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31567, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6424:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 31294, + "src": "6411:18:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 31568, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "6432:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6439:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "6432:12:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6411:33:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 31571, + "nodeType": "ExpressionStatement", + "src": "6411:33:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 31573, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31504, + "src": "6490:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 31574, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "6506:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6513:9:40", + "memberName": "termsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 32698, + "src": "6506:16:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 31576, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "6536:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6543:8:40", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 32701, + "src": "6536:15:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 31578, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "6565:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6572:11:40", + "memberName": "metadataURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 32704, + "src": "6565:18:40", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "expression": { + "id": 31580, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31499, + "src": "6597:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams calldata" + } + }, + "id": 31581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6604:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "6597:12:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31572, + "name": "AgreementCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32818, + "src": "6460:16:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (bytes32,bytes32,uint256,string memory,address)" + } + }, + "id": 31582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6460:159:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31583, + "nodeType": "EmitStatement", + "src": "6455:164:40" + } + ] + }, + "documentation": { + "id": 31496, + "nodeType": "StructuredDocumentation", + "src": "5471:377:40", + "text": "@notice Create a new collateral agreement with given params.\n @param params Struct of agreement params.\n @param salt Extra bytes to avoid collisions between agreements with the same terms hash in the framework.\n @return id Id of the agreement created, generated from encoding hash of the address of the framework, hash of the terms and a provided salt." + }, + "functionSelector": "8f34a859", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createAgreement", + "nameLocation": "5862:15:40", + "parameters": { + "id": 31502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31499, + "mutability": "mutable", + "name": "params", + "nameLocation": "5912:6:40", + "nodeType": "VariableDeclaration", + "scope": 31585, + "src": "5887:31:40", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_calldata_ptr", + "typeString": "struct AgreementParams" + }, + "typeName": { + "id": 31498, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31497, + "name": "AgreementParams", + "nameLocations": [ + "5887:15:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32708, + "src": "5887:15:40" + }, + "referencedDeclaration": 32708, + "src": "5887:15:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage_ptr", + "typeString": "struct AgreementParams" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31501, + "mutability": "mutable", + "name": "salt", + "nameLocation": "5936:4:40", + "nodeType": "VariableDeclaration", + "scope": 31585, + "src": "5928:12:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31500, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5928:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5877:69:40" + }, + "returnParameters": { + "id": 31505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31504, + "mutability": "mutable", + "name": "id", + "nameLocation": "5973:2:40", + "nodeType": "VariableDeclaration", + "scope": 31585, + "src": "5965:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31503, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5965:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5964:12:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 31689, + "nodeType": "FunctionDefinition", + "src": "6672:1039:40", + "nodes": [], + "body": { + "id": 31688, + "nodeType": "Block", + "src": "6896:815:40", + "nodes": [], + "statements": [ + { + "assignments": [ + 31604 + ], + "declarations": [ + { + "constant": false, + "id": 31604, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "6924:10:40", + "nodeType": "VariableDeclaration", + "scope": 31688, + "src": "6906:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 31603, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31602, + "name": "Agreement", + "nameLocations": [ + "6906:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "6906:9:40" + }, + "referencedDeclaration": 31314, + "src": "6906:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 31608, + "initialValue": { + "baseExpression": { + "id": 31605, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "6937:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 31607, + "indexExpression": { + "id": 31606, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31588, + "src": "6947:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6937:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6906:44:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31610, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31604, + "src": "6979:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "id": 31611, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31591, + "src": "6991:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + { + "expression": { + "id": 31612, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7001:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7005:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7001:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31609, + "name": "_canJoinAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32408, + "src": "6961:17:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$_t_struct$_CriteriaResolver_$32789_calldata_ptr_$_t_address_$returns$__$", + "typeString": "function (struct Agreement storage pointer,struct CriteriaResolver calldata,address) view" + } + }, + "id": 31614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6961:51:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31615, + "nodeType": "ExpressionStatement", + "src": "6961:51:40" + }, + { + "assignments": [ + 31618 + ], + "declarations": [ + { + "constant": false, + "id": 31618, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "7044:7:40", + "nodeType": "VariableDeclaration", + "scope": 31688, + "src": "7023:28:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 31617, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31616, + "name": "DepositConfig", + "nameLocations": [ + "7023:13:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "7023:13:40" + }, + "referencedDeclaration": 33295, + "src": "7023:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + } + ], + "id": 31620, + "initialValue": { + "id": 31619, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31334, + "src": "7054:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7023:39:40" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 31628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 31621, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31594, + "src": "7139:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 31622, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7146:9:40", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "7139:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 31624, + "indexExpression": { + "hexValue": "30", + "id": 31623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7156:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7139:19:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 31625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7159:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 28458, + "src": "7139:25:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 31626, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31618, + "src": "7168:7:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 31627, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7176:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "7168:13:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7139:42:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31632, + "nodeType": "IfStatement", + "src": "7135:70:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31629, + "name": "InvalidPermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32658, + "src": "7190:13:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7190:15:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31631, + "nodeType": "RevertStatement", + "src": "7183:22:40" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 31640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 31633, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31594, + "src": "7219:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 31634, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7226:9:40", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "7219:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 31636, + "indexExpression": { + "hexValue": "31", + "id": 31635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7236:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7219:19:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 31637, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7239:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 28458, + "src": "7219:25:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 31638, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31604, + "src": "7248:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7259:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 31294, + "src": "7248:16:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7219:45:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31644, + "nodeType": "IfStatement", + "src": "7215:73:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31641, + "name": "InvalidPermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32658, + "src": "7273:13:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7273:15:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31643, + "nodeType": "RevertStatement", + "src": "7266:22:40" + } + }, + { + "assignments": [ + 31650 + ], + "declarations": [ + { + "constant": false, + "id": 31650, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "7351:15:40", + "nodeType": "VariableDeclaration", + "scope": 31688, + "src": "7298:68:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + }, + "typeName": { + "baseType": { + "id": 31648, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31647, + "name": "ISignatureTransfer.SignatureTransferDetails", + "nameLocations": [ + "7298:18:40", + "7317:24:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "7298:43:40" + }, + "referencedDeclaration": 28474, + "src": "7298:43:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "id": 31649, + "nodeType": "ArrayTypeName", + "src": "7298:45:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + } + }, + "visibility": "internal" + } + ], + "id": 31657, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 31652, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31591, + "src": "7403:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 31653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7412:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32785, + "src": "7403:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 31654, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31618, + "src": "7433:7:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 31655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7441:6:40", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "7433:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 31651, + "name": "_joinTransferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32538, + "src": "7369:20:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256) view returns (struct ISignatureTransfer.SignatureTransferDetails memory[] memory)" + } + }, + "id": 31656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7369:88:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7298:159:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31661, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31594, + "src": "7495:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + { + "id": 31662, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31650, + "src": "7503:15:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory[] memory" + } + }, + { + "expression": { + "id": 31663, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7520:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7524:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7520:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 31665, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31596, + "src": "7532:9:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory[] memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 31658, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31330, + "src": "7468:7:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 31660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7476:18:40", + "memberName": "permitTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 27957, + "src": "7468:26:40", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (struct ISignatureTransfer.PermitBatchTransferFrom memory,struct ISignatureTransfer.SignatureTransferDetails memory[] memory,address,bytes memory) external" + } + }, + "id": 31666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7468:74:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31667, + "nodeType": "ExpressionStatement", + "src": "7468:74:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31669, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31604, + "src": "7566:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "arguments": [ + { + "expression": { + "id": 31671, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7593:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7597:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7593:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31673, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31591, + "src": "7605:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 31674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7614:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32785, + "src": "7605:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 31670, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "7578:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 31675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7578:44:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + { + "expression": { + "id": 31676, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31618, + "src": "7624:7:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 31677, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7632:6:40", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "7624:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 31668, + "name": "_addPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32583, + "src": "7553:12:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Agreement_$31314_storage_ptr_$_t_struct$_PositionParams_$32681_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (struct Agreement storage pointer,struct PositionParams memory,uint256)" + } + }, + "id": 31678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7553:86:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31679, + "nodeType": "ExpressionStatement", + "src": "7553:86:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 31681, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31588, + "src": "7671:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 31682, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7675:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7679:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7675:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31684, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31591, + "src": "7687:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 31685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7696:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32785, + "src": "7687:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 31680, + "name": "AgreementJoined", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32827, + "src": "7655:15:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256)" + } + }, + "id": 31686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7655:49:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31687, + "nodeType": "EmitStatement", + "src": "7650:54:40" + } + ] + }, + "baseFunctions": [ + 32865 + ], + "documentation": { + "id": 31586, + "nodeType": "StructuredDocumentation", + "src": "6632:35:40", + "text": "@inheritdoc IAgreementFramework" + }, + "functionSelector": "1bd747a2", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 31600, + "kind": "modifierInvocation", + "modifierName": { + "id": 31599, + "name": "nonReentrant", + "nameLocations": [ + "6883:12:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29962, + "src": "6883:12:40" + }, + "nodeType": "ModifierInvocation", + "src": "6883:12:40" + } + ], + "name": "joinAgreement", + "nameLocation": "6681:13:40", + "overrides": { + "id": 31598, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6874:8:40" + }, + "parameters": { + "id": 31597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31588, + "mutability": "mutable", + "name": "id", + "nameLocation": "6712:2:40", + "nodeType": "VariableDeclaration", + "scope": 31689, + "src": "6704:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31587, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6704:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31591, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "6750:8:40", + "nodeType": "VariableDeclaration", + "scope": 31689, + "src": "6724:34:40", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 31590, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31589, + "name": "CriteriaResolver", + "nameLocations": [ + "6724:16:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "6724:16:40" + }, + "referencedDeclaration": 32789, + "src": "6724:16:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31594, + "mutability": "mutable", + "name": "permit", + "nameLocation": "6818:6:40", + "nodeType": "VariableDeclaration", + "scope": 31689, + "src": "6768:56:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 31593, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31592, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "6768:18:40", + "6787:23:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "6768:42:40" + }, + "referencedDeclaration": 28483, + "src": "6768:42:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31596, + "mutability": "mutable", + "name": "signature", + "nameLocation": "6849:9:40", + "nodeType": "VariableDeclaration", + "scope": 31689, + "src": "6834:24:40", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 31595, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6834:5:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6694:170:40" + }, + "returnParameters": { + "id": 31601, + "nodeType": "ParameterList", + "parameters": [], + "src": "6896:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 31771, + "nodeType": "FunctionDefinition", + "src": "7757:695:40", + "nodes": [], + "body": { + "id": 31770, + "nodeType": "Block", + "src": "7889:563:40", + "nodes": [], + "statements": [ + { + "assignments": [ + 31703 + ], + "declarations": [ + { + "constant": false, + "id": 31703, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "7917:10:40", + "nodeType": "VariableDeclaration", + "scope": 31770, + "src": "7899:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 31702, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31701, + "name": "Agreement", + "nameLocations": [ + "7899:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "7899:9:40" + }, + "referencedDeclaration": 31314, + "src": "7899:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 31707, + "initialValue": { + "baseExpression": { + "id": 31704, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "7930:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 31706, + "indexExpression": { + "id": 31705, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31692, + "src": "7940:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7930:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7899:44:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31709, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31703, + "src": "7972:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "id": 31710, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31695, + "src": "7984:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + { + "expression": { + "id": 31711, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7994:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7998:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7994:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31708, + "name": "_canJoinAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32408, + "src": "7954:17:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$_t_struct$_CriteriaResolver_$32789_calldata_ptr_$_t_address_$returns$__$", + "typeString": "function (struct Agreement storage pointer,struct CriteriaResolver calldata,address) view" + } + }, + "id": 31713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7954:51:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31714, + "nodeType": "ExpressionStatement", + "src": "7954:51:40" + }, + { + "assignments": [ + 31717 + ], + "declarations": [ + { + "constant": false, + "id": 31717, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "8037:7:40", + "nodeType": "VariableDeclaration", + "scope": 31770, + "src": "8016:28:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 31716, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31715, + "name": "DepositConfig", + "nameLocations": [ + "8016:13:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "8016:13:40" + }, + "referencedDeclaration": 33295, + "src": "8016:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + } + ], + "id": 31719, + "initialValue": { + "id": 31718, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31334, + "src": "8047:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8016:39:40" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 31725, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8149:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8153:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8149:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 31729, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "8169:4:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 31728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8161:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 31727, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8161:7:40", + "typeDescriptions": {} + } + }, + "id": 31730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8161:13:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31731, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31717, + "src": "8176:7:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 31732, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8184:6:40", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "8176:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 31721, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31717, + "src": "8120:7:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 31722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8128:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "8120:13:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31720, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "8114:5:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 31723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8114:20:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "id": 31724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8135:13:40", + "memberName": "transferFrom2", + "nodeType": "MemberAccess", + "referencedDeclaration": 28768, + "src": "8114:34:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$29937_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$29937_$", + "typeString": "function (contract ERC20,address,address,uint256)" + } + }, + "id": 31733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8114:77:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31734, + "nodeType": "ExpressionStatement", + "src": "8114:77:40" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 31740, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8239:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8243:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8239:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 31744, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "8259:4:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 31743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8251:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 31742, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8251:7:40", + "typeDescriptions": {} + } + }, + "id": 31745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8251:13:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31746, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31695, + "src": "8266:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 31747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8275:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32785, + "src": "8266:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 31736, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31703, + "src": "8207:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8218:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 31294, + "src": "8207:16:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31735, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "8201:5:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 31738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8201:23:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "id": 31739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8225:13:40", + "memberName": "transferFrom2", + "nodeType": "MemberAccess", + "referencedDeclaration": 28768, + "src": "8201:37:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$29937_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_ERC20_$29937_$", + "typeString": "function (contract ERC20,address,address,uint256)" + } + }, + "id": 31748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8201:82:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31749, + "nodeType": "ExpressionStatement", + "src": "8201:82:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31751, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31703, + "src": "8307:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "arguments": [ + { + "expression": { + "id": 31753, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8334:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8338:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8334:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31755, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31695, + "src": "8346:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 31756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8355:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32785, + "src": "8346:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 31752, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "8319:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 31757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8319:44:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + { + "expression": { + "id": 31758, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31717, + "src": "8365:7:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 31759, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8373:6:40", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "8365:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 31750, + "name": "_addPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32583, + "src": "8294:12:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Agreement_$31314_storage_ptr_$_t_struct$_PositionParams_$32681_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (struct Agreement storage pointer,struct PositionParams memory,uint256)" + } + }, + "id": 31760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8294:86:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31761, + "nodeType": "ExpressionStatement", + "src": "8294:86:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 31763, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31692, + "src": "8412:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 31764, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8416:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8420:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8416:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31766, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31695, + "src": "8428:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 31767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8437:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32785, + "src": "8428:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 31762, + "name": "AgreementJoined", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32827, + "src": "8396:15:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256)" + } + }, + "id": 31768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8396:49:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31769, + "nodeType": "EmitStatement", + "src": "8391:54:40" + } + ] + }, + "baseFunctions": [ + 32874 + ], + "documentation": { + "id": 31690, + "nodeType": "StructuredDocumentation", + "src": "7717:35:40", + "text": "@inheritdoc IAgreementFramework" + }, + "functionSelector": "a37ee28c", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 31699, + "kind": "modifierInvocation", + "modifierName": { + "id": 31698, + "name": "nonReentrant", + "nameLocations": [ + "7876:12:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29962, + "src": "7876:12:40" + }, + "nodeType": "ModifierInvocation", + "src": "7876:12:40" + } + ], + "name": "joinAgreementApproved", + "nameLocation": "7766:21:40", + "overrides": { + "id": 31697, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7867:8:40" + }, + "parameters": { + "id": 31696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31692, + "mutability": "mutable", + "name": "id", + "nameLocation": "7805:2:40", + "nodeType": "VariableDeclaration", + "scope": 31771, + "src": "7797:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7797:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31695, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "7843:8:40", + "nodeType": "VariableDeclaration", + "scope": 31771, + "src": "7817:34:40", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 31694, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31693, + "name": "CriteriaResolver", + "nameLocations": [ + "7817:16:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "7817:16:40" + }, + "referencedDeclaration": 32789, + "src": "7817:16:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + } + ], + "src": "7787:70:40" + }, + "returnParameters": { + "id": 31700, + "nodeType": "ParameterList", + "parameters": [], + "src": "7889:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 31896, + "nodeType": "FunctionDefinition", + "src": "8575:1347:40", + "nodes": [], + "body": { + "id": 31895, + "nodeType": "Block", + "src": "8796:1126:40", + "nodes": [], + "statements": [ + { + "assignments": [ + 31790 + ], + "declarations": [ + { + "constant": false, + "id": 31790, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "8824:10:40", + "nodeType": "VariableDeclaration", + "scope": 31895, + "src": "8806:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 31789, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31788, + "name": "Agreement", + "nameLocations": [ + "8806:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "8806:9:40" + }, + "referencedDeclaration": 31314, + "src": "8806:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 31794, + "initialValue": { + "baseExpression": { + "id": 31791, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "8837:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 31793, + "indexExpression": { + "id": 31792, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31774, + "src": "8847:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8837:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8806:44:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31796, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31790, + "src": "8872:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + ], + "id": 31795, + "name": "_isOngoing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32437, + "src": "8861:10:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$returns$__$", + "typeString": "function (struct Agreement storage pointer) view" + } + }, + "id": 31797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8861:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31798, + "nodeType": "ExpressionStatement", + "src": "8861:22:40" + }, + { + "condition": { + "id": 31804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "8897:50:40", + "subExpression": { + "arguments": [ + { + "id": 31800, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31790, + "src": "8917:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "expression": { + "id": 31801, + "name": "newPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31777, + "src": "8929:11:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 31802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8941:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "8929:17:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31799, + "name": "_isPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32490, + "src": "8898:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeString": "function (struct Agreement storage pointer,address) view returns (bool)" + } + }, + "id": 31803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8898:49:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31808, + "nodeType": "IfStatement", + "src": "8893:82:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31805, + "name": "NoPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32646, + "src": "8956:17:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8956:19:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31807, + "nodeType": "RevertStatement", + "src": "8949:26:40" + } + }, + { + "assignments": [ + 31811 + ], + "declarations": [ + { + "constant": false, + "id": 31811, + "mutability": "mutable", + "name": "lastPosition", + "nameLocation": "9002:12:40", + "nodeType": "VariableDeclaration", + "scope": 31895, + "src": "8986:28:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position" + }, + "typeName": { + "id": 31810, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31809, + "name": "Position", + "nameLocations": [ + "8986:8:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31282, + "src": "8986:8:40" + }, + "referencedDeclaration": 31282, + "src": "8986:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position" + } + }, + "visibility": "internal" + } + ], + "id": 31817, + "initialValue": { + "baseExpression": { + "expression": { + "id": 31812, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31790, + "src": "9017:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31813, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9028:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "9017:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 31816, + "indexExpression": { + "expression": { + "id": 31814, + "name": "newPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31777, + "src": "9037:11:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 31815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9049:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "9037:17:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9017:38:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8986:69:40" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + "id": 31822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 31818, + "name": "lastPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31811, + "src": "9069:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "id": 31819, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9082:6:40", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 31281, + "src": "9069:19:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 31820, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "9092:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 31821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9107:9:40", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32666, + "src": "9092:24:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "src": "9069:47:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31826, + "nodeType": "IfStatement", + "src": "9065:83:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31823, + "name": "PartyAlreadyFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32652, + "src": "9125:21:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9125:23:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31825, + "nodeType": "RevertStatement", + "src": "9118:30:40" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 31831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 31827, + "name": "lastPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31811, + "src": "9162:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "id": 31828, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9175:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31274, + "src": "9162:20:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 31829, + "name": "newPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31777, + "src": "9185:11:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 31830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9197:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "9185:19:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9162:42:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31835, + "nodeType": "IfStatement", + "src": "9158:71:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31832, + "name": "InvalidBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32661, + "src": "9213:14:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9213:16:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31834, + "nodeType": "RevertStatement", + "src": "9206:23:40" + } + }, + { + "assignments": [ + 31837 + ], + "declarations": [ + { + "constant": false, + "id": 31837, + "mutability": "mutable", + "name": "diff", + "nameLocation": "9247:4:40", + "nodeType": "VariableDeclaration", + "scope": 31895, + "src": "9239:12:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31836, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9239:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 31843, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 31842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 31838, + "name": "newPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31777, + "src": "9254:11:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 31839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9266:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "9254:19:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 31840, + "name": "lastPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31811, + "src": "9276:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "id": 31841, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9289:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31274, + "src": "9276:20:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9254:42:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9239:57:40" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 31849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 31844, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31780, + "src": "9373:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 31845, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9380:9:40", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28464, + "src": "9373:16:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 31846, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9390:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 28458, + "src": "9373:22:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 31847, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31790, + "src": "9399:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31848, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9410:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 31294, + "src": "9399:16:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9373:42:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31853, + "nodeType": "IfStatement", + "src": "9369:70:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31850, + "name": "InvalidPermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32658, + "src": "9424:13:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9424:15:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31852, + "nodeType": "RevertStatement", + "src": "9417:22:40" + } + }, + { + "assignments": [ + 31858 + ], + "declarations": [ + { + "constant": false, + "id": 31858, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "9500:15:40", + "nodeType": "VariableDeclaration", + "scope": 31895, + "src": "9449:66:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + }, + "typeName": { + "id": 31857, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31856, + "name": "ISignatureTransfer.SignatureTransferDetails", + "nameLocations": [ + "9449:18:40", + "9468:24:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "9449:43:40" + }, + "referencedDeclaration": 28474, + "src": "9449:43:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "visibility": "internal" + } + ], + "id": 31867, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 31863, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "9583:4:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 31862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9575:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 31861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9575:7:40", + "typeDescriptions": {} + } + }, + "id": 31864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9575:13:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 31865, + "name": "diff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31837, + "src": "9590:4:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 31859, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "9518:18:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ISignatureTransfer_$28568_$", + "typeString": "type(contract ISignatureTransfer)" + } + }, + "id": 31860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9550:24:40", + "memberName": "SignatureTransferDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 28474, + "src": "9518:56:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_SignatureTransferDetails_$28474_storage_ptr_$", + "typeString": "type(struct ISignatureTransfer.SignatureTransferDetails storage pointer)" + } + }, + "id": 31866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9518:77:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9449:146:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31871, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31780, + "src": "9633:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "id": 31872, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31858, + "src": "9641:15:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + { + "expression": { + "id": 31873, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "9658:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9662:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9658:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 31875, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31782, + "src": "9670:9:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 31868, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31330, + "src": "9606:7:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 31870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9614:18:40", + "memberName": "permitTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 27828, + "src": "9606:26:40", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (struct ISignatureTransfer.PermitTransferFrom memory,struct ISignatureTransfer.SignatureTransferDetails memory,address,bytes memory) external" + } + }, + "id": 31876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9606:74:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31877, + "nodeType": "ExpressionStatement", + "src": "9606:74:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31879, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31790, + "src": "9707:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "id": 31880, + "name": "newPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31777, + "src": "9719:11:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + { + "expression": { + "id": 31881, + "name": "lastPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31811, + "src": "9732:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "id": 31882, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9745:6:40", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 31281, + "src": "9732:19:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 31878, + "name": "_updatePosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32622, + "src": "9691:15:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Agreement_$31314_storage_ptr_$_t_struct$_PositionParams_$32681_memory_ptr_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct Agreement storage pointer,struct PositionParams memory,enum PositionStatus)" + } + }, + "id": 31883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9691:61:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31884, + "nodeType": "ExpressionStatement", + "src": "9691:61:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 31886, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31774, + "src": "9806:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 31887, + "name": "newPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31777, + "src": "9822:11:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 31888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9834:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "9822:17:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 31889, + "name": "newPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31777, + "src": "9853:11:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 31890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9865:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "9853:19:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 31891, + "name": "lastPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31811, + "src": "9886:12:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "id": 31892, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9899:6:40", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 31281, + "src": "9886:19:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 31885, + "name": "AgreementPositionUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32839, + "src": "9768:24:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (bytes32,address,uint256,enum PositionStatus)" + } + }, + "id": 31893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9768:147:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31894, + "nodeType": "EmitStatement", + "src": "9763:152:40" + } + ] + }, + "baseFunctions": [ + 32888 + ], + "documentation": { + "id": 31772, + "nodeType": "StructuredDocumentation", + "src": "8458:112:40", + "text": "@inheritdoc IAgreementFramework\n @notice Only allows to increase the collateral of a joined position." + }, + "functionSelector": "5541e684", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 31786, + "kind": "modifierInvocation", + "modifierName": { + "id": 31785, + "name": "nonReentrant", + "nameLocations": [ + "8783:12:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29962, + "src": "8783:12:40" + }, + "nodeType": "ModifierInvocation", + "src": "8783:12:40" + } + ], + "name": "adjustPosition", + "nameLocation": "8584:14:40", + "overrides": { + "id": 31784, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8774:8:40" + }, + "parameters": { + "id": 31783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31774, + "mutability": "mutable", + "name": "id", + "nameLocation": "8616:2:40", + "nodeType": "VariableDeclaration", + "scope": 31896, + "src": "8608:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31773, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8608:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31777, + "mutability": "mutable", + "name": "newPosition", + "nameLocation": "8652:11:40", + "nodeType": "VariableDeclaration", + "scope": 31896, + "src": "8628:35:40", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams" + }, + "typeName": { + "id": 31776, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31775, + "name": "PositionParams", + "nameLocations": [ + "8628:14:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "8628:14:40" + }, + "referencedDeclaration": 32681, + "src": "8628:14:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31780, + "mutability": "mutable", + "name": "permit", + "nameLocation": "8718:6:40", + "nodeType": "VariableDeclaration", + "scope": 31896, + "src": "8673:51:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 31779, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31778, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "8673:18:40", + "8692:18:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "8673:37:40" + }, + "referencedDeclaration": 28469, + "src": "8673:37:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 31782, + "mutability": "mutable", + "name": "signature", + "nameLocation": "8749:9:40", + "nodeType": "VariableDeclaration", + "scope": 31896, + "src": "8734:24:40", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 31781, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8734:5:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8598:166:40" + }, + "returnParameters": { + "id": 31787, + "nodeType": "ParameterList", + "parameters": [], + "src": "8796:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 31977, + "nodeType": "FunctionDefinition", + "src": "9968:727:40", + "nodes": [], + "body": { + "id": 31976, + "nodeType": "Block", + "src": "10016:679:40", + "nodes": [], + "statements": [ + { + "assignments": [ + 31904 + ], + "declarations": [ + { + "constant": false, + "id": 31904, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "10044:10:40", + "nodeType": "VariableDeclaration", + "scope": 31976, + "src": "10026:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 31903, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31902, + "name": "Agreement", + "nameLocations": [ + "10026:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "10026:9:40" + }, + "referencedDeclaration": 31314, + "src": "10026:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 31908, + "initialValue": { + "baseExpression": { + "id": 31905, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "10057:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 31907, + "indexExpression": { + "id": 31906, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31899, + "src": "10067:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10057:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10026:44:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31910, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31904, + "src": "10092:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + ], + "id": 31909, + "name": "_isOngoing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32437, + "src": "10081:10:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$returns$__$", + "typeString": "function (struct Agreement storage pointer) view" + } + }, + "id": 31911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10081:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31912, + "nodeType": "ExpressionStatement", + "src": "10081:22:40" + }, + { + "condition": { + "id": 31918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10117:43:40", + "subExpression": { + "arguments": [ + { + "id": 31914, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31904, + "src": "10137:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "expression": { + "id": 31915, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "10149:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10153:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10149:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31913, + "name": "_isPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32490, + "src": "10118:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeString": "function (struct Agreement storage pointer,address) view returns (bool)" + } + }, + "id": 31917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10118:42:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31922, + "nodeType": "IfStatement", + "src": "10113:75:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31919, + "name": "NoPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32646, + "src": "10169:17:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10169:19:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31921, + "nodeType": "RevertStatement", + "src": "10162:26:40" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + "id": 31931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 31923, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31904, + "src": "10202:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31924, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10213:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "10202:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 31927, + "indexExpression": { + "expression": { + "id": 31925, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "10222:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10226:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10222:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10202:31:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "id": 31928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10234:6:40", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 31281, + "src": "10202:38:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 31929, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "10244:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 31930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10259:9:40", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32666, + "src": "10244:24:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "src": "10202:66:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31936, + "nodeType": "IfStatement", + "src": "10198:127:40", + "trueBody": { + "id": 31935, + "nodeType": "Block", + "src": "10270:55:40", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 31932, + "name": "PartyAlreadyFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32652, + "src": "10291:21:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 31933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10291:23:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31934, + "nodeType": "RevertStatement", + "src": "10284:30:40" + } + ] + } + }, + { + "expression": { + "id": 31946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "expression": { + "id": 31937, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31904, + "src": "10335:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31941, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10346:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "10335:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 31942, + "indexExpression": { + "expression": { + "id": 31939, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "10355:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10359:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10355:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10335:31:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "id": 31943, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10367:6:40", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 31281, + "src": "10335:38:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 31944, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "10376:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 31945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10391:9:40", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32666, + "src": "10376:24:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "src": "10335:65:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "id": 31947, + "nodeType": "ExpressionStatement", + "src": "10335:65:40" + }, + { + "expression": { + "id": 31952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 31948, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31904, + "src": "10410:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31950, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10421:13:40", + "memberName": "finalizations", + "nodeType": "MemberAccess", + "referencedDeclaration": 31300, + "src": "10410:24:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 31951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10438:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10410:29:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 31953, + "nodeType": "ExpressionStatement", + "src": "10410:29:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 31955, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31899, + "src": "10493:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 31956, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "10509:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10513:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10509:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "expression": { + "id": 31958, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31904, + "src": "10533:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 31959, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10544:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "10533:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 31962, + "indexExpression": { + "expression": { + "id": 31960, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "10553:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10557:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10553:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10533:31:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "id": 31963, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10565:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31274, + "src": "10533:39:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 31964, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "10586:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 31965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10601:9:40", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32666, + "src": "10586:24:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 31954, + "name": "AgreementPositionUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32839, + "src": "10455:24:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (bytes32,address,uint256,enum PositionStatus)" + } + }, + "id": 31966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10455:165:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31967, + "nodeType": "EmitStatement", + "src": "10450:170:40" + }, + { + "condition": { + "arguments": [ + { + "id": 31969, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31904, + "src": "10648:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + ], + "id": 31968, + "name": "_isFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32461, + "src": "10635:12:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$returns$_t_bool_$", + "typeString": "function (struct Agreement storage pointer) view returns (bool)" + } + }, + "id": 31970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10635:24:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 31975, + "nodeType": "IfStatement", + "src": "10631:57:40", + "trueBody": { + "eventCall": { + "arguments": [ + { + "id": 31972, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31899, + "src": "10685:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 31971, + "name": "AgreementFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32844, + "src": "10666:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 31973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10666:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31974, + "nodeType": "EmitStatement", + "src": "10661:27:40" + } + } + ] + }, + "baseFunctions": [ + 32894 + ], + "documentation": { + "id": 31897, + "nodeType": "StructuredDocumentation", + "src": "9928:35:40", + "text": "@inheritdoc IAgreementFramework" + }, + "functionSelector": "8135fe23", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "finalizeAgreement", + "nameLocation": "9977:17:40", + "parameters": { + "id": 31900, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31899, + "mutability": "mutable", + "name": "id", + "nameLocation": "10003:2:40", + "nodeType": "VariableDeclaration", + "scope": 31977, + "src": "9995:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31898, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9995:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "9994:12:40" + }, + "returnParameters": { + "id": 31901, + "nodeType": "ParameterList", + "parameters": [], + "src": "10016:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 32072, + "nodeType": "FunctionDefinition", + "src": "10741:805:40", + "nodes": [], + "body": { + "id": 32071, + "nodeType": "Block", + "src": "10797:749:40", + "nodes": [], + "statements": [ + { + "assignments": [ + 31986 + ], + "declarations": [ + { + "constant": false, + "id": 31986, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "10825:10:40", + "nodeType": "VariableDeclaration", + "scope": 32071, + "src": "10807:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 31985, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 31984, + "name": "Agreement", + "nameLocations": [ + "10807:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "10807:9:40" + }, + "referencedDeclaration": 31314, + "src": "10807:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 31990, + "initialValue": { + "baseExpression": { + "id": 31987, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "10838:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 31989, + "indexExpression": { + "id": 31988, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31980, + "src": "10848:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10838:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10807:44:40" + }, + { + "expression": { + "arguments": [ + { + "id": 31992, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31986, + "src": "10873:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + ], + "id": 31991, + "name": "_isOngoing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32437, + "src": "10862:10:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$returns$__$", + "typeString": "function (struct Agreement storage pointer) view" + } + }, + "id": 31993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10862:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 31994, + "nodeType": "ExpressionStatement", + "src": "10862:22:40" + }, + { + "condition": { + "id": 32000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10898:43:40", + "subExpression": { + "arguments": [ + { + "id": 31996, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31986, + "src": "10918:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "expression": { + "id": 31997, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "10930:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 31998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10934:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10930:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31995, + "name": "_isPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32490, + "src": "10899:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeString": "function (struct Agreement storage pointer,address) view returns (bool)" + } + }, + "id": 31999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10899:42:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32004, + "nodeType": "IfStatement", + "src": "10894:75:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32001, + "name": "NoPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32646, + "src": "10950:17:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10950:19:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32003, + "nodeType": "RevertStatement", + "src": "10943:26:40" + } + }, + { + "assignments": [ + 32007 + ], + "declarations": [ + { + "constant": false, + "id": 32007, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "11001:7:40", + "nodeType": "VariableDeclaration", + "scope": 32071, + "src": "10980:28:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 32006, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32005, + "name": "DepositConfig", + "nameLocations": [ + "10980:13:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "10980:13:40" + }, + "referencedDeclaration": 33295, + "src": "10980:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + } + ], + "id": 32009, + "initialValue": { + "id": 32008, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31334, + "src": "11011:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10980:39:40" + }, + { + "assignments": [ + 32012 + ], + "declarations": [ + { + "constant": false, + "id": 32012, + "mutability": "mutable", + "name": "position", + "nameLocation": "11046:8:40", + "nodeType": "VariableDeclaration", + "scope": 32071, + "src": "11029:25:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position" + }, + "typeName": { + "id": 32011, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32010, + "name": "Position", + "nameLocations": [ + "11029:8:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31282, + "src": "11029:8:40" + }, + "referencedDeclaration": 31282, + "src": "11029:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position" + } + }, + "visibility": "internal" + } + ], + "id": 32018, + "initialValue": { + "baseExpression": { + "expression": { + "id": 32013, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31986, + "src": "11057:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32014, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11068:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "11057:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 32017, + "indexExpression": { + "expression": { + "id": 32015, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11077:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 32016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11081:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11077:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11057:31:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11029:59:40" + }, + { + "assignments": [ + 32020 + ], + "declarations": [ + { + "constant": false, + "id": 32020, + "mutability": "mutable", + "name": "disputeDeposit", + "nameLocation": "11106:14:40", + "nodeType": "VariableDeclaration", + "scope": 32071, + "src": "11098:22:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11098:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 32023, + "initialValue": { + "expression": { + "id": 32021, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32012, + "src": "11123:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32022, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11132:7:40", + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 31277, + "src": "11123:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11098:41:40" + }, + { + "expression": { + "id": 32028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 32024, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31986, + "src": "11189:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32026, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11200:8:40", + "memberName": "disputed", + "nodeType": "MemberAccess", + "referencedDeclaration": 31303, + "src": "11189:19:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 32027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11211:4:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "11189:26:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32029, + "nodeType": "ExpressionStatement", + "src": "11189:26:40" + }, + { + "expression": { + "id": 32035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 32030, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32012, + "src": "11225:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32032, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11234:6:40", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 31281, + "src": "11225:15:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 32033, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "11243:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 32034, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11258:8:40", + "memberName": "Disputed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32668, + "src": "11243:23:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "src": "11225:41:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "id": 32036, + "nodeType": "ExpressionStatement", + "src": "11225:41:40" + }, + { + "expression": { + "id": 32041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 32037, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32012, + "src": "11276:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32039, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11285:7:40", + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 31277, + "src": "11276:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 32040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11295:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11276:20:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 32042, + "nodeType": "ExpressionStatement", + "src": "11276:20:40" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 32047, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32007, + "src": "11342:7:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 32048, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11350:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "11342:13:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 32046, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "11336:5:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 32049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11336:20:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + { + "expression": { + "id": 32050, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32007, + "src": "11358:7:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 32051, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11366:9:40", + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 33294, + "src": "11358:17:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 32052, + "name": "disputeDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32020, + "src": "11377:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 32043, + "name": "SafeTransferLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30048, + "src": "11307:15:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeTransferLib_$30048_$", + "typeString": "type(library SafeTransferLib)" + } + }, + "id": 32045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11323:12:40", + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 30027, + "src": "11307:28:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$29937_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (contract ERC20,address,uint256)" + } + }, + "id": 32053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11307:85:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32054, + "nodeType": "ExpressionStatement", + "src": "11307:85:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 32056, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31980, + "src": "11433:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 32057, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11437:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 32058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11441:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11437:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 32059, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32012, + "src": "11449:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32060, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11458:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31274, + "src": "11449:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 32061, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "11467:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 32062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11482:8:40", + "memberName": "Disputed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32668, + "src": "11467:23:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 32055, + "name": "AgreementPositionUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32839, + "src": "11408:24:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (bytes32,address,uint256,enum PositionStatus)" + } + }, + "id": 32063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11408:83:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32064, + "nodeType": "EmitStatement", + "src": "11403:88:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 32066, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31980, + "src": "11524:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 32067, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11528:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 32068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11532:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11528:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 32065, + "name": "AgreementDisputed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32851, + "src": "11506:17:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 32069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11506:33:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32070, + "nodeType": "EmitStatement", + "src": "11501:38:40" + } + ] + }, + "baseFunctions": [ + 32900 + ], + "documentation": { + "id": 31978, + "nodeType": "StructuredDocumentation", + "src": "10701:35:40", + "text": "@inheritdoc IAgreementFramework" + }, + "functionSelector": "061ab0bc", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "disputeAgreement", + "nameLocation": "10750:16:40", + "overrides": { + "id": 31982, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "10788:8:40" + }, + "parameters": { + "id": 31981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31980, + "mutability": "mutable", + "name": "id", + "nameLocation": "10775:2:40", + "nodeType": "VariableDeclaration", + "scope": 32072, + "src": "10767:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31979, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10767:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "10766:12:40" + }, + "returnParameters": { + "id": 31983, + "nodeType": "ParameterList", + "parameters": [], + "src": "10797:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 32183, + "nodeType": "FunctionDefinition", + "src": "11645:922:40", + "nodes": [], + "body": { + "id": 32182, + "nodeType": "Block", + "src": "11719:848:40", + "nodes": [], + "statements": [ + { + "assignments": [ + 32083 + ], + "declarations": [ + { + "constant": false, + "id": 32083, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "11747:10:40", + "nodeType": "VariableDeclaration", + "scope": 32182, + "src": "11729:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 32082, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32081, + "name": "Agreement", + "nameLocations": [ + "11729:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "11729:9:40" + }, + "referencedDeclaration": 31314, + "src": "11729:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 32087, + "initialValue": { + "baseExpression": { + "id": 32084, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "11760:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 32086, + "indexExpression": { + "id": 32085, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32075, + "src": "11770:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11760:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11729:44:40" + }, + { + "assignments": [ + 32090 + ], + "declarations": [ + { + "constant": false, + "id": 32090, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "11804:7:40", + "nodeType": "VariableDeclaration", + "scope": 32182, + "src": "11783:28:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 32089, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32088, + "name": "DepositConfig", + "nameLocations": [ + "11783:13:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "11783:13:40" + }, + "referencedDeclaration": 33295, + "src": "11783:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + } + ], + "id": 32092, + "initialValue": { + "id": 32091, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31334, + "src": "11814:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11783:39:40" + }, + { + "condition": { + "id": 32096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11837:25:40", + "subExpression": { + "arguments": [ + { + "id": 32094, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32083, + "src": "11851:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + ], + "id": 32093, + "name": "_isFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32461, + "src": "11838:12:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$returns$_t_bool_$", + "typeString": "function (struct Agreement storage pointer) view returns (bool)" + } + }, + "id": 32095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11838:24:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32100, + "nodeType": "IfStatement", + "src": "11833:61:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32097, + "name": "AgreementNotFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32640, + "src": "11871:21:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11871:23:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32099, + "nodeType": "RevertStatement", + "src": "11864:30:40" + } + }, + { + "condition": { + "id": 32106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11908:43:40", + "subExpression": { + "arguments": [ + { + "id": 32102, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32083, + "src": "11928:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "expression": { + "id": 32103, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11940:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 32104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11944:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11940:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 32101, + "name": "_isPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32490, + "src": "11909:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeString": "function (struct Agreement storage pointer,address) view returns (bool)" + } + }, + "id": 32105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11909:42:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32110, + "nodeType": "IfStatement", + "src": "11904:75:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32107, + "name": "NoPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32646, + "src": "11960:17:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11960:19:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32109, + "nodeType": "RevertStatement", + "src": "11953:26:40" + } + }, + { + "assignments": [ + 32113 + ], + "declarations": [ + { + "constant": false, + "id": 32113, + "mutability": "mutable", + "name": "position", + "nameLocation": "12007:8:40", + "nodeType": "VariableDeclaration", + "scope": 32182, + "src": "11990:25:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position" + }, + "typeName": { + "id": 32112, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32111, + "name": "Position", + "nameLocations": [ + "11990:8:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31282, + "src": "11990:8:40" + }, + "referencedDeclaration": 31282, + "src": "11990:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position" + } + }, + "visibility": "internal" + } + ], + "id": 32119, + "initialValue": { + "baseExpression": { + "expression": { + "id": 32114, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32083, + "src": "12018:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32115, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12029:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "12018:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 32118, + "indexExpression": { + "expression": { + "id": 32116, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12038:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 32117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12042:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12038:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12018:31:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11990:59:40" + }, + { + "assignments": [ + 32121 + ], + "declarations": [ + { + "constant": false, + "id": 32121, + "mutability": "mutable", + "name": "withdrawBalance", + "nameLocation": "12067:15:40", + "nodeType": "VariableDeclaration", + "scope": 32182, + "src": "12059:23:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32120, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12059:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 32124, + "initialValue": { + "expression": { + "id": 32122, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32113, + "src": "12085:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12094:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31274, + "src": "12085:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12059:42:40" + }, + { + "assignments": [ + 32126 + ], + "declarations": [ + { + "constant": false, + "id": 32126, + "mutability": "mutable", + "name": "withdrawDeposit", + "nameLocation": "12119:15:40", + "nodeType": "VariableDeclaration", + "scope": 32182, + "src": "12111:23:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32125, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12111:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 32129, + "initialValue": { + "expression": { + "id": 32127, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32113, + "src": "12137:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32128, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12146:7:40", + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 31277, + "src": "12137:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12111:42:40" + }, + { + "expression": { + "id": 32134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 32130, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32113, + "src": "12191:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32132, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12200:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31274, + "src": "12191:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 32133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12210:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12191:20:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 32135, + "nodeType": "ExpressionStatement", + "src": "12191:20:40" + }, + { + "expression": { + "id": 32140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 32136, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32113, + "src": "12221:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32138, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12230:7:40", + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 31277, + "src": "12221:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 32139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12240:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12221:20:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 32141, + "nodeType": "ExpressionStatement", + "src": "12221:20:40" + }, + { + "expression": { + "id": 32147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 32142, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32113, + "src": "12251:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32144, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "12260:6:40", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 31281, + "src": "12251:15:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 32145, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "12269:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 32146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12284:9:40", + "memberName": "Withdrawn", + "nodeType": "MemberAccess", + "referencedDeclaration": 32667, + "src": "12269:24:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "src": "12251:42:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "id": 32148, + "nodeType": "ExpressionStatement", + "src": "12251:42:40" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 32153, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32083, + "src": "12339:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32154, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12350:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 31294, + "src": "12339:16:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 32152, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "12333:5:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 32155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12333:23:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + { + "expression": { + "id": 32156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12358:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 32157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12362:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12358:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 32158, + "name": "withdrawBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32121, + "src": "12370:15:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 32149, + "name": "SafeTransferLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30048, + "src": "12304:15:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeTransferLib_$30048_$", + "typeString": "type(library SafeTransferLib)" + } + }, + "id": 32151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12320:12:40", + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 30027, + "src": "12304:28:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$29937_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (contract ERC20,address,uint256)" + } + }, + "id": 32159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12304:82:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32160, + "nodeType": "ExpressionStatement", + "src": "12304:82:40" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 32165, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32090, + "src": "12431:7:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "id": 32166, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12439:5:40", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "12431:13:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 32164, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "12425:5:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 32167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12425:20:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + { + "expression": { + "id": 32168, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12447:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 32169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12451:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12447:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 32170, + "name": "withdrawDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32126, + "src": "12459:15:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 32161, + "name": "SafeTransferLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30048, + "src": "12396:15:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeTransferLib_$30048_$", + "typeString": "type(library SafeTransferLib)" + } + }, + "id": 32163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12412:12:40", + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 30027, + "src": "12396:28:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_ERC20_$29937_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (contract ERC20,address,uint256)" + } + }, + "id": 32171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12396:79:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32172, + "nodeType": "ExpressionStatement", + "src": "12396:79:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 32174, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32075, + "src": "12516:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 32175, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12520:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 32176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12524:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12520:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "30", + "id": 32177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12532:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "expression": { + "id": 32178, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "12535:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 32179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12550:9:40", + "memberName": "Withdrawn", + "nodeType": "MemberAccess", + "referencedDeclaration": 32667, + "src": "12535:24:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 32173, + "name": "AgreementPositionUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32839, + "src": "12491:24:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (bytes32,address,uint256,enum PositionStatus)" + } + }, + "id": 32180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12491:69:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32181, + "nodeType": "EmitStatement", + "src": "12486:74:40" + } + ] + }, + "baseFunctions": [ + 32906 + ], + "documentation": { + "id": 32073, + "nodeType": "StructuredDocumentation", + "src": "11552:88:40", + "text": "@inheritdoc IAgreementFramework\n @dev Requires the agreement to be finalized." + }, + "functionSelector": "186799a4", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 32079, + "kind": "modifierInvocation", + "modifierName": { + "id": 32078, + "name": "nonReentrant", + "nameLocations": [ + "11706:12:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29962, + "src": "11706:12:40" + }, + "nodeType": "ModifierInvocation", + "src": "11706:12:40" + } + ], + "name": "withdrawFromAgreement", + "nameLocation": "11654:21:40", + "overrides": { + "id": 32077, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "11697:8:40" + }, + "parameters": { + "id": 32076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32075, + "mutability": "mutable", + "name": "id", + "nameLocation": "11684:2:40", + "nodeType": "VariableDeclaration", + "scope": 32183, + "src": "11676:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32074, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11676:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "11675:12:40" + }, + "returnParameters": { + "id": 32080, + "nodeType": "ParameterList", + "parameters": [], + "src": "11719:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 32314, + "nodeType": "FunctionDefinition", + "src": "13091:1292:40", + "nodes": [], + "body": { + "id": 32313, + "nodeType": "Block", + "src": "13182:1201:40", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 32197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 32194, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "13196:3:40", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 32195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13200:6:40", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13196:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 32196, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31204, + "src": "13210:10:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13196:24:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32201, + "nodeType": "IfStatement", + "src": "13192:53:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32198, + "name": "OnlyArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32914, + "src": "13229:14:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13229:16:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32200, + "nodeType": "RevertStatement", + "src": "13222:23:40" + } + }, + { + "assignments": [ + 32204 + ], + "declarations": [ + { + "constant": false, + "id": 32204, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "13274:10:40", + "nodeType": "VariableDeclaration", + "scope": 32313, + "src": "13256:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 32203, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32202, + "name": "Agreement", + "nameLocations": [ + "13256:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "13256:9:40" + }, + "referencedDeclaration": 31314, + "src": "13256:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "id": 32208, + "initialValue": { + "baseExpression": { + "id": 32205, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31340, + "src": "13287:9:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Agreement_$31314_storage_$", + "typeString": "mapping(bytes32 => struct Agreement storage ref)" + } + }, + "id": 32207, + "indexExpression": { + "id": 32206, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32186, + "src": "13297:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13287:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage", + "typeString": "struct Agreement storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13256:44:40" + }, + { + "condition": { + "id": 32211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13314:20:40", + "subExpression": { + "expression": { + "id": 32209, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32204, + "src": "13315:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32210, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13326:8:40", + "memberName": "disputed", + "nodeType": "MemberAccess", + "referencedDeclaration": 31303, + "src": "13315:19:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32215, + "nodeType": "IfStatement", + "src": "13310:55:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32212, + "name": "AgreementNotDisputed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32643, + "src": "13343:20:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13343:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32214, + "nodeType": "RevertStatement", + "src": "13336:29:40" + } + }, + { + "condition": { + "arguments": [ + { + "id": 32217, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32204, + "src": "13392:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + ], + "id": 32216, + "name": "_isFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32461, + "src": "13379:12:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$returns$_t_bool_$", + "typeString": "function (struct Agreement storage pointer) view returns (bool)" + } + }, + "id": 32218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13379:24:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32222, + "nodeType": "IfStatement", + "src": "13375:59:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32219, + "name": "AgreementIsFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32637, + "src": "13412:20:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13412:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32221, + "nodeType": "RevertStatement", + "src": "13405:29:40" + } + }, + { + "assignments": [ + 32224 + ], + "declarations": [ + { + "constant": false, + "id": 32224, + "mutability": "mutable", + "name": "positionsLength", + "nameLocation": "13453:15:40", + "nodeType": "VariableDeclaration", + "scope": 32313, + "src": "13445:23:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13445:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 32227, + "initialValue": { + "expression": { + "id": 32225, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32190, + "src": "13471:10:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + }, + "id": 32226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13482:6:40", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13471:17:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13445:43:40" + }, + { + "assignments": [ + 32229 + ], + "declarations": [ + { + "constant": false, + "id": 32229, + "mutability": "mutable", + "name": "newBalance", + "nameLocation": "13506:10:40", + "nodeType": "VariableDeclaration", + "scope": 32313, + "src": "13498:18:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32228, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13498:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 32230, + "nodeType": "VariableDeclarationStatement", + "src": "13498:18:40" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 32231, + "name": "positionsLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32224, + "src": "13531:15:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "expression": { + "id": 32232, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32204, + "src": "13550:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13561:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "13550:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 32234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13567:6:40", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13550:23:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13531:42:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32239, + "nodeType": "IfStatement", + "src": "13527:85:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32236, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "13582:28:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13582:30:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32238, + "nodeType": "RevertStatement", + "src": "13575:37:40" + } + }, + { + "body": { + "id": 32293, + "nodeType": "Block", + "src": "13668:504:40", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 32258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "expression": { + "id": 32250, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32204, + "src": "13752:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32251, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13763:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "13752:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 32253, + "indexExpression": { + "id": 32252, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32241, + "src": "13769:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13752:19:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 32254, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32190, + "src": "13775:10:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + }, + "id": 32256, + "indexExpression": { + "id": 32255, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32241, + "src": "13786:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13775:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 32257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13789:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "13775:19:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13752:42:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32262, + "nodeType": "IfStatement", + "src": "13748:85:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32259, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "13803:28:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13803:30:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32261, + "nodeType": "RevertStatement", + "src": "13796:37:40" + } + }, + { + "expression": { + "arguments": [ + { + "id": 32264, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32204, + "src": "13864:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "baseExpression": { + "id": 32265, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32190, + "src": "13876:10:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + }, + "id": 32267, + "indexExpression": { + "id": 32266, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32241, + "src": "13887:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13876:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + { + "expression": { + "id": 32268, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "13891:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 32269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "13906:9:40", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32666, + "src": "13891:24:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 32263, + "name": "_updatePosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32622, + "src": "13848:15:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Agreement_$31314_storage_ptr_$_t_struct$_PositionParams_$32681_memory_ptr_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct Agreement storage pointer,struct PositionParams memory,enum PositionStatus)" + } + }, + "id": 32270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13848:68:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32271, + "nodeType": "ExpressionStatement", + "src": "13848:68:40" + }, + { + "expression": { + "id": 32277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 32272, + "name": "newBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32229, + "src": "13930:10:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "expression": { + "baseExpression": { + "id": 32273, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32190, + "src": "13944:10:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + }, + "id": 32275, + "indexExpression": { + "id": 32274, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32241, + "src": "13955:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13944:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 32276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13958:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "13944:21:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13930:35:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 32278, + "nodeType": "ExpressionStatement", + "src": "13930:35:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 32280, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32186, + "src": "14027:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "baseExpression": { + "id": 32281, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32190, + "src": "14047:10:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + }, + "id": 32283, + "indexExpression": { + "id": 32282, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32241, + "src": "14058:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14047:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 32284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14061:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "14047:19:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "id": 32285, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32190, + "src": "14084:10:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + }, + "id": 32287, + "indexExpression": { + "id": 32286, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32241, + "src": "14095:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14084:13:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams calldata" + } + }, + "id": 32288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14098:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "14084:21:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 32289, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "14123:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 32290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14138:9:40", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32666, + "src": "14123:24:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 32279, + "name": "AgreementPositionUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32839, + "src": "13985:24:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (bytes32,address,uint256,enum PositionStatus)" + } + }, + "id": 32291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13985:176:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32292, + "nodeType": "EmitStatement", + "src": "13980:181:40" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 32244, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32241, + "src": "13642:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 32245, + "name": "positionsLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32224, + "src": "13646:15:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13642:19:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32294, + "initializationExpression": { + "assignments": [ + 32241 + ], + "declarations": [ + { + "constant": false, + "id": 32241, + "mutability": "mutable", + "name": "i", + "nameLocation": "13635:1:40", + "nodeType": "VariableDeclaration", + "scope": 32294, + "src": "13627:9:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32240, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13627:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 32243, + "initialValue": { + "hexValue": "30", + "id": 32242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13639:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "13627:13:40" + }, + "loopExpression": { + "expression": { + "id": 32248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "13663:3:40", + "subExpression": { + "id": 32247, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32241, + "src": "13663:1:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 32249, + "nodeType": "ExpressionStatement", + "src": "13663:3:40" + }, + "nodeType": "ForStatement", + "src": "13622:550:40" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 32295, + "name": "newBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32229, + "src": "14186:10:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 32296, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32204, + "src": "14200:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14211:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31297, + "src": "14200:18:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14186:32:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32302, + "nodeType": "IfStatement", + "src": "14182:73:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32299, + "name": "SettlementBalanceMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32754, + "src": "14227:26:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14227:28:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32301, + "nodeType": "RevertStatement", + "src": "14220:35:40" + } + }, + { + "expression": { + "id": 32307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 32303, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32204, + "src": "14297:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "14308:13:40", + "memberName": "finalizations", + "nodeType": "MemberAccess", + "referencedDeclaration": 31300, + "src": "14297:24:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 32306, + "name": "positionsLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32224, + "src": "14324:15:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14297:42:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 32308, + "nodeType": "ExpressionStatement", + "src": "14297:42:40" + }, + { + "eventCall": { + "arguments": [ + { + "id": 32310, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32186, + "src": "14373:2:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 32309, + "name": "AgreementFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32844, + "src": "14354:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 32311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14354:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32312, + "nodeType": "EmitStatement", + "src": "14349:27:40" + } + ] + }, + "baseFunctions": [ + 32931 + ], + "documentation": { + "id": 32184, + "nodeType": "StructuredDocumentation", + "src": "12784:302:40", + "text": "@inheritdoc IArbitrable\n @dev Allows the arbitrator to finalize an agreement in dispute with the provided set of positions.\n @dev The provided settlement parties must match the parties of the agreement and the total balance of the settlement must match the previous agreement balance." + }, + "functionSelector": "3d3e73d7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "settleDispute", + "nameLocation": "13100:13:40", + "overrides": { + "id": 32192, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "13173:8:40" + }, + "parameters": { + "id": 32191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32186, + "mutability": "mutable", + "name": "id", + "nameLocation": "13122:2:40", + "nodeType": "VariableDeclaration", + "scope": 32314, + "src": "13114:10:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32185, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13114:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32190, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "13152:10:40", + "nodeType": "VariableDeclaration", + "scope": 32314, + "src": "13126:36:40", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 32188, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32187, + "name": "PositionParams", + "nameLocations": [ + "13126:14:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "13126:14:40" + }, + "referencedDeclaration": 32681, + "src": "13126:14:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 32189, + "nodeType": "ArrayTypeName", + "src": "13126:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "13113:50:40" + }, + "returnParameters": { + "id": 32193, + "nodeType": "ParameterList", + "parameters": [], + "src": "13182:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 32364, + "nodeType": "FunctionDefinition", + "src": "14683:577:40", + "nodes": [], + "body": { + "id": 32363, + "nodeType": "Block", + "src": "14801:459:40", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 32324, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32318, + "src": "14815:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14826:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "14815:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 32326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14832:6:40", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14815:23:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 32327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14841:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14815:27:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 32350, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32318, + "src": "15134:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15145:8:40", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 31288, + "src": "15134:19:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 32352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15157:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15134:24:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32358, + "nodeType": "IfStatement", + "src": "15130:85:40", + "trueBody": { + "id": 32357, + "nodeType": "Block", + "src": "15160:55:40", + "statements": [ + { + "expression": { + "expression": { + "id": 32354, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "15181:15:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 32355, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15197:7:40", + "memberName": "Created", + "nodeType": "MemberAccess", + "referencedDeclaration": 32670, + "src": "15181:23:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + "functionReturnParameters": 32323, + "id": 32356, + "nodeType": "Return", + "src": "15174:30:40" + } + ] + } + }, + "id": 32359, + "nodeType": "IfStatement", + "src": "14811:404:40", + "trueBody": { + "id": 32349, + "nodeType": "Block", + "src": "14844:280:40", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 32329, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32318, + "src": "14862:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14873:13:40", + "memberName": "finalizations", + "nodeType": "MemberAccess", + "referencedDeclaration": 31300, + "src": "14862:24:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "expression": { + "id": 32331, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32318, + "src": "14890:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32332, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14901:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "14890:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 32333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14907:6:40", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14890:23:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14862:51:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32339, + "nodeType": "IfStatement", + "src": "14858:122:40", + "trueBody": { + "id": 32338, + "nodeType": "Block", + "src": "14915:65:40", + "statements": [ + { + "expression": { + "expression": { + "id": 32335, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "14940:15:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 32336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14956:9:40", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32672, + "src": "14940:25:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + "functionReturnParameters": 32323, + "id": 32337, + "nodeType": "Return", + "src": "14933:32:40" + } + ] + } + }, + { + "condition": { + "expression": { + "id": 32340, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32318, + "src": "14997:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32341, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15008:8:40", + "memberName": "disputed", + "nodeType": "MemberAccess", + "referencedDeclaration": 31303, + "src": "14997:19:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32345, + "nodeType": "IfStatement", + "src": "14993:56:40", + "trueBody": { + "expression": { + "expression": { + "id": 32342, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "15025:15:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 32343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15041:8:40", + "memberName": "Disputed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32673, + "src": "15025:24:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + "functionReturnParameters": 32323, + "id": 32344, + "nodeType": "Return", + "src": "15018:31:40" + } + }, + { + "expression": { + "expression": { + "id": 32346, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "15090:15:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 32347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15106:7:40", + "memberName": "Ongoing", + "nodeType": "MemberAccess", + "referencedDeclaration": 32671, + "src": "15090:23:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + "functionReturnParameters": 32323, + "id": 32348, + "nodeType": "Return", + "src": "15083:30:40" + } + ] + } + }, + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32360, + "name": "NonExistentAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32628, + "src": "15231:20:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15231:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32362, + "nodeType": "RevertStatement", + "src": "15224:29:40" + } + ] + }, + "documentation": { + "id": 32315, + "nodeType": "StructuredDocumentation", + "src": "14603:75:40", + "text": "@dev Retrieve a simplified status of the agreement from its attributes." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_agreementStatus", + "nameLocation": "14692:16:40", + "parameters": { + "id": 32319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32318, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "14736:10:40", + "nodeType": "VariableDeclaration", + "scope": 32364, + "src": "14718:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 32317, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32316, + "name": "Agreement", + "nameLocations": [ + "14718:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "14718:9:40" + }, + "referencedDeclaration": 31314, + "src": "14718:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "src": "14708:44:40" + }, + "returnParameters": { + "id": 32323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32322, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 32364, + "src": "14784:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + "typeName": { + "id": 32321, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32320, + "name": "AgreementStatus", + "nameLocations": [ + "14784:15:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32674, + "src": "14784:15:40" + }, + "referencedDeclaration": 32674, + "src": "14784:15:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + "visibility": "internal" + } + ], + "src": "14783:17:40" + }, + "scope": 32623, + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "id": 32408, + "nodeType": "FunctionDefinition", + "src": "15322:421:40", + "nodes": [], + "body": { + "id": 32407, + "nodeType": "Block", + "src": "15474:269:40", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 32377, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32368, + "src": "15495:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + ], + "id": 32376, + "name": "_isOngoing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32437, + "src": "15484:10:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$returns$__$", + "typeString": "function (struct Agreement storage pointer) view" + } + }, + "id": 32378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15484:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32379, + "nodeType": "ExpressionStatement", + "src": "15484:22:40" + }, + { + "condition": { + "arguments": [ + { + "id": 32381, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32368, + "src": "15539:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + { + "id": 32382, + "name": "party", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32373, + "src": "15551:5:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 32380, + "name": "_isPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32490, + "src": "15520:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeString": "function (struct Agreement storage pointer,address) view returns (bool)" + } + }, + "id": 32383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15520:37:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32387, + "nodeType": "IfStatement", + "src": "15516:70:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32384, + "name": "PartyAlreadyJoined", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32649, + "src": "15566:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15566:20:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32386, + "nodeType": "RevertStatement", + "src": "15559:27:40" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 32391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 32388, + "name": "party", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32373, + "src": "15600:5:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 32389, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32371, + "src": "15609:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 32390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15618:7:40", + "memberName": "account", + "nodeType": "MemberAccess", + "referencedDeclaration": 32783, + "src": "15609:16:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15600:25:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32395, + "nodeType": "IfStatement", + "src": "15596:55:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32392, + "name": "InvalidCriteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32655, + "src": "15634:15:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15634:17:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32394, + "nodeType": "RevertStatement", + "src": "15627:24:40" + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 32401, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32368, + "src": "15705:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32402, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15716:8:40", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 31288, + "src": "15705:19:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 32400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15697:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 32399, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15697:7:40", + "typeDescriptions": {} + } + }, + "id": 32403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15697:28:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 32404, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32371, + "src": "15727:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + ], + "expression": { + "id": 32396, + "name": "CriteriaResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33102, + "src": "15661:18:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_CriteriaResolution_$33102_$", + "typeString": "type(library CriteriaResolution)" + } + }, + "id": 32398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15680:16:40", + "memberName": "validateCriteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 33064, + "src": "15661:35:40", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes32_$_t_struct$_CriteriaResolver_$32789_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct CriteriaResolver memory) pure" + } + }, + "id": 32405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15661:75:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32406, + "nodeType": "ExpressionStatement", + "src": "15661:75:40" + } + ] + }, + "documentation": { + "id": 32365, + "nodeType": "StructuredDocumentation", + "src": "15266:51:40", + "text": "@dev Check if the party can join the agreement." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_canJoinAgreement", + "nameLocation": "15331:17:40", + "parameters": { + "id": 32374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32368, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "15376:10:40", + "nodeType": "VariableDeclaration", + "scope": 32408, + "src": "15358:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 32367, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32366, + "name": "Agreement", + "nameLocations": [ + "15358:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "15358:9:40" + }, + "referencedDeclaration": 31314, + "src": "15358:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32371, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "15422:8:40", + "nodeType": "VariableDeclaration", + "scope": 32408, + "src": "15396:34:40", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 32370, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32369, + "name": "CriteriaResolver", + "nameLocations": [ + "15396:16:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "15396:16:40" + }, + "referencedDeclaration": 32789, + "src": "15396:16:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32373, + "mutability": "mutable", + "name": "party", + "nameLocation": "15448:5:40", + "nodeType": "VariableDeclaration", + "scope": 32408, + "src": "15440:13:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32372, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15440:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "15348:111:40" + }, + "returnParameters": { + "id": 32375, + "nodeType": "ParameterList", + "parameters": [], + "src": "15474:0:40" + }, + "scope": 32623, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 32437, + "nodeType": "FunctionDefinition", + "src": "15819:272:40", + "nodes": [], + "body": { + "id": 32436, + "nodeType": "Block", + "src": "15883:208:40", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 32415, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32412, + "src": "15897:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15908:8:40", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 31288, + "src": "15897:19:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 32417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15920:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15897:24:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32422, + "nodeType": "IfStatement", + "src": "15893:59:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32419, + "name": "NonExistentAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32628, + "src": "15930:20:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15930:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32421, + "nodeType": "RevertStatement", + "src": "15923:29:40" + } + }, + { + "condition": { + "expression": { + "id": 32423, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32412, + "src": "15966:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15977:8:40", + "memberName": "disputed", + "nodeType": "MemberAccess", + "referencedDeclaration": 31303, + "src": "15966:19:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32428, + "nodeType": "IfStatement", + "src": "15962:53:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32425, + "name": "AgreementIsDisputed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32634, + "src": "15994:19:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15994:21:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32427, + "nodeType": "RevertStatement", + "src": "15987:28:40" + } + }, + { + "condition": { + "arguments": [ + { + "id": 32430, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32412, + "src": "16042:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + ], + "id": 32429, + "name": "_isFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32461, + "src": "16029:12:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Agreement_$31314_storage_ptr_$returns$_t_bool_$", + "typeString": "function (struct Agreement storage pointer) view returns (bool)" + } + }, + "id": 32431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16029:24:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 32435, + "nodeType": "IfStatement", + "src": "16025:59:40", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32432, + "name": "AgreementIsFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32637, + "src": "16062:20:40", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 32433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16062:22:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32434, + "nodeType": "RevertStatement", + "src": "16055:29:40" + } + } + ] + }, + "documentation": { + "id": 32409, + "nodeType": "StructuredDocumentation", + "src": "15749:65:40", + "text": "@dev Check if the agreement provided is ongoing (or created)." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isOngoing", + "nameLocation": "15828:10:40", + "parameters": { + "id": 32413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32412, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "15857:10:40", + "nodeType": "VariableDeclaration", + "scope": 32437, + "src": "15839:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 32411, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32410, + "name": "Agreement", + "nameLocations": [ + "15839:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "15839:9:40" + }, + "referencedDeclaration": 31314, + "src": "15839:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "src": "15838:30:40" + }, + "returnParameters": { + "id": 32414, + "nodeType": "ParameterList", + "parameters": [], + "src": "15883:0:40" + }, + "scope": 32623, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 32461, + "nodeType": "FunctionDefinition", + "src": "16342:189:40", + "nodes": [], + "body": { + "id": 32460, + "nodeType": "Block", + "src": "16423:108:40", + "nodes": [], + "statements": [ + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 32457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 32446, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32441, + "src": "16441:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32447, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16452:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "16441:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 32448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16458:6:40", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16441:23:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 32449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16467:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16441:27:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 32451, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32441, + "src": "16472:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32452, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16483:13:40", + "memberName": "finalizations", + "nodeType": "MemberAccess", + "referencedDeclaration": 31300, + "src": "16472:24:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "expression": { + "id": 32453, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32441, + "src": "16500:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32454, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16511:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "16500:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 32455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16517:6:40", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16500:23:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16472:51:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16441:82:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 32458, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16440:84:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 32445, + "id": 32459, + "nodeType": "Return", + "src": "16433:91:40" + } + ] + }, + "documentation": { + "id": 32438, + "nodeType": "StructuredDocumentation", + "src": "16097:240:40", + "text": "@dev Retrieve if an agreement is finalized.\n @dev An agreement is finalized when all positions are finalized.\n @param agreement_ Agreement to check.\n @return A boolean signaling if the agreement is finalized or not." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isFinalized", + "nameLocation": "16351:12:40", + "parameters": { + "id": 32442, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32441, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "16382:10:40", + "nodeType": "VariableDeclaration", + "scope": 32461, + "src": "16364:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 32440, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32439, + "name": "Agreement", + "nameLocations": [ + "16364:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "16364:9:40" + }, + "referencedDeclaration": 31314, + "src": "16364:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + } + ], + "src": "16363:30:40" + }, + "returnParameters": { + "id": 32445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32444, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 32461, + "src": "16417:4:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 32443, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16417:4:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16416:6:40" + }, + "scope": 32623, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 32490, + "nodeType": "FunctionDefinition", + "src": "16766:232:40", + "nodes": [], + "body": { + "id": 32489, + "nodeType": "Block", + "src": "16892:106:40", + "nodes": [], + "statements": [ + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 32486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 32476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 32472, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32465, + "src": "16911:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16922:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "16911:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 32474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16928:6:40", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16911:23:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 32475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16937:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16911:27:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 32477, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16910:29:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 32484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 32478, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32465, + "src": "16944:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32479, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16955:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "16944:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 32481, + "indexExpression": { + "id": 32480, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32467, + "src": "16964:7:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16944:28:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "id": 32482, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16973:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31271, + "src": "16944:34:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 32483, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32467, + "src": "16982:7:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16944:45:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 32485, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16943:47:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16910:80:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 32487, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16909:82:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 32471, + "id": 32488, + "nodeType": "Return", + "src": "16902:89:40" + } + ] + }, + "documentation": { + "id": 32462, + "nodeType": "StructuredDocumentation", + "src": "16537:224:40", + "text": "@dev Check if an account is part of an agreement.\n @param agreement_ Agreement to check.\n @param account Account to check.\n @return A boolean signaling if the account is part of the agreement or not." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isPartOfAgreement", + "nameLocation": "16775:18:40", + "parameters": { + "id": 32468, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32465, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "16821:10:40", + "nodeType": "VariableDeclaration", + "scope": 32490, + "src": "16803:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 32464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32463, + "name": "Agreement", + "nameLocations": [ + "16803:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "16803:9:40" + }, + "referencedDeclaration": 31314, + "src": "16803:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32467, + "mutability": "mutable", + "name": "account", + "nameLocation": "16849:7:40", + "nodeType": "VariableDeclaration", + "scope": 32490, + "src": "16841:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16841:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "16793:69:40" + }, + "returnParameters": { + "id": 32471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32470, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 32490, + "src": "16886:4:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 32469, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16886:4:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16885:6:40" + }, + "scope": 32623, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 32538, + "nodeType": "FunctionDefinition", + "src": "17190:468:40", + "nodes": [], + "body": { + "id": 32537, + "nodeType": "Block", + "src": "17372:286:40", + "nodes": [], + "statements": [ + { + "expression": { + "id": 32509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 32502, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32500, + "src": "17382:15:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "32", + "id": 32507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17450:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 32506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "17400:49:40", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct ISignatureTransfer.SignatureTransferDetails memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 32504, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32503, + "name": "ISignatureTransfer.SignatureTransferDetails", + "nameLocations": [ + "17404:18:40", + "17423:24:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "17404:43:40" + }, + "referencedDeclaration": 28474, + "src": "17404:43:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "id": 32505, + "nodeType": "ArrayTypeName", + "src": "17404:45:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + } + } + }, + "id": 32508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17400:52:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory[] memory" + } + }, + "src": "17382:70:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory[] memory" + } + }, + "id": 32510, + "nodeType": "ExpressionStatement", + "src": "17382:70:40" + }, + { + "expression": { + "id": 32522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 32511, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32500, + "src": "17462:15:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory[] memory" + } + }, + "id": 32513, + "indexExpression": { + "hexValue": "30", + "id": 32512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17478:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17462:18:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 32518, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "17535:4:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 32517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17527:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 32516, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17527:7:40", + "typeDescriptions": {} + } + }, + "id": 32519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17527:13:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 32520, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32495, + "src": "17542:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 32514, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "17483:18:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ISignatureTransfer_$28568_$", + "typeString": "type(contract ISignatureTransfer)" + } + }, + "id": 32515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17502:24:40", + "memberName": "SignatureTransferDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 28474, + "src": "17483:43:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_SignatureTransferDetails_$28474_storage_ptr_$", + "typeString": "type(struct ISignatureTransfer.SignatureTransferDetails storage pointer)" + } + }, + "id": 32521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17483:67:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + "src": "17462:88:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + "id": 32523, + "nodeType": "ExpressionStatement", + "src": "17462:88:40" + }, + { + "expression": { + "id": 32535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 32524, + "name": "transferDetails", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32500, + "src": "17560:15:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory[] memory" + } + }, + "id": 32526, + "indexExpression": { + "hexValue": "31", + "id": 32525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17576:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17560:18:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 32531, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "17633:4:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 32530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17625:7:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 32529, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17625:7:40", + "typeDescriptions": {} + } + }, + "id": 32532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17625:13:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 32533, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32493, + "src": "17640:10:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 32527, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "17581:18:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ISignatureTransfer_$28568_$", + "typeString": "type(contract ISignatureTransfer)" + } + }, + "id": 32528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17600:24:40", + "memberName": "SignatureTransferDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 28474, + "src": "17581:43:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_SignatureTransferDetails_$28474_storage_ptr_$", + "typeString": "type(struct ISignatureTransfer.SignatureTransferDetails storage pointer)" + } + }, + "id": 32534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17581:70:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + "src": "17560:91:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails memory" + } + }, + "id": 32536, + "nodeType": "ExpressionStatement", + "src": "17560:91:40" + } + ] + }, + "documentation": { + "id": 32491, + "nodeType": "StructuredDocumentation", + "src": "17004:181:40", + "text": "@dev Fill Permit2 transferDetails array for deposit & collateral transfer.\n @param collateral Amount of collateral token.\n @param deposit Amount of deposits token." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_joinTransferDetails", + "nameLocation": "17199:20:40", + "parameters": { + "id": 32496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32493, + "mutability": "mutable", + "name": "collateral", + "nameLocation": "17237:10:40", + "nodeType": "VariableDeclaration", + "scope": 32538, + "src": "17229:18:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17229:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32495, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "17265:7:40", + "nodeType": "VariableDeclaration", + "scope": 32538, + "src": "17257:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17257:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17219:59:40" + }, + "returnParameters": { + "id": 32501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32500, + "mutability": "mutable", + "name": "transferDetails", + "nameLocation": "17355:15:40", + "nodeType": "VariableDeclaration", + "scope": 32538, + "src": "17302:68:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + }, + "typeName": { + "baseType": { + "id": 32498, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32497, + "name": "ISignatureTransfer.SignatureTransferDetails", + "nameLocations": [ + "17302:18:40", + "17321:24:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28474, + "src": "17302:43:40" + }, + "referencedDeclaration": 28474, + "src": "17302:43:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureTransferDetails_$28474_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails" + } + }, + "id": 32499, + "nodeType": "ArrayTypeName", + "src": "17302:45:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SignatureTransferDetails_$28474_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.SignatureTransferDetails[]" + } + }, + "visibility": "internal" + } + ], + "src": "17301:70:40" + }, + "scope": 32623, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 32583, + "nodeType": "FunctionDefinition", + "src": "17664:476:40", + "nodes": [], + "body": { + "id": 32582, + "nodeType": "Block", + "src": "17804:336:40", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 32554, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32544, + "src": "17890:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 32555, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17899:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "17890:14:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "expression": { + "id": 32549, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32541, + "src": "17868:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17879:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 31307, + "src": "17868:16:40", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 32553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17885:4:40", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "17868:21:40", + "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": 32556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17868:37:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 32557, + "nodeType": "ExpressionStatement", + "src": "17868:37:40" + }, + { + "expression": { + "id": 32573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 32558, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32541, + "src": "17915:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17926:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "17915:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 32563, + "indexExpression": { + "expression": { + "id": 32560, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32544, + "src": "17935:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 32561, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17944:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "17935:14:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17915:35:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 32565, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32544, + "src": "17975:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 32566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17984:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "17975:14:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 32567, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32544, + "src": "18003:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 32568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18012:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "18003:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 32569, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32546, + "src": "18033:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 32570, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "18054:14:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 32571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "18069:6:40", + "memberName": "Joined", + "nodeType": "MemberAccess", + "referencedDeclaration": 32665, + "src": "18054:21:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 32564, + "name": "Position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31282, + "src": "17953:8:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Position_$31282_storage_ptr_$", + "typeString": "type(struct Position storage pointer)" + } + }, + "id": 32572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17953:132:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "src": "17915:170:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "id": 32574, + "nodeType": "ExpressionStatement", + "src": "17915:170:40" + }, + { + "expression": { + "id": 32580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 32575, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32541, + "src": "18095:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32577, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "18106:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 31297, + "src": "18095:18:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "expression": { + "id": 32578, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32544, + "src": "18117:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 32579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18126:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "18117:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18095:38:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 32581, + "nodeType": "ExpressionStatement", + "src": "18095:38:40" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_addPosition", + "nameLocation": "17673:12:40", + "parameters": { + "id": 32547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32541, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "17713:10:40", + "nodeType": "VariableDeclaration", + "scope": 32583, + "src": "17695:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 32540, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32539, + "name": "Agreement", + "nameLocations": [ + "17695:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "17695:9:40" + }, + "referencedDeclaration": 31314, + "src": "17695:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32544, + "mutability": "mutable", + "name": "position", + "nameLocation": "17755:8:40", + "nodeType": "VariableDeclaration", + "scope": 32583, + "src": "17733:30:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams" + }, + "typeName": { + "id": 32543, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32542, + "name": "PositionParams", + "nameLocations": [ + "17733:14:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "17733:14:40" + }, + "referencedDeclaration": 32681, + "src": "17733:14:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32546, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "17781:7:40", + "nodeType": "VariableDeclaration", + "scope": 32583, + "src": "17773:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32545, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17773:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17685:109:40" + }, + "returnParameters": { + "id": 32548, + "nodeType": "ParameterList", + "parameters": [], + "src": "17804:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 32622, + "nodeType": "FunctionDefinition", + "src": "18146:393:40", + "nodes": [], + "body": { + "id": 32621, + "nodeType": "Block", + "src": "18293:246:40", + "nodes": [], + "statements": [ + { + "assignments": [ + 32597 + ], + "declarations": [ + { + "constant": false, + "id": 32597, + "mutability": "mutable", + "name": "position", + "nameLocation": "18320:8:40", + "nodeType": "VariableDeclaration", + "scope": 32621, + "src": "18303:25:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position" + }, + "typeName": { + "id": 32596, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32595, + "name": "Position", + "nameLocations": [ + "18303:8:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31282, + "src": "18303:8:40" + }, + "referencedDeclaration": 31282, + "src": "18303:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position" + } + }, + "visibility": "internal" + } + ], + "id": 32603, + "initialValue": { + "baseExpression": { + "expression": { + "id": 32598, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32586, + "src": "18331:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32599, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18342:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "18331:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 32602, + "indexExpression": { + "expression": { + "id": 32600, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32589, + "src": "18351:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 32601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18358:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "18351:12:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18331:33:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18303:61:40" + }, + { + "expression": { + "id": 32619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 32604, + "name": "agreement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32586, + "src": "18374:10:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement storage pointer" + } + }, + "id": 32608, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18385:8:40", + "memberName": "position", + "nodeType": "MemberAccess", + "referencedDeclaration": 31313, + "src": "18374:19:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Position_$31282_storage_$", + "typeString": "mapping(address => struct Position storage ref)" + } + }, + "id": 32609, + "indexExpression": { + "expression": { + "id": 32606, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32589, + "src": "18394:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 32607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18401:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "18394:12:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18374:33:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 32611, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32589, + "src": "18432:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 32612, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18439:5:40", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "18432:12:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 32613, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32589, + "src": "18458:6:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 32614, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18465:7:40", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "18458:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 32615, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32597, + "src": "18486:8:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage_ptr", + "typeString": "struct Position storage pointer" + } + }, + "id": 32616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18495:7:40", + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 31277, + "src": "18486:16:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 32617, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32592, + "src": "18516:6:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 32610, + "name": "Position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31282, + "src": "18410:8:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Position_$31282_storage_ptr_$", + "typeString": "type(struct Position storage pointer)" + } + }, + "id": 32618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18410:122:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_memory_ptr", + "typeString": "struct Position memory" + } + }, + "src": "18374:158:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Position_$31282_storage", + "typeString": "struct Position storage ref" + } + }, + "id": 32620, + "nodeType": "ExpressionStatement", + "src": "18374:158:40" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_updatePosition", + "nameLocation": "18155:15:40", + "parameters": { + "id": 32593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32586, + "mutability": "mutable", + "name": "agreement_", + "nameLocation": "18198:10:40", + "nodeType": "VariableDeclaration", + "scope": 32622, + "src": "18180:28:40", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + }, + "typeName": { + "id": 32585, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32584, + "name": "Agreement", + "nameLocations": [ + "18180:9:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31314, + "src": "18180:9:40" + }, + "referencedDeclaration": 31314, + "src": "18180:9:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$31314_storage_ptr", + "typeString": "struct Agreement" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32589, + "mutability": "mutable", + "name": "params", + "nameLocation": "18240:6:40", + "nodeType": "VariableDeclaration", + "scope": 32622, + "src": "18218:28:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams" + }, + "typeName": { + "id": 32588, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32587, + "name": "PositionParams", + "nameLocations": [ + "18218:14:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "18218:14:40" + }, + "referencedDeclaration": 32681, + "src": "18218:14:40", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32592, + "mutability": "mutable", + "name": "status", + "nameLocation": "18271:6:40", + "nodeType": "VariableDeclaration", + "scope": 32622, + "src": "18256:21:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + "typeName": { + "id": 32591, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32590, + "name": "PositionStatus", + "nameLocations": [ + "18256:14:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32669, + "src": "18256:14:40" + }, + "referencedDeclaration": 32669, + "src": "18256:14:40", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "visibility": "internal" + } + ], + "src": "18170:113:40" + }, + "returnParameters": { + "id": 32594, + "nodeType": "ParameterList", + "parameters": [], + "src": "18293:0:40" + }, + "scope": 32623, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 31315, + "name": "AgreementFramework", + "nameLocations": [ + "2517:18:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31227, + "src": "2517:18:40" + }, + "id": 31316, + "nodeType": "InheritanceSpecifier", + "src": "2517:18:40" + }, + { + "baseName": { + "id": 31317, + "name": "ReentrancyGuard", + "nameLocations": [ + "2537:15:40" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29963, + "src": "2537:15:40" + }, + "id": 31318, + "nodeType": "InheritanceSpecifier", + "src": "2537:15:40" + } + ], + "canonicalName": "CollateralAgreementFramework", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 32623, + 29963, + 31227, + 33252, + 32907, + 32932 + ], + "name": "CollateralAgreementFramework", + "nameLocation": "2485:28:40", + "scope": 32624, + "usedErrors": [ + 29306, + 32628, + 32631, + 32634, + 32637, + 32640, + 32643, + 32646, + 32649, + 32652, + 32655, + 32658, + 32661, + 32751, + 32754, + 32914, + 33201 + ] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/interfaces/AgreementErrors.sol": { + "id": 41, + "ast": { + "absolutePath": "src/interfaces/AgreementErrors.sol", + "id": 32662, + "exportedSymbols": { + "AgreementIsDisputed": [ + 32634 + ], + "AgreementIsFinalized": [ + 32637 + ], + "AgreementNotDisputed": [ + 32643 + ], + "AgreementNotFinalized": [ + 32640 + ], + "AlreadyExistentAgreement": [ + 32631 + ], + "InvalidBalance": [ + 32661 + ], + "InvalidCriteria": [ + 32655 + ], + "InvalidPermit": [ + 32658 + ], + "NoPartOfAgreement": [ + 32646 + ], + "NonExistentAgreement": [ + 32628 + ], + "PartyAlreadyFinalized": [ + 32652 + ], + "PartyAlreadyJoined": [ + 32649 + ] + }, + "nodeType": "SourceUnit", + "src": "45:1438:41", + "nodes": [ + { + "id": 32625, + "nodeType": "PragmaDirective", + "src": "45:24:41", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 32628, + "nodeType": "ErrorDefinition", + "src": "148:29:41", + "nodes": [], + "documentation": { + "id": 32626, + "nodeType": "StructuredDocumentation", + "src": "71:77:41", + "text": "@notice Thrown when trying to access to an agreement that doesn't exist." + }, + "errorSelector": "b9e8c16f", + "name": "NonExistentAgreement", + "nameLocation": "154:20:41", + "parameters": { + "id": 32627, + "nodeType": "ParameterList", + "parameters": [], + "src": "174:2:41" + } + }, + { + "id": 32631, + "nodeType": "ErrorDefinition", + "src": "252:33:41", + "nodes": [], + "documentation": { + "id": 32629, + "nodeType": "StructuredDocumentation", + "src": "178:74:41", + "text": "@notice Thrown when trying to override an already existing agreement." + }, + "errorSelector": "d8876c2d", + "name": "AlreadyExistentAgreement", + "nameLocation": "258:24:41", + "parameters": { + "id": 32630, + "nodeType": "ParameterList", + "parameters": [], + "src": "282:2:41" + } + }, + { + "id": 32634, + "nodeType": "ErrorDefinition", + "src": "374:28:41", + "nodes": [], + "documentation": { + "id": 32632, + "nodeType": "StructuredDocumentation", + "src": "286:88:41", + "text": "@notice Thrown when trying to perform an invalid operation on a disputed agreement." + }, + "errorSelector": "03144514", + "name": "AgreementIsDisputed", + "nameLocation": "380:19:41", + "parameters": { + "id": 32633, + "nodeType": "ParameterList", + "parameters": [], + "src": "399:2:41" + } + }, + { + "id": 32637, + "nodeType": "ErrorDefinition", + "src": "492:29:41", + "nodes": [], + "documentation": { + "id": 32635, + "nodeType": "StructuredDocumentation", + "src": "403:89:41", + "text": "@notice Thrown when trying to perform an invalid operation on a finalized agreement." + }, + "errorSelector": "8d87dbb6", + "name": "AgreementIsFinalized", + "nameLocation": "498:20:41", + "parameters": { + "id": 32636, + "nodeType": "ParameterList", + "parameters": [], + "src": "518:2:41" + } + }, + { + "id": 32640, + "nodeType": "ErrorDefinition", + "src": "615:30:41", + "nodes": [], + "documentation": { + "id": 32638, + "nodeType": "StructuredDocumentation", + "src": "522:93:41", + "text": "@notice Thrown when trying to perform an invalid operation on a non-finalized agreement." + }, + "errorSelector": "a3b1c9de", + "name": "AgreementNotFinalized", + "nameLocation": "621:21:41", + "parameters": { + "id": 32639, + "nodeType": "ParameterList", + "parameters": [], + "src": "642:2:41" + } + }, + { + "id": 32643, + "nodeType": "ErrorDefinition", + "src": "738:29:41", + "nodes": [], + "documentation": { + "id": 32641, + "nodeType": "StructuredDocumentation", + "src": "646:92:41", + "text": "@notice Thrown when trying to perform an invalid operation on a non-disputed agreement." + }, + "errorSelector": "4e16946c", + "name": "AgreementNotDisputed", + "nameLocation": "744:20:41", + "parameters": { + "id": 32642, + "nodeType": "ParameterList", + "parameters": [], + "src": "764:2:41" + } + }, + { + "id": 32646, + "nodeType": "ErrorDefinition", + "src": "841:26:41", + "nodes": [], + "documentation": { + "id": 32644, + "nodeType": "StructuredDocumentation", + "src": "769:72:41", + "text": "@notice Thrown when a given party is not part of a given agreement." + }, + "errorSelector": "3b278a7a", + "name": "NoPartOfAgreement", + "nameLocation": "847:17:41", + "parameters": { + "id": 32645, + "nodeType": "ParameterList", + "parameters": [], + "src": "864:2:41" + } + }, + { + "id": 32649, + "nodeType": "ErrorDefinition", + "src": "972:27:41", + "nodes": [], + "documentation": { + "id": 32647, + "nodeType": "StructuredDocumentation", + "src": "868:104:41", + "text": "@notice Thrown when a party is trying to join an agreement after already have joined the agreement." + }, + "errorSelector": "6d9bf6df", + "name": "PartyAlreadyJoined", + "nameLocation": "978:18:41", + "parameters": { + "id": 32648, + "nodeType": "ParameterList", + "parameters": [], + "src": "996:2:41" + } + }, + { + "id": 32652, + "nodeType": "ErrorDefinition", + "src": "1111:30:41", + "nodes": [], + "documentation": { + "id": 32650, + "nodeType": "StructuredDocumentation", + "src": "1000:111:41", + "text": "@notice Thrown when a party is trying to finalize an agreement after already have finalized the agreement." + }, + "errorSelector": "af20ef4a", + "name": "PartyAlreadyFinalized", + "nameLocation": "1117:21:41", + "parameters": { + "id": 32651, + "nodeType": "ParameterList", + "parameters": [], + "src": "1138:2:41" + } + }, + { + "id": 32655, + "nodeType": "ErrorDefinition", + "src": "1230:24:41", + "nodes": [], + "documentation": { + "id": 32653, + "nodeType": "StructuredDocumentation", + "src": "1142:88:41", + "text": "@notice Thrown when the provided criteria doesn't match the account trying to join." + }, + "errorSelector": "206f6fea", + "name": "InvalidCriteria", + "nameLocation": "1236:15:41", + "parameters": { + "id": 32654, + "nodeType": "ParameterList", + "parameters": [], + "src": "1251:2:41" + } + }, + { + "id": 32658, + "nodeType": "ErrorDefinition", + "src": "1347:22:41", + "nodes": [], + "documentation": { + "id": 32656, + "nodeType": "StructuredDocumentation", + "src": "1255:92:41", + "text": "@notice Thrown when the provided permit doesn't match the agreement token requirements." + }, + "errorSelector": "ddafbaef", + "name": "InvalidPermit", + "nameLocation": "1353:13:41", + "parameters": { + "id": 32657, + "nodeType": "ParameterList", + "parameters": [], + "src": "1366:2:41" + } + }, + { + "id": 32661, + "nodeType": "ErrorDefinition", + "src": "1459:23:41", + "nodes": [], + "documentation": { + "id": 32659, + "nodeType": "StructuredDocumentation", + "src": "1370:89:41", + "text": "@notice Thrown when trying to use an invalid balance for a position in an agreement." + }, + "errorSelector": "c52e3eff", + "name": "InvalidBalance", + "nameLocation": "1465:14:41", + "parameters": { + "id": 32660, + "nodeType": "ParameterList", + "parameters": [], + "src": "1479:2:41" + } + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/interfaces/AgreementTypes.sol": { + "id": 42, + "ast": { + "absolutePath": "src/interfaces/AgreementTypes.sol", + "id": 32729, + "exportedSymbols": { + "AgreementData": [ + 32728 + ], + "AgreementParams": [ + 32708 + ], + "AgreementStatus": [ + 32674 + ], + "PositionData": [ + 32695 + ], + "PositionParams": [ + 32681 + ], + "PositionStatus": [ + 32669 + ] + }, + "nodeType": "SourceUnit", + "src": "45:1814:42", + "nodes": [ + { + "id": 32663, + "nodeType": "PragmaDirective", + "src": "45:24:42", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 32669, + "nodeType": "EnumDefinition", + "src": "128:88:42", + "nodes": [], + "canonicalName": "PositionStatus", + "members": [ + { + "id": 32664, + "name": "Idle", + "nameLocation": "154:4:42", + "nodeType": "EnumValue", + "src": "154:4:42" + }, + { + "id": 32665, + "name": "Joined", + "nameLocation": "164:6:42", + "nodeType": "EnumValue", + "src": "164:6:42" + }, + { + "id": 32666, + "name": "Finalized", + "nameLocation": "176:9:42", + "nodeType": "EnumValue", + "src": "176:9:42" + }, + { + "id": 32667, + "name": "Withdrawn", + "nameLocation": "191:9:42", + "nodeType": "EnumValue", + "src": "191:9:42" + }, + { + "id": 32668, + "name": "Disputed", + "nameLocation": "206:8:42", + "nodeType": "EnumValue", + "src": "206:8:42" + } + ], + "name": "PositionStatus", + "nameLocation": "133:14:42" + }, + { + "id": 32674, + "nodeType": "EnumDefinition", + "src": "260:78:42", + "nodes": [], + "canonicalName": "AgreementStatus", + "members": [ + { + "id": 32670, + "name": "Created", + "nameLocation": "287:7:42", + "nodeType": "EnumValue", + "src": "287:7:42" + }, + { + "id": 32671, + "name": "Ongoing", + "nameLocation": "300:7:42", + "nodeType": "EnumValue", + "src": "300:7:42" + }, + { + "id": 32672, + "name": "Finalized", + "nameLocation": "313:9:42", + "nodeType": "EnumValue", + "src": "313:9:42" + }, + { + "id": 32673, + "name": "Disputed", + "nameLocation": "328:8:42", + "nodeType": "EnumValue", + "src": "328:8:42" + } + ], + "name": "AgreementStatus", + "nameLocation": "265:15:42" + }, + { + "id": 32681, + "nodeType": "StructDefinition", + "src": "388:173:42", + "nodes": [], + "canonicalName": "PositionParams", + "members": [ + { + "constant": false, + "id": 32677, + "mutability": "mutable", + "name": "party", + "nameLocation": "475:5:42", + "nodeType": "VariableDeclaration", + "scope": 32681, + "src": "467:13:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32680, + "mutability": "mutable", + "name": "balance", + "nameLocation": "551:7:42", + "nodeType": "VariableDeclaration", + "scope": 32681, + "src": "543:15:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "543:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "PositionParams", + "nameLocation": "395:14:42", + "scope": 32729, + "visibility": "public" + }, + { + "id": 32695, + "nodeType": "StructDefinition", + "src": "610:315:42", + "nodes": [], + "canonicalName": "PositionData", + "members": [ + { + "constant": false, + "id": 32684, + "mutability": "mutable", + "name": "party", + "nameLocation": "695:5:42", + "nodeType": "VariableDeclaration", + "scope": 32695, + "src": "687:13:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32683, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "687:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32687, + "mutability": "mutable", + "name": "balance", + "nameLocation": "771:7:42", + "nodeType": "VariableDeclaration", + "scope": 32695, + "src": "763:15:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32686, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "763:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32690, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "851:7:42", + "nodeType": "VariableDeclaration", + "scope": 32695, + "src": "843:15:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32689, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "843:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32694, + "mutability": "mutable", + "name": "status", + "nameLocation": "916:6:42", + "nodeType": "VariableDeclaration", + "scope": 32695, + "src": "901:21:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + "typeName": { + "id": 32693, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32692, + "name": "PositionStatus", + "nameLocations": [ + "901:14:42" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32669, + "src": "901:14:42" + }, + "referencedDeclaration": 32669, + "src": "901:14:42", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "visibility": "internal" + } + ], + "name": "PositionData", + "nameLocation": "617:12:42", + "scope": 32729, + "visibility": "public" + }, + { + "id": 32708, + "nodeType": "StructDefinition", + "src": "969:355:42", + "nodes": [], + "canonicalName": "AgreementParams", + "members": [ + { + "constant": false, + "id": 32698, + "mutability": "mutable", + "name": "termsHash", + "nameLocation": "1064:9:42", + "nodeType": "VariableDeclaration", + "scope": 32708, + "src": "1056:17:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32697, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1056:7:42", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32701, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "1160:8:42", + "nodeType": "VariableDeclaration", + "scope": 32708, + "src": "1152:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1152:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32704, + "mutability": "mutable", + "name": "metadataURI", + "nameLocation": "1232:11:42", + "nodeType": "VariableDeclaration", + "scope": 32708, + "src": "1225:18:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 32703, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1225:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32707, + "mutability": "mutable", + "name": "token", + "nameLocation": "1316:5:42", + "nodeType": "VariableDeclaration", + "scope": 32708, + "src": "1308:13:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32706, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1308:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "AgreementParams", + "nameLocation": "976:15:42", + "scope": 32729, + "visibility": "public" + }, + { + "id": 32728, + "nodeType": "StructDefinition", + "src": "1360:498:42", + "nodes": [], + "canonicalName": "AgreementData", + "members": [ + { + "constant": false, + "id": 32711, + "mutability": "mutable", + "name": "termsHash", + "nameLocation": "1453:9:42", + "nodeType": "VariableDeclaration", + "scope": 32728, + "src": "1445:17:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32710, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1445:7:42", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32714, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "1549:8:42", + "nodeType": "VariableDeclaration", + "scope": 32728, + "src": "1541:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32713, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1541:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32717, + "mutability": "mutable", + "name": "metadataURI", + "nameLocation": "1621:11:42", + "nodeType": "VariableDeclaration", + "scope": 32728, + "src": "1614:18:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 32716, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1614:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32720, + "mutability": "mutable", + "name": "token", + "nameLocation": "1705:5:42", + "nodeType": "VariableDeclaration", + "scope": 32728, + "src": "1697:13:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32719, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1697:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32723, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1782:7:42", + "nodeType": "VariableDeclaration", + "scope": 32728, + "src": "1774:15:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1774:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32727, + "mutability": "mutable", + "name": "status", + "nameLocation": "1849:6:42", + "nodeType": "VariableDeclaration", + "scope": 32728, + "src": "1833:22:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + "typeName": { + "id": 32726, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32725, + "name": "AgreementStatus", + "nameLocations": [ + "1833:15:42" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32674, + "src": "1833:15:42" + }, + "referencedDeclaration": 32674, + "src": "1833:15:42", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + "visibility": "internal" + } + ], + "name": "AgreementData", + "nameLocation": "1367:13:42", + "scope": 32729, + "visibility": "public" + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/interfaces/ArbitrationErrors.sol": { + "id": 43, + "ast": { + "absolutePath": "src/interfaces/ArbitrationErrors.sol", + "id": 32758, + "exportedSymbols": { + "InvalidPermit": [ + 32757 + ], + "NoPartOfSettlement": [ + 32748 + ], + "NonExistentResolution": [ + 32733 + ], + "ResolutionIsAppealed": [ + 32742 + ], + "ResolutionIsEndorsed": [ + 32745 + ], + "ResolutionIsExecuted": [ + 32739 + ], + "ResolutionIsLocked": [ + 32736 + ], + "SettlementBalanceMustMatch": [ + 32754 + ], + "SettlementPositionsMustMatch": [ + 32751 + ] + }, + "nodeType": "SourceUnit", + "src": "45:1064:43", + "nodes": [ + { + "id": 32730, + "nodeType": "PragmaDirective", + "src": "45:24:43", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 32733, + "nodeType": "ErrorDefinition", + "src": "142:30:43", + "nodes": [], + "documentation": { + "id": 32731, + "nodeType": "StructuredDocumentation", + "src": "71:71:43", + "text": "@dev Thrown when trying to access an agreement that doesn't exist." + }, + "errorSelector": "affbf64b", + "name": "NonExistentResolution", + "nameLocation": "148:21:43", + "parameters": { + "id": 32732, + "nodeType": "ParameterList", + "parameters": [], + "src": "169:2:43" + } + }, + { + "id": 32736, + "nodeType": "ErrorDefinition", + "src": "241:27:43", + "nodes": [], + "documentation": { + "id": 32734, + "nodeType": "StructuredDocumentation", + "src": "173:68:43", + "text": "@dev Thrown when trying to execute a resolution that is locked." + }, + "errorSelector": "f268e9e3", + "name": "ResolutionIsLocked", + "nameLocation": "247:18:43", + "parameters": { + "id": 32735, + "nodeType": "ParameterList", + "parameters": [], + "src": "265:2:43" + } + }, + { + "id": 32739, + "nodeType": "ErrorDefinition", + "src": "347:29:43", + "nodes": [], + "documentation": { + "id": 32737, + "nodeType": "StructuredDocumentation", + "src": "269:78:43", + "text": "@dev Thrown when trying to actuate a resolution that is already executed." + }, + "errorSelector": "28b8b078", + "name": "ResolutionIsExecuted", + "nameLocation": "353:20:43", + "parameters": { + "id": 32738, + "nodeType": "ParameterList", + "parameters": [], + "src": "373:2:43" + } + }, + { + "id": 32742, + "nodeType": "ErrorDefinition", + "src": "447:29:43", + "nodes": [], + "documentation": { + "id": 32740, + "nodeType": "StructuredDocumentation", + "src": "377:70:43", + "text": "@dev Thrown when trying to actuate a resolution that is appealed." + }, + "errorSelector": "e4d068da", + "name": "ResolutionIsAppealed", + "nameLocation": "453:20:43", + "parameters": { + "id": 32741, + "nodeType": "ParameterList", + "parameters": [], + "src": "473:2:43" + } + }, + { + "id": 32745, + "nodeType": "ErrorDefinition", + "src": "546:29:43", + "nodes": [], + "documentation": { + "id": 32743, + "nodeType": "StructuredDocumentation", + "src": "477:69:43", + "text": "@dev Thrown when trying to appeal a resolution that is endorsed." + }, + "errorSelector": "fd6f4120", + "name": "ResolutionIsEndorsed", + "nameLocation": "552:20:43", + "parameters": { + "id": 32744, + "nodeType": "ParameterList", + "parameters": [], + "src": "572:2:43" + } + }, + { + "id": 32748, + "nodeType": "ErrorDefinition", + "src": "712:27:43", + "nodes": [], + "documentation": { + "id": 32746, + "nodeType": "StructuredDocumentation", + "src": "577:135:43", + "text": "@dev Thrown when an account that is not part of a settlement tries to access a function restricted to the parties of a settlement." + }, + "errorSelector": "65268788", + "name": "NoPartOfSettlement", + "nameLocation": "718:18:43", + "parameters": { + "id": 32747, + "nodeType": "ParameterList", + "parameters": [], + "src": "736:2:43" + } + }, + { + "id": 32751, + "nodeType": "ErrorDefinition", + "src": "828:37:43", + "nodes": [], + "documentation": { + "id": 32749, + "nodeType": "StructuredDocumentation", + "src": "740:88:43", + "text": "@dev Thrown when the positions on a settlement don't match the ones in the dispute." + }, + "errorSelector": "3a78f7d4", + "name": "SettlementPositionsMustMatch", + "nameLocation": "834:28:43", + "parameters": { + "id": 32750, + "nodeType": "ParameterList", + "parameters": [], + "src": "862:2:43" + } + }, + { + "id": 32754, + "nodeType": "ErrorDefinition", + "src": "957:35:43", + "nodes": [], + "documentation": { + "id": 32752, + "nodeType": "StructuredDocumentation", + "src": "866:91:43", + "text": "@dev Thrown when the total balance of a settlement don't match the one in the dispute." + }, + "errorSelector": "595fa923", + "name": "SettlementBalanceMustMatch", + "nameLocation": "963:26:43", + "parameters": { + "id": 32753, + "nodeType": "ParameterList", + "parameters": [], + "src": "989:2:43" + } + }, + { + "id": 32757, + "nodeType": "ErrorDefinition", + "src": "1086:22:43", + "nodes": [], + "documentation": { + "id": 32755, + "nodeType": "StructuredDocumentation", + "src": "994:92:43", + "text": "@notice Thrown when the provided permit doesn't match the agreement token requirements." + }, + "errorSelector": "ddafbaef", + "name": "InvalidPermit", + "nameLocation": "1092:13:43", + "parameters": { + "id": 32756, + "nodeType": "ParameterList", + "parameters": [], + "src": "1105:2:43" + } + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/interfaces/ArbitrationTypes.sol": { + "id": 44, + "ast": { + "absolutePath": "src/interfaces/ArbitrationTypes.sol", + "id": 32780, + "exportedSymbols": { + "Resolution": [ + 32779 + ], + "ResolutionStatus": [ + 32765 + ] + }, + "nodeType": "SourceUnit", + "src": "45:480:44", + "nodes": [ + { + "id": 32759, + "nodeType": "PragmaDirective", + "src": "45:24:44", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 32765, + "nodeType": "EnumDefinition", + "src": "113:91:44", + "nodes": [], + "canonicalName": "ResolutionStatus", + "members": [ + { + "id": 32760, + "name": "Idle", + "nameLocation": "141:4:44", + "nodeType": "EnumValue", + "src": "141:4:44" + }, + { + "id": 32761, + "name": "Submitted", + "nameLocation": "151:9:44", + "nodeType": "EnumValue", + "src": "151:9:44" + }, + { + "id": 32762, + "name": "Appealed", + "nameLocation": "166:8:44", + "nodeType": "EnumValue", + "src": "166:8:44" + }, + { + "id": 32763, + "name": "Endorsed", + "nameLocation": "180:8:44", + "nodeType": "EnumValue", + "src": "180:8:44" + }, + { + "id": 32764, + "name": "Executed", + "nameLocation": "194:8:44", + "nodeType": "EnumValue", + "src": "194:8:44" + } + ], + "name": "ResolutionStatus", + "nameLocation": "118:16:44" + }, + { + "id": 32779, + "nodeType": "StructDefinition", + "src": "206:318:44", + "nodes": [], + "canonicalName": "Resolution", + "members": [ + { + "constant": false, + "id": 32769, + "mutability": "mutable", + "name": "status", + "nameLocation": "286:6:44", + "nodeType": "VariableDeclaration", + "scope": 32779, + "src": "269:23:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "typeName": { + "id": 32768, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32767, + "name": "ResolutionStatus", + "nameLocations": [ + "269:16:44" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32765, + "src": "269:16:44" + }, + "referencedDeclaration": 32765, + "src": "269:16:44", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32772, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "347:10:44", + "nodeType": "VariableDeclaration", + "scope": 32779, + "src": "339:18:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32771, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "339:7:44", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32775, + "mutability": "mutable", + "name": "metadataURI", + "nameLocation": "422:11:44", + "nodeType": "VariableDeclaration", + "scope": 32779, + "src": "415:18:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 32774, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "415:6:44", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32778, + "mutability": "mutable", + "name": "unlockTime", + "nameLocation": "511:10:44", + "nodeType": "VariableDeclaration", + "scope": 32779, + "src": "503:18:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32777, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "503:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "Resolution", + "nameLocation": "213:10:44", + "scope": 32780, + "visibility": "public" + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/interfaces/CriteriaTypes.sol": { + "id": 45, + "ast": { + "absolutePath": "src/interfaces/CriteriaTypes.sol", + "id": 32790, + "exportedSymbols": { + "CriteriaResolver": [ + 32789 + ] + }, + "nodeType": "SourceUnit", + "src": "45:369:45", + "nodes": [ + { + "id": 32781, + "nodeType": "PragmaDirective", + "src": "45:24:45", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 32789, + "nodeType": "StructDefinition", + "src": "206:207:45", + "nodes": [], + "canonicalName": "CriteriaResolver", + "members": [ + { + "constant": false, + "id": 32783, + "mutability": "mutable", + "name": "account", + "nameLocation": "293:7:45", + "nodeType": "VariableDeclaration", + "scope": 32789, + "src": "285:15:45", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32782, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "285:7:45", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32785, + "mutability": "mutable", + "name": "balance", + "nameLocation": "343:7:45", + "nodeType": "VariableDeclaration", + "scope": 32789, + "src": "335:15:45", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32784, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "335:7:45", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32788, + "mutability": "mutable", + "name": "proof", + "nameLocation": "405:5:45", + "nodeType": "VariableDeclaration", + "scope": 32789, + "src": "395:15:45", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 32786, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "395:7:45", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 32787, + "nodeType": "ArrayTypeName", + "src": "395:9:45", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "name": "CriteriaResolver", + "nameLocation": "213:16:45", + "scope": 32790, + "visibility": "public" + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/interfaces/IAgreementFramework.sol": { + "id": 46, + "ast": { + "absolutePath": "src/interfaces/IAgreementFramework.sol", + "id": 32908, + "exportedSymbols": { + "AgreementData": [ + 32728 + ], + "AgreementStatus": [ + 32674 + ], + "CriteriaResolver": [ + 32789 + ], + "IAgreementFramework": [ + 32907 + ], + "IArbitrable": [ + 32932 + ], + "ISignatureTransfer": [ + 28568 + ], + "PositionData": [ + 32695 + ], + "PositionParams": [ + 32681 + ], + "PositionStatus": [ + 32669 + ] + }, + "nodeType": "SourceUnit", + "src": "45:3933:46", + "nodes": [ + { + "id": 32791, + "nodeType": "PragmaDirective", + "src": "45:24:46", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 32793, + "nodeType": "ImportDirective", + "src": "71:83:46", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "file": "permit2/src/interfaces/ISignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 32908, + "sourceUnit": 28569, + "symbolAliases": [ + { + "foreign": { + "id": 32792, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "80:18:46", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 32795, + "nodeType": "ImportDirective", + "src": "155:61:46", + "nodes": [], + "absolutePath": "src/interfaces/IArbitrable.sol", + "file": "src/interfaces/IArbitrable.sol", + "nameLocation": "-1:-1:-1", + "scope": 32908, + "sourceUnit": 32933, + "symbolAliases": [ + { + "foreign": { + "id": 32794, + "name": "IArbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32932, + "src": "164:11:46", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 32797, + "nodeType": "ImportDirective", + "src": "217:68:46", + "nodes": [], + "absolutePath": "src/interfaces/CriteriaTypes.sol", + "file": "src/interfaces/CriteriaTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 32908, + "sourceUnit": 32790, + "symbolAliases": [ + { + "foreign": { + "id": 32796, + "name": "CriteriaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32789, + "src": "226:16:46", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 32803, + "nodeType": "ImportDirective", + "src": "286:149:46", + "nodes": [], + "absolutePath": "src/interfaces/AgreementTypes.sol", + "file": "src/interfaces/AgreementTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 32908, + "sourceUnit": 32729, + "symbolAliases": [ + { + "foreign": { + "id": 32798, + "name": "AgreementData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32728, + "src": "299:13:46", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 32799, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "318:15:46", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 32800, + "name": "PositionData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32695, + "src": "339:12:46", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 32801, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "357:14:46", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 32802, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "377:14:46", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 32907, + "nodeType": "ContractDefinition", + "src": "437:3540:46", + "nodes": [ + { + "id": 32818, + "nodeType": "EventDefinition", + "src": "862:161:46", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 32806, + "nodeType": "StructuredDocumentation", + "src": "488:369:46", + "text": "@dev Raised when a new agreement is created.\n @param id Id of the new created agreement.\n @param termsHash Hash of the detailed terms of the agreement.\n @param criteria Criteria requirements to join the agreement.\n @param metadataURI URI of the metadata of the agreement.\n @param token ERC20 token address to use in the agreement." + }, + "eventSelector": "f7cbeac7c87f7e00fcf9440cf10b123fb3d766366a39eeb572c219c8eac3ab46", + "name": "AgreementCreated", + "nameLocation": "868:16:46", + "parameters": { + "id": 32817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32808, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "910:2:46", + "nodeType": "VariableDeclaration", + "scope": 32818, + "src": "894:18:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32807, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "894:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32810, + "indexed": false, + "mutability": "mutable", + "name": "termsHash", + "nameLocation": "930:9:46", + "nodeType": "VariableDeclaration", + "scope": 32818, + "src": "922:17:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32809, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "922:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32812, + "indexed": false, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "957:8:46", + "nodeType": "VariableDeclaration", + "scope": 32818, + "src": "949:16:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32811, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "949:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32814, + "indexed": false, + "mutability": "mutable", + "name": "metadataURI", + "nameLocation": "982:11:46", + "nodeType": "VariableDeclaration", + "scope": 32818, + "src": "975:18:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 32813, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "975:6:46", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32816, + "indexed": false, + "mutability": "mutable", + "name": "token", + "nameLocation": "1011:5:46", + "nodeType": "VariableDeclaration", + "scope": 32818, + "src": "1003:13:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1003:7:46", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "884:138:46" + } + }, + { + "id": 32827, + "nodeType": "EventDefinition", + "src": "1230:82:46", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 32819, + "nodeType": "StructuredDocumentation", + "src": "1029:196:46", + "text": "@dev Raised when a new party joins an agreement.\n @param id Id of the agreement joined.\n @param party Address of party joined.\n @param balance Balance of the party joined." + }, + "eventSelector": "314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf70", + "name": "AgreementJoined", + "nameLocation": "1236:15:46", + "parameters": { + "id": 32826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32821, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "1268:2:46", + "nodeType": "VariableDeclaration", + "scope": 32827, + "src": "1252:18:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32820, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1252:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32823, + "indexed": true, + "mutability": "mutable", + "name": "party", + "nameLocation": "1288:5:46", + "nodeType": "VariableDeclaration", + "scope": 32827, + "src": "1272:21:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1272:7:46", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32825, + "indexed": false, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1303:7:46", + "nodeType": "VariableDeclaration", + "scope": 32827, + "src": "1295:15:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32824, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1295:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1251:60:46" + } + }, + { + "id": 32839, + "nodeType": "EventDefinition", + "src": "1596:152:46", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 32828, + "nodeType": "StructuredDocumentation", + "src": "1318:273:46", + "text": "@dev Raised when an existing party of an agreement updates its position.\n @param id Id of the agreement updated.\n @param party Address of the party updated.\n @param balance New balance of the party.\n @param status New status of the position." + }, + "eventSelector": "f478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6", + "name": "AgreementPositionUpdated", + "nameLocation": "1602:24:46", + "parameters": { + "id": 32838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32830, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "1652:2:46", + "nodeType": "VariableDeclaration", + "scope": 32839, + "src": "1636:18:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32829, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1636:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32832, + "indexed": true, + "mutability": "mutable", + "name": "party", + "nameLocation": "1680:5:46", + "nodeType": "VariableDeclaration", + "scope": 32839, + "src": "1664:21:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1664:7:46", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32834, + "indexed": false, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1703:7:46", + "nodeType": "VariableDeclaration", + "scope": 32839, + "src": "1695:15:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1695:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32837, + "indexed": false, + "mutability": "mutable", + "name": "status", + "nameLocation": "1735:6:46", + "nodeType": "VariableDeclaration", + "scope": 32839, + "src": "1720:21:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + "typeName": { + "id": 32836, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32835, + "name": "PositionStatus", + "nameLocations": [ + "1720:14:46" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32669, + "src": "1720:14:46" + }, + "referencedDeclaration": 32669, + "src": "1720:14:46", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "visibility": "internal" + } + ], + "src": "1626:121:46" + } + }, + { + "id": 32844, + "nodeType": "EventDefinition", + "src": "1855:45:46", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 32840, + "nodeType": "StructuredDocumentation", + "src": "1754:96:46", + "text": "@dev Raised when an agreement is finalized.\n @param id Id of the agreement finalized." + }, + "eventSelector": "c1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4", + "name": "AgreementFinalized", + "nameLocation": "1861:18:46", + "parameters": { + "id": 32843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32842, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "1896:2:46", + "nodeType": "VariableDeclaration", + "scope": 32844, + "src": "1880:18:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32841, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1880:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1879:20:46" + } + }, + { + "id": 32851, + "nodeType": "EventDefinition", + "src": "2076:67:46", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 32845, + "nodeType": "StructuredDocumentation", + "src": "1906:165:46", + "text": "@dev Raised when an agreement is in dispute.\n @param id Id of the agreement in dispute.\n @param party Address of the party that raises the dispute." + }, + "eventSelector": "b67e3ac5aa7b56d61e366985ea94be26db935eca5c55e0359fd36c5852b6fa39", + "name": "AgreementDisputed", + "nameLocation": "2082:17:46", + "parameters": { + "id": 32850, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32847, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "2116:2:46", + "nodeType": "VariableDeclaration", + "scope": 32851, + "src": "2100:18:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32846, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2100:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32849, + "indexed": true, + "mutability": "mutable", + "name": "party", + "nameLocation": "2136:5:46", + "nodeType": "VariableDeclaration", + "scope": 32851, + "src": "2120:21:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32848, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2120:7:46", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2099:43:46" + } + }, + { + "id": 32865, + "nodeType": "FunctionDefinition", + "src": "2469:202:46", + "nodes": [], + "documentation": { + "id": 32852, + "nodeType": "StructuredDocumentation", + "src": "2149:315:46", + "text": "@notice Join an existing agreement with a signed permit.\n @param id Id of the agreement to join.\n @param resolver Criteria data to prove sender can join agreement.\n @param permit Permit2 batched permit to allow the required token transfers.\n @param signature Signature of the permit." + }, + "functionSelector": "1bd747a2", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "joinAgreement", + "nameLocation": "2478:13:46", + "parameters": { + "id": 32863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32854, + "mutability": "mutable", + "name": "id", + "nameLocation": "2509:2:46", + "nodeType": "VariableDeclaration", + "scope": 32865, + "src": "2501:10:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32853, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2501:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32857, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "2547:8:46", + "nodeType": "VariableDeclaration", + "scope": 32865, + "src": "2521:34:46", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 32856, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32855, + "name": "CriteriaResolver", + "nameLocations": [ + "2521:16:46" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "2521:16:46" + }, + "referencedDeclaration": 32789, + "src": "2521:16:46", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32860, + "mutability": "mutable", + "name": "permit", + "nameLocation": "2615:6:46", + "nodeType": "VariableDeclaration", + "scope": 32865, + "src": "2565:56:46", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 32859, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32858, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "2565:18:46", + "2584:23:46" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "2565:42:46" + }, + "referencedDeclaration": 28483, + "src": "2565:42:46", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32862, + "mutability": "mutable", + "name": "signature", + "nameLocation": "2646:9:46", + "nodeType": "VariableDeclaration", + "scope": 32865, + "src": "2631:24:46", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 32861, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2631:5:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2491:170:46" + }, + "returnParameters": { + "id": 32864, + "nodeType": "ParameterList", + "parameters": [], + "src": "2670:0:46" + }, + "scope": 32907, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 32874, + "nodeType": "FunctionDefinition", + "src": "2877:88:46", + "nodes": [], + "documentation": { + "id": 32866, + "nodeType": "StructuredDocumentation", + "src": "2677:195:46", + "text": "@notice Join an existing agreement with transfers previously approved.\n @param id Id of the agreement to join.\n @param resolver Criteria data to prove sender can join agreement." + }, + "functionSelector": "a37ee28c", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "joinAgreementApproved", + "nameLocation": "2886:21:46", + "parameters": { + "id": 32872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32868, + "mutability": "mutable", + "name": "id", + "nameLocation": "2916:2:46", + "nodeType": "VariableDeclaration", + "scope": 32874, + "src": "2908:10:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32867, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2908:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32871, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "2946:8:46", + "nodeType": "VariableDeclaration", + "scope": 32874, + "src": "2920:34:46", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 32870, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32869, + "name": "CriteriaResolver", + "nameLocations": [ + "2920:16:46" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "2920:16:46" + }, + "referencedDeclaration": 32789, + "src": "2920:16:46", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + } + ], + "src": "2907:48:46" + }, + "returnParameters": { + "id": 32873, + "nodeType": "ParameterList", + "parameters": [], + "src": "2964:0:46" + }, + "scope": 32907, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 32888, + "nodeType": "FunctionDefinition", + "src": "3274:199:46", + "nodes": [], + "documentation": { + "id": 32875, + "nodeType": "StructuredDocumentation", + "src": "2971:298:46", + "text": "@notice Adjust a position part of an agreement.\n @param id Id of the agreement to adjust the position from.\n @param newPosition Position params to adjust.\n @param permit Permit2 permit to allow the required token transfers.\n @param signature Signature of the permit." + }, + "functionSelector": "5541e684", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "adjustPosition", + "nameLocation": "3283:14:46", + "parameters": { + "id": 32886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32877, + "mutability": "mutable", + "name": "id", + "nameLocation": "3315:2:46", + "nodeType": "VariableDeclaration", + "scope": 32888, + "src": "3307:10:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32876, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3307:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32880, + "mutability": "mutable", + "name": "newPosition", + "nameLocation": "3351:11:46", + "nodeType": "VariableDeclaration", + "scope": 32888, + "src": "3327:35:46", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_calldata_ptr", + "typeString": "struct PositionParams" + }, + "typeName": { + "id": 32879, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32878, + "name": "PositionParams", + "nameLocations": [ + "3327:14:46" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "3327:14:46" + }, + "referencedDeclaration": 32681, + "src": "3327:14:46", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32883, + "mutability": "mutable", + "name": "permit", + "nameLocation": "3417:6:46", + "nodeType": "VariableDeclaration", + "scope": 32888, + "src": "3372:51:46", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 32882, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32881, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "3372:18:46", + "3391:18:46" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "3372:37:46" + }, + "referencedDeclaration": 28469, + "src": "3372:37:46", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32885, + "mutability": "mutable", + "name": "signature", + "nameLocation": "3448:9:46", + "nodeType": "VariableDeclaration", + "scope": 32888, + "src": "3433:24:46", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 32884, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3433:5:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3297:166:46" + }, + "returnParameters": { + "id": 32887, + "nodeType": "ParameterList", + "parameters": [], + "src": "3472:0:46" + }, + "scope": 32907, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 32894, + "nodeType": "FunctionDefinition", + "src": "3600:48:46", + "nodes": [], + "documentation": { + "id": 32889, + "nodeType": "StructuredDocumentation", + "src": "3479:116:46", + "text": "@notice Signal the will of the caller to finalize an agreement.\n @param id Id of the agreement to settle." + }, + "functionSelector": "8135fe23", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "finalizeAgreement", + "nameLocation": "3609:17:46", + "parameters": { + "id": 32892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32891, + "mutability": "mutable", + "name": "id", + "nameLocation": "3635:2:46", + "nodeType": "VariableDeclaration", + "scope": 32894, + "src": "3627:10:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32890, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3627:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3626:12:46" + }, + "returnParameters": { + "id": 32893, + "nodeType": "ParameterList", + "parameters": [], + "src": "3647:0:46" + }, + "scope": 32907, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 32900, + "nodeType": "FunctionDefinition", + "src": "3755:47:46", + "nodes": [], + "documentation": { + "id": 32895, + "nodeType": "StructuredDocumentation", + "src": "3654:96:46", + "text": "@notice Raise a dispute over an agreement.\n @param id Id of the agreement to dispute." + }, + "functionSelector": "061ab0bc", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "disputeAgreement", + "nameLocation": "3764:16:46", + "parameters": { + "id": 32898, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32897, + "mutability": "mutable", + "name": "id", + "nameLocation": "3789:2:46", + "nodeType": "VariableDeclaration", + "scope": 32900, + "src": "3781:10:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32896, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3781:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3780:12:46" + }, + "returnParameters": { + "id": 32899, + "nodeType": "ParameterList", + "parameters": [], + "src": "3801:0:46" + }, + "scope": 32907, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 32906, + "nodeType": "FunctionDefinition", + "src": "3923:52:46", + "nodes": [], + "documentation": { + "id": 32901, + "nodeType": "StructuredDocumentation", + "src": "3808:110:46", + "text": "@notice Withdraw your position from the agreement.\n @param id Id of the agreement to withdraw from." + }, + "functionSelector": "186799a4", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withdrawFromAgreement", + "nameLocation": "3932:21:46", + "parameters": { + "id": 32904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32903, + "mutability": "mutable", + "name": "id", + "nameLocation": "3962:2:46", + "nodeType": "VariableDeclaration", + "scope": 32906, + "src": "3954:10:46", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32902, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3954:7:46", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3953:12:46" + }, + "returnParameters": { + "id": 32905, + "nodeType": "ParameterList", + "parameters": [], + "src": "3974:0:46" + }, + "scope": 32907, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 32804, + "name": "IArbitrable", + "nameLocations": [ + "470:11:46" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32932, + "src": "470:11:46" + }, + "id": 32805, + "nodeType": "InheritanceSpecifier", + "src": "470:11:46" + } + ], + "canonicalName": "IAgreementFramework", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 32907, + 32932 + ], + "name": "IAgreementFramework", + "nameLocation": "447:19:46", + "scope": 32908, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/interfaces/IArbitrable.sol": { + "id": 47, + "ast": { + "absolutePath": "src/interfaces/IArbitrable.sol", + "id": 32933, + "exportedSymbols": { + "IArbitrable": [ + 32932 + ], + "OnlyArbitrator": [ + 32914 + ], + "PositionParams": [ + 32681 + ] + }, + "nodeType": "SourceUnit", + "src": "45:782:47", + "nodes": [ + { + "id": 32909, + "nodeType": "PragmaDirective", + "src": "45:24:47", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 32911, + "nodeType": "ImportDirective", + "src": "71:67:47", + "nodes": [], + "absolutePath": "src/interfaces/AgreementTypes.sol", + "file": "src/interfaces/AgreementTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 32933, + "sourceUnit": 32729, + "symbolAliases": [ + { + "foreign": { + "id": 32910, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "80:14:47", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 32914, + "nodeType": "ErrorDefinition", + "src": "251:23:47", + "nodes": [], + "documentation": { + "id": 32912, + "nodeType": "StructuredDocumentation", + "src": "140:111:47", + "text": "@dev Thrown when trying to perform an operation restricted to the arbitrator without being the arbitrator." + }, + "errorSelector": "2eef310a", + "name": "OnlyArbitrator", + "nameLocation": "257:14:47", + "parameters": { + "id": 32913, + "nodeType": "ParameterList", + "parameters": [], + "src": "271:2:47" + } + }, + { + "id": 32932, + "nodeType": "ContractDefinition", + "src": "405:421:47", + "nodes": [ + { + "id": 32921, + "nodeType": "FunctionDefinition", + "src": "487:54:47", + "nodes": [], + "documentation": { + "id": 32916, + "nodeType": "StructuredDocumentation", + "src": "433:49:47", + "text": "@notice Address capable of settling disputes." + }, + "functionSelector": "6cc6cde1", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "arbitrator", + "nameLocation": "496:10:47", + "parameters": { + "id": 32917, + "nodeType": "ParameterList", + "parameters": [], + "src": "506:2:47" + }, + "returnParameters": { + "id": 32920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32919, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 32921, + "src": "532:7:47", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32918, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "532:7:47", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "531:9:47" + }, + "scope": 32932, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 32931, + "nodeType": "FunctionDefinition", + "src": "742:82:47", + "nodes": [], + "documentation": { + "id": 32922, + "nodeType": "StructuredDocumentation", + "src": "547:190:47", + "text": "@notice Settles the dispute `id` with the provided settlement.\n @param id Id of the dispute to settle.\n @param settlement Array of PositionParams to set as final positions." + }, + "functionSelector": "3d3e73d7", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "settleDispute", + "nameLocation": "751:13:47", + "parameters": { + "id": 32929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32924, + "mutability": "mutable", + "name": "id", + "nameLocation": "773:2:47", + "nodeType": "VariableDeclaration", + "scope": 32931, + "src": "765:10:47", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32923, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "765:7:47", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32928, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "803:10:47", + "nodeType": "VariableDeclaration", + "scope": 32931, + "src": "777:36:47", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 32926, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32925, + "name": "PositionParams", + "nameLocations": [ + "777:14:47" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "777:14:47" + }, + "referencedDeclaration": 32681, + "src": "777:14:47", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 32927, + "nodeType": "ArrayTypeName", + "src": "777:16:47", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "764:50:47" + }, + "returnParameters": { + "id": 32930, + "nodeType": "ParameterList", + "parameters": [], + "src": "823:0:47" + }, + "scope": 32932, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "IArbitrable", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 32915, + "nodeType": "StructuredDocumentation", + "src": "276:129:47", + "text": "@notice Minimal interface for arbitrable contracts.\n @dev Implementers must write the logic to raise and settle disputes." + }, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 32932 + ], + "name": "IArbitrable", + "nameLocation": "415:11:47", + "scope": 32933, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/interfaces/IArbitrator.sol": { + "id": 48, + "ast": { + "absolutePath": "src/interfaces/IArbitrator.sol", + "id": 33029, + "exportedSymbols": { + "IArbitrable": [ + 32932 + ], + "IArbitrator": [ + 33028 + ], + "ISignatureTransfer": [ + 28568 + ], + "PositionParams": [ + 32681 + ] + }, + "nodeType": "SourceUnit", + "src": "45:3324:48", + "nodes": [ + { + "id": 32934, + "nodeType": "PragmaDirective", + "src": "45:24:48", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 32936, + "nodeType": "ImportDirective", + "src": "71:83:48", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "file": "permit2/src/interfaces/ISignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 33029, + "sourceUnit": 28569, + "symbolAliases": [ + { + "foreign": { + "id": 32935, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "80:18:48", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 32938, + "nodeType": "ImportDirective", + "src": "156:67:48", + "nodes": [], + "absolutePath": "src/interfaces/AgreementTypes.sol", + "file": "src/interfaces/AgreementTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 33029, + "sourceUnit": 32729, + "symbolAliases": [ + { + "foreign": { + "id": 32937, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "165:14:48", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 32940, + "nodeType": "ImportDirective", + "src": "224:61:48", + "nodes": [], + "absolutePath": "src/interfaces/IArbitrable.sol", + "file": "src/interfaces/IArbitrable.sol", + "nameLocation": "-1:-1:-1", + "scope": 33029, + "sourceUnit": 32933, + "symbolAliases": [ + { + "foreign": { + "id": 32939, + "name": "IArbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32932, + "src": "233:11:48", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33028, + "nodeType": "ContractDefinition", + "src": "287:3081:48", + "nodes": [ + { + "id": 32951, + "nodeType": "EventDefinition", + "src": "602:164:48", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 32941, + "nodeType": "StructuredDocumentation", + "src": "315:282:48", + "text": "@dev Raised when a new resolution is submitted.\n @param framework Address of the framework that manages the dispute.\n @param dispute Id of the dispute to resolve.\n @param resolution Id of the resolution.\n @param settlement Encoding of the settlement." + }, + "eventSelector": "96eab3103fbd8c0266eca3e7a57929bc3bd66ef5223e2cb45f589f884ffcb9ae", + "name": "ResolutionSubmitted", + "nameLocation": "608:19:48", + "parameters": { + "id": 32950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32943, + "indexed": true, + "mutability": "mutable", + "name": "framework", + "nameLocation": "653:9:48", + "nodeType": "VariableDeclaration", + "scope": 32951, + "src": "637:25:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32942, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "637:7:48", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32945, + "indexed": true, + "mutability": "mutable", + "name": "dispute", + "nameLocation": "688:7:48", + "nodeType": "VariableDeclaration", + "scope": 32951, + "src": "672:23:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32944, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "672:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32947, + "indexed": true, + "mutability": "mutable", + "name": "resolution", + "nameLocation": "721:10:48", + "nodeType": "VariableDeclaration", + "scope": 32951, + "src": "705:26:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32946, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "705:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32949, + "indexed": false, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "749:10:48", + "nodeType": "VariableDeclaration", + "scope": 32951, + "src": "741:18:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32948, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "741:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "627:138:48" + } + }, + { + "id": 32960, + "nodeType": "EventDefinition", + "src": "995:90:48", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 32952, + "nodeType": "StructuredDocumentation", + "src": "772:218:48", + "text": "@dev Raised when a resolution is appealed.\n @param resolution Id of the resolution appealed.\n @param settlement Encoding of the settlement.\n @param account Address of the account that appealed." + }, + "eventSelector": "2a41d71ad20bb81193ade4a1c1c4796777ba30f92f48c41fce7eeb361e109b0e", + "name": "ResolutionAppealed", + "nameLocation": "1001:18:48", + "parameters": { + "id": 32959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32954, + "indexed": true, + "mutability": "mutable", + "name": "resolution", + "nameLocation": "1036:10:48", + "nodeType": "VariableDeclaration", + "scope": 32960, + "src": "1020:26:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32953, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1020:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32956, + "indexed": false, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "1056:10:48", + "nodeType": "VariableDeclaration", + "scope": 32960, + "src": "1048:18:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32955, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1048:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32958, + "indexed": false, + "mutability": "mutable", + "name": "account", + "nameLocation": "1076:7:48", + "nodeType": "VariableDeclaration", + "scope": 32960, + "src": "1068:15:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32957, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1068:7:48", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1019:65:48" + } + }, + { + "id": 32967, + "nodeType": "EventDefinition", + "src": "1263:73:48", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 32961, + "nodeType": "StructuredDocumentation", + "src": "1091:167:48", + "text": "@dev Raised when an appealed resolution is endorsed.\n @param resolution Id of the resolution endorsed.\n @param settlement Encoding of the settlement." + }, + "eventSelector": "b6dc686a67a9620536a83f729428ef64a3e6529407d6b5e0df3426fe6b01a260", + "name": "ResolutionEndorsed", + "nameLocation": "1269:18:48", + "parameters": { + "id": 32966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32963, + "indexed": true, + "mutability": "mutable", + "name": "resolution", + "nameLocation": "1304:10:48", + "nodeType": "VariableDeclaration", + "scope": 32967, + "src": "1288:26:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32962, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1288:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32965, + "indexed": false, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "1324:10:48", + "nodeType": "VariableDeclaration", + "scope": 32967, + "src": "1316:18:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32964, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1316:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1287:48:48" + } + }, + { + "id": 32974, + "nodeType": "EventDefinition", + "src": "1504:73:48", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 32968, + "nodeType": "StructuredDocumentation", + "src": "1342:157:48", + "text": "@dev Raised when a resolution is executed.\n @param resolution Id of the resolution executed.\n @param settlement Encoding of the settlement." + }, + "eventSelector": "eb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd4", + "name": "ResolutionExecuted", + "nameLocation": "1510:18:48", + "parameters": { + "id": 32973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32970, + "indexed": true, + "mutability": "mutable", + "name": "resolution", + "nameLocation": "1545:10:48", + "nodeType": "VariableDeclaration", + "scope": 32974, + "src": "1529:26:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32969, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1529:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32972, + "indexed": false, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "1565:10:48", + "nodeType": "VariableDeclaration", + "scope": 32974, + "src": "1557:18:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1557:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1528:48:48" + } + }, + { + "id": 32991, + "nodeType": "FunctionDefinition", + "src": "1979:198:48", + "nodes": [], + "documentation": { + "id": 32975, + "nodeType": "StructuredDocumentation", + "src": "1583:391:48", + "text": "@notice Submit a resolution for a dispute.\n @dev Any new resolution for the same dispute overrides the last one.\n @param framework address of the framework of the agreement in dispute.\n @param dispute Identifier of the agreement in dispute.\n @param settlement Array of final positions in the resolution.\n @return Identifier of the resolution submitted." + }, + "functionSelector": "02fd597d", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "submitResolution", + "nameLocation": "1988:16:48", + "parameters": { + "id": 32987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32978, + "mutability": "mutable", + "name": "framework", + "nameLocation": "2026:9:48", + "nodeType": "VariableDeclaration", + "scope": 32991, + "src": "2014:21:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + }, + "typeName": { + "id": 32977, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32976, + "name": "IArbitrable", + "nameLocations": [ + "2014:11:48" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32932, + "src": "2014:11:48" + }, + "referencedDeclaration": 32932, + "src": "2014:11:48", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32980, + "mutability": "mutable", + "name": "dispute", + "nameLocation": "2053:7:48", + "nodeType": "VariableDeclaration", + "scope": 32991, + "src": "2045:15:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32979, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2045:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32982, + "mutability": "mutable", + "name": "metadataURI", + "nameLocation": "2086:11:48", + "nodeType": "VariableDeclaration", + "scope": 32991, + "src": "2070:27:48", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 32981, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2070:6:48", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32986, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "2133:10:48", + "nodeType": "VariableDeclaration", + "scope": 32991, + "src": "2107:36:48", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 32984, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32983, + "name": "PositionParams", + "nameLocations": [ + "2107:14:48" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "2107:14:48" + }, + "referencedDeclaration": 32681, + "src": "2107:14:48", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 32985, + "nodeType": "ArrayTypeName", + "src": "2107:16:48", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "2004:145:48" + }, + "returnParameters": { + "id": 32990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32989, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 32991, + "src": "2168:7:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32988, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2168:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2167:9:48" + }, + "scope": 33028, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 33004, + "nodeType": "FunctionDefinition", + "src": "2443:144:48", + "nodes": [], + "documentation": { + "id": 32992, + "nodeType": "StructuredDocumentation", + "src": "2183:255:48", + "text": "@notice Execute a submitted resolution.\n @param framework address of the framework of the agreement in dispute.\n @param dispute Identifier of the agreement in dispute.\n @param settlement Array of final positions in the resolution." + }, + "functionSelector": "2f7f204e", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "executeResolution", + "nameLocation": "2452:17:48", + "parameters": { + "id": 33002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 32995, + "mutability": "mutable", + "name": "framework", + "nameLocation": "2491:9:48", + "nodeType": "VariableDeclaration", + "scope": 33004, + "src": "2479:21:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + }, + "typeName": { + "id": 32994, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32993, + "name": "IArbitrable", + "nameLocations": [ + "2479:11:48" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32932, + "src": "2479:11:48" + }, + "referencedDeclaration": 32932, + "src": "2479:11:48", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IArbitrable_$32932", + "typeString": "contract IArbitrable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32997, + "mutability": "mutable", + "name": "dispute", + "nameLocation": "2518:7:48", + "nodeType": "VariableDeclaration", + "scope": 33004, + "src": "2510:15:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32996, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2510:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33001, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "2561:10:48", + "nodeType": "VariableDeclaration", + "scope": 33004, + "src": "2535:36:48", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 32999, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 32998, + "name": "PositionParams", + "nameLocations": [ + "2535:14:48" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "2535:14:48" + }, + "referencedDeclaration": 32681, + "src": "2535:14:48", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 33000, + "nodeType": "ArrayTypeName", + "src": "2535:16:48", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "2469:108:48" + }, + "returnParameters": { + "id": 33003, + "nodeType": "ParameterList", + "parameters": [], + "src": "2586:0:48" + }, + "scope": 33028, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 33019, + "nodeType": "FunctionDefinition", + "src": "2893:202:48", + "nodes": [], + "documentation": { + "id": 33005, + "nodeType": "StructuredDocumentation", + "src": "2593:295:48", + "text": "@notice Appeal a submitted resolution.\n @param id Identifier of the resolution to appeal.\n @param settlement Array of final positions in the resolution.\n @param permit Permit2 permit to allow the required token transfer.\n @param signature Signature of the permit." + }, + "functionSelector": "41bcf4dc", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "appealResolution", + "nameLocation": "2902:16:48", + "parameters": { + "id": 33017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33007, + "mutability": "mutable", + "name": "id", + "nameLocation": "2936:2:48", + "nodeType": "VariableDeclaration", + "scope": 33019, + "src": "2928:10:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33006, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2928:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33011, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "2974:10:48", + "nodeType": "VariableDeclaration", + "scope": 33019, + "src": "2948:36:48", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 33009, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33008, + "name": "PositionParams", + "nameLocations": [ + "2948:14:48" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "2948:14:48" + }, + "referencedDeclaration": 32681, + "src": "2948:14:48", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 33010, + "nodeType": "ArrayTypeName", + "src": "2948:16:48", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33014, + "mutability": "mutable", + "name": "permit", + "nameLocation": "3039:6:48", + "nodeType": "VariableDeclaration", + "scope": 33019, + "src": "2994:51:48", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 33013, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33012, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "2994:18:48", + "3013:18:48" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "2994:37:48" + }, + "referencedDeclaration": 28469, + "src": "2994:37:48", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33016, + "mutability": "mutable", + "name": "signature", + "nameLocation": "3070:9:48", + "nodeType": "VariableDeclaration", + "scope": 33019, + "src": "3055:24:48", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 33015, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3055:5:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2918:167:48" + }, + "returnParameters": { + "id": 33018, + "nodeType": "ParameterList", + "parameters": [], + "src": "3094:0:48" + }, + "scope": 33028, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 33027, + "nodeType": "FunctionDefinition", + "src": "3298:68:48", + "nodes": [], + "documentation": { + "id": 33020, + "nodeType": "StructuredDocumentation", + "src": "3101:192:48", + "text": "@notice Endorse a submitted resolution, it overrides any appeal.\n @param id Identifier of the resolution to endorse.\n @param settlement Encoding of the settlement to endorse." + }, + "functionSelector": "e44cb37b", + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "endorseResolution", + "nameLocation": "3307:17:48", + "parameters": { + "id": 33025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33022, + "mutability": "mutable", + "name": "id", + "nameLocation": "3333:2:48", + "nodeType": "VariableDeclaration", + "scope": 33027, + "src": "3325:10:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33021, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3325:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33024, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "3345:10:48", + "nodeType": "VariableDeclaration", + "scope": 33027, + "src": "3337:18:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33023, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3337:7:48", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3324:32:48" + }, + "returnParameters": { + "id": 33026, + "nodeType": "ParameterList", + "parameters": [], + "src": "3365:0:48" + }, + "scope": 33028, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "IArbitrator", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 33028 + ], + "name": "IArbitrator", + "nameLocation": "297:11:48", + "scope": 33029, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/libraries/CriteriaResolution.sol": { + "id": 49, + "ast": { + "absolutePath": "src/libraries/CriteriaResolution.sol", + "id": 33103, + "exportedSymbols": { + "CriteriaResolution": [ + 33102 + ], + "CriteriaResolver": [ + 32789 + ], + "InvalidCriteriaProof": [ + 33035 + ] + }, + "nodeType": "SourceUnit", + "src": "45:2870:49", + "nodes": [ + { + "id": 33030, + "nodeType": "PragmaDirective", + "src": "45:24:49", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 33032, + "nodeType": "ImportDirective", + "src": "71:68:49", + "nodes": [], + "absolutePath": "src/interfaces/CriteriaTypes.sol", + "file": "src/interfaces/CriteriaTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 33103, + "sourceUnit": 32790, + "symbolAliases": [ + { + "foreign": { + "id": 33031, + "name": "CriteriaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32789, + "src": "80:16:49", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33035, + "nodeType": "ErrorDefinition", + "src": "226:29:49", + "nodes": [], + "documentation": { + "id": 33033, + "nodeType": "StructuredDocumentation", + "src": "141:85:49", + "text": "@dev Thrown when the proof provided can't be verified against the criteria tree." + }, + "errorSelector": "4a361a47", + "name": "InvalidCriteriaProof", + "nameLocation": "232:20:49", + "parameters": { + "id": 33034, + "nodeType": "ParameterList", + "parameters": [], + "src": "252:2:49" + } + }, + { + "id": 33102, + "nodeType": "ContractDefinition", + "src": "322:2592:49", + "nodes": [ + { + "id": 33064, + "nodeType": "FunctionDefinition", + "src": "568:263:49", + "nodes": [], + "body": { + "id": 33063, + "nodeType": "Block", + "src": "662:169:49", + "nodes": [], + "statements": [ + { + "assignments": [ + 33046 + ], + "declarations": [ + { + "constant": false, + "id": 33046, + "mutability": "mutable", + "name": "isValid", + "nameLocation": "677:7:49", + "nodeType": "VariableDeclaration", + "scope": 33063, + "src": "672:12:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 33045, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "672:4:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 33055, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 33048, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33042, + "src": "699:8:49", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 33049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "708:5:49", + "memberName": "proof", + "nodeType": "MemberAccess", + "referencedDeclaration": 32788, + "src": "699:14:49", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { + "id": 33050, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33039, + "src": "715:8:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "id": 33052, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33042, + "src": "736:8:49", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + ], + "id": 33051, + "name": "encodeLeaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33086, + "src": "725:10:49", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_CriteriaResolver_$32789_calldata_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct CriteriaResolver calldata) pure returns (bytes32)" + } + }, + "id": 33053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "725:20:49", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 33047, + "name": "verifyProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33101, + "src": "687:11:49", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32[] calldata,bytes32,bytes32) pure returns (bool)" + } + }, + "id": 33054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "687:59:49", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "672:74:49" + }, + { + "condition": { + "id": 33057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "761:8:49", + "subExpression": { + "id": 33056, + "name": "isValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33046, + "src": "762:7:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 33062, + "nodeType": "IfStatement", + "src": "757:68:49", + "trueBody": { + "id": 33061, + "nodeType": "Block", + "src": "771:54:49", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33058, + "name": "InvalidCriteriaProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33035, + "src": "792:20:49", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "792:22:49", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33060, + "nodeType": "RevertStatement", + "src": "785:29:49" + } + ] + } + } + ] + }, + "documentation": { + "id": 33037, + "nodeType": "StructuredDocumentation", + "src": "355:208:49", + "text": "@dev Check that given resolver is valid for the provided criteria.\n @param criteria Root of the Merkle tree.\n @param resolver Struct with the required params to prove membership to the tree." + }, + "functionSelector": "ba5d2c34", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validateCriteria", + "nameLocation": "577:16:49", + "parameters": { + "id": 33043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33039, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "602:8:49", + "nodeType": "VariableDeclaration", + "scope": 33064, + "src": "594:16:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33038, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "594:7:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33042, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "638:8:49", + "nodeType": "VariableDeclaration", + "scope": 33064, + "src": "612:34:49", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 33041, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33040, + "name": "CriteriaResolver", + "nameLocations": [ + "612:16:49" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "612:16:49" + }, + "referencedDeclaration": 32789, + "src": "612:16:49", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + } + ], + "src": "593:54:49" + }, + "returnParameters": { + "id": 33044, + "nodeType": "ParameterList", + "parameters": [], + "src": "662:0:49" + }, + "scope": 33102, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 33086, + "nodeType": "FunctionDefinition", + "src": "890:172:49", + "nodes": [], + "body": { + "id": 33085, + "nodeType": "Block", + "src": "981:81:49", + "nodes": [], + "statements": [ + { + "expression": { + "id": 33083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33073, + "name": "leaf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33071, + "src": "991:4:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 33077, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33068, + "src": "1019:8:49", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 33078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1028:7:49", + "memberName": "account", + "nodeType": "MemberAccess", + "referencedDeclaration": 32783, + "src": "1019:16:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 33079, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33068, + "src": "1037:8:49", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver calldata" + } + }, + "id": 33080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1046:7:49", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32785, + "src": "1037:16:49", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 33075, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1008:3:49", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 33076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1012:6:49", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1008:10:49", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 33081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1008:46:49", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 33074, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "998:9:49", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 33082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "998:57:49", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "991:64:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33084, + "nodeType": "ExpressionStatement", + "src": "991:64:49" + } + ] + }, + "documentation": { + "id": 33065, + "nodeType": "StructuredDocumentation", + "src": "837:48:49", + "text": "@dev Encode resolver params into merkle leaf" + }, + "functionSelector": "2f88248e", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodeLeaf", + "nameLocation": "899:10:49", + "parameters": { + "id": 33069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33068, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "936:8:49", + "nodeType": "VariableDeclaration", + "scope": 33086, + "src": "910:34:49", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_calldata_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 33067, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33066, + "name": "CriteriaResolver", + "nameLocations": [ + "910:16:49" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "910:16:49" + }, + "referencedDeclaration": 32789, + "src": "910:16:49", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + } + ], + "src": "909:36:49" + }, + "returnParameters": { + "id": 33072, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33071, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "975:4:49", + "nodeType": "VariableDeclaration", + "scope": 33086, + "src": "967:12:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33070, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "967:7:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "966:14:49" + }, + "scope": 33102, + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "id": 33101, + "nodeType": "FunctionDefinition", + "src": "1243:1669:49", + "nodes": [], + "body": { + "id": 33100, + "nodeType": "Block", + "src": "1383:1529:49", + "nodes": [], + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "1445:1461:49", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1475:1340:49", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1558:50:49", + "value": { + "arguments": [ + { + "name": "proof.offset", + "nodeType": "YulIdentifier", + "src": "1573:12:49" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1591:1:49", + "type": "", + "value": "5" + }, + { + "name": "proof.length", + "nodeType": "YulIdentifier", + "src": "1594:12:49" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1587:3:49" + }, + "nodeType": "YulFunctionCall", + "src": "1587:20:49" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1569:3:49" + }, + "nodeType": "YulFunctionCall", + "src": "1569:39:49" + }, + "variables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1562:3:49", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1703:26:49", + "value": { + "name": "proof.offset", + "nodeType": "YulIdentifier", + "src": "1717:12:49" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1707:6:49", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1863:938:49", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2043:54:49", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2063:1:49", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "leaf", + "nodeType": "YulIdentifier", + "src": "2069:4:49" + }, + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2088:6:49" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2075:12:49" + }, + "nodeType": "YulFunctionCall", + "src": "2075:20:49" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2066:2:49" + }, + "nodeType": "YulFunctionCall", + "src": "2066:30:49" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2059:3:49" + }, + "nodeType": "YulFunctionCall", + "src": "2059:38:49" + }, + "variables": [ + { + "name": "leafSlot", + "nodeType": "YulTypedName", + "src": "2047:8:49", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "leafSlot", + "nodeType": "YulIdentifier", + "src": "2366:8:49" + }, + { + "name": "leaf", + "nodeType": "YulIdentifier", + "src": "2376:4:49" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2359:6:49" + }, + "nodeType": "YulFunctionCall", + "src": "2359:22:49" + }, + "nodeType": "YulExpressionStatement", + "src": "2359:22:49" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "leafSlot", + "nodeType": "YulIdentifier", + "src": "2413:8:49" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2423:2:49", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "xor", + "nodeType": "YulIdentifier", + "src": "2409:3:49" + }, + "nodeType": "YulFunctionCall", + "src": "2409:17:49" + }, + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2441:6:49" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2428:12:49" + }, + "nodeType": "YulFunctionCall", + "src": "2428:20:49" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2402:6:49" + }, + "nodeType": "YulFunctionCall", + "src": "2402:47:49" + }, + "nodeType": "YulExpressionStatement", + "src": "2402:47:49" + }, + { + "nodeType": "YulAssignment", + "src": "2551:24:49", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2569:1:49", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2572:2:49", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "2559:9:49" + }, + "nodeType": "YulFunctionCall", + "src": "2559:16:49" + }, + "variableNames": [ + { + "name": "leaf", + "nodeType": "YulIdentifier", + "src": "2551:4:49" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2634:25:49", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2648:6:49" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2656:2:49", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2644:3:49" + }, + "nodeType": "YulFunctionCall", + "src": "2644:15:49" + }, + "variableNames": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2634:6:49" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2774:9:49", + "statements": [ + { + "nodeType": "YulBreak", + "src": "2776:5:49" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2760:6:49" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2768:3:49" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2757:2:49" + }, + "nodeType": "YulFunctionCall", + "src": "2757:15:49" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2750:6:49" + }, + "nodeType": "YulFunctionCall", + "src": "2750:23:49" + }, + "nodeType": "YulIf", + "src": "2747:36:49" + } + ] + }, + "condition": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1858:1:49", + "type": "", + "value": "1" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1860:2:49", + "statements": [] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1855:2:49", + "statements": [] + }, + "src": "1851:950:49" + } + ] + }, + "condition": { + "name": "proof.length", + "nodeType": "YulIdentifier", + "src": "1462:12:49" + }, + "nodeType": "YulIf", + "src": "1459:1356:49" + }, + { + "nodeType": "YulAssignment", + "src": "2829:25:49", + "value": { + "arguments": [ + { + "name": "leaf", + "nodeType": "YulIdentifier", + "src": "2843:4:49" + }, + { + "name": "root", + "nodeType": "YulIdentifier", + "src": "2849:4:49" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2840:2:49" + }, + "nodeType": "YulFunctionCall", + "src": "2840:14:49" + }, + "variableNames": [ + { + "name": "isValid", + "nodeType": "YulIdentifier", + "src": "2829:7:49" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "london", + "externalReferences": [ + { + "declaration": 33097, + "isOffset": false, + "isSlot": false, + "src": "2829:7:49", + "valueSize": 1 + }, + { + "declaration": 33094, + "isOffset": false, + "isSlot": false, + "src": "2069:4:49", + "valueSize": 1 + }, + { + "declaration": 33094, + "isOffset": false, + "isSlot": false, + "src": "2376:4:49", + "valueSize": 1 + }, + { + "declaration": 33094, + "isOffset": false, + "isSlot": false, + "src": "2551:4:49", + "valueSize": 1 + }, + { + "declaration": 33094, + "isOffset": false, + "isSlot": false, + "src": "2843:4:49", + "valueSize": 1 + }, + { + "declaration": 33090, + "isOffset": false, + "isSlot": false, + "src": "1462:12:49", + "suffix": "length", + "valueSize": 1 + }, + { + "declaration": 33090, + "isOffset": false, + "isSlot": false, + "src": "1594:12:49", + "suffix": "length", + "valueSize": 1 + }, + { + "declaration": 33090, + "isOffset": true, + "isSlot": false, + "src": "1573:12:49", + "suffix": "offset", + "valueSize": 1 + }, + { + "declaration": 33090, + "isOffset": true, + "isSlot": false, + "src": "1717:12:49", + "suffix": "offset", + "valueSize": 1 + }, + { + "declaration": 33092, + "isOffset": false, + "isSlot": false, + "src": "2849:4:49", + "valueSize": 1 + } + ], + "id": 33099, + "nodeType": "InlineAssembly", + "src": "1436:1470:49" + } + ] + }, + "documentation": { + "id": 33087, + "nodeType": "StructuredDocumentation", + "src": "1068:170:49", + "text": "@dev Based on Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/utils/MerkleProofLib.sol)\n Verify proofs for given root and leaf are correct." + }, + "functionSelector": "4bc935d7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyProof", + "nameLocation": "1252:11:49", + "parameters": { + "id": 33095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33090, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1292:5:49", + "nodeType": "VariableDeclaration", + "scope": 33101, + "src": "1273:24:49", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 33088, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1273:7:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33089, + "nodeType": "ArrayTypeName", + "src": "1273:9:49", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33092, + "mutability": "mutable", + "name": "root", + "nameLocation": "1315:4:49", + "nodeType": "VariableDeclaration", + "scope": 33101, + "src": "1307:12:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33091, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1307:7:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33094, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "1337:4:49", + "nodeType": "VariableDeclaration", + "scope": 33101, + "src": "1329:12:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33093, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1329:7:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1263:84:49" + }, + "returnParameters": { + "id": 33098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33097, + "mutability": "mutable", + "name": "isValid", + "nameLocation": "1374:7:49", + "nodeType": "VariableDeclaration", + "scope": 33101, + "src": "1369:12:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 33096, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1369:4:49", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1368:14:49" + }, + "scope": 33102, + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "CriteriaResolution", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 33036, + "nodeType": "StructuredDocumentation", + "src": "257:65:49", + "text": "@dev Methods to verify membership to a criteria Merkle tree." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 33102 + ], + "name": "CriteriaResolution", + "nameLocation": "330:18:49", + "scope": 33103, + "usedErrors": [ + 33035 + ] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/utils/Controlled.sol": { + "id": 50, + "ast": { + "absolutePath": "src/utils/Controlled.sol", + "id": 33190, + "exportedSymbols": { + "Controlled": [ + 33189 + ], + "Owned": [ + 33252 + ] + }, + "nodeType": "SourceUnit", + "src": "45:1278:50", + "nodes": [ + { + "id": 33104, + "nodeType": "PragmaDirective", + "src": "45:24:50", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 33106, + "nodeType": "ImportDirective", + "src": "71:44:50", + "nodes": [], + "absolutePath": "src/utils/Owned.sol", + "file": "src/utils/Owned.sol", + "nameLocation": "-1:-1:-1", + "scope": 33190, + "sourceUnit": 33253, + "symbolAliases": [ + { + "foreign": { + "id": 33105, + "name": "Owned", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33252, + "src": "80:5:50", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33189, + "nodeType": "ContractDefinition", + "src": "189:1133:50", + "nodes": [ + { + "id": 33116, + "nodeType": "EventDefinition", + "src": "419:78:50", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 33110, + "nodeType": "StructuredDocumentation", + "src": "233:181:50", + "text": "@notice Raised when the control is transferred.\n @param user Address of the user that transferred the control.\n @param newController Address of the new controller." + }, + "eventSelector": "a06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f2", + "name": "ControlTransferred", + "nameLocation": "425:18:50", + "parameters": { + "id": 33115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33112, + "indexed": true, + "mutability": "mutable", + "name": "user", + "nameLocation": "460:4:50", + "nodeType": "VariableDeclaration", + "scope": 33116, + "src": "444:20:50", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "444:7:50", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33114, + "indexed": true, + "mutability": "mutable", + "name": "newController", + "nameLocation": "482:13:50", + "nodeType": "VariableDeclaration", + "scope": 33116, + "src": "466:29:50", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "466:7:50", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "443:53:50" + } + }, + { + "id": 33119, + "nodeType": "VariableDeclaration", + "src": "555:25:50", + "nodes": [], + "constant": false, + "documentation": { + "id": 33117, + "nodeType": "StructuredDocumentation", + "src": "503:47:50", + "text": "@notice Address that controls the contract." + }, + "functionSelector": "f77c4791", + "mutability": "mutable", + "name": "controller", + "nameLocation": "570:10:50", + "scope": 33189, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33118, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "555:7:50", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 33131, + "nodeType": "ModifierDefinition", + "src": "587:114:50", + "nodes": [], + "body": { + "id": 33130, + "nodeType": "Block", + "src": "621:80:50", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 33124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 33121, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "635:3:50", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 33122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "639:6:50", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "635:10:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 33123, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33119, + "src": "649:10:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "635:24:50", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 33128, + "nodeType": "IfStatement", + "src": "631:51:50", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33125, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33201, + "src": "668:12:50", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "668:14:50", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33127, + "nodeType": "RevertStatement", + "src": "661:21:50" + } + }, + { + "id": 33129, + "nodeType": "PlaceholderStatement", + "src": "693:1:50" + } + ] + }, + "name": "onlyController", + "nameLocation": "596:14:50", + "parameters": { + "id": 33120, + "nodeType": "ParameterList", + "parameters": [], + "src": "610:2:50" + }, + "virtual": true, + "visibility": "internal" + }, + { + "id": 33148, + "nodeType": "ModifierDefinition", + "src": "707:144:50", + "nodes": [], + "body": { + "id": 33147, + "nodeType": "Block", + "src": "748:103:50", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 33141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 33136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 33133, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "762:3:50", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 33134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "766:6:50", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "762:10:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 33135, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33204, + "src": "776:5:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "762:19:50", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 33140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 33137, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "785:3:50", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 33138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "789:6:50", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "785:10:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 33139, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33119, + "src": "799:10:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "785:24:50", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "762:47:50", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 33145, + "nodeType": "IfStatement", + "src": "758:74:50", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33142, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33201, + "src": "818:12:50", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "818:14:50", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33144, + "nodeType": "RevertStatement", + "src": "811:21:50" + } + }, + { + "id": 33146, + "nodeType": "PlaceholderStatement", + "src": "843:1:50" + } + ] + }, + "name": "onlyOwnerOrController", + "nameLocation": "716:21:50", + "parameters": { + "id": 33132, + "nodeType": "ParameterList", + "parameters": [], + "src": "737:2:50" + }, + "virtual": true, + "visibility": "internal" + }, + { + "id": 33169, + "nodeType": "FunctionDefinition", + "src": "857:163:50", + "nodes": [], + "body": { + "id": 33168, + "nodeType": "Block", + "src": "920:100:50", + "nodes": [], + "statements": [ + { + "expression": { + "id": 33160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33158, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33119, + "src": "930:10:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 33159, + "name": "controller_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33152, + "src": "943:11:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "930:24:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 33161, + "nodeType": "ExpressionStatement", + "src": "930:24:50" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 33163, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "989:3:50", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 33164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "993:6:50", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "989:10:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 33165, + "name": "controller_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33152, + "src": "1001:11:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 33162, + "name": "ControlTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33116, + "src": "970:18:50", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 33166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "970:43:50", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33167, + "nodeType": "EmitStatement", + "src": "965:48:50" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 33155, + "name": "owner_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33150, + "src": "912:6:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 33156, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 33154, + "name": "Owned", + "nameLocations": [ + "906:5:50" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33252, + "src": "906:5:50" + }, + "nodeType": "ModifierInvocation", + "src": "906:13:50" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 33153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33150, + "mutability": "mutable", + "name": "owner_", + "nameLocation": "877:6:50", + "nodeType": "VariableDeclaration", + "scope": 33169, + "src": "869:14:50", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33149, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "869:7:50", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33152, + "mutability": "mutable", + "name": "controller_", + "nameLocation": "893:11:50", + "nodeType": "VariableDeclaration", + "scope": 33169, + "src": "885:19:50", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33151, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "885:7:50", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "868:37:50" + }, + "returnParameters": { + "id": 33157, + "nodeType": "ParameterList", + "parameters": [], + "src": "920:0:50" + }, + "scope": 33189, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 33188, + "nodeType": "FunctionDefinition", + "src": "1140:180:50", + "nodes": [], + "body": { + "id": 33187, + "nodeType": "Block", + "src": "1216:104:50", + "nodes": [], + "statements": [ + { + "expression": { + "id": 33179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33177, + "name": "controller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33119, + "src": "1226:10:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 33178, + "name": "newController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33172, + "src": "1239:13:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1226:26:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 33180, + "nodeType": "ExpressionStatement", + "src": "1226:26:50" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 33182, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1287:3:50", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 33183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1291:6:50", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1287:10:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 33184, + "name": "newController", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33172, + "src": "1299:13:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 33181, + "name": "ControlTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33116, + "src": "1268:18:50", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 33185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1268:45:50", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33186, + "nodeType": "EmitStatement", + "src": "1263:50:50" + } + ] + }, + "documentation": { + "id": 33170, + "nodeType": "StructuredDocumentation", + "src": "1026:109:50", + "text": "@notice Transfer the control of the contract.\n @param newController Address of the new controller." + }, + "functionSelector": "e8ea054b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 33175, + "kind": "modifierInvocation", + "modifierName": { + "id": 33174, + "name": "onlyOwner", + "nameLocations": [ + "1206:9:50" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33216, + "src": "1206:9:50" + }, + "nodeType": "ModifierInvocation", + "src": "1206:9:50" + } + ], + "name": "transferController", + "nameLocation": "1149:18:50", + "parameters": { + "id": 33173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33172, + "mutability": "mutable", + "name": "newController", + "nameLocation": "1176:13:50", + "nodeType": "VariableDeclaration", + "scope": 33188, + "src": "1168:21:50", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33171, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1168:7:50", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1167:23:50" + }, + "returnParameters": { + "id": 33176, + "nodeType": "ParameterList", + "parameters": [], + "src": "1216:0:50" + }, + "scope": 33189, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 33108, + "name": "Owned", + "nameLocations": [ + "221:5:50" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33252, + "src": "221:5:50" + }, + "id": 33109, + "nodeType": "InheritanceSpecifier", + "src": "221:5:50" + } + ], + "canonicalName": "Controlled", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 33107, + "nodeType": "StructuredDocumentation", + "src": "117:72:50", + "text": "@notice Authorization mixin that extends Owned with Controller rol." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 33189, + 33252 + ], + "name": "Controlled", + "nameLocation": "207:10:50", + "scope": 33190, + "usedErrors": [ + 33201 + ] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/utils/Owned.sol": { + "id": 51, + "ast": { + "absolutePath": "src/utils/Owned.sol", + "id": 33253, + "exportedSymbols": { + "Owned": [ + 33252 + ] + }, + "nodeType": "SourceUnit", + "src": "45:1075:51", + "nodes": [ + { + "id": 33191, + "nodeType": "PragmaDirective", + "src": "45:23:51", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] + }, + { + "id": 33252, + "nodeType": "ContractDefinition", + "src": "227:892:51", + "nodes": [ + { + "id": 33199, + "nodeType": "EventDefinition", + "src": "436:75:51", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 33193, + "nodeType": "StructuredDocumentation", + "src": "257:174:51", + "text": "@notice Raised when the ownership is transferred.\n @param user Address of the user that transferred the ownerhip.\n @param newOwner Address of the new owner." + }, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "name": "OwnershipTransferred", + "nameLocation": "442:20:51", + "parameters": { + "id": 33198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33195, + "indexed": true, + "mutability": "mutable", + "name": "user", + "nameLocation": "479:4:51", + "nodeType": "VariableDeclaration", + "scope": 33199, + "src": "463:20:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33194, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "463:7:51", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33197, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "501:8:51", + "nodeType": "VariableDeclaration", + "scope": 33199, + "src": "485:24:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33196, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "485:7:51", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "462:48:51" + } + }, + { + "id": 33201, + "nodeType": "ErrorDefinition", + "src": "517:21:51", + "nodes": [], + "errorSelector": "82b42900", + "name": "Unauthorized", + "nameLocation": "523:12:51", + "parameters": { + "id": 33200, + "nodeType": "ParameterList", + "parameters": [], + "src": "535:2:51" + } + }, + { + "id": 33204, + "nodeType": "VariableDeclaration", + "src": "592:20:51", + "nodes": [], + "constant": false, + "documentation": { + "id": 33202, + "nodeType": "StructuredDocumentation", + "src": "544:43:51", + "text": "@notice Address that owns the contract." + }, + "functionSelector": "8da5cb5b", + "mutability": "mutable", + "name": "owner", + "nameLocation": "607:5:51", + "scope": 33252, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "592:7:51", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 33216, + "nodeType": "ModifierDefinition", + "src": "619:104:51", + "nodes": [], + "body": { + "id": 33215, + "nodeType": "Block", + "src": "648:75:51", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 33209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 33206, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "662:3:51", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 33207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "666:6:51", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "662:10:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 33208, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33204, + "src": "676:5:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "662:19:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 33213, + "nodeType": "IfStatement", + "src": "658:46:51", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33210, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33201, + "src": "690:12:51", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "690:14:51", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33212, + "nodeType": "RevertStatement", + "src": "683:21:51" + } + }, + { + "id": 33214, + "nodeType": "PlaceholderStatement", + "src": "715:1:51" + } + ] + }, + "name": "onlyOwner", + "nameLocation": "628:9:51", + "parameters": { + "id": 33205, + "nodeType": "ParameterList", + "parameters": [], + "src": "637:2:51" + }, + "virtual": true, + "visibility": "internal" + }, + { + "id": 33232, + "nodeType": "FunctionDefinition", + "src": "729:115:51", + "nodes": [], + "body": { + "id": 33231, + "nodeType": "Block", + "src": "757:87:51", + "nodes": [], + "statements": [ + { + "expression": { + "id": 33223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33221, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33204, + "src": "767:5:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 33222, + "name": "owner_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33218, + "src": "775:6:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "767:14:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 33224, + "nodeType": "ExpressionStatement", + "src": "767:14:51" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 33226, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "818:3:51", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 33227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "822:6:51", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "818:10:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 33228, + "name": "owner_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33218, + "src": "830:6:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 33225, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33199, + "src": "797:20:51", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 33229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "797:40:51", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33230, + "nodeType": "EmitStatement", + "src": "792:45:51" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 33219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33218, + "mutability": "mutable", + "name": "owner_", + "nameLocation": "749:6:51", + "nodeType": "VariableDeclaration", + "scope": 33232, + "src": "741:14:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33217, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "741:7:51", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "740:16:51" + }, + "returnParameters": { + "id": 33220, + "nodeType": "ParameterList", + "parameters": [], + "src": "757:0:51" + }, + "scope": 33252, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 33251, + "nodeType": "FunctionDefinition", + "src": "956:161:51", + "nodes": [], + "body": { + "id": 33250, + "nodeType": "Block", + "src": "1026:91:51", + "nodes": [], + "statements": [ + { + "expression": { + "id": 33242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33240, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33204, + "src": "1036:5:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 33241, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33235, + "src": "1044:8:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1036:16:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 33243, + "nodeType": "ExpressionStatement", + "src": "1036:16:51" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 33245, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1089:3:51", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 33246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1093:6:51", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1089:10:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 33247, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33235, + "src": "1101:8:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 33244, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33199, + "src": "1068:20:51", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 33248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1068:42:51", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33249, + "nodeType": "EmitStatement", + "src": "1063:47:51" + } + ] + }, + "documentation": { + "id": 33233, + "nodeType": "StructuredDocumentation", + "src": "850:101:51", + "text": "@notice Transfer the ownership of the contract.\n @param newOwner Address of the new owner." + }, + "functionSelector": "f2fde38b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 33238, + "kind": "modifierInvocation", + "modifierName": { + "id": 33237, + "name": "onlyOwner", + "nameLocations": [ + "1016:9:51" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33216, + "src": "1016:9:51" + }, + "nodeType": "ModifierInvocation", + "src": "1016:9:51" + } + ], + "name": "transferOwnership", + "nameLocation": "965:17:51", + "parameters": { + "id": 33236, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33235, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "991:8:51", + "nodeType": "VariableDeclaration", + "scope": 33251, + "src": "983:16:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33234, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "983:7:51", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "982:18:51" + }, + "returnParameters": { + "id": 33239, + "nodeType": "ParameterList", + "parameters": [], + "src": "1026:0:51" + }, + "scope": 33252, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "abstract": true, + "baseContracts": [], + "canonicalName": "Owned", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 33192, + "nodeType": "StructuredDocumentation", + "src": "70:157:51", + "text": "@notice Simple single owner authorization mixin.\n @dev Adapted from Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)" + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 33252 + ], + "name": "Owned", + "nameLocation": "245:5:51", + "scope": 33253, + "usedErrors": [ + 33201 + ] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/utils/Toggleable.sol": { + "id": 52, + "ast": { + "absolutePath": "src/utils/Toggleable.sol", + "id": 33284, + "exportedSymbols": { + "Toggleable": [ + 33283 + ] + }, + "nodeType": "SourceUnit", + "src": "45:548:52", + "nodes": [ + { + "id": 33254, + "nodeType": "PragmaDirective", + "src": "45:24:52", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 33283, + "nodeType": "ContractDefinition", + "src": "128:464:52", + "nodes": [ + { + "id": 33257, + "nodeType": "ErrorDefinition", + "src": "163:19:52", + "nodes": [], + "errorSelector": "09131007", + "name": "IsDisabled", + "nameLocation": "169:10:52", + "parameters": { + "id": 33256, + "nodeType": "ParameterList", + "parameters": [], + "src": "179:2:52" + } + }, + { + "id": 33260, + "nodeType": "VariableDeclaration", + "src": "242:19:52", + "nodes": [], + "constant": false, + "documentation": { + "id": 33258, + "nodeType": "StructuredDocumentation", + "src": "188:49:52", + "text": "@notice Indicates if the contract is enabled." + }, + "functionSelector": "238dafe0", + "mutability": "mutable", + "name": "enabled", + "nameLocation": "254:7:52", + "scope": 33283, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 33259, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "242:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "public" + }, + { + "id": 33271, + "nodeType": "ModifierDefinition", + "src": "332:82:52", + "nodes": [], + "body": { + "id": 33270, + "nodeType": "Block", + "src": "353:61:52", + "nodes": [], + "statements": [ + { + "condition": { + "id": 33264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "367:8:52", + "subExpression": { + "id": 33263, + "name": "enabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33260, + "src": "368:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 33268, + "nodeType": "IfStatement", + "src": "363:33:52", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33265, + "name": "IsDisabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33257, + "src": "384:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "384:12:52", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33267, + "nodeType": "RevertStatement", + "src": "377:19:52" + } + }, + { + "id": 33269, + "nodeType": "PlaceholderStatement", + "src": "406:1:52" + } + ] + }, + "documentation": { + "id": 33261, + "nodeType": "StructuredDocumentation", + "src": "268:59:52", + "text": "@dev Requires to be enabled before performing function." + }, + "name": "isEnabled", + "nameLocation": "341:9:52", + "parameters": { + "id": 33262, + "nodeType": "ParameterList", + "parameters": [], + "src": "350:2:52" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 33282, + "nodeType": "FunctionDefinition", + "src": "507:83:52", + "nodes": [], + "body": { + "id": 33281, + "nodeType": "Block", + "src": "557:33:52", + "nodes": [], + "statements": [ + { + "expression": { + "id": 33279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33277, + "name": "enabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33260, + "src": "567:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 33278, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33274, + "src": "577:6:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "567:16:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 33280, + "nodeType": "ExpressionStatement", + "src": "567:16:52" + } + ] + }, + "documentation": { + "id": 33272, + "nodeType": "StructuredDocumentation", + "src": "420:82:52", + "text": "@notice Enable / disable a contract.\n @param status New enabled status." + }, + "functionSelector": "328d8f72", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setEnabled", + "nameLocation": "516:10:52", + "parameters": { + "id": 33275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33274, + "mutability": "mutable", + "name": "status", + "nameLocation": "532:6:52", + "nodeType": "VariableDeclaration", + "scope": 33282, + "src": "527:11:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 33273, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "527:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "526:13:52" + }, + "returnParameters": { + "id": 33276, + "nodeType": "ParameterList", + "parameters": [], + "src": "557:0:52" + }, + "scope": 33283, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "external" + } + ], + "abstract": true, + "baseContracts": [], + "canonicalName": "Toggleable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 33255, + "nodeType": "StructuredDocumentation", + "src": "71:57:52", + "text": "@notice Simple mixin to enable / disable a contract." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 33283 + ], + "name": "Toggleable", + "nameLocation": "146:10:52", + "scope": 33284, + "usedErrors": [ + 33257 + ] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "src/utils/interfaces/Deposits.sol": { + "id": 53, + "ast": { + "absolutePath": "src/utils/interfaces/Deposits.sol", + "id": 33296, + "exportedSymbols": { + "DepositConfig": [ + 33295 + ] + }, + "nodeType": "SourceUnit", + "src": "45:318:53", + "nodes": [ + { + "id": 33285, + "nodeType": "PragmaDirective", + "src": "45:24:53", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 33295, + "nodeType": "StructDefinition", + "src": "128:234:53", + "nodes": [], + "canonicalName": "DepositConfig", + "members": [ + { + "constant": false, + "id": 33288, + "mutability": "mutable", + "name": "token", + "nameLocation": "222:5:53", + "nodeType": "VariableDeclaration", + "scope": 33295, + "src": "214:13:53", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33287, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "214:7:53", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33291, + "mutability": "mutable", + "name": "amount", + "nameLocation": "283:6:53", + "nodeType": "VariableDeclaration", + "scope": 33295, + "src": "275:14:53", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 33290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "275:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 33294, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "350:9:53", + "nodeType": "VariableDeclaration", + "scope": 33295, + "src": "342:17:53", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 33293, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "342:7:53", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "DepositConfig", + "nameLocation": "135:13:53", + "scope": 33296, + "visibility": "public" + } + ], + "license": "GPL-3.0-or-later" + } + }, + "test/Arbitrator.t.sol": { + "id": 54, + "ast": { + "absolutePath": "test/Arbitrator.t.sol", + "id": 34107, + "exportedSymbols": { + "Arbitrator": [ + 31189 + ], + "ArbitratorTest": [ + 34106 + ], + "DepositConfig": [ + 33295 + ], + "ISignatureTransfer": [ + 28568 + ], + "InvalidPermit": [ + 32757 + ], + "MockArbitrable": [ + 37194 + ], + "NoPartOfSettlement": [ + 32748 + ], + "NonExistentResolution": [ + 32733 + ], + "PermitSignature": [ + 36982 + ], + "PositionParams": [ + 32681 + ], + "Resolution": [ + 32779 + ], + "ResolutionIsAppealed": [ + 32742 + ], + "ResolutionIsEndorsed": [ + 32745 + ], + "ResolutionIsExecuted": [ + 32739 + ], + "ResolutionIsLocked": [ + 32736 + ], + "ResolutionStatus": [ + 32765 + ], + "SettlementBalanceMustMatch": [ + 32754 + ], + "SettlementPositionsMustMatch": [ + 32751 + ], + "Test": [ + 8943 + ], + "TestConstants": [ + 36568 + ], + "TokenProvider": [ + 37103 + ] + }, + "nodeType": "SourceUnit", + "src": "45:7970:54", + "nodes": [ + { + "id": 33297, + "nodeType": "PragmaDirective", + "src": "45:24:54", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 33299, + "nodeType": "ImportDirective", + "src": "71:42:54", + "nodes": [], + "absolutePath": "lib/forge-std/src/Test.sol", + "file": "forge-std/Test.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 8944, + "symbolAliases": [ + { + "foreign": { + "id": 33298, + "name": "Test", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8943, + "src": "80:4:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33301, + "nodeType": "ImportDirective", + "src": "115:83:54", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "file": "permit2/src/interfaces/ISignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 28569, + "symbolAliases": [ + { + "foreign": { + "id": 33300, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "124:18:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33303, + "nodeType": "ImportDirective", + "src": "200:57:54", + "nodes": [], + "absolutePath": "test/utils/Constants.sol", + "file": "test/utils/Constants.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 36569, + "symbolAliases": [ + { + "foreign": { + "id": 33302, + "name": "TestConstants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36568, + "src": "209:13:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33305, + "nodeType": "ImportDirective", + "src": "258:69:54", + "nodes": [], + "absolutePath": "test/utils/mocks/MockArbitrable.sol", + "file": "test/utils/mocks/MockArbitrable.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 37195, + "symbolAliases": [ + { + "foreign": { + "id": 33304, + "name": "MockArbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37194, + "src": "267:14:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33307, + "nodeType": "ImportDirective", + "src": "328:65:54", + "nodes": [], + "absolutePath": "test/utils/PermitSignature.sol", + "file": "test/utils/PermitSignature.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 36983, + "symbolAliases": [ + { + "foreign": { + "id": 33306, + "name": "PermitSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36982, + "src": "337:15:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33309, + "nodeType": "ImportDirective", + "src": "394:61:54", + "nodes": [], + "absolutePath": "test/utils/TokenProvider.sol", + "file": "test/utils/TokenProvider.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 37104, + "symbolAliases": [ + { + "foreign": { + "id": 33308, + "name": "TokenProvider", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37103, + "src": "403:13:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33311, + "nodeType": "ImportDirective", + "src": "457:67:54", + "nodes": [], + "absolutePath": "src/interfaces/AgreementTypes.sol", + "file": "src/interfaces/AgreementTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 32729, + "symbolAliases": [ + { + "foreign": { + "id": 33310, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "466:14:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33312, + "nodeType": "ImportDirective", + "src": "525:46:54", + "nodes": [], + "absolutePath": "src/interfaces/ArbitrationErrors.sol", + "file": "src/interfaces/ArbitrationErrors.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 32758, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 33315, + "nodeType": "ImportDirective", + "src": "572:83:54", + "nodes": [], + "absolutePath": "src/interfaces/ArbitrationTypes.sol", + "file": "src/interfaces/ArbitrationTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 32780, + "symbolAliases": [ + { + "foreign": { + "id": 33313, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "581:16:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 33314, + "name": "Resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32779, + "src": "599:10:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33317, + "nodeType": "ImportDirective", + "src": "657:66:54", + "nodes": [], + "absolutePath": "src/utils/interfaces/Deposits.sol", + "file": "src/utils/interfaces/Deposits.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 33296, + "symbolAliases": [ + { + "foreign": { + "id": 33316, + "name": "DepositConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33295, + "src": "666:13:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 33319, + "nodeType": "ImportDirective", + "src": "724:48:54", + "nodes": [], + "absolutePath": "src/Arbitrator.sol", + "file": "src/Arbitrator.sol", + "nameLocation": "-1:-1:-1", + "scope": 34107, + "sourceUnit": 31190, + "symbolAliases": [ + { + "foreign": { + "id": 33318, + "name": "Arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31189, + "src": "733:10:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34106, + "nodeType": "ContractDefinition", + "src": "774:7240:54", + "nodes": [ + { + "id": 33330, + "nodeType": "VariableDeclaration", + "src": "859:21:54", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "arbitrator", + "nameLocation": "870:10:54", + "scope": 34106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + }, + "typeName": { + "id": 33329, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33328, + "name": "Arbitrator", + "nameLocations": [ + "859:10:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31189, + "src": "859:10:54" + }, + "referencedDeclaration": 31189, + "src": "859:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "visibility": "internal" + }, + { + "id": 33333, + "nodeType": "VariableDeclaration", + "src": "886:25:54", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "arbitrable", + "nameLocation": "901:10:54", + "scope": 34106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + "typeName": { + "id": 33332, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33331, + "name": "MockArbitrable", + "nameLocations": [ + "886:14:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 37194, + "src": "886:14:54" + }, + "referencedDeclaration": 37194, + "src": "886:14:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + "visibility": "internal" + }, + { + "id": 33336, + "nodeType": "VariableDeclaration", + "src": "918:36:54", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "LOCK_PERIOD", + "nameLocation": "935:11:54", + "scope": 34106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 33334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "918:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3836343030", + "id": 33335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "949:5:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "visibility": "internal" + }, + { + "id": 33338, + "nodeType": "VariableDeclaration", + "src": "969:24:54", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "DOMAIN_SEPARATOR", + "nameLocation": "977:16:54", + "scope": 34106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33337, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "969:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 33341, + "nodeType": "VariableDeclaration", + "src": "999:48:54", + "nodes": [], + "constant": true, + "mutability": "constant", + "name": "METADATA_URI", + "nameLocation": "1015:12:54", + "scope": 34106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 33339, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "999:6:54", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "hexValue": "697066733a2f2f6d65746164617461", + "id": 33340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1030:17:54", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_573d5e91ce4505f0968237333e7faa29e5b3db0271bd53ca845f6d06315880d0", + "typeString": "literal_string \"ipfs://metadata\"" + }, + "value": "ipfs://metadata" + }, + "visibility": "internal" + }, + { + "id": 33343, + "nodeType": "VariableDeclaration", + "src": "1053:15:54", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "dispute", + "nameLocation": "1061:7:54", + "scope": 34106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33342, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1053:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 33346, + "nodeType": "VariableDeclaration", + "src": "1075:21:54", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "appeals", + "nameLocation": "1089:7:54", + "scope": 34106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 33345, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33344, + "name": "DepositConfig", + "nameLocations": [ + "1075:13:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "1075:13:54" + }, + "referencedDeclaration": 33295, + "src": "1075:13:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + }, + { + "id": 33428, + "nodeType": "FunctionDefinition", + "src": "1103:542:54", + "nodes": [], + "body": { + "id": 33427, + "nodeType": "Block", + "src": "1127:518:54", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33349, + "name": "initializeERC20Tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37038, + "src": "1137:21:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 33350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1137:23:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33351, + "nodeType": "ExpressionStatement", + "src": "1137:23:54" + }, + { + "expression": { + "id": 33356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33352, + "name": "DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33338, + "src": "1170:16:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 33353, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36996, + "src": "1189:7:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 33354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1197:16:54", + "memberName": "DOMAIN_SEPARATOR", + "nodeType": "MemberAccess", + "referencedDeclaration": 27693, + "src": "1189:24:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 33355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1189:26:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1170:45:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33357, + "nodeType": "ExpressionStatement", + "src": "1170:45:54" + }, + { + "expression": { + "id": 33370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33358, + "name": "appeals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33346, + "src": "1225:7:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 33362, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "1257:6:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + ], + "id": 33361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1249:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1249:7:54", + "typeDescriptions": {} + } + }, + "id": 33363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1249:15:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "32653137", + "id": 33364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1266:4:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_200000000000000000_by_1", + "typeString": "int_const 200000000000000000" + }, + "value": "2e17" + }, + { + "arguments": [ + { + "hexValue": "3078443430", + "id": 33367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1280:5:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_3392_by_1", + "typeString": "int_const 3392" + }, + "value": "0xD40" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_3392_by_1", + "typeString": "int_const 3392" + } + ], + "id": 33366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1272:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1272:7:54", + "typeDescriptions": {} + } + }, + "id": 33368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1272:14:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_200000000000000000_by_1", + "typeString": "int_const 200000000000000000" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 33359, + "name": "DepositConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33295, + "src": "1235:13:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DepositConfig_$33295_storage_ptr_$", + "typeString": "type(struct DepositConfig storage pointer)" + } + }, + "id": 33369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1235:52:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "src": "1225:62:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 33371, + "nodeType": "ExpressionStatement", + "src": "1225:62:54" + }, + { + "expression": { + "id": 33382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33372, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "1298:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 33376, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36996, + "src": "1326:7:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + { + "arguments": [ + { + "id": 33379, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1343:4:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ArbitratorTest_$34106", + "typeString": "contract ArbitratorTest" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ArbitratorTest_$34106", + "typeString": "contract ArbitratorTest" + } + ], + "id": 33378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1335:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33377, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1335:7:54", + "typeDescriptions": {} + } + }, + "id": 33380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1335:13:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 33375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1311:14:54", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_Permit2_$27750_$_t_address_$returns$_t_contract$_Arbitrator_$31189_$", + "typeString": "function (contract Permit2,address) returns (contract Arbitrator)" + }, + "typeName": { + "id": 33374, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33373, + "name": "Arbitrator", + "nameLocations": [ + "1315:10:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31189, + "src": "1315:10:54" + }, + "referencedDeclaration": 31189, + "src": "1315:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + } + }, + "id": 33381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1311:38:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "src": "1298:51:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33383, + "nodeType": "ExpressionStatement", + "src": "1298:51:54" + }, + { + "expression": { + "id": 33389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33384, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "1359:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1372:18:54", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_MockArbitrable_$37194_$", + "typeString": "function () returns (contract MockArbitrable)" + }, + "typeName": { + "id": 33386, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33385, + "name": "MockArbitrable", + "nameLocations": [ + "1376:14:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 37194, + "src": "1376:14:54" + }, + "referencedDeclaration": 37194, + "src": "1376:14:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + } + }, + "id": 33388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1372:20:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + "src": "1359:33:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + "id": 33390, + "nodeType": "ExpressionStatement", + "src": "1359:33:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33394, + "name": "LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33336, + "src": "1420:11:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", + "id": 33395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1433:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "id": 33396, + "name": "appeals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33346, + "src": "1439:7:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + ], + "expression": { + "id": 33391, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "1403:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1414:5:54", + "memberName": "setUp", + "nodeType": "MemberAccess", + "referencedDeclaration": 30754, + "src": "1403:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bool_$_t_struct$_DepositConfig_$33295_memory_ptr_$returns$__$", + "typeString": "function (uint256,bool,struct DepositConfig memory) external" + } + }, + "id": 33397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1403:44:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33398, + "nodeType": "ExpressionStatement", + "src": "1403:44:54" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 33404, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "1482:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + ], + "id": 33403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1474:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1474:7:54", + "typeDescriptions": {} + } + }, + "id": 33405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1474:19:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 33399, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "1457:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + "id": 33401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1468:5:54", + "memberName": "setUp", + "nodeType": "MemberAccess", + "referencedDeclaration": 37136, + "src": "1457:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 33406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1457:37:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33407, + "nodeType": "ExpressionStatement", + "src": "1457:37:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33409, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "1524:3:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 33408, + "name": "setERC20TestTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37058, + "src": "1505:18:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 33410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1505:23:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33411, + "nodeType": "ExpressionStatement", + "src": "1505:23:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33413, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "1565:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + { + "id": 33414, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "1569:3:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 33417, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36996, + "src": "1582:7:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + ], + "id": 33416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1574:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33415, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1574:7:54", + "typeDescriptions": {} + } + }, + "id": 33418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1574:16:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 33412, + "name": "setERC20TestTokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37102, + "src": "1538:26:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Vm_$10233_$_t_address_$_t_address_$returns$__$", + "typeString": "function (contract Vm,address,address)" + } + }, + "id": 33419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1538:53:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33420, + "nodeType": "ExpressionStatement", + "src": "1538:53:54" + }, + { + "expression": { + "id": 33425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33421, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "1602:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 33422, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "1612:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + "id": 33423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1623:13:54", + "memberName": "createDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 37161, + "src": "1612:24:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () external returns (bytes32)" + } + }, + "id": 33424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1612:26:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1602:36:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33426, + "nodeType": "ExpressionStatement", + "src": "1602:36:54" + } + ] + }, + "functionSelector": "0a9254e4", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setUp", + "nameLocation": "1112:5:54", + "parameters": { + "id": 33347, + "nodeType": "ParameterList", + "parameters": [], + "src": "1117:2:54" + }, + "returnParameters": { + "id": 33348, + "nodeType": "ParameterList", + "parameters": [], + "src": "1127:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33471, + "nodeType": "FunctionDefinition", + "src": "1651:416:54", + "nodes": [], + "body": { + "id": 33470, + "nodeType": "Block", + "src": "1690:377:54", + "nodes": [], + "statements": [ + { + "assignments": [ + 33432 + ], + "declarations": [ + { + "constant": false, + "id": 33432, + "mutability": "mutable", + "name": "resolutionId", + "nameLocation": "1708:12:54", + "nodeType": "VariableDeclaration", + "scope": 33470, + "src": "1700:20:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33431, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1700:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 33435, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33433, + "name": "submitResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33940, + "src": "1723:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1723:18:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1700:41:54" + }, + { + "assignments": [ + 33437 + ], + "declarations": [ + { + "constant": false, + "id": 33437, + "mutability": "mutable", + "name": "submitTime", + "nameLocation": "1759:10:54", + "nodeType": "VariableDeclaration", + "scope": 33470, + "src": "1751:18:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 33436, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1751:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 33440, + "initialValue": { + "expression": { + "id": 33438, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1772:5:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 33439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1778:9:54", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1772:15:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1751:36:54" + }, + { + "assignments": [ + 33443 + ], + "declarations": [ + { + "constant": false, + "id": 33443, + "mutability": "mutable", + "name": "resolution", + "nameLocation": "1816:10:54", + "nodeType": "VariableDeclaration", + "scope": 33470, + "src": "1798:28:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 33442, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33441, + "name": "Resolution", + "nameLocations": [ + "1798:10:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "1798:10:54" + }, + "referencedDeclaration": 32779, + "src": "1798:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "id": 33448, + "initialValue": { + "arguments": [ + { + "id": 33446, + "name": "resolutionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33432, + "src": "1858:12:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 33444, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "1829:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1840:17:54", + "memberName": "resolutionDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 30711, + "src": "1829:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Resolution_$32779_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct Resolution memory)" + } + }, + "id": 33447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1829:42:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1798:73:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33450, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33443, + "src": "1891:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33451, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1902:6:54", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "1891:17:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + { + "expression": { + "id": 33452, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "1910:16:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 33453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1927:9:54", + "memberName": "Submitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 32761, + "src": "1910:26:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + ], + "id": 33449, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34105, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 34105, + "src": "1882:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_ResolutionStatus_$32765_$_t_enum$_ResolutionStatus_$32765_$returns$__$", + "typeString": "function (enum ResolutionStatus,enum ResolutionStatus)" + } + }, + "id": 33454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1882:55:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33455, + "nodeType": "ExpressionStatement", + "src": "1882:55:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33457, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33443, + "src": "1956:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33458, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1967:11:54", + "memberName": "metadataURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 32775, + "src": "1956:22:54", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 33459, + "name": "METADATA_URI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33341, + "src": "1980:12:54", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 33456, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34105, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 1639, + "src": "1947:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 33460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1947:46:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33461, + "nodeType": "ExpressionStatement", + "src": "1947:46:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33463, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33443, + "src": "2012:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2023:10:54", + "memberName": "unlockTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 32778, + "src": "2012:21:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 33467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 33465, + "name": "submitTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33437, + "src": "2035:10:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 33466, + "name": "LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33336, + "src": "2048:11:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2035:24:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 33462, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34105, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "2003:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 33468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2003:57:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33469, + "nodeType": "ExpressionStatement", + "src": "2003:57:54" + } + ] + }, + "functionSelector": "32acbc87", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testSubmitResolution", + "nameLocation": "1660:20:54", + "parameters": { + "id": 33429, + "nodeType": "ParameterList", + "parameters": [], + "src": "1680:2:54" + }, + "returnParameters": { + "id": 33430, + "nodeType": "ParameterList", + "parameters": [], + "src": "1690:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33560, + "nodeType": "FunctionDefinition", + "src": "2073:880:54", + "nodes": [], + "body": { + "id": 33559, + "nodeType": "Block", + "src": "2114:839:54", + "nodes": [], + "statements": [ + { + "assignments": [ + 33475 + ], + "declarations": [ + { + "constant": false, + "id": 33475, + "mutability": "mutable", + "name": "resolutionId", + "nameLocation": "2132:12:54", + "nodeType": "VariableDeclaration", + "scope": 33559, + "src": "2124:20:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33474, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2124:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 33478, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33476, + "name": "submitResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33940, + "src": "2147:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2147:18:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2124:41:54" + }, + { + "assignments": [ + 33481 + ], + "declarations": [ + { + "constant": false, + "id": 33481, + "mutability": "mutable", + "name": "originalResolution", + "nameLocation": "2194:18:54", + "nodeType": "VariableDeclaration", + "scope": 33559, + "src": "2176:36:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 33480, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33479, + "name": "Resolution", + "nameLocations": [ + "2176:10:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "2176:10:54" + }, + "referencedDeclaration": 32779, + "src": "2176:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "id": 33486, + "initialValue": { + "arguments": [ + { + "id": 33484, + "name": "resolutionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33475, + "src": "2244:12:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 33482, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "2215:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2226:17:54", + "memberName": "resolutionDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 30711, + "src": "2215:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Resolution_$32779_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct Resolution memory)" + } + }, + "id": 33485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2215:42:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2176:81:54" + }, + { + "assignments": [ + 33491 + ], + "declarations": [ + { + "constant": false, + "id": 33491, + "mutability": "mutable", + "name": "newSettlement", + "nameLocation": "2327:13:54", + "nodeType": "VariableDeclaration", + "scope": 33559, + "src": "2303:37:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 33489, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33488, + "name": "PositionParams", + "nameLocations": [ + "2303:14:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "2303:14:54" + }, + "referencedDeclaration": 32681, + "src": "2303:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 33490, + "nodeType": "ArrayTypeName", + "src": "2303:16:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "id": 33494, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33492, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "2343:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2343:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2303:52:54" + }, + { + "expression": { + "id": 33500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 33495, + "name": "newSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33491, + "src": "2365:13:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 33497, + "indexExpression": { + "hexValue": "31", + "id": 33496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2379:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2365:16:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 33498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2382:7:54", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "2365:24:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31653138", + "id": 33499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2392:4:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "value": "1e18" + }, + "src": "2365:31:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 33501, + "nodeType": "ExpressionStatement", + "src": "2365:31:54" + }, + { + "assignments": [ + 33503 + ], + "declarations": [ + { + "constant": false, + "id": 33503, + "mutability": "mutable", + "name": "warpTime", + "nameLocation": "2415:8:54", + "nodeType": "VariableDeclaration", + "scope": 33559, + "src": "2407:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 33502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2407:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 33508, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 33507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 33504, + "name": "originalResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33481, + "src": "2426:18:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33505, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2445:10:54", + "memberName": "unlockTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 32778, + "src": "2426:29:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "35", + "id": 33506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2458:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "2426:33:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2407:52:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33512, + "name": "warpTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33503, + "src": "2477:8:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 33509, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "2469:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2472:4:54", + "memberName": "warp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9915, + "src": "2469:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 33513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2469:17:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33514, + "nodeType": "ExpressionStatement", + "src": "2469:17:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33518, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "2579:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 33519, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "2591:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 33520, + "name": "METADATA_URI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33341, + "src": "2600:12:54", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 33521, + "name": "newSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33491, + "src": "2614:13:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33515, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "2551:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2562:16:54", + "memberName": "submitResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30850, + "src": "2551:27:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_string_memory_ptr_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (contract IArbitrable,bytes32,string memory,struct PositionParams memory[] memory) external returns (bytes32)" + } + }, + "id": 33522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2551:77:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33523, + "nodeType": "ExpressionStatement", + "src": "2551:77:54" + }, + { + "assignments": [ + 33526 + ], + "declarations": [ + { + "constant": false, + "id": 33526, + "mutability": "mutable", + "name": "newResolution", + "nameLocation": "2657:13:54", + "nodeType": "VariableDeclaration", + "scope": 33559, + "src": "2639:31:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 33525, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33524, + "name": "Resolution", + "nameLocations": [ + "2639:10:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "2639:10:54" + }, + "referencedDeclaration": 32779, + "src": "2639:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "id": 33531, + "initialValue": { + "arguments": [ + { + "id": 33529, + "name": "resolutionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33475, + "src": "2702:12:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 33527, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "2673:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2684:17:54", + "memberName": "resolutionDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 30711, + "src": "2673:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Resolution_$32779_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct Resolution memory)" + } + }, + "id": 33530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2673:42:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2639:76:54" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 33537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 33533, + "name": "originalResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33481, + "src": "2737:18:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33534, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2756:10:54", + "memberName": "settlement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32772, + "src": "2737:29:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 33535, + "name": "newResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33526, + "src": "2770:13:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33536, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2784:10:54", + "memberName": "settlement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32772, + "src": "2770:24:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2737:57:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 33532, + "name": "assertTrue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 269, + 290 + ], + "referencedDeclaration": 269, + "src": "2726:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 33538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2726:69:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33539, + "nodeType": "ExpressionStatement", + "src": "2726:69:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33541, + "name": "newResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33526, + "src": "2814:13:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33542, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2828:10:54", + "memberName": "settlement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32772, + "src": "2814:24:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 33546, + "name": "newSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33491, + "src": "2861:13:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33544, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2850:3:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 33545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2854:6:54", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2850:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 33547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2850:25:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 33543, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2840:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 33548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2840:36:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 33540, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34105, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 375, + "src": "2805:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 33549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2805:72:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33550, + "nodeType": "ExpressionStatement", + "src": "2805:72:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33552, + "name": "newResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33526, + "src": "2897:13:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33553, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2911:10:54", + "memberName": "unlockTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 32778, + "src": "2897:24:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 33556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 33554, + "name": "warpTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33503, + "src": "2923:8:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 33555, + "name": "LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33336, + "src": "2934:11:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2923:22:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 33551, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34105, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "2888:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 33557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2888:58:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33558, + "nodeType": "ExpressionStatement", + "src": "2888:58:54" + } + ] + }, + "functionSelector": "e1227080", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testResolutionOverride", + "nameLocation": "2082:22:54", + "parameters": { + "id": 33472, + "nodeType": "ParameterList", + "parameters": [], + "src": "2104:2:54" + }, + "returnParameters": { + "id": 33473, + "nodeType": "ParameterList", + "parameters": [], + "src": "2114:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33584, + "nodeType": "FunctionDefinition", + "src": "2959:237:54", + "nodes": [], + "body": { + "id": 33583, + "nodeType": "Block", + "src": "3019:177:54", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33563, + "name": "executedResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34061, + "src": "3029:18:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3029:20:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33565, + "nodeType": "ExpressionStatement", + "src": "3029:20:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33569, + "name": "ResolutionIsExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32739, + "src": "3076:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3097:8:54", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "3076:29:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 33566, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "3060:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3063:12:54", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "3060:15:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 33571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3060:46:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33572, + "nodeType": "ExpressionStatement", + "src": "3060:46:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33576, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "3144:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 33577, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "3156:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "hexValue": "697066733a2f2f", + "id": 33578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3165:9:54", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe", + "typeString": "literal_string \"ipfs://\"" + }, + "value": "ipfs://" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33579, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "3176:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3176:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe", + "typeString": "literal_string \"ipfs://\"" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33573, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "3116:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3127:16:54", + "memberName": "submitResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30850, + "src": "3116:27:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_string_memory_ptr_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (contract IArbitrable,bytes32,string memory,struct PositionParams memory[] memory) external returns (bytes32)" + } + }, + "id": 33581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3116:73:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33582, + "nodeType": "ExpressionStatement", + "src": "3116:73:54" + } + ] + }, + "functionSelector": "2c653e99", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantSubmitNewResolutionAfterExecution", + "nameLocation": "2968:41:54", + "parameters": { + "id": 33561, + "nodeType": "ParameterList", + "parameters": [], + "src": "3009:2:54" + }, + "returnParameters": { + "id": 33562, + "nodeType": "ParameterList", + "parameters": [], + "src": "3019:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33625, + "nodeType": "FunctionDefinition", + "src": "3202:311:54", + "nodes": [], + "body": { + "id": 33624, + "nodeType": "Block", + "src": "3242:271:54", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33587, + "name": "submitResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33940, + "src": "3252:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3252:18:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33589, + "nodeType": "ExpressionStatement", + "src": "3252:18:54" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 33596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 33593, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "3289:5:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 33594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3295:9:54", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "3289:15:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 33595, + "name": "LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33336, + "src": "3307:11:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3289:29:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 33590, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "3281:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3284:4:54", + "memberName": "warp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9915, + "src": "3281:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 33597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3281:38:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33598, + "nodeType": "ExpressionStatement", + "src": "3281:38:54" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 33602, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "3363:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 33600, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "3338:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + "id": 33601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3349:13:54", + "memberName": "disputeStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 37118, + "src": "3338:24:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint8_$", + "typeString": "function (bytes32) view external returns (uint8)" + } + }, + "id": 33603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3338:33:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "31", + "id": 33604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3373:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 33599, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34105, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "3329:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 33605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3329:46:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33606, + "nodeType": "ExpressionStatement", + "src": "3329:46:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33610, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "3415:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 33611, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "3427:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33612, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "3436:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3436:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33607, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "3386:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3397:17:54", + "memberName": "executeResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30956, + "src": "3386:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (contract IArbitrable,bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 33614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3386:63:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33615, + "nodeType": "ExpressionStatement", + "src": "3386:63:54" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 33619, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "3494:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 33617, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "3469:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + "id": 33618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3480:13:54", + "memberName": "disputeStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 37118, + "src": "3469:24:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint8_$", + "typeString": "function (bytes32) view external returns (uint8)" + } + }, + "id": 33620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3469:33:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "32", + "id": 33621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3504:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 33616, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34105, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "3460:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 33622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3460:46:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33623, + "nodeType": "ExpressionStatement", + "src": "3460:46:54" + } + ] + }, + "functionSelector": "338499b2", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testExecuteResolution", + "nameLocation": "3211:21:54", + "parameters": { + "id": 33585, + "nodeType": "ParameterList", + "parameters": [], + "src": "3232:2:54" + }, + "returnParameters": { + "id": 33586, + "nodeType": "ParameterList", + "parameters": [], + "src": "3242:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33648, + "nodeType": "FunctionDefinition", + "src": "3519:219:54", + "nodes": [], + "body": { + "id": 33647, + "nodeType": "Block", + "src": "3575:163:54", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33628, + "name": "submitResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33940, + "src": "3585:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3585:18:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33630, + "nodeType": "ExpressionStatement", + "src": "3585:18:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33634, + "name": "ResolutionIsLocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32736, + "src": "3630:18:54", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3649:8:54", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "3630:27:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 33631, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "3614:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3617:12:54", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "3614:15:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 33636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3614:44:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33637, + "nodeType": "ExpressionStatement", + "src": "3614:44:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33641, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "3697:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 33642, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "3709:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33643, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "3718:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3718:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33638, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "3668:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3679:17:54", + "memberName": "executeResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30956, + "src": "3668:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (contract IArbitrable,bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 33645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3668:63:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33646, + "nodeType": "ExpressionStatement", + "src": "3668:63:54" + } + ] + }, + "functionSelector": "07842cfb", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantExecuteResolutionBeforeUnlock", + "nameLocation": "3528:37:54", + "parameters": { + "id": 33626, + "nodeType": "ParameterList", + "parameters": [], + "src": "3565:2:54" + }, + "returnParameters": { + "id": 33627, + "nodeType": "ParameterList", + "parameters": [], + "src": "3575:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33671, + "nodeType": "FunctionDefinition", + "src": "3744:220:54", + "nodes": [], + "body": { + "id": 33670, + "nodeType": "Block", + "src": "3796:168:54", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33651, + "name": "appealledResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34004, + "src": "3806:19:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3806:21:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33653, + "nodeType": "ExpressionStatement", + "src": "3806:21:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33657, + "name": "ResolutionIsAppealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32742, + "src": "3854:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3875:8:54", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "3854:29:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 33654, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "3838:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3841:12:54", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "3838:15:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 33659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3838:46:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33660, + "nodeType": "ExpressionStatement", + "src": "3838:46:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33664, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "3923:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 33665, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "3935:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33666, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "3944:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3944:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33661, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "3894:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3905:17:54", + "memberName": "executeResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30956, + "src": "3894:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (contract IArbitrable,bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 33668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3894:63:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33669, + "nodeType": "ExpressionStatement", + "src": "3894:63:54" + } + ] + }, + "functionSelector": "f3fddbf4", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantExecuteAppealedResolution", + "nameLocation": "3753:33:54", + "parameters": { + "id": 33649, + "nodeType": "ParameterList", + "parameters": [], + "src": "3786:2:54" + }, + "returnParameters": { + "id": 33650, + "nodeType": "ParameterList", + "parameters": [], + "src": "3796:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33694, + "nodeType": "FunctionDefinition", + "src": "3970:226:54", + "nodes": [], + "body": { + "id": 33693, + "nodeType": "Block", + "src": "4029:167:54", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33674, + "name": "executedResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34061, + "src": "4039:18:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4039:20:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33676, + "nodeType": "ExpressionStatement", + "src": "4039:20:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33680, + "name": "ResolutionIsExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32739, + "src": "4086:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4107:8:54", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "4086:29:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 33677, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "4070:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4073:12:54", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "4070:15:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 33682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4070:46:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33683, + "nodeType": "ExpressionStatement", + "src": "4070:46:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33687, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "4155:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 33688, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "4167:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33689, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "4176:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4176:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33684, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "4126:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4137:17:54", + "memberName": "executeResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30956, + "src": "4126:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (contract IArbitrable,bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 33691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4126:63:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33692, + "nodeType": "ExpressionStatement", + "src": "4126:63:54" + } + ] + }, + "functionSelector": "e1cee8b1", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantExecuteAlreadyExecutedResolution", + "nameLocation": "3979:40:54", + "parameters": { + "id": 33672, + "nodeType": "ParameterList", + "parameters": [], + "src": "4019:2:54" + }, + "returnParameters": { + "id": 33673, + "nodeType": "ParameterList", + "parameters": [], + "src": "4029:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33737, + "nodeType": "FunctionDefinition", + "src": "4202:348:54", + "nodes": [], + "body": { + "id": 33736, + "nodeType": "Block", + "src": "4254:296:54", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33697, + "name": "submitResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33940, + "src": "4264:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4264:18:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33699, + "nodeType": "ExpressionStatement", + "src": "4264:18:54" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 33706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 33703, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "4301:5:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 33704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4307:9:54", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4301:15:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 33705, + "name": "LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33336, + "src": "4319:11:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4301:29:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 33700, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "4293:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4296:4:54", + "memberName": "warp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9915, + "src": "4293:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 33707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4293:38:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33708, + "nodeType": "ExpressionStatement", + "src": "4293:38:54" + }, + { + "assignments": [ + 33713 + ], + "declarations": [ + { + "constant": false, + "id": 33713, + "mutability": "mutable", + "name": "newSettlement", + "nameLocation": "4365:13:54", + "nodeType": "VariableDeclaration", + "scope": 33736, + "src": "4341:37:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 33711, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33710, + "name": "PositionParams", + "nameLocations": [ + "4341:14:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "4341:14:54" + }, + "referencedDeclaration": 32681, + "src": "4341:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 33712, + "nodeType": "ArrayTypeName", + "src": "4341:16:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "id": 33720, + "initialValue": { + "arguments": [ + { + "hexValue": "32", + "id": 33718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4402:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 33717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4381:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct PositionParams memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 33715, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33714, + "name": "PositionParams", + "nameLocations": [ + "4385:14:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "4385:14:54" + }, + "referencedDeclaration": 32681, + "src": "4385:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 33716, + "nodeType": "ArrayTypeName", + "src": "4385:16:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + } + }, + "id": 33719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4381:23:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4341:63:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33724, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "4431:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4460:8:54", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "4431:37:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 33721, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "4415:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4418:12:54", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "4415:15:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 33726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4415:54:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33727, + "nodeType": "ExpressionStatement", + "src": "4415:54:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33731, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "4508:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 33732, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "4520:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 33733, + "name": "newSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33713, + "src": "4529:13:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33728, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "4479:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4490:17:54", + "memberName": "executeResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30956, + "src": "4479:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (contract IArbitrable,bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 33734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4479:64:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33735, + "nodeType": "ExpressionStatement", + "src": "4479:64:54" + } + ] + }, + "functionSelector": "2d16568a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantExecuteResolutionMismatch", + "nameLocation": "4211:33:54", + "parameters": { + "id": 33695, + "nodeType": "ParameterList", + "parameters": [], + "src": "4244:2:54" + }, + "returnParameters": { + "id": 33696, + "nodeType": "ParameterList", + "parameters": [], + "src": "4254:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33772, + "nodeType": "FunctionDefinition", + "src": "4556:358:54", + "nodes": [], + "body": { + "id": 33771, + "nodeType": "Block", + "src": "4613:301:54", + "nodes": [], + "statements": [ + { + "assignments": [ + 33741 + ], + "declarations": [ + { + "constant": false, + "id": 33741, + "mutability": "mutable", + "name": "id", + "nameLocation": "4631:2:54", + "nodeType": "VariableDeclaration", + "scope": 33771, + "src": "4623:10:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33740, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4623:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 33744, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33742, + "name": "appealledResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34004, + "src": "4636:19:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4636:21:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4623:34:54" + }, + { + "assignments": [ + 33746 + ], + "declarations": [ + { + "constant": false, + "id": 33746, + "mutability": "mutable", + "name": "encoding", + "nameLocation": "4675:8:54", + "nodeType": "VariableDeclaration", + "scope": 33771, + "src": "4667:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33745, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4667:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 33754, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33750, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "4707:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4707:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33748, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4696:3:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 33749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4700:6:54", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4696:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 33752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4696:24:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 33747, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4686:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 33753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4686:35:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4667:54:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33758, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33741, + "src": "4761:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 33759, + "name": "encoding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33746, + "src": "4765:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 33755, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "4732:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4743:17:54", + "memberName": "endorseResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 31148, + "src": "4732:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32) external" + } + }, + "id": 33760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4732:42:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33761, + "nodeType": "ExpressionStatement", + "src": "4732:42:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33765, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "4873:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 33766, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "4885:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33767, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "4894:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4894:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33762, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "4844:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4855:17:54", + "memberName": "executeResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30956, + "src": "4844:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (contract IArbitrable,bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 33769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4844:63:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33770, + "nodeType": "ExpressionStatement", + "src": "4844:63:54" + } + ] + }, + "functionSelector": "466417b9", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCanAlwaysExecuteEndorsedResolution", + "nameLocation": "4565:38:54", + "parameters": { + "id": 33738, + "nodeType": "ParameterList", + "parameters": [], + "src": "4603:2:54" + }, + "returnParameters": { + "id": 33739, + "nodeType": "ParameterList", + "parameters": [], + "src": "4613:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33800, + "nodeType": "FunctionDefinition", + "src": "4920:256:54", + "nodes": [], + "body": { + "id": 33799, + "nodeType": "Block", + "src": "4959:217:54", + "nodes": [], + "statements": [ + { + "assignments": [ + 33776 + ], + "declarations": [ + { + "constant": false, + "id": 33776, + "mutability": "mutable", + "name": "id", + "nameLocation": "4977:2:54", + "nodeType": "VariableDeclaration", + "scope": 33799, + "src": "4969:10:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33775, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4969:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 33779, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33777, + "name": "submitResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33940, + "src": "4982:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4982:18:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4969:31:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33781, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33776, + "src": "5027:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 33780, + "name": "appealResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33989, + "src": "5010:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 33782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5010:20:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33783, + "nodeType": "ExpressionStatement", + "src": "5010:20:54" + }, + { + "assignments": [ + 33786 + ], + "declarations": [ + { + "constant": false, + "id": 33786, + "mutability": "mutable", + "name": "resolution", + "nameLocation": "5059:10:54", + "nodeType": "VariableDeclaration", + "scope": 33799, + "src": "5041:28:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 33785, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33784, + "name": "Resolution", + "nameLocations": [ + "5041:10:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "5041:10:54" + }, + "referencedDeclaration": 32779, + "src": "5041:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "id": 33791, + "initialValue": { + "arguments": [ + { + "id": 33789, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33776, + "src": "5101:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 33787, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "5072:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5083:17:54", + "memberName": "resolutionDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 30711, + "src": "5072:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Resolution_$32779_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct Resolution memory)" + } + }, + "id": 33790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5072:32:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5041:63:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33793, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33786, + "src": "5124:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33794, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5135:6:54", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "5124:17:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + { + "expression": { + "id": 33795, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "5143:16:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 33796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5160:8:54", + "memberName": "Appealed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32762, + "src": "5143:25:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + ], + "id": 33792, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34105, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 34105, + "src": "5115:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_ResolutionStatus_$32765_$_t_enum$_ResolutionStatus_$32765_$returns$__$", + "typeString": "function (enum ResolutionStatus,enum ResolutionStatus)" + } + }, + "id": 33797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5115:54:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33798, + "nodeType": "ExpressionStatement", + "src": "5115:54:54" + } + ] + }, + "functionSelector": "b68c1319", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testAppealResolution", + "nameLocation": "4929:20:54", + "parameters": { + "id": 33773, + "nodeType": "ParameterList", + "parameters": [], + "src": "4949:2:54" + }, + "returnParameters": { + "id": 33774, + "nodeType": "ParameterList", + "parameters": [], + "src": "4959:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33862, + "nodeType": "FunctionDefinition", + "src": "5182:669:54", + "nodes": [], + "body": { + "id": 33861, + "nodeType": "Block", + "src": "5225:626:54", + "nodes": [], + "statements": [ + { + "assignments": [ + 33804 + ], + "declarations": [ + { + "constant": false, + "id": 33804, + "mutability": "mutable", + "name": "id", + "nameLocation": "5243:2:54", + "nodeType": "VariableDeclaration", + "scope": 33861, + "src": "5235:10:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33803, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5235:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 33807, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33805, + "name": "submitResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33940, + "src": "5248:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5248:18:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5235:31:54" + }, + { + "assignments": [ + 33812 + ], + "declarations": [ + { + "constant": false, + "id": 33812, + "mutability": "mutable", + "name": "permit", + "nameLocation": "5322:6:54", + "nodeType": "VariableDeclaration", + "scope": 33861, + "src": "5277:51:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 33811, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33810, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "5277:18:54", + "5296:18:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "5277:37:54" + }, + "referencedDeclaration": 28469, + "src": "5277:37:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + } + ], + "id": 33822, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 33816, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "5379:6:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + ], + "id": 33815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5371:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33814, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5371:7:54", + "typeDescriptions": {} + } + }, + "id": 33817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5371:15:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 33818, + "name": "appeals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33346, + "src": "5400:7:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 33819, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5408:6:54", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "5400:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 33820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5428:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 33813, + "name": "defaultERC20PermitTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36915, + "src": "5331:26:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$", + "typeString": "function (address,uint256,uint256) view returns (struct ISignatureTransfer.PermitTransferFrom memory)" + } + }, + "id": 33821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5331:108:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5277:162:54" + }, + { + "assignments": [ + 33824 + ], + "declarations": [ + { + "constant": false, + "id": 33824, + "mutability": "mutable", + "name": "signature", + "nameLocation": "5462:9:54", + "nodeType": "VariableDeclaration", + "scope": 33861, + "src": "5449:22:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 33823, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5449:5:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 33834, + "initialValue": { + "arguments": [ + { + "id": 33826, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33812, + "src": "5514:6:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "arguments": [ + { + "id": 33829, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "5542:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + ], + "id": 33828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5534:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33827, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5534:7:54", + "typeDescriptions": {} + } + }, + "id": 33830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5534:19:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "3078423042", + "id": 33831, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5567:5:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + }, + "value": "0xB0B" + }, + { + "id": 33832, + "name": "DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33338, + "src": "5586:16:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 33825, + "name": "getPermitTransferSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36781, + "src": "5474:26:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct ISignatureTransfer.PermitTransferFrom memory,address,uint256,bytes32) pure returns (bytes memory)" + } + }, + "id": 33833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5474:138:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5449:163:54" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "307844454144", + "id": 33840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5708:6:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_57005_by_1", + "typeString": "int_const 57005" + }, + "value": "0xDEAD" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_57005_by_1", + "typeString": "int_const 57005" + } + ], + "id": 33839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5700:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33838, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5700:7:54", + "typeDescriptions": {} + } + }, + "id": 33841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5700:15:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 33835, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "5691:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5694:5:54", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "5691:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 33842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5691:25:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33843, + "nodeType": "ExpressionStatement", + "src": "5691:25:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33847, + "name": "NoPartOfSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32748, + "src": "5742:18:54", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5761:8:54", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "5742:27:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 33844, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "5726:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5729:12:54", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "5726:15:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 33849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5726:44:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33850, + "nodeType": "ExpressionStatement", + "src": "5726:44:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33854, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33804, + "src": "5808:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33855, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "5812:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5812:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + { + "id": 33857, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33812, + "src": "5826:6:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "id": 33858, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33824, + "src": "5834:9:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + }, + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 33851, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "5780:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5791:16:54", + "memberName": "appealResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 31089, + "src": "5780:27:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory,struct ISignatureTransfer.PermitTransferFrom memory,bytes memory) external" + } + }, + "id": 33859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5780:64:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33860, + "nodeType": "ExpressionStatement", + "src": "5780:64:54" + } + ] + }, + "functionSelector": "a86c9ae7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testOnlyPartiesCanAppeal", + "nameLocation": "5191:24:54", + "parameters": { + "id": 33801, + "nodeType": "ParameterList", + "parameters": [], + "src": "5215:2:54" + }, + "returnParameters": { + "id": 33802, + "nodeType": "ParameterList", + "parameters": [], + "src": "5225:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33886, + "nodeType": "FunctionDefinition", + "src": "5857:229:54", + "nodes": [], + "body": { + "id": 33885, + "nodeType": "Block", + "src": "5897:189:54", + "nodes": [], + "statements": [ + { + "assignments": [ + 33866 + ], + "declarations": [ + { + "constant": false, + "id": 33866, + "mutability": "mutable", + "name": "id", + "nameLocation": "5915:2:54", + "nodeType": "VariableDeclaration", + "scope": 33885, + "src": "5907:10:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33865, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5907:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 33869, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33867, + "name": "endorsedResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34032, + "src": "5920:18:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5920:20:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5907:33:54" + }, + { + "assignments": [ + 33872 + ], + "declarations": [ + { + "constant": false, + "id": 33872, + "mutability": "mutable", + "name": "resolution", + "nameLocation": "5969:10:54", + "nodeType": "VariableDeclaration", + "scope": 33885, + "src": "5951:28:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution" + }, + "typeName": { + "id": 33871, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33870, + "name": "Resolution", + "nameLocations": [ + "5951:10:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32779, + "src": "5951:10:54" + }, + "referencedDeclaration": 32779, + "src": "5951:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_storage_ptr", + "typeString": "struct Resolution" + } + }, + "visibility": "internal" + } + ], + "id": 33877, + "initialValue": { + "arguments": [ + { + "id": 33875, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33866, + "src": "6011:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 33873, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "5982:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5993:17:54", + "memberName": "resolutionDetails", + "nodeType": "MemberAccess", + "referencedDeclaration": 30711, + "src": "5982:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Resolution_$32779_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct Resolution memory)" + } + }, + "id": 33876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5982:32:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5951:63:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 33879, + "name": "resolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33872, + "src": "6034:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resolution_$32779_memory_ptr", + "typeString": "struct Resolution memory" + } + }, + "id": 33880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6045:6:54", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32769, + "src": "6034:17:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + { + "expression": { + "id": 33881, + "name": "ResolutionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32765, + "src": "6053:16:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_ResolutionStatus_$32765_$", + "typeString": "type(enum ResolutionStatus)" + } + }, + "id": 33882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6070:8:54", + "memberName": "Endorsed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32763, + "src": "6053:25:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + ], + "id": 33878, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34105, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 34105, + "src": "6025:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_ResolutionStatus_$32765_$_t_enum$_ResolutionStatus_$32765_$returns$__$", + "typeString": "function (enum ResolutionStatus,enum ResolutionStatus)" + } + }, + "id": 33883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6025:54:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33884, + "nodeType": "ExpressionStatement", + "src": "6025:54:54" + } + ] + }, + "functionSelector": "4f2d277f", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testEndorseResolution", + "nameLocation": "5866:21:54", + "parameters": { + "id": 33863, + "nodeType": "ParameterList", + "parameters": [], + "src": "5887:2:54" + }, + "returnParameters": { + "id": 33864, + "nodeType": "ParameterList", + "parameters": [], + "src": "5897:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 33923, + "nodeType": "FunctionDefinition", + "src": "6174:243:54", + "nodes": [], + "body": { + "id": 33922, + "nodeType": "Block", + "src": "6256:161:54", + "nodes": [], + "statements": [ + { + "expression": { + "id": 33900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33893, + "name": "settlement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33891, + "src": "6266:11:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "32", + "id": 33898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6301:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 33897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6280:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct PositionParams memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 33895, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33894, + "name": "PositionParams", + "nameLocations": [ + "6284:14:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "6284:14:54" + }, + "referencedDeclaration": 32681, + "src": "6284:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 33896, + "nodeType": "ArrayTypeName", + "src": "6284:16:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + } + }, + "id": 33899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6280:23:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "src": "6266:37:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 33901, + "nodeType": "ExpressionStatement", + "src": "6266:37:54" + }, + { + "expression": { + "id": 33911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 33902, + "name": "settlement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33891, + "src": "6313:11:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 33904, + "indexExpression": { + "hexValue": "30", + "id": 33903, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6325:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6313:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 33906, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "6345:3:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_rational_3000000000000000000_by_1", + "typeString": "int_const 3000000000000000000" + }, + "id": 33909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "33", + "id": 33907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6350:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "31653138", + "id": 33908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6354:4:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "value": "1e18" + }, + "src": "6350:8:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_3000000000000000000_by_1", + "typeString": "int_const 3000000000000000000" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_3000000000000000000_by_1", + "typeString": "int_const 3000000000000000000" + } + ], + "id": 33905, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "6330:14:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 33910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6330:29:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "6313:46:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 33912, + "nodeType": "ExpressionStatement", + "src": "6313:46:54" + }, + { + "expression": { + "id": 33920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 33913, + "name": "settlement_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33891, + "src": "6369:11:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 33915, + "indexExpression": { + "hexValue": "31", + "id": 33914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6381:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6369:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 33917, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "6401:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "30", + "id": 33918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6408:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 33916, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "6386:14:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 33919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6386:24:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "6369:41:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 33921, + "nodeType": "ExpressionStatement", + "src": "6369:41:54" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "settlement", + "nameLocation": "6183:10:54", + "parameters": { + "id": 33887, + "nodeType": "ParameterList", + "parameters": [], + "src": "6193:2:54" + }, + "returnParameters": { + "id": 33892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33891, + "mutability": "mutable", + "name": "settlement_", + "nameLocation": "6243:11:54", + "nodeType": "VariableDeclaration", + "scope": 33923, + "src": "6219:35:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 33889, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33888, + "name": "PositionParams", + "nameLocations": [ + "6219:14:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "6219:14:54" + }, + "referencedDeclaration": 32681, + "src": "6219:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 33890, + "nodeType": "ArrayTypeName", + "src": "6219:16:54", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "6218:37:54" + }, + "scope": 34106, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 33940, + "nodeType": "FunctionDefinition", + "src": "6423:156:54", + "nodes": [], + "body": { + "id": 33939, + "nodeType": "Block", + "src": "6481:98:54", + "nodes": [], + "statements": [ + { + "expression": { + "id": 33937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33928, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33926, + "src": "6491:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 33931, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "6524:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 33932, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "6536:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 33933, + "name": "METADATA_URI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33341, + "src": "6545:12:54", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33934, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "6559:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6559:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 33929, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "6496:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6507:16:54", + "memberName": "submitResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30850, + "src": "6496:27:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_string_memory_ptr_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (contract IArbitrable,bytes32,string memory,struct PositionParams memory[] memory) external returns (bytes32)" + } + }, + "id": 33936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6496:76:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6491:81:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33938, + "nodeType": "ExpressionStatement", + "src": "6491:81:54" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "submitResolution", + "nameLocation": "6432:16:54", + "parameters": { + "id": 33924, + "nodeType": "ParameterList", + "parameters": [], + "src": "6448:2:54" + }, + "returnParameters": { + "id": 33927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33926, + "mutability": "mutable", + "name": "id", + "nameLocation": "6477:2:54", + "nodeType": "VariableDeclaration", + "scope": 33940, + "src": "6469:10:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33925, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6469:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6468:12:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 33989, + "nodeType": "FunctionDefinition", + "src": "6585:497:54", + "nodes": [], + "body": { + "id": 33988, + "nodeType": "Block", + "src": "6632:450:54", + "nodes": [], + "statements": [ + { + "assignments": [ + 33949 + ], + "declarations": [ + { + "constant": false, + "id": 33949, + "mutability": "mutable", + "name": "permit", + "nameLocation": "6687:6:54", + "nodeType": "VariableDeclaration", + "scope": 33988, + "src": "6642:51:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 33948, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 33947, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "6642:18:54", + "6661:18:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "6642:37:54" + }, + "referencedDeclaration": 28469, + "src": "6642:37:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + } + ], + "id": 33959, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 33953, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "6744:6:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + ], + "id": 33952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6736:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33951, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6736:7:54", + "typeDescriptions": {} + } + }, + "id": 33954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6736:15:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 33955, + "name": "appeals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33346, + "src": "6765:7:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 33956, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6773:6:54", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "6765:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "30", + "id": 33957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6793:1:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 33950, + "name": "defaultERC20PermitTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36915, + "src": "6696:26:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$", + "typeString": "function (address,uint256,uint256) view returns (struct ISignatureTransfer.PermitTransferFrom memory)" + } + }, + "id": 33958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6696:108:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6642:162:54" + }, + { + "assignments": [ + 33961 + ], + "declarations": [ + { + "constant": false, + "id": 33961, + "mutability": "mutable", + "name": "signature", + "nameLocation": "6827:9:54", + "nodeType": "VariableDeclaration", + "scope": 33988, + "src": "6814:22:54", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 33960, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6814:5:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 33971, + "initialValue": { + "arguments": [ + { + "id": 33963, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33949, + "src": "6879:6:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "arguments": [ + { + "id": 33966, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "6907:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + ], + "id": 33965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6899:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33964, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6899:7:54", + "typeDescriptions": {} + } + }, + "id": 33967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6899:19:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "3078423042", + "id": 33968, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6932:5:54", + "typeDescriptions": { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + }, + "value": "0xB0B" + }, + { + "id": 33969, + "name": "DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33338, + "src": "6951:16:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 33962, + "name": "getPermitTransferSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36781, + "src": "6839:26:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct ISignatureTransfer.PermitTransferFrom memory,address,uint256,bytes32) pure returns (bytes memory)" + } + }, + "id": 33970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6839:138:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6814:163:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33975, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "6997:3:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 33972, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "6988:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 33974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6991:5:54", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "6988:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 33976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6988:13:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33977, + "nodeType": "ExpressionStatement", + "src": "6988:13:54" + }, + { + "expression": { + "arguments": [ + { + "id": 33981, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33942, + "src": "7039:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33982, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "7043:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 33983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7043:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + { + "id": 33984, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33949, + "src": "7057:6:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "id": 33985, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33961, + "src": "7065:9:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + }, + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 33978, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "7011:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 33980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7022:16:54", + "memberName": "appealResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 31089, + "src": "7011:27:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory,struct ISignatureTransfer.PermitTransferFrom memory,bytes memory) external" + } + }, + "id": 33986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7011:64:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 33987, + "nodeType": "ExpressionStatement", + "src": "7011:64:54" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "appealResolution", + "nameLocation": "6594:16:54", + "parameters": { + "id": 33943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33942, + "mutability": "mutable", + "name": "id", + "nameLocation": "6619:2:54", + "nodeType": "VariableDeclaration", + "scope": 33989, + "src": "6611:10:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33941, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6611:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6610:12:54" + }, + "returnParameters": { + "id": 33944, + "nodeType": "ParameterList", + "parameters": [], + "src": "6632:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 34004, + "nodeType": "FunctionDefinition", + "src": "7088:131:54", + "nodes": [], + "body": { + "id": 34003, + "nodeType": "Block", + "src": "7149:70:54", + "nodes": [], + "statements": [ + { + "expression": { + "id": 33997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 33994, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33992, + "src": "7159:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 33995, + "name": "submitResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33940, + "src": "7164:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 33996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7164:18:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7159:23:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 33998, + "nodeType": "ExpressionStatement", + "src": "7159:23:54" + }, + { + "expression": { + "arguments": [ + { + "id": 34000, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33992, + "src": "7209:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 33999, + "name": "appealResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33989, + "src": "7192:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7192:20:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34002, + "nodeType": "ExpressionStatement", + "src": "7192:20:54" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "appealledResolution", + "nameLocation": "7097:19:54", + "parameters": { + "id": 33990, + "nodeType": "ParameterList", + "parameters": [], + "src": "7116:2:54" + }, + "returnParameters": { + "id": 33993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33992, + "mutability": "mutable", + "name": "id", + "nameLocation": "7145:2:54", + "nodeType": "VariableDeclaration", + "scope": 34004, + "src": "7137:10:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 33991, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7137:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7136:12:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 34032, + "nodeType": "FunctionDefinition", + "src": "7225:220:54", + "nodes": [], + "body": { + "id": 34031, + "nodeType": "Block", + "src": "7285:160:54", + "nodes": [], + "statements": [ + { + "expression": { + "id": 34012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34009, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34007, + "src": "7295:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34010, + "name": "appealledResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34004, + "src": "7300:19:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7300:21:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7295:26:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 34013, + "nodeType": "ExpressionStatement", + "src": "7295:26:54" + }, + { + "assignments": [ + 34015 + ], + "declarations": [ + { + "constant": false, + "id": 34015, + "mutability": "mutable", + "name": "encoding", + "nameLocation": "7339:8:54", + "nodeType": "VariableDeclaration", + "scope": 34031, + "src": "7331:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34014, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7331:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34023, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34019, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "7371:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 34020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7371:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 34017, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7360:3:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 34018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7364:6:54", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "7360:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 34021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7360:24:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 34016, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "7350:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 34022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7350:35:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7331:54:54" + }, + { + "expression": { + "arguments": [ + { + "id": 34027, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34007, + "src": "7425:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 34028, + "name": "encoding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34015, + "src": "7429:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34024, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "7396:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 34026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7407:17:54", + "memberName": "endorseResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 31148, + "src": "7396:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32) external" + } + }, + "id": 34029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7396:42:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34030, + "nodeType": "ExpressionStatement", + "src": "7396:42:54" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "endorsedResolution", + "nameLocation": "7234:18:54", + "parameters": { + "id": 34005, + "nodeType": "ParameterList", + "parameters": [], + "src": "7252:2:54" + }, + "returnParameters": { + "id": 34008, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34007, + "mutability": "mutable", + "name": "id", + "nameLocation": "7281:2:54", + "nodeType": "VariableDeclaration", + "scope": 34032, + "src": "7273:10:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34006, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7273:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7272:12:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 34061, + "nodeType": "FunctionDefinition", + "src": "7451:221:54", + "nodes": [], + "body": { + "id": 34060, + "nodeType": "Block", + "src": "7511:161:54", + "nodes": [], + "statements": [ + { + "expression": { + "id": 34040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34037, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34035, + "src": "7521:2:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34038, + "name": "submitResolution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33940, + "src": "7526:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7526:18:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7521:23:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 34041, + "nodeType": "ExpressionStatement", + "src": "7521:23:54" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 34045, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "7562:5:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 34046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7568:9:54", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "7562:15:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 34047, + "name": "LOCK_PERIOD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33336, + "src": "7580:11:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7562:29:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 34042, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "7554:2:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7557:4:54", + "memberName": "warp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9915, + "src": "7554:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 34049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7554:38:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34050, + "nodeType": "ExpressionStatement", + "src": "7554:38:54" + }, + { + "expression": { + "arguments": [ + { + "id": 34054, + "name": "arbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33333, + "src": "7631:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + } + }, + { + "id": 34055, + "name": "dispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33343, + "src": "7643:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34056, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33923, + "src": "7652:10:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 34057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7652:12:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockArbitrable_$37194", + "typeString": "contract MockArbitrable" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 34051, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33330, + "src": "7602:10:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Arbitrator_$31189", + "typeString": "contract Arbitrator" + } + }, + "id": 34053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7613:17:54", + "memberName": "executeResolution", + "nodeType": "MemberAccess", + "referencedDeclaration": 30956, + "src": "7602:28:54", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IArbitrable_$32932_$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (contract IArbitrable,bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 34058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7602:63:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34059, + "nodeType": "ExpressionStatement", + "src": "7602:63:54" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "executedResolution", + "nameLocation": "7460:18:54", + "parameters": { + "id": 34033, + "nodeType": "ParameterList", + "parameters": [], + "src": "7478:2:54" + }, + "returnParameters": { + "id": 34036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34035, + "mutability": "mutable", + "name": "id", + "nameLocation": "7507:2:54", + "nodeType": "VariableDeclaration", + "scope": 34061, + "src": "7499:10:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34034, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7499:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7498:12:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 34105, + "nodeType": "FunctionDefinition", + "src": "7678:334:54", + "nodes": [], + "body": { + "id": 34104, + "nodeType": "Block", + "src": "7745:267:54", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 34072, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34064, + "src": "7767:1:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + ], + "id": 34071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7759:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 34070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7759:7:54", + "typeDescriptions": {} + } + }, + "id": 34073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7759:10:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "id": 34076, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34067, + "src": "7781:1:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + ], + "id": 34075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7773:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 34074, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7773:7:54", + "typeDescriptions": {} + } + }, + "id": 34077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7773:10:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7759:24:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 34103, + "nodeType": "IfStatement", + "src": "7755:251:54", + "trueBody": { + "id": 34102, + "nodeType": "Block", + "src": "7785:221:54", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b5265736f6c7574696f6e5374617475735d", + "id": 34080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7808:48:54", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_718a574e0b0abf56d84f1c6835401b3ea3b46ecbb309a4d965908e811a821522", + "typeString": "literal_string \"Error: a == b not satisfied [ResolutionStatus]\"" + }, + "value": "Error: a == b not satisfied [ResolutionStatus]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_718a574e0b0abf56d84f1c6835401b3ea3b46ecbb309a4d965908e811a821522", + "typeString": "literal_string \"Error: a == b not satisfied [ResolutionStatus]\"" + } + ], + "id": 34079, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "7804:3:54", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 34081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7804:53:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34082, + "nodeType": "EmitStatement", + "src": "7799:58:54" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 34084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7891:12:54", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "arguments": [ + { + "id": 34087, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34067, + "src": "7913:1:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + ], + "id": 34086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7905:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 34085, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7905:7:54", + "typeDescriptions": {} + } + }, + "id": 34088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7905:10:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34083, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "7876:14:54", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 34089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7876:40:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34090, + "nodeType": "EmitStatement", + "src": "7871:45:54" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 34092, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7950:12:54", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "arguments": [ + { + "id": 34095, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34064, + "src": "7972:1:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + ], + "id": 34094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7964:7:54", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 34093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7964:7:54", + "typeDescriptions": {} + } + }, + "id": 34096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7964:10:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34091, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "7935:14:54", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 34097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7935:40:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34098, + "nodeType": "EmitStatement", + "src": "7930:45:54" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34099, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "7989:4:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 34100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7989:6:54", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34101, + "nodeType": "ExpressionStatement", + "src": "7989:6:54" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "7687:8:54", + "parameters": { + "id": 34068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34064, + "mutability": "mutable", + "name": "a", + "nameLocation": "7713:1:54", + "nodeType": "VariableDeclaration", + "scope": 34105, + "src": "7696:18:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "typeName": { + "id": 34063, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34062, + "name": "ResolutionStatus", + "nameLocations": [ + "7696:16:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32765, + "src": "7696:16:54" + }, + "referencedDeclaration": 32765, + "src": "7696:16:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34067, + "mutability": "mutable", + "name": "b", + "nameLocation": "7733:1:54", + "nodeType": "VariableDeclaration", + "scope": 34105, + "src": "7716:18:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + }, + "typeName": { + "id": 34066, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34065, + "name": "ResolutionStatus", + "nameLocations": [ + "7716:16:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32765, + "src": "7716:16:54" + }, + "referencedDeclaration": 32765, + "src": "7716:16:54", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ResolutionStatus_$32765", + "typeString": "enum ResolutionStatus" + } + }, + "visibility": "internal" + } + ], + "src": "7695:40:54" + }, + "returnParameters": { + "id": 34069, + "nodeType": "ParameterList", + "parameters": [], + "src": "7745:0:54" + }, + "scope": 34106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 33320, + "name": "Test", + "nameLocations": [ + "801:4:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8943, + "src": "801:4:54" + }, + "id": 33321, + "nodeType": "InheritanceSpecifier", + "src": "801:4:54" + }, + { + "baseName": { + "id": 33322, + "name": "TestConstants", + "nameLocations": [ + "807:13:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36568, + "src": "807:13:54" + }, + "id": 33323, + "nodeType": "InheritanceSpecifier", + "src": "807:13:54" + }, + { + "baseName": { + "id": 33324, + "name": "TokenProvider", + "nameLocations": [ + "822:13:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 37103, + "src": "822:13:54" + }, + "id": 33325, + "nodeType": "InheritanceSpecifier", + "src": "822:13:54" + }, + { + "baseName": { + "id": 33326, + "name": "PermitSignature", + "nameLocations": [ + "837:15:54" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36982, + "src": "837:15:54" + }, + "id": 33327, + "nodeType": "InheritanceSpecifier", + "src": "837:15:54" + } + ], + "canonicalName": "ArbitratorTest", + "contractDependencies": [ + 27750, + 29549, + 31189, + 37194 + ], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 34106, + 36982, + 37103, + 36568, + 8943, + 1846, + 1843, + 8901, + 5754, + 5365, + 3793, + 3129, + 1786 + ], + "name": "ArbitratorTest", + "nameLocation": "783:14:54", + "scope": 34107, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "test/CollateralAgreement.t.sol": { + "id": 55, + "ast": { + "absolutePath": "test/CollateralAgreement.t.sol", + "id": 36339, + "exportedSymbols": { + "AgreementData": [ + 32728 + ], + "AgreementIsDisputed": [ + 32634 + ], + "AgreementIsFinalized": [ + 32637 + ], + "AgreementNotDisputed": [ + 32643 + ], + "AgreementNotFinalized": [ + 32640 + ], + "AgreementParams": [ + 32708 + ], + "AgreementStatus": [ + 32674 + ], + "AlreadyExistentAgreement": [ + 32631 + ], + "CollateralAgreementFramework": [ + 32623 + ], + "CollateralAgreementFrameworkTest": [ + 36338 + ], + "CriteriaProvider": [ + 36498 + ], + "CriteriaResolver": [ + 32789 + ], + "DepositConfig": [ + 33295 + ], + "ERC20": [ + 29937 + ], + "IAllowanceTransfer": [ + 28400 + ], + "ISignatureTransfer": [ + 28568 + ], + "InvalidBalance": [ + 32661 + ], + "InvalidCriteria": [ + 32655 + ], + "InvalidCriteriaProof": [ + 33035 + ], + "InvalidPermit": [ + 32658 + ], + "NoPartOfAgreement": [ + 32646 + ], + "NonExistentAgreement": [ + 32628 + ], + "OnlyArbitrator": [ + 32914 + ], + "PartyAlreadyFinalized": [ + 32652 + ], + "PartyAlreadyJoined": [ + 32649 + ], + "Permit2": [ + 27750 + ], + "PermitHash": [ + 29301 + ], + "PermitSignature": [ + 36982 + ], + "PositionData": [ + 32695 + ], + "PositionParams": [ + 32681 + ], + "PositionStatus": [ + 32669 + ], + "SafeCast160": [ + 29332 + ], + "SettlementBalanceMustMatch": [ + 32754 + ], + "SettlementPositionsMustMatch": [ + 32751 + ], + "Test": [ + 8943 + ], + "TokenPair": [ + 36582 + ], + "TokenProvider": [ + 37103 + ] + }, + "nodeType": "SourceUnit", + "src": "45:22071:55", + "nodes": [ + { + "id": 34108, + "nodeType": "PragmaDirective", + "src": "45:24:55", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 34110, + "nodeType": "ImportDirective", + "src": "71:42:55", + "nodes": [], + "absolutePath": "lib/forge-std/src/Test.sol", + "file": "forge-std/Test.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 8944, + "symbolAliases": [ + { + "foreign": { + "id": 34109, + "name": "Test", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8943, + "src": "80:4:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34112, + "nodeType": "ImportDirective", + "src": "115:83:55", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/IAllowanceTransfer.sol", + "file": "permit2/src/interfaces/IAllowanceTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 28401, + "symbolAliases": [ + { + "foreign": { + "id": 34111, + "name": "IAllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28400, + "src": "124:18:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34114, + "nodeType": "ImportDirective", + "src": "199:83:55", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "file": "permit2/src/interfaces/ISignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 28569, + "symbolAliases": [ + { + "foreign": { + "id": 34113, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "208:18:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34116, + "nodeType": "ImportDirective", + "src": "284:68:55", + "nodes": [], + "absolutePath": "lib/permit2/src/libraries/SafeCast160.sol", + "file": "permit2/src/libraries/SafeCast160.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 29333, + "symbolAliases": [ + { + "foreign": { + "id": 34115, + "name": "SafeCast160", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29332, + "src": "293:11:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34118, + "nodeType": "ImportDirective", + "src": "353:66:55", + "nodes": [], + "absolutePath": "lib/permit2/src/libraries/PermitHash.sol", + "file": "permit2/src/libraries/PermitHash.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 29302, + "symbolAliases": [ + { + "foreign": { + "id": 34117, + "name": "PermitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29301, + "src": "362:10:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34120, + "nodeType": "ImportDirective", + "src": "420:50:55", + "nodes": [], + "absolutePath": "lib/permit2/src/Permit2.sol", + "file": "permit2/src/Permit2.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 27751, + "symbolAliases": [ + { + "foreign": { + "id": 34119, + "name": "Permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27750, + "src": "429:7:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34122, + "nodeType": "ImportDirective", + "src": "471:53:55", + "nodes": [], + "absolutePath": "lib/solmate/src/tokens/ERC20.sol", + "file": "solmate/src/tokens/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 29938, + "symbolAliases": [ + { + "foreign": { + "id": 34121, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "480:5:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34124, + "nodeType": "ImportDirective", + "src": "526:68:55", + "nodes": [], + "absolutePath": "test/utils/AgreementProvider.sol", + "file": "test/utils/AgreementProvider.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 36539, + "symbolAliases": [ + { + "foreign": { + "id": 34123, + "name": "CriteriaProvider", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36498, + "src": "535:16:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34127, + "nodeType": "ImportDirective", + "src": "595:76:55", + "nodes": [], + "absolutePath": "test/utils/PermitSignature.sol", + "file": "test/utils/PermitSignature.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 36983, + "symbolAliases": [ + { + "foreign": { + "id": 34125, + "name": "PermitSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36982, + "src": "604:15:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 34126, + "name": "TokenPair", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36582, + "src": "621:9:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34129, + "nodeType": "ImportDirective", + "src": "672:61:55", + "nodes": [], + "absolutePath": "test/utils/TokenProvider.sol", + "file": "test/utils/TokenProvider.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 37104, + "symbolAliases": [ + { + "foreign": { + "id": 34128, + "name": "TokenProvider", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37103, + "src": "681:13:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34136, + "nodeType": "ImportDirective", + "src": "735:170:55", + "nodes": [], + "absolutePath": "src/interfaces/AgreementTypes.sol", + "file": "src/interfaces/AgreementTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 32729, + "symbolAliases": [ + { + "foreign": { + "id": 34130, + "name": "AgreementParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32708, + "src": "748:15:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 34131, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "769:14:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 34132, + "name": "AgreementData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32728, + "src": "789:13:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 34133, + "name": "PositionData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32695, + "src": "808:12:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 34134, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "826:14:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 34135, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "846:15:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34137, + "nodeType": "ImportDirective", + "src": "906:44:55", + "nodes": [], + "absolutePath": "src/interfaces/AgreementErrors.sol", + "file": "src/interfaces/AgreementErrors.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 32662, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 34140, + "nodeType": "ImportDirective", + "src": "951:120:55", + "nodes": [], + "absolutePath": "src/interfaces/ArbitrationErrors.sol", + "file": "src/interfaces/ArbitrationErrors.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 32758, + "symbolAliases": [ + { + "foreign": { + "id": 34138, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "964:28:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 34139, + "name": "SettlementBalanceMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32754, + "src": "998:26:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34142, + "nodeType": "ImportDirective", + "src": "1072:68:55", + "nodes": [], + "absolutePath": "src/interfaces/CriteriaTypes.sol", + "file": "src/interfaces/CriteriaTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 32790, + "symbolAliases": [ + { + "foreign": { + "id": 34141, + "name": "CriteriaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32789, + "src": "1081:16:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34144, + "nodeType": "ImportDirective", + "src": "1141:64:55", + "nodes": [], + "absolutePath": "src/interfaces/IArbitrable.sol", + "file": "src/interfaces/IArbitrable.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 32933, + "symbolAliases": [ + { + "foreign": { + "id": 34143, + "name": "OnlyArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32914, + "src": "1150:14:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34146, + "nodeType": "ImportDirective", + "src": "1207:76:55", + "nodes": [], + "absolutePath": "src/libraries/CriteriaResolution.sol", + "file": "src/libraries/CriteriaResolution.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 33103, + "symbolAliases": [ + { + "foreign": { + "id": 34145, + "name": "InvalidCriteriaProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33035, + "src": "1216:20:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34148, + "nodeType": "ImportDirective", + "src": "1284:66:55", + "nodes": [], + "absolutePath": "src/utils/interfaces/Deposits.sol", + "file": "src/utils/interfaces/Deposits.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 33296, + "symbolAliases": [ + { + "foreign": { + "id": 34147, + "name": "DepositConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33295, + "src": "1293:13:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 34150, + "nodeType": "ImportDirective", + "src": "1351:86:55", + "nodes": [], + "absolutePath": "src/frameworks/CollateralAgreement.sol", + "file": "src/frameworks/CollateralAgreement.sol", + "nameLocation": "-1:-1:-1", + "scope": 36339, + "sourceUnit": 32624, + "symbolAliases": [ + { + "foreign": { + "id": 34149, + "name": "CollateralAgreementFramework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32623, + "src": "1360:28:55", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36338, + "nodeType": "ContractDefinition", + "src": "1439:20676:55", + "nodes": [ + { + "id": 34161, + "nodeType": "UsingForDirective", + "src": "1561:30:55", + "nodes": [], + "global": false, + "libraryName": { + "id": 34159, + "name": "SafeCast160", + "nameLocations": [ + "1567:11:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29332, + "src": "1567:11:55" + }, + "typeName": { + "id": 34160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1583:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 34164, + "nodeType": "VariableDeclaration", + "src": "1597:38:55", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "framework", + "nameLocation": "1626:9:55", + "scope": 36338, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + }, + "typeName": { + "id": 34163, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34162, + "name": "CollateralAgreementFramework", + "nameLocations": [ + "1597:28:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32623, + "src": "1597:28:55" + }, + "referencedDeclaration": 32623, + "src": "1597:28:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "visibility": "internal" + }, + { + "id": 34166, + "nodeType": "VariableDeclaration", + "src": "1642:24:55", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "DOMAIN_SEPARATOR", + "nameLocation": "1650:16:55", + "scope": 36338, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34165, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1642:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "id": 34172, + "nodeType": "VariableDeclaration", + "src": "1672:36:55", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "arbitrator", + "nameLocation": "1680:10:55", + "scope": 36338, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34167, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1672:7:55", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307842303535", + "id": 34170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1701:6:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_45141_by_1", + "typeString": "int_const 45141" + }, + "value": "0xB055" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_45141_by_1", + "typeString": "int_const 45141" + } + ], + "id": 34169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1693:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34168, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1693:7:55", + "typeDescriptions": {} + } + }, + "id": 34171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1693:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 34175, + "nodeType": "VariableDeclaration", + "src": "1715:22:55", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "params", + "nameLocation": "1731:6:55", + "scope": 36338, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams" + }, + "typeName": { + "id": 34174, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34173, + "name": "AgreementParams", + "nameLocations": [ + "1715:15:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32708, + "src": "1715:15:55" + }, + "referencedDeclaration": 32708, + "src": "1715:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage_ptr", + "typeString": "struct AgreementParams" + } + }, + "visibility": "internal" + }, + { + "id": 34178, + "nodeType": "VariableDeclaration", + "src": "1743:22:55", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "deposits", + "nameLocation": "1757:8:55", + "scope": 36338, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig" + }, + "typeName": { + "id": 34177, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34176, + "name": "DepositConfig", + "nameLocations": [ + "1743:13:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33295, + "src": "1743:13:55" + }, + "referencedDeclaration": 33295, + "src": "1743:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage_ptr", + "typeString": "struct DepositConfig" + } + }, + "visibility": "internal" + }, + { + "id": 34247, + "nodeType": "FunctionDefinition", + "src": "1772:512:55", + "nodes": [], + "body": { + "id": 34246, + "nodeType": "Block", + "src": "1796:488:55", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34181, + "name": "initializeERC20Tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37038, + "src": "1806:21:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 34182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1806:23:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34183, + "nodeType": "ExpressionStatement", + "src": "1806:23:55" + }, + { + "expression": { + "id": 34188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34184, + "name": "DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34166, + "src": "1839:16:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 34185, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36996, + "src": "1858:7:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 34186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1866:16:55", + "memberName": "DOMAIN_SEPARATOR", + "nodeType": "MemberAccess", + "referencedDeclaration": 27693, + "src": "1858:24:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 34187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1858:26:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1839:45:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 34189, + "nodeType": "ExpressionStatement", + "src": "1839:45:55" + }, + { + "expression": { + "id": 34199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34190, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "1894:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 34194, + "name": "tokenB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37002, + "src": "1927:6:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + ], + "id": 34193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1919:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1919:7:55", + "typeDescriptions": {} + } + }, + "id": 34195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1919:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "31653137", + "id": 34196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1936:4:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000_by_1", + "typeString": "int_const 100000000000000000" + }, + "value": "1e17" + }, + { + "id": 34197, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "1942:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_100000000000000000_by_1", + "typeString": "int_const 100000000000000000" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34191, + "name": "DepositConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33295, + "src": "1905:13:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DepositConfig_$33295_storage_ptr_$", + "typeString": "type(struct DepositConfig storage pointer)" + } + }, + "id": 34198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1905:48:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_memory_ptr", + "typeString": "struct DepositConfig memory" + } + }, + "src": "1894:59:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 34200, + "nodeType": "ExpressionStatement", + "src": "1894:59:55" + }, + { + "expression": { + "id": 34211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34201, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "1964:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 34205, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36996, + "src": "2009:7:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + { + "arguments": [ + { + "id": 34208, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2026:4:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFrameworkTest_$36338", + "typeString": "contract CollateralAgreementFrameworkTest" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFrameworkTest_$36338", + "typeString": "contract CollateralAgreementFrameworkTest" + } + ], + "id": 34207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2018:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34206, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2018:7:55", + "typeDescriptions": {} + } + }, + "id": 34209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2018:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1976:32:55", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_Permit2_$27750_$_t_address_$returns$_t_contract$_CollateralAgreementFramework_$32623_$", + "typeString": "function (contract Permit2,address) returns (contract CollateralAgreementFramework)" + }, + "typeName": { + "id": 34203, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34202, + "name": "CollateralAgreementFramework", + "nameLocations": [ + "1980:28:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32623, + "src": "1980:28:55" + }, + "referencedDeclaration": 32623, + "src": "1980:28:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + }, + "id": 34210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1976:56:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "src": "1964:68:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34212, + "nodeType": "ExpressionStatement", + "src": "1964:68:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34216, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "2059:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34217, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "2071:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + ], + "expression": { + "id": 34213, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "2043:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2053:5:55", + "memberName": "setUp", + "nodeType": "MemberAccess", + "referencedDeclaration": 31495, + "src": "2043:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_struct$_DepositConfig_$33295_memory_ptr_$returns$__$", + "typeString": "function (address,struct DepositConfig memory) external" + } + }, + "id": 34218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2043:37:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34219, + "nodeType": "ExpressionStatement", + "src": "2043:37:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34221, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "2110:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34220, + "name": "setERC20TestTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37058, + "src": "2091:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 34222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2091:23:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34223, + "nodeType": "ExpressionStatement", + "src": "2091:23:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34225, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "2143:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34224, + "name": "setERC20TestTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37058, + "src": "2124:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 34226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2124:25:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34227, + "nodeType": "ExpressionStatement", + "src": "2124:25:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34229, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "2186:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + { + "id": 34230, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "2190:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 34233, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36996, + "src": "2203:7:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + ], + "id": 34232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2195:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34231, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2195:7:55", + "typeDescriptions": {} + } + }, + "id": 34234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2195:16:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34228, + "name": "setERC20TestTokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37102, + "src": "2159:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Vm_$10233_$_t_address_$_t_address_$returns$__$", + "typeString": "function (contract Vm,address,address)" + } + }, + "id": 34235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2159:53:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34236, + "nodeType": "ExpressionStatement", + "src": "2159:53:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34238, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "2249:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + { + "id": 34239, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "2253:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 34242, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36996, + "src": "2268:7:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + ], + "id": 34241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2260:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2260:7:55", + "typeDescriptions": {} + } + }, + "id": 34243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2260:16:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34237, + "name": "setERC20TestTokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37102, + "src": "2222:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Vm_$10233_$_t_address_$_t_address_$returns$__$", + "typeString": "function (contract Vm,address,address)" + } + }, + "id": 34244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2222:55:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34245, + "nodeType": "ExpressionStatement", + "src": "2222:55:55" + } + ] + }, + "functionSelector": "0a9254e4", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setUp", + "nameLocation": "1781:5:55", + "parameters": { + "id": 34179, + "nodeType": "ParameterList", + "parameters": [], + "src": "1786:2:55" + }, + "returnParameters": { + "id": 34180, + "nodeType": "ParameterList", + "parameters": [], + "src": "1796:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34299, + "nodeType": "FunctionDefinition", + "src": "2290:500:55", + "nodes": [], + "body": { + "id": 34298, + "nodeType": "Block", + "src": "2328:462:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34251 + ], + "declarations": [ + { + "constant": false, + "id": 34251, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "2346:11:55", + "nodeType": "VariableDeclaration", + "scope": 34298, + "src": "2338:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2338:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34254, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34252, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "2360:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2360:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2338:39:55" + }, + { + "assignments": [ + 34257 + ], + "declarations": [ + { + "constant": false, + "id": 34257, + "mutability": "mutable", + "name": "createdAgreement", + "nameLocation": "2409:16:55", + "nodeType": "VariableDeclaration", + "scope": 34298, + "src": "2388:37:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData" + }, + "typeName": { + "id": 34256, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34255, + "name": "AgreementData", + "nameLocations": [ + "2388:13:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32728, + "src": "2388:13:55" + }, + "referencedDeclaration": 32728, + "src": "2388:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_storage_ptr", + "typeString": "struct AgreementData" + } + }, + "visibility": "internal" + } + ], + "id": 34262, + "initialValue": { + "arguments": [ + { + "id": 34260, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34251, + "src": "2452:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34258, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "2428:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2438:13:55", + "memberName": "agreementData", + "nodeType": "MemberAccess", + "referencedDeclaration": 31375, + "src": "2428:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_AgreementData_$32728_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct AgreementData memory)" + } + }, + "id": 34261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2428:36:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2388:76:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 34264, + "name": "createdAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34257, + "src": "2484:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 34265, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2501:9:55", + "memberName": "termsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 32711, + "src": "2484:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 34266, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "2512:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2519:9:55", + "memberName": "termsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 32698, + "src": "2512:16:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34263, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 375, + "src": "2475:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 34268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2475:54:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34269, + "nodeType": "ExpressionStatement", + "src": "2475:54:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 34271, + "name": "createdAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34257, + "src": "2548:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 34272, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2565:8:55", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 32714, + "src": "2548:25:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 34273, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "2575:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34274, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2582:8:55", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 32701, + "src": "2575:15:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34270, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "2539:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 34275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2539:52:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34276, + "nodeType": "ExpressionStatement", + "src": "2539:52:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 34278, + "name": "createdAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34257, + "src": "2610:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 34279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2627:11:55", + "memberName": "metadataURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 32717, + "src": "2610:28:55", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 34280, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "2640:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2647:11:55", + "memberName": "metadataURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 32704, + "src": "2640:18:55", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 34277, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 1639, + "src": "2601:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 34282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2601:58:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34283, + "nodeType": "ExpressionStatement", + "src": "2601:58:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 34285, + "name": "createdAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34257, + "src": "2678:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 34286, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2695:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32720, + "src": "2678:22:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 34287, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "2702:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34288, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2709:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "2702:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34284, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 320, + "src": "2669:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 34289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2669:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34290, + "nodeType": "ExpressionStatement", + "src": "2669:46:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 34292, + "name": "createdAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34257, + "src": "2734:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 34293, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2751:6:55", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32727, + "src": "2734:23:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + { + "expression": { + "id": 34294, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "2759:15:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 34295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2775:7:55", + "memberName": "Created", + "nodeType": "MemberAccess", + "referencedDeclaration": 32670, + "src": "2759:23:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 34291, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 36286, + "src": "2725:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_AgreementStatus_$32674_$_t_enum$_AgreementStatus_$32674_$returns$__$", + "typeString": "function (enum AgreementStatus,enum AgreementStatus)" + } + }, + "id": 34296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2725:58:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34297, + "nodeType": "ExpressionStatement", + "src": "2725:58:55" + } + ] + }, + "functionSelector": "f5ef7b7e", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCreateAgreement", + "nameLocation": "2299:19:55", + "parameters": { + "id": 34248, + "nodeType": "ParameterList", + "parameters": [], + "src": "2318:2:55" + }, + "returnParameters": { + "id": 34249, + "nodeType": "ParameterList", + "parameters": [], + "src": "2328:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34349, + "nodeType": "FunctionDefinition", + "src": "2796:407:55", + "nodes": [], + "body": { + "id": 34348, + "nodeType": "Block", + "src": "2883:320:55", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34308, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34303, + "src": "2897:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 34309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2909:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2897:13:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 34312, + "nodeType": "IfStatement", + "src": "2893:26:55", + "trueBody": { + "functionReturnParameters": 34307, + "id": 34311, + "nodeType": "Return", + "src": "2912:7:55" + } + }, + { + "assignments": [ + 34314 + ], + "declarations": [ + { + "constant": false, + "id": 34314, + "mutability": "mutable", + "name": "id", + "nameLocation": "2937:2:55", + "nodeType": "VariableDeclaration", + "scope": 34348, + "src": "2929:10:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34313, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2929:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34326, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 34320, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "2971:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 34319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2963:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34318, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2963:7:55", + "typeDescriptions": {} + } + }, + "id": 34321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2963:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34322, + "name": "termsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34301, + "src": "2983:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 34323, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34305, + "src": "2994:4:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34316, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2952:3:55", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 34317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2956:6:55", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2952:10:55", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 34324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2952:47:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 34315, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2942:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 34325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2942:58:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2929:71:55" + }, + { + "assignments": [ + 34328 + ], + "declarations": [ + { + "constant": false, + "id": 34328, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "3018:11:55", + "nodeType": "VariableDeclaration", + "scope": 34348, + "src": "3010:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34327, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3010:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34342, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 34332, + "name": "termsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34301, + "src": "3087:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 34333, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34303, + "src": "3098:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "69706673", + "id": 34334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3108:6:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ec608becfa25f080ae2dd6d22f44c37c2aec1fbf004b9ef4fe43792a8f1ac1f1", + "typeString": "literal_string \"ipfs\"" + }, + "value": "ipfs" + }, + { + "arguments": [ + { + "id": 34337, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "3124:6:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + ], + "id": 34336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3116:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34335, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3116:7:55", + "typeDescriptions": {} + } + }, + "id": 34338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3116:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_ec608becfa25f080ae2dd6d22f44c37c2aec1fbf004b9ef4fe43792a8f1ac1f1", + "typeString": "literal_string \"ipfs\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34331, + "name": "AgreementParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32708, + "src": "3071:15:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AgreementParams_$32708_storage_ptr_$", + "typeString": "type(struct AgreementParams storage pointer)" + } + }, + "id": 34339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3071:61:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_memory_ptr", + "typeString": "struct AgreementParams memory" + } + }, + { + "id": 34340, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34305, + "src": "3146:4:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AgreementParams_$32708_memory_ptr", + "typeString": "struct AgreementParams memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34329, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "3032:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3042:15:55", + "memberName": "createAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31585, + "src": "3032:25:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_struct$_AgreementParams_$32708_memory_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct AgreementParams memory,bytes32) external returns (bytes32)" + } + }, + "id": 34341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3032:128:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3010:150:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34344, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34314, + "src": "3180:2:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 34345, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34328, + "src": "3184:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34343, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 375, + "src": "3171:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 34346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3171:25:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34347, + "nodeType": "ExpressionStatement", + "src": "3171:25:55" + } + ] + }, + "functionSelector": "7e333758", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testDeterministicId", + "nameLocation": "2805:19:55", + "parameters": { + "id": 34306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34301, + "mutability": "mutable", + "name": "termsHash", + "nameLocation": "2833:9:55", + "nodeType": "VariableDeclaration", + "scope": 34349, + "src": "2825:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34300, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2825:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34303, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "2852:8:55", + "nodeType": "VariableDeclaration", + "scope": 34349, + "src": "2844:16:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 34302, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2844:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34305, + "mutability": "mutable", + "name": "salt", + "nameLocation": "2870:4:55", + "nodeType": "VariableDeclaration", + "scope": 34349, + "src": "2862:12:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34304, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2862:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2824:51:55" + }, + "returnParameters": { + "id": 34307, + "nodeType": "ParameterList", + "parameters": [], + "src": "2883:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34426, + "nodeType": "FunctionDefinition", + "src": "3419:581:55", + "nodes": [], + "body": { + "id": 34425, + "nodeType": "Block", + "src": "3455:545:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34353 + ], + "declarations": [ + { + "constant": false, + "id": 34353, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "3473:11:55", + "nodeType": "VariableDeclaration", + "scope": 34425, + "src": "3465:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34352, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3465:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34356, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34354, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "3487:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3487:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3465:39:55" + }, + { + "assignments": [ + 34358 + ], + "declarations": [ + { + "constant": false, + "id": 34358, + "mutability": "mutable", + "name": "bobBalance", + "nameLocation": "3522:10:55", + "nodeType": "VariableDeclaration", + "scope": 34425, + "src": "3514:18:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 34357, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3514:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 34364, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 34360, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "3545:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3552:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "3545:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34362, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "3559:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34359, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "3535:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3535:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3514:49:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34366, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34353, + "src": "3592:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34365, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "3574:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3574:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34368, + "nodeType": "ExpressionStatement", + "src": "3574:30:55" + }, + { + "assignments": [ + 34373 + ], + "declarations": [ + { + "constant": false, + "id": 34373, + "mutability": "mutable", + "name": "positions", + "nameLocation": "3637:9:55", + "nodeType": "VariableDeclaration", + "scope": 34425, + "src": "3615:31:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData[]" + }, + "typeName": { + "baseType": { + "id": 34371, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34370, + "name": "PositionData", + "nameLocations": [ + "3615:12:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "3615:12:55" + }, + "referencedDeclaration": 32695, + "src": "3615:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "id": 34372, + "nodeType": "ArrayTypeName", + "src": "3615:14:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_storage_$dyn_storage_ptr", + "typeString": "struct PositionData[]" + } + }, + "visibility": "internal" + } + ], + "id": 34378, + "initialValue": { + "arguments": [ + { + "id": 34376, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34353, + "src": "3678:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34374, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "3649:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3659:18:55", + "memberName": "agreementPositions", + "nodeType": "MemberAccess", + "referencedDeclaration": 31455, + "src": "3649:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct PositionData memory[] memory)" + } + }, + "id": 34377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3649:41:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3615:75:55" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 34380, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34373, + "src": "3715:9:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 34382, + "indexExpression": { + "hexValue": "30", + "id": 34381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3725:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3715:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + { + "id": 34383, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "3729:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34384, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "3734:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 34385, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "3744:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 34386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3759:6:55", + "memberName": "Joined", + "nodeType": "MemberAccess", + "referencedDeclaration": 32665, + "src": "3744:21:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 34379, + "name": "assertPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36318, + "src": "3700:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PositionData_$32695_memory_ptr_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct PositionData memory,address,uint256,enum PositionStatus)" + } + }, + "id": 34387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3700:66:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34388, + "nodeType": "ExpressionStatement", + "src": "3700:66:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 34391, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "3796:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34392, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3803:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "3796:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34393, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "3810:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34390, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "3786:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3786:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34395, + "name": "bobBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34358, + "src": "3816:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 34396, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "3829:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3816:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34389, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "3777:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 34398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3777:61:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34399, + "nodeType": "ExpressionStatement", + "src": "3777:61:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 34402, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "3867:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34403, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3874:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "3867:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 34406, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "3889:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 34405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3881:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3881:7:55", + "typeDescriptions": {} + } + }, + "id": 34407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3881:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34401, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "3857:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3857:43:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 34409, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "3902:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34400, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "3848:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 34410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3848:63:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34411, + "nodeType": "ExpressionStatement", + "src": "3848:63:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 34414, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "3940:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 34415, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3949:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "3940:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 34418, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "3964:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 34417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3956:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3956:7:55", + "typeDescriptions": {} + } + }, + "id": 34419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3956:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34413, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "3930:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3930:45:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 34421, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "3977:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 34422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3986:6:55", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "3977:15:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34412, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "3921:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 34423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3921:72:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34424, + "nodeType": "ExpressionStatement", + "src": "3921:72:55" + } + ] + }, + "functionSelector": "271f1809", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testJoinAgreement", + "nameLocation": "3428:17:55", + "parameters": { + "id": 34350, + "nodeType": "ParameterList", + "parameters": [], + "src": "3445:2:55" + }, + "returnParameters": { + "id": 34351, + "nodeType": "ParameterList", + "parameters": [], + "src": "3455:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34503, + "nodeType": "FunctionDefinition", + "src": "4006:597:55", + "nodes": [], + "body": { + "id": 34502, + "nodeType": "Block", + "src": "4050:553:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34430 + ], + "declarations": [ + { + "constant": false, + "id": 34430, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "4068:11:55", + "nodeType": "VariableDeclaration", + "scope": 34502, + "src": "4060:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34429, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4060:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34433, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34431, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "4082:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4082:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4060:39:55" + }, + { + "assignments": [ + 34435 + ], + "declarations": [ + { + "constant": false, + "id": 34435, + "mutability": "mutable", + "name": "bobBalance", + "nameLocation": "4117:10:55", + "nodeType": "VariableDeclaration", + "scope": 34502, + "src": "4109:18:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 34434, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4109:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 34441, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 34437, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "4140:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4147:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "4140:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34439, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "4154:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34436, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "4130:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4130:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4109:49:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34443, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34430, + "src": "4195:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34442, + "name": "bobJoinsAgreementApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35883, + "src": "4169:25:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4169:38:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34445, + "nodeType": "ExpressionStatement", + "src": "4169:38:55" + }, + { + "assignments": [ + 34450 + ], + "declarations": [ + { + "constant": false, + "id": 34450, + "mutability": "mutable", + "name": "positions", + "nameLocation": "4240:9:55", + "nodeType": "VariableDeclaration", + "scope": 34502, + "src": "4218:31:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData[]" + }, + "typeName": { + "baseType": { + "id": 34448, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34447, + "name": "PositionData", + "nameLocations": [ + "4218:12:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "4218:12:55" + }, + "referencedDeclaration": 32695, + "src": "4218:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "id": 34449, + "nodeType": "ArrayTypeName", + "src": "4218:14:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_storage_$dyn_storage_ptr", + "typeString": "struct PositionData[]" + } + }, + "visibility": "internal" + } + ], + "id": 34455, + "initialValue": { + "arguments": [ + { + "id": 34453, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34430, + "src": "4281:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34451, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "4252:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4262:18:55", + "memberName": "agreementPositions", + "nodeType": "MemberAccess", + "referencedDeclaration": 31455, + "src": "4252:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct PositionData memory[] memory)" + } + }, + "id": 34454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4252:41:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4218:75:55" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 34457, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34450, + "src": "4318:9:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 34459, + "indexExpression": { + "hexValue": "30", + "id": 34458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4328:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4318:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + { + "id": 34460, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "4332:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34461, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "4337:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 34462, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "4347:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 34463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4362:6:55", + "memberName": "Joined", + "nodeType": "MemberAccess", + "referencedDeclaration": 32665, + "src": "4347:21:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 34456, + "name": "assertPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36318, + "src": "4303:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PositionData_$32695_memory_ptr_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct PositionData memory,address,uint256,enum PositionStatus)" + } + }, + "id": 34464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4303:66:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34465, + "nodeType": "ExpressionStatement", + "src": "4303:66:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 34468, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "4399:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34469, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4406:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "4399:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34470, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "4413:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34467, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "4389:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4389:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34472, + "name": "bobBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34435, + "src": "4419:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 34473, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "4432:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4419:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34466, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "4380:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 34475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4380:61:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34476, + "nodeType": "ExpressionStatement", + "src": "4380:61:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 34479, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "4470:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4477:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "4470:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 34483, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "4492:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 34482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4484:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4484:7:55", + "typeDescriptions": {} + } + }, + "id": 34484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4484:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34478, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "4460:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4460:43:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 34486, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "4505:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34477, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "4451:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 34487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4451:63:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34488, + "nodeType": "ExpressionStatement", + "src": "4451:63:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 34491, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "4543:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 34492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4552:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "4543:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 34495, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "4567:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 34494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4559:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34493, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4559:7:55", + "typeDescriptions": {} + } + }, + "id": 34496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4559:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34490, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "4533:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4533:45:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 34498, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "4580:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 34499, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4589:6:55", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "4580:15:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34489, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "4524:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 34500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4524:72:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34501, + "nodeType": "ExpressionStatement", + "src": "4524:72:55" + } + ] + }, + "functionSelector": "638b79f8", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testJoinAgreementApproved", + "nameLocation": "4015:25:55", + "parameters": { + "id": 34427, + "nodeType": "ParameterList", + "parameters": [], + "src": "4040:2:55" + }, + "returnParameters": { + "id": 34428, + "nodeType": "ParameterList", + "parameters": [], + "src": "4050:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34515, + "nodeType": "FunctionDefinition", + "src": "4609:141:55", + "nodes": [], + "body": { + "id": 34514, + "nodeType": "Block", + "src": "4670:80:55", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 34509, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34505, + "src": "4709:2:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 34510, + "name": "NonExistentAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32628, + "src": "4713:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 34511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4734:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "4713:29:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 34508, + "name": "aliceExpectsErrorWhenJoining", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 35978, + 36020 + ], + "referencedDeclaration": 35978, + "src": "4680:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes4_$returns$__$", + "typeString": "function (bytes32,bytes4)" + } + }, + "id": 34512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4680:63:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34513, + "nodeType": "ExpressionStatement", + "src": "4680:63:55" + } + ] + }, + "functionSelector": "13af3429", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantJoinNonExistentAgreement", + "nameLocation": "4618:32:55", + "parameters": { + "id": 34506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34505, + "mutability": "mutable", + "name": "id", + "nameLocation": "4659:2:55", + "nodeType": "VariableDeclaration", + "scope": 34515, + "src": "4651:10:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34504, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4651:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4650:12:55" + }, + "returnParameters": { + "id": 34507, + "nodeType": "ParameterList", + "parameters": [], + "src": "4670:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34542, + "nodeType": "FunctionDefinition", + "src": "4756:297:55", + "nodes": [], + "body": { + "id": 34541, + "nodeType": "Block", + "src": "4815:238:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34519 + ], + "declarations": [ + { + "constant": false, + "id": 34519, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "4833:11:55", + "nodeType": "VariableDeclaration", + "scope": 34541, + "src": "4825:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34518, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4825:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34522, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34520, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "4847:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4847:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4825:39:55" + }, + { + "assignments": [ + 34525 + ], + "declarations": [ + { + "constant": false, + "id": 34525, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "4899:8:55", + "nodeType": "VariableDeclaration", + "scope": 34541, + "src": "4875:32:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 34524, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34523, + "name": "CriteriaResolver", + "nameLocations": [ + "4875:16:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "4875:16:55" + }, + "referencedDeclaration": 32789, + "src": "4875:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + } + ], + "id": 34533, + "initialValue": { + "arguments": [ + { + "id": 34527, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "4927:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "31653137", + "id": 34528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4934:4:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000_by_1", + "typeString": "int_const 100000000000000000" + }, + "value": "1e17" + }, + { + "baseExpression": { + "id": 34529, + "name": "proofs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36368, + "src": "4940:6:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", + "typeString": "mapping(address => bytes32[] storage ref)" + } + }, + "id": 34531, + "indexExpression": { + "id": 34530, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "4947:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4940:13:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_100000000000000000_by_1", + "typeString": "int_const 100000000000000000" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + ], + "id": 34526, + "name": "CriteriaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32789, + "src": "4910:16:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_CriteriaResolver_$32789_storage_ptr_$", + "typeString": "type(struct CriteriaResolver storage pointer)" + } + }, + "id": 34532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4910:44:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4875:79:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34535, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34519, + "src": "4993:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 34536, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34525, + "src": "5006:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + { + "expression": { + "id": 34537, + "name": "InvalidCriteriaProof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33035, + "src": "5016:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 34538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5037:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "5016:29:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 34534, + "name": "aliceExpectsErrorWhenJoining", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 35978, + 36020 + ], + "referencedDeclaration": 36020, + "src": "4964:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_bytes4_$returns$__$", + "typeString": "function (bytes32,struct CriteriaResolver memory,bytes4)" + } + }, + "id": 34539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4964:82:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34540, + "nodeType": "ExpressionStatement", + "src": "4964:82:55" + } + ] + }, + "functionSelector": "f73fe224", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantJoinAgreementWithInvalidCriteria", + "nameLocation": "4765:40:55", + "parameters": { + "id": 34516, + "nodeType": "ParameterList", + "parameters": [], + "src": "4805:2:55" + }, + "returnParameters": { + "id": 34517, + "nodeType": "ParameterList", + "parameters": [], + "src": "4815:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34561, + "nodeType": "FunctionDefinition", + "src": "5059:232:55", + "nodes": [], + "body": { + "id": 34560, + "nodeType": "Block", + "src": "5112:179:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34546 + ], + "declarations": [ + { + "constant": false, + "id": 34546, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "5130:11:55", + "nodeType": "VariableDeclaration", + "scope": 34560, + "src": "5122:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34545, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5122:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34549, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34547, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "5144:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5144:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5122:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34551, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34546, + "src": "5191:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34550, + "name": "aliceJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35938, + "src": "5171:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5171:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34553, + "nodeType": "ExpressionStatement", + "src": "5171:32:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34555, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34546, + "src": "5243:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 34556, + "name": "PartyAlreadyJoined", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32649, + "src": "5256:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 34557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5275:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "5256:27:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 34554, + "name": "aliceExpectsErrorWhenJoining", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 35978, + 36020 + ], + "referencedDeclaration": 35978, + "src": "5214:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes4_$returns$__$", + "typeString": "function (bytes32,bytes4)" + } + }, + "id": 34558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5214:70:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34559, + "nodeType": "ExpressionStatement", + "src": "5214:70:55" + } + ] + }, + "functionSelector": "83721647", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantJoinAgreementMultipleTimes", + "nameLocation": "5068:34:55", + "parameters": { + "id": 34543, + "nodeType": "ParameterList", + "parameters": [], + "src": "5102:2:55" + }, + "returnParameters": { + "id": 34544, + "nodeType": "ParameterList", + "parameters": [], + "src": "5112:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34584, + "nodeType": "FunctionDefinition", + "src": "5297:269:55", + "nodes": [], + "body": { + "id": 34583, + "nodeType": "Block", + "src": "5345:221:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34565 + ], + "declarations": [ + { + "constant": false, + "id": 34565, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "5363:11:55", + "nodeType": "VariableDeclaration", + "scope": 34583, + "src": "5355:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34564, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5355:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34568, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34566, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "5377:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5377:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5355:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34570, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34565, + "src": "5422:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34569, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "5404:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5404:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34572, + "nodeType": "ExpressionStatement", + "src": "5404:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34574, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34565, + "src": "5465:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34573, + "name": "bobDisputesAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35906, + "src": "5444:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5444:33:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34576, + "nodeType": "ExpressionStatement", + "src": "5444:33:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34578, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34565, + "src": "5517:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 34579, + "name": "AgreementIsDisputed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32634, + "src": "5530:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 34580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5550:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "5530:28:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 34577, + "name": "aliceExpectsErrorWhenJoining", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 35978, + 36020 + ], + "referencedDeclaration": 35978, + "src": "5488:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes4_$returns$__$", + "typeString": "function (bytes32,bytes4)" + } + }, + "id": 34581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5488:71:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34582, + "nodeType": "ExpressionStatement", + "src": "5488:71:55" + } + ] + }, + "functionSelector": "fe6688eb", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantJoinDisputedAgreement", + "nameLocation": "5306:29:55", + "parameters": { + "id": 34562, + "nodeType": "ParameterList", + "parameters": [], + "src": "5335:2:55" + }, + "returnParameters": { + "id": 34563, + "nodeType": "ParameterList", + "parameters": [], + "src": "5345:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34615, + "nodeType": "FunctionDefinition", + "src": "5572:301:55", + "nodes": [], + "body": { + "id": 34614, + "nodeType": "Block", + "src": "5621:252:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34588 + ], + "declarations": [ + { + "constant": false, + "id": 34588, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "5639:11:55", + "nodeType": "VariableDeclaration", + "scope": 34614, + "src": "5631:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34587, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5631:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34591, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34589, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "5653:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5653:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5631:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34593, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34588, + "src": "5698:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34592, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "5680:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5680:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34595, + "nodeType": "ExpressionStatement", + "src": "5680:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34599, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "5729:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34596, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "5720:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5723:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "5720:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 34600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5720:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34601, + "nodeType": "ExpressionStatement", + "src": "5720:13:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34605, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34588, + "src": "5771:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34602, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "5743:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5753:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "5743:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 34606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5743:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34607, + "nodeType": "ExpressionStatement", + "src": "5743:40:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34609, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34588, + "src": "5823:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 34610, + "name": "AgreementIsFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32637, + "src": "5836:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 34611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5857:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "5836:29:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 34608, + "name": "aliceExpectsErrorWhenJoining", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 35978, + 36020 + ], + "referencedDeclaration": 35978, + "src": "5794:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes4_$returns$__$", + "typeString": "function (bytes32,bytes4)" + } + }, + "id": 34612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5794:72:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34613, + "nodeType": "ExpressionStatement", + "src": "5794:72:55" + } + ] + }, + "functionSelector": "d34eb0d3", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantJoinFinalizedAgreement", + "nameLocation": "5581:30:55", + "parameters": { + "id": 34585, + "nodeType": "ParameterList", + "parameters": [], + "src": "5611:2:55" + }, + "returnParameters": { + "id": 34586, + "nodeType": "ParameterList", + "parameters": [], + "src": "5621:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34643, + "nodeType": "FunctionDefinition", + "src": "5879:282:55", + "nodes": [], + "body": { + "id": 34642, + "nodeType": "Block", + "src": "5924:237:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34619 + ], + "declarations": [ + { + "constant": false, + "id": 34619, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "5942:11:55", + "nodeType": "VariableDeclaration", + "scope": 34642, + "src": "5934:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34618, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5934:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34622, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34620, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "5956:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5956:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5934:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34624, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34619, + "src": "6001:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34623, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "5983:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5983:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34626, + "nodeType": "ExpressionStatement", + "src": "5983:30:55" + }, + { + "assignments": [ + 34629 + ], + "declarations": [ + { + "constant": false, + "id": 34629, + "mutability": "mutable", + "name": "agreement", + "nameLocation": "6045:9:55", + "nodeType": "VariableDeclaration", + "scope": 34642, + "src": "6024:30:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData" + }, + "typeName": { + "id": 34628, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34627, + "name": "AgreementData", + "nameLocations": [ + "6024:13:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32728, + "src": "6024:13:55" + }, + "referencedDeclaration": 32728, + "src": "6024:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_storage_ptr", + "typeString": "struct AgreementData" + } + }, + "visibility": "internal" + } + ], + "id": 34634, + "initialValue": { + "arguments": [ + { + "id": 34632, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34619, + "src": "6081:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34630, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "6057:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6067:13:55", + "memberName": "agreementData", + "nodeType": "MemberAccess", + "referencedDeclaration": 31375, + "src": "6057:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_AgreementData_$32728_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct AgreementData memory)" + } + }, + "id": 34633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6057:36:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6024:69:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 34636, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34629, + "src": "6112:9:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 34637, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6122:6:55", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32727, + "src": "6112:16:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + { + "expression": { + "id": 34638, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "6130:15:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 34639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6146:7:55", + "memberName": "Ongoing", + "nodeType": "MemberAccess", + "referencedDeclaration": 32671, + "src": "6130:23:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 34635, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 36286, + "src": "6103:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_AgreementStatus_$32674_$_t_enum$_AgreementStatus_$32674_$returns$__$", + "typeString": "function (enum AgreementStatus,enum AgreementStatus)" + } + }, + "id": 34640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6103:51:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34641, + "nodeType": "ExpressionStatement", + "src": "6103:51:55" + } + ] + }, + "functionSelector": "d9b51fc4", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testAgreementStatusOngoing", + "nameLocation": "5888:26:55", + "parameters": { + "id": 34616, + "nodeType": "ParameterList", + "parameters": [], + "src": "5914:2:55" + }, + "returnParameters": { + "id": 34617, + "nodeType": "ParameterList", + "parameters": [], + "src": "5924:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34757, + "nodeType": "FunctionDefinition", + "src": "6249:974:55", + "nodes": [], + "body": { + "id": 34756, + "nodeType": "Block", + "src": "6288:935:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34647 + ], + "declarations": [ + { + "constant": false, + "id": 34647, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "6306:11:55", + "nodeType": "VariableDeclaration", + "scope": 34756, + "src": "6298:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34646, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6298:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34650, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34648, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "6320:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6320:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6298:39:55" + }, + { + "assignments": [ + 34652 + ], + "declarations": [ + { + "constant": false, + "id": 34652, + "mutability": "mutable", + "name": "bobBalance", + "nameLocation": "6355:10:55", + "nodeType": "VariableDeclaration", + "scope": 34756, + "src": "6347:18:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 34651, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6347:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 34658, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 34654, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "6378:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6385:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "6378:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34656, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "6392:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34653, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "6368:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6368:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6347:49:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34660, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34647, + "src": "6424:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34659, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "6406:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6406:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34662, + "nodeType": "ExpressionStatement", + "src": "6406:30:55" + }, + { + "assignments": [ + 34667 + ], + "declarations": [ + { + "constant": false, + "id": 34667, + "mutability": "mutable", + "name": "permit", + "nameLocation": "6492:6:55", + "nodeType": "VariableDeclaration", + "scope": 34756, + "src": "6447:51:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 34666, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34665, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "6447:18:55", + "6466:18:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "6447:37:55" + }, + "referencedDeclaration": 28469, + "src": "6447:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + } + ], + "id": 34674, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 34669, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "6541:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6548:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "6541:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34671, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "6567:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 34672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6589:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 34668, + "name": "defaultERC20PermitTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36915, + "src": "6501:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$", + "typeString": "function (address,uint256,uint256) view returns (struct ISignatureTransfer.PermitTransferFrom memory)" + } + }, + "id": 34673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6501:99:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6447:153:55" + }, + { + "assignments": [ + 34676 + ], + "declarations": [ + { + "constant": false, + "id": 34676, + "mutability": "mutable", + "name": "signature", + "nameLocation": "6623:9:55", + "nodeType": "VariableDeclaration", + "scope": 34756, + "src": "6610:22:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 34675, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6610:5:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 34686, + "initialValue": { + "arguments": [ + { + "id": 34678, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34667, + "src": "6675:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "arguments": [ + { + "id": 34681, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "6703:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 34680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6695:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34679, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6695:7:55", + "typeDescriptions": {} + } + }, + "id": 34682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6695:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "3078423042", + "id": 34683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6727:5:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + }, + "value": "0xB0B" + }, + { + "id": 34684, + "name": "DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34166, + "src": "6746:16:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34677, + "name": "getPermitTransferSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36781, + "src": "6635:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct ISignatureTransfer.PermitTransferFrom memory,address,uint256,bytes32) pure returns (bytes memory)" + } + }, + "id": 34685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6635:137:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6610:162:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34690, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "6792:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34687, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "6783:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6786:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "6783:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 34691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6783:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34692, + "nodeType": "ExpressionStatement", + "src": "6783:13:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34696, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34647, + "src": "6831:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "id": 34698, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "6859:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 34699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6864:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 34700, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "6868:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6864:12:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34697, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "6844:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 34702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6844:33:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + { + "id": 34703, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34667, + "src": "6879:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + { + "id": 34704, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34676, + "src": "6887:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + }, + { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 34693, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "6806:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6816:14:55", + "memberName": "adjustPosition", + "nodeType": "MemberAccess", + "referencedDeclaration": 31896, + "src": "6806:24:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_struct$_PositionParams_$32681_memory_ptr_$_t_struct$_PermitTransferFrom_$28469_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory,struct ISignatureTransfer.PermitTransferFrom memory,bytes memory) external" + } + }, + "id": 34705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6806:91:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34706, + "nodeType": "ExpressionStatement", + "src": "6806:91:55" + }, + { + "assignments": [ + 34711 + ], + "declarations": [ + { + "constant": false, + "id": 34711, + "mutability": "mutable", + "name": "positions", + "nameLocation": "6930:9:55", + "nodeType": "VariableDeclaration", + "scope": 34756, + "src": "6908:31:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData[]" + }, + "typeName": { + "baseType": { + "id": 34709, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34708, + "name": "PositionData", + "nameLocations": [ + "6908:12:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "6908:12:55" + }, + "referencedDeclaration": 32695, + "src": "6908:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "id": 34710, + "nodeType": "ArrayTypeName", + "src": "6908:14:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_storage_$dyn_storage_ptr", + "typeString": "struct PositionData[]" + } + }, + "visibility": "internal" + } + ], + "id": 34716, + "initialValue": { + "arguments": [ + { + "id": 34714, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34647, + "src": "6971:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34712, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "6942:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6952:18:55", + "memberName": "agreementPositions", + "nodeType": "MemberAccess", + "referencedDeclaration": 31455, + "src": "6942:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct PositionData memory[] memory)" + } + }, + "id": 34715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6942:41:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6908:75:55" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 34718, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34711, + "src": "7008:9:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 34720, + "indexExpression": { + "hexValue": "30", + "id": 34719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7018:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7008:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + { + "id": 34721, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "7022:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 34722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7027:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 34723, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "7031:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7027:12:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 34725, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "7041:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 34726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7056:6:55", + "memberName": "Joined", + "nodeType": "MemberAccess", + "referencedDeclaration": 32665, + "src": "7041:21:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 34717, + "name": "assertPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36318, + "src": "6993:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PositionData_$32695_memory_ptr_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct PositionData memory,address,uint256,enum PositionStatus)" + } + }, + "id": 34727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6993:70:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34728, + "nodeType": "ExpressionStatement", + "src": "6993:70:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 34731, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "7093:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34732, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7100:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "7093:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34733, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "7107:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34730, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "7083:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7083:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34735, + "name": "bobBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34652, + "src": "7113:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 34736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7126:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 34737, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "7130:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7126:12:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7113:25:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34729, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "7074:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 34740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7074:65:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34741, + "nodeType": "ExpressionStatement", + "src": "7074:65:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 34744, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "7168:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 34745, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7175:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "7168:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 34748, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "7190:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 34747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7182:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34746, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7182:7:55", + "typeDescriptions": {} + } + }, + "id": 34749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7182:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34743, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "7158:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 34750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7158:43:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 34751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7203:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 34752, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "7207:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7203:12:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 34742, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "7149:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 34754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7149:67:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34755, + "nodeType": "ExpressionStatement", + "src": "7149:67:55" + } + ] + }, + "functionSelector": "b9959d78", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testAdjustCollateral", + "nameLocation": "6258:20:55", + "parameters": { + "id": 34644, + "nodeType": "ParameterList", + "parameters": [], + "src": "6278:2:55" + }, + "returnParameters": { + "id": 34645, + "nodeType": "ParameterList", + "parameters": [], + "src": "6288:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34831, + "nodeType": "FunctionDefinition", + "src": "7443:639:55", + "nodes": [], + "body": { + "id": 34830, + "nodeType": "Block", + "src": "7484:598:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34761 + ], + "declarations": [ + { + "constant": false, + "id": 34761, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "7502:11:55", + "nodeType": "VariableDeclaration", + "scope": 34830, + "src": "7494:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34760, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7494:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34764, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34762, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "7516:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7516:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7494:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34766, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34761, + "src": "7561:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34765, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "7543:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7543:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34768, + "nodeType": "ExpressionStatement", + "src": "7543:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34770, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34761, + "src": "7603:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34769, + "name": "aliceJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35938, + "src": "7583:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7583:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34772, + "nodeType": "ExpressionStatement", + "src": "7583:32:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34776, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "7635:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34773, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "7626:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7629:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "7626:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 34777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7626:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34778, + "nodeType": "ExpressionStatement", + "src": "7626:13:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34782, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34761, + "src": "7677:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34779, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "7649:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7659:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "7649:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 34783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7649:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34784, + "nodeType": "ExpressionStatement", + "src": "7649:40:55" + }, + { + "assignments": [ + 34789 + ], + "declarations": [ + { + "constant": false, + "id": 34789, + "mutability": "mutable", + "name": "positions", + "nameLocation": "7722:9:55", + "nodeType": "VariableDeclaration", + "scope": 34830, + "src": "7700:31:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData[]" + }, + "typeName": { + "baseType": { + "id": 34787, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34786, + "name": "PositionData", + "nameLocations": [ + "7700:12:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "7700:12:55" + }, + "referencedDeclaration": 32695, + "src": "7700:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "id": 34788, + "nodeType": "ArrayTypeName", + "src": "7700:14:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_storage_$dyn_storage_ptr", + "typeString": "struct PositionData[]" + } + }, + "visibility": "internal" + } + ], + "id": 34794, + "initialValue": { + "arguments": [ + { + "id": 34792, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34761, + "src": "7763:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34790, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "7734:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7744:18:55", + "memberName": "agreementPositions", + "nodeType": "MemberAccess", + "referencedDeclaration": 31455, + "src": "7734:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct PositionData memory[] memory)" + } + }, + "id": 34793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7734:41:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7700:75:55" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 34796, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34789, + "src": "7800:9:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 34798, + "indexExpression": { + "hexValue": "30", + "id": 34797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7810:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7800:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + { + "id": 34799, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "7814:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34800, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "7819:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 34801, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "7829:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 34802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7844:9:55", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32666, + "src": "7829:24:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 34795, + "name": "assertPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36318, + "src": "7785:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PositionData_$32695_memory_ptr_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct PositionData memory,address,uint256,enum PositionStatus)" + } + }, + "id": 34803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7785:69:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34804, + "nodeType": "ExpressionStatement", + "src": "7785:69:55" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 34806, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34789, + "src": "7879:9:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 34808, + "indexExpression": { + "hexValue": "31", + "id": 34807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7889:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7879:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + { + "id": 34809, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "7893:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34810, + "name": "aliceStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36567, + "src": "7900:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 34811, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "7912:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 34812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7927:6:55", + "memberName": "Joined", + "nodeType": "MemberAccess", + "referencedDeclaration": 32665, + "src": "7912:21:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 34805, + "name": "assertPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36318, + "src": "7864:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PositionData_$32695_memory_ptr_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct PositionData memory,address,uint256,enum PositionStatus)" + } + }, + "id": 34813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7864:70:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34814, + "nodeType": "ExpressionStatement", + "src": "7864:70:55" + }, + { + "assignments": [ + 34817 + ], + "declarations": [ + { + "constant": false, + "id": 34817, + "mutability": "mutable", + "name": "agreement", + "nameLocation": "7966:9:55", + "nodeType": "VariableDeclaration", + "scope": 34830, + "src": "7945:30:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData" + }, + "typeName": { + "id": 34816, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34815, + "name": "AgreementData", + "nameLocations": [ + "7945:13:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32728, + "src": "7945:13:55" + }, + "referencedDeclaration": 32728, + "src": "7945:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_storage_ptr", + "typeString": "struct AgreementData" + } + }, + "visibility": "internal" + } + ], + "id": 34822, + "initialValue": { + "arguments": [ + { + "id": 34820, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34761, + "src": "8002:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34818, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "7978:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7988:13:55", + "memberName": "agreementData", + "nodeType": "MemberAccess", + "referencedDeclaration": 31375, + "src": "7978:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_AgreementData_$32728_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct AgreementData memory)" + } + }, + "id": 34821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7978:36:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7945:69:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 34824, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34817, + "src": "8033:9:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 34825, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8043:6:55", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32727, + "src": "8033:16:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + { + "expression": { + "id": 34826, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "8051:15:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 34827, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8067:7:55", + "memberName": "Ongoing", + "nodeType": "MemberAccess", + "referencedDeclaration": 32671, + "src": "8051:23:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 34823, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 36286, + "src": "8024:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_AgreementStatus_$32674_$_t_enum$_AgreementStatus_$32674_$returns$__$", + "typeString": "function (enum AgreementStatus,enum AgreementStatus)" + } + }, + "id": 34828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8024:51:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34829, + "nodeType": "ExpressionStatement", + "src": "8024:51:55" + } + ] + }, + "functionSelector": "c5bfaae2", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testSingleFinalization", + "nameLocation": "7452:22:55", + "parameters": { + "id": 34758, + "nodeType": "ParameterList", + "parameters": [], + "src": "7474:2:55" + }, + "returnParameters": { + "id": 34759, + "nodeType": "ParameterList", + "parameters": [], + "src": "7484:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34887, + "nodeType": "FunctionDefinition", + "src": "8088:508:55", + "nodes": [], + "body": { + "id": 34886, + "nodeType": "Block", + "src": "8132:464:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34835 + ], + "declarations": [ + { + "constant": false, + "id": 34835, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "8150:11:55", + "nodeType": "VariableDeclaration", + "scope": 34886, + "src": "8142:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34834, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8142:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34838, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34836, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "8164:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8164:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8142:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34840, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34835, + "src": "8209:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34839, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "8191:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8191:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34842, + "nodeType": "ExpressionStatement", + "src": "8191:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34844, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34835, + "src": "8251:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34843, + "name": "aliceJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35938, + "src": "8231:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8231:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34846, + "nodeType": "ExpressionStatement", + "src": "8231:32:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34850, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "8283:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34847, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "8274:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8277:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "8274:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 34851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8274:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34852, + "nodeType": "ExpressionStatement", + "src": "8274:13:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34856, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34835, + "src": "8325:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34853, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "8297:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8307:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "8297:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 34857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8297:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34858, + "nodeType": "ExpressionStatement", + "src": "8297:40:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34862, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "8356:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34859, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "8347:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8350:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "8347:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 34863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8347:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34864, + "nodeType": "ExpressionStatement", + "src": "8347:15:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34868, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34835, + "src": "8400:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34865, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "8372:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8382:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "8372:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 34869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8372:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34870, + "nodeType": "ExpressionStatement", + "src": "8372:40:55" + }, + { + "assignments": [ + 34873 + ], + "declarations": [ + { + "constant": false, + "id": 34873, + "mutability": "mutable", + "name": "agreement", + "nameLocation": "8478:9:55", + "nodeType": "VariableDeclaration", + "scope": 34886, + "src": "8457:30:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData" + }, + "typeName": { + "id": 34872, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34871, + "name": "AgreementData", + "nameLocations": [ + "8457:13:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32728, + "src": "8457:13:55" + }, + "referencedDeclaration": 32728, + "src": "8457:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_storage_ptr", + "typeString": "struct AgreementData" + } + }, + "visibility": "internal" + } + ], + "id": 34878, + "initialValue": { + "arguments": [ + { + "id": 34876, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34835, + "src": "8514:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34874, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "8490:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8500:13:55", + "memberName": "agreementData", + "nodeType": "MemberAccess", + "referencedDeclaration": 31375, + "src": "8490:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_AgreementData_$32728_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct AgreementData memory)" + } + }, + "id": 34877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8490:36:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8457:69:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 34880, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34873, + "src": "8545:9:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 34881, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8555:6:55", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32727, + "src": "8545:16:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + { + "expression": { + "id": 34882, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "8563:15:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 34883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8579:9:55", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32672, + "src": "8563:25:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 34879, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 36286, + "src": "8536:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_AgreementStatus_$32674_$_t_enum$_AgreementStatus_$32674_$returns$__$", + "typeString": "function (enum AgreementStatus,enum AgreementStatus)" + } + }, + "id": 34884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8536:53:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34885, + "nodeType": "ExpressionStatement", + "src": "8536:53:55" + } + ] + }, + "functionSelector": "33bdcd90", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testFinalizationConsensus", + "nameLocation": "8097:25:55", + "parameters": { + "id": 34832, + "nodeType": "ParameterList", + "parameters": [], + "src": "8122:2:55" + }, + "returnParameters": { + "id": 34833, + "nodeType": "ParameterList", + "parameters": [], + "src": "8132:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34906, + "nodeType": "FunctionDefinition", + "src": "8602:231:55", + "nodes": [], + "body": { + "id": 34905, + "nodeType": "Block", + "src": "8654:179:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34891 + ], + "declarations": [ + { + "constant": false, + "id": 34891, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "8672:11:55", + "nodeType": "VariableDeclaration", + "scope": 34905, + "src": "8664:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34890, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8664:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34894, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34892, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "8686:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8686:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8664:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34896, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34891, + "src": "8731:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34895, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "8713:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8713:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34898, + "nodeType": "ExpressionStatement", + "src": "8713:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34900, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34891, + "src": "8786:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 34901, + "name": "NoPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32646, + "src": "8799:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 34902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8817:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "8799:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 34899, + "name": "aliceExpectsErrorWhenFinalizing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36046, + "src": "8754:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes4_$returns$__$", + "typeString": "function (bytes32,bytes4)" + } + }, + "id": 34903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8754:72:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34904, + "nodeType": "ExpressionStatement", + "src": "8754:72:55" + } + ] + }, + "functionSelector": "545b1a26", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testOnlyPartyCanFinalizeAgreement", + "nameLocation": "8611:33:55", + "parameters": { + "id": 34888, + "nodeType": "ParameterList", + "parameters": [], + "src": "8644:2:55" + }, + "returnParameters": { + "id": 34889, + "nodeType": "ParameterList", + "parameters": [], + "src": "8654:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34941, + "nodeType": "FunctionDefinition", + "src": "8839:348:55", + "nodes": [], + "body": { + "id": 34940, + "nodeType": "Block", + "src": "8891:296:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34910 + ], + "declarations": [ + { + "constant": false, + "id": 34910, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "8909:11:55", + "nodeType": "VariableDeclaration", + "scope": 34940, + "src": "8901:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34909, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8901:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34913, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34911, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "8923:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8923:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8901:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34915, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34910, + "src": "8968:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34914, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "8950:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8950:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34917, + "nodeType": "ExpressionStatement", + "src": "8950:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34919, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34910, + "src": "9010:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34918, + "name": "aliceJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35938, + "src": "8990:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8990:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34921, + "nodeType": "ExpressionStatement", + "src": "8990:32:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34925, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "9042:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34922, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "9033:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9036:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "9033:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 34926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9033:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34927, + "nodeType": "ExpressionStatement", + "src": "9033:13:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34931, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34910, + "src": "9083:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34928, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "9056:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9066:16:55", + "memberName": "disputeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32072, + "src": "9056:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 34932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9056:39:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34933, + "nodeType": "ExpressionStatement", + "src": "9056:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34935, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34910, + "src": "9138:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 34936, + "name": "AgreementIsDisputed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32634, + "src": "9151:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 34937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9171:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "9151:28:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 34934, + "name": "aliceExpectsErrorWhenFinalizing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36046, + "src": "9106:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes4_$returns$__$", + "typeString": "function (bytes32,bytes4)" + } + }, + "id": 34938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9106:74:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34939, + "nodeType": "ExpressionStatement", + "src": "9106:74:55" + } + ] + }, + "functionSelector": "0f7997cd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantFinalizeDisputedAgreement", + "nameLocation": "8848:33:55", + "parameters": { + "id": 34907, + "nodeType": "ParameterList", + "parameters": [], + "src": "8881:2:55" + }, + "returnParameters": { + "id": 34908, + "nodeType": "ParameterList", + "parameters": [], + "src": "8891:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34988, + "nodeType": "FunctionDefinition", + "src": "9193:397:55", + "nodes": [], + "body": { + "id": 34987, + "nodeType": "Block", + "src": "9241:349:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34945 + ], + "declarations": [ + { + "constant": false, + "id": 34945, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "9259:11:55", + "nodeType": "VariableDeclaration", + "scope": 34987, + "src": "9251:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34944, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9251:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34948, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34946, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "9273:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9273:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9251:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34950, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34945, + "src": "9318:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34949, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "9300:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9300:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34952, + "nodeType": "ExpressionStatement", + "src": "9300:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34954, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34945, + "src": "9360:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34953, + "name": "aliceJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35938, + "src": "9340:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9340:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34956, + "nodeType": "ExpressionStatement", + "src": "9340:32:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34960, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "9397:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34957, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "9383:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9386:10:55", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9961, + "src": "9383:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 34961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9383:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34962, + "nodeType": "ExpressionStatement", + "src": "9383:18:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34966, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34945, + "src": "9439:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34963, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "9411:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9421:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "9411:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 34967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9411:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34968, + "nodeType": "ExpressionStatement", + "src": "9411:40:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 34972, + "name": "PartyAlreadyFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32652, + "src": "9478:21:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 34973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9500:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "9478:30:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 34969, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "9462:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9465:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "9462:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 34974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9462:47:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34975, + "nodeType": "ExpressionStatement", + "src": "9462:47:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34979, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34945, + "src": "9547:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 34976, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "9519:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 34978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9529:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "9519:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 34980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9519:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34981, + "nodeType": "ExpressionStatement", + "src": "9519:40:55" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 34982, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "9569:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 34984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9572:9:55", + "memberName": "stopPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9978, + "src": "9569:12:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 34985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9569:14:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34986, + "nodeType": "ExpressionStatement", + "src": "9569:14:55" + } + ] + }, + "functionSelector": "e8a19796", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantFinalizeMultipleTimes", + "nameLocation": "9202:29:55", + "parameters": { + "id": 34942, + "nodeType": "ParameterList", + "parameters": [], + "src": "9231:2:55" + }, + "returnParameters": { + "id": 34943, + "nodeType": "ParameterList", + "parameters": [], + "src": "9241:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35065, + "nodeType": "FunctionDefinition", + "src": "9809:731:55", + "nodes": [], + "body": { + "id": 35064, + "nodeType": "Block", + "src": "9848:692:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 34992 + ], + "declarations": [ + { + "constant": false, + "id": 34992, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "9866:11:55", + "nodeType": "VariableDeclaration", + "scope": 35064, + "src": "9858:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34991, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9858:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 34995, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34993, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "9880:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 34994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9880:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9858:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 34997, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34992, + "src": "9926:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34996, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "9908:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 34998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9908:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34999, + "nodeType": "ExpressionStatement", + "src": "9908:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35001, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34992, + "src": "9968:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35000, + "name": "aliceJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35938, + "src": "9948:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9948:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35003, + "nodeType": "ExpressionStatement", + "src": "9948:32:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35005, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34992, + "src": "10012:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35004, + "name": "bobDisputesAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35906, + "src": "9991:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9991:33:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35007, + "nodeType": "ExpressionStatement", + "src": "9991:33:55" + }, + { + "assignments": [ + 35010 + ], + "declarations": [ + { + "constant": false, + "id": 35010, + "mutability": "mutable", + "name": "agreement", + "nameLocation": "10056:9:55", + "nodeType": "VariableDeclaration", + "scope": 35064, + "src": "10035:30:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData" + }, + "typeName": { + "id": 35009, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35008, + "name": "AgreementData", + "nameLocations": [ + "10035:13:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32728, + "src": "10035:13:55" + }, + "referencedDeclaration": 32728, + "src": "10035:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_storage_ptr", + "typeString": "struct AgreementData" + } + }, + "visibility": "internal" + } + ], + "id": 35015, + "initialValue": { + "arguments": [ + { + "id": 35013, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34992, + "src": "10092:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35011, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "10068:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10078:13:55", + "memberName": "agreementData", + "nodeType": "MemberAccess", + "referencedDeclaration": 31375, + "src": "10068:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_AgreementData_$32728_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct AgreementData memory)" + } + }, + "id": 35014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10068:36:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10035:69:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35017, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35010, + "src": "10123:9:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 35018, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10133:6:55", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32727, + "src": "10123:16:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + { + "expression": { + "id": 35019, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "10141:15:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 35020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10157:8:55", + "memberName": "Disputed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32673, + "src": "10141:24:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 35016, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 36286, + "src": "10114:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_AgreementStatus_$32674_$_t_enum$_AgreementStatus_$32674_$returns$__$", + "typeString": "function (enum AgreementStatus,enum AgreementStatus)" + } + }, + "id": 35021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10114:52:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35022, + "nodeType": "ExpressionStatement", + "src": "10114:52:55" + }, + { + "assignments": [ + 35027 + ], + "declarations": [ + { + "constant": false, + "id": 35027, + "mutability": "mutable", + "name": "positions", + "nameLocation": "10199:9:55", + "nodeType": "VariableDeclaration", + "scope": 35064, + "src": "10177:31:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData[]" + }, + "typeName": { + "baseType": { + "id": 35025, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35024, + "name": "PositionData", + "nameLocations": [ + "10177:12:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "10177:12:55" + }, + "referencedDeclaration": 32695, + "src": "10177:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "id": 35026, + "nodeType": "ArrayTypeName", + "src": "10177:14:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_storage_$dyn_storage_ptr", + "typeString": "struct PositionData[]" + } + }, + "visibility": "internal" + } + ], + "id": 35032, + "initialValue": { + "arguments": [ + { + "id": 35030, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34992, + "src": "10240:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35028, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "10211:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10221:18:55", + "memberName": "agreementPositions", + "nodeType": "MemberAccess", + "referencedDeclaration": 31455, + "src": "10211:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct PositionData memory[] memory)" + } + }, + "id": 35031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10211:41:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10177:75:55" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 35034, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35027, + "src": "10277:9:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 35036, + "indexExpression": { + "hexValue": "30", + "id": 35035, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10287:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10277:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + { + "id": 35037, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "10291:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35038, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "10296:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 35039, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "10306:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 35040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10321:8:55", + "memberName": "Disputed", + "nodeType": "MemberAccess", + "referencedDeclaration": 32668, + "src": "10306:23:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 35033, + "name": "assertPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36318, + "src": "10262:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PositionData_$32695_memory_ptr_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct PositionData memory,address,uint256,enum PositionStatus)" + } + }, + "id": 35041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10262:68:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35042, + "nodeType": "ExpressionStatement", + "src": "10262:68:55" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 35044, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35027, + "src": "10355:9:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 35046, + "indexExpression": { + "hexValue": "31", + "id": 35045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10365:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10355:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + { + "id": 35047, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "10369:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35048, + "name": "aliceStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36567, + "src": "10376:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 35049, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "10388:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 35050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10403:6:55", + "memberName": "Joined", + "nodeType": "MemberAccess", + "referencedDeclaration": 32665, + "src": "10388:21:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 35043, + "name": "assertPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36318, + "src": "10340:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PositionData_$32695_memory_ptr_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct PositionData memory,address,uint256,enum PositionStatus)" + } + }, + "id": 35051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10340:70:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35052, + "nodeType": "ExpressionStatement", + "src": "10340:70:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 35055, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "10480:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10489:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "10480:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 35057, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "10496:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35058, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10505:9:55", + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 33294, + "src": "10496:18:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35054, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "10470:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10470:45:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 35060, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "10517:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10526:6:55", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "10517:15:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35053, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "10461:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 35062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10461:72:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35063, + "nodeType": "ExpressionStatement", + "src": "10461:72:55" + } + ] + }, + "functionSelector": "eb9e5a69", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testDisputeAgreement", + "nameLocation": "9818:20:55", + "parameters": { + "id": 34989, + "nodeType": "ParameterList", + "parameters": [], + "src": "9838:2:55" + }, + "returnParameters": { + "id": 34990, + "nodeType": "ParameterList", + "parameters": [], + "src": "9848:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35097, + "nodeType": "FunctionDefinition", + "src": "10546:275:55", + "nodes": [], + "body": { + "id": 35096, + "nodeType": "Block", + "src": "10597:224:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35069 + ], + "declarations": [ + { + "constant": false, + "id": 35069, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "10615:11:55", + "nodeType": "VariableDeclaration", + "scope": 35096, + "src": "10607:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35068, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10607:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35072, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35070, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "10629:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10629:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10607:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35074, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35069, + "src": "10674:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35073, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "10656:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10656:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35076, + "nodeType": "ExpressionStatement", + "src": "10656:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35080, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "10706:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35077, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "10697:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10700:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "10697:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10697:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35082, + "nodeType": "ExpressionStatement", + "src": "10697:15:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35086, + "name": "NoPartOfAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32646, + "src": "10738:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 35087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10756:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "10738:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 35083, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "10722:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10725:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "10722:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 35088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10722:43:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35089, + "nodeType": "ExpressionStatement", + "src": "10722:43:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35093, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35069, + "src": "10802:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35090, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "10775:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10785:16:55", + "memberName": "disputeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32072, + "src": "10775:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10775:39:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35095, + "nodeType": "ExpressionStatement", + "src": "10775:39:55" + } + ] + }, + "functionSelector": "222dcf4b", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testOnlyPartyCanDisputeAgreement", + "nameLocation": "10555:32:55", + "parameters": { + "id": 35066, + "nodeType": "ParameterList", + "parameters": [], + "src": "10587:2:55" + }, + "returnParameters": { + "id": 35067, + "nodeType": "ParameterList", + "parameters": [], + "src": "10597:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35151, + "nodeType": "FunctionDefinition", + "src": "10827:450:55", + "nodes": [], + "body": { + "id": 35150, + "nodeType": "Block", + "src": "10879:398:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35101 + ], + "declarations": [ + { + "constant": false, + "id": 35101, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "10897:11:55", + "nodeType": "VariableDeclaration", + "scope": 35150, + "src": "10889:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35100, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10889:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35104, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35102, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "10911:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10911:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10889:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35106, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35101, + "src": "10956:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35105, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "10938:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10938:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35108, + "nodeType": "ExpressionStatement", + "src": "10938:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35110, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35101, + "src": "10998:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35109, + "name": "aliceJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35938, + "src": "10978:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10978:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35112, + "nodeType": "ExpressionStatement", + "src": "10978:32:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35116, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "11030:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35113, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "11021:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11024:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "11021:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11021:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35118, + "nodeType": "ExpressionStatement", + "src": "11021:13:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35122, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35101, + "src": "11072:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35119, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "11044:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11054:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "11044:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11044:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35124, + "nodeType": "ExpressionStatement", + "src": "11044:40:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35128, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "11108:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35125, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "11094:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11097:10:55", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9961, + "src": "11094:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11094:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35130, + "nodeType": "ExpressionStatement", + "src": "11094:20:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35134, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35101, + "src": "11152:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35131, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "11124:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11134:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "11124:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11124:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35136, + "nodeType": "ExpressionStatement", + "src": "11124:40:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35140, + "name": "AgreementIsFinalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32637, + "src": "11191:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 35141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11212:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "11191:29:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 35137, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "11175:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11178:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "11175:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 35142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11175:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35143, + "nodeType": "ExpressionStatement", + "src": "11175:46:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35147, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35101, + "src": "11258:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35144, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "11231:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11241:16:55", + "memberName": "disputeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32072, + "src": "11231:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11231:39:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35149, + "nodeType": "ExpressionStatement", + "src": "11231:39:55" + } + ] + }, + "functionSelector": "0850ceee", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testCantDisputeFinalizedAgreement", + "nameLocation": "10836:33:55", + "parameters": { + "id": 35098, + "nodeType": "ParameterList", + "parameters": [], + "src": "10869:2:55" + }, + "returnParameters": { + "id": 35099, + "nodeType": "ParameterList", + "parameters": [], + "src": "10879:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35232, + "nodeType": "FunctionDefinition", + "src": "11501:650:55", + "nodes": [], + "body": { + "id": 35231, + "nodeType": "Block", + "src": "11534:617:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35155 + ], + "declarations": [ + { + "constant": false, + "id": 35155, + "mutability": "mutable", + "name": "disputeId", + "nameLocation": "11552:9:55", + "nodeType": "VariableDeclaration", + "scope": 35231, + "src": "11544:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35154, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11544:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35158, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35156, + "name": "createDispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35769, + "src": "11564:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11564:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11544:35:55" + }, + { + "assignments": [ + 35163 + ], + "declarations": [ + { + "constant": false, + "id": 35163, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "11613:10:55", + "nodeType": "VariableDeclaration", + "scope": 35231, + "src": "11589:34:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 35161, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35160, + "name": "PositionParams", + "nameLocations": [ + "11589:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "11589:14:55" + }, + "referencedDeclaration": 32681, + "src": "11589:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 35162, + "nodeType": "ArrayTypeName", + "src": "11589:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "id": 35166, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35164, + "name": "getValidSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36177, + "src": "11626:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 35165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11626:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11589:57:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35170, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "11666:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35167, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "11657:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11660:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "11657:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11657:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35172, + "nodeType": "ExpressionStatement", + "src": "11657:20:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35176, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35155, + "src": "11711:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35177, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35163, + "src": "11722:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 35173, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "11687:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11697:13:55", + "memberName": "settleDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 32314, + "src": "11687:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 35178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11687:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35179, + "nodeType": "ExpressionStatement", + "src": "11687:46:55" + }, + { + "assignments": [ + 35182 + ], + "declarations": [ + { + "constant": false, + "id": 35182, + "mutability": "mutable", + "name": "agreement", + "nameLocation": "11765:9:55", + "nodeType": "VariableDeclaration", + "scope": 35231, + "src": "11744:30:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData" + }, + "typeName": { + "id": 35181, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35180, + "name": "AgreementData", + "nameLocations": [ + "11744:13:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32728, + "src": "11744:13:55" + }, + "referencedDeclaration": 32728, + "src": "11744:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_storage_ptr", + "typeString": "struct AgreementData" + } + }, + "visibility": "internal" + } + ], + "id": 35187, + "initialValue": { + "arguments": [ + { + "id": 35185, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35155, + "src": "11801:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35183, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "11777:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11787:13:55", + "memberName": "agreementData", + "nodeType": "MemberAccess", + "referencedDeclaration": 31375, + "src": "11777:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_AgreementData_$32728_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct AgreementData memory)" + } + }, + "id": 35186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11777:34:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11744:67:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35189, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35182, + "src": "11830:9:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementData_$32728_memory_ptr", + "typeString": "struct AgreementData memory" + } + }, + "id": 35190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11840:6:55", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32727, + "src": "11830:16:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + { + "expression": { + "id": 35191, + "name": "AgreementStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32674, + "src": "11848:15:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_AgreementStatus_$32674_$", + "typeString": "type(enum AgreementStatus)" + } + }, + "id": 35192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11864:9:55", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32672, + "src": "11848:25:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 35188, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 36286, + "src": "11821:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_AgreementStatus_$32674_$_t_enum$_AgreementStatus_$32674_$returns$__$", + "typeString": "function (enum AgreementStatus,enum AgreementStatus)" + } + }, + "id": 35193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11821:53:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35194, + "nodeType": "ExpressionStatement", + "src": "11821:53:55" + }, + { + "assignments": [ + 35199 + ], + "declarations": [ + { + "constant": false, + "id": 35199, + "mutability": "mutable", + "name": "positions", + "nameLocation": "11907:9:55", + "nodeType": "VariableDeclaration", + "scope": 35231, + "src": "11885:31:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData[]" + }, + "typeName": { + "baseType": { + "id": 35197, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35196, + "name": "PositionData", + "nameLocations": [ + "11885:12:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "11885:12:55" + }, + "referencedDeclaration": 32695, + "src": "11885:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "id": 35198, + "nodeType": "ArrayTypeName", + "src": "11885:14:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_storage_$dyn_storage_ptr", + "typeString": "struct PositionData[]" + } + }, + "visibility": "internal" + } + ], + "id": 35204, + "initialValue": { + "arguments": [ + { + "id": 35202, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35155, + "src": "11948:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35200, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "11919:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11929:18:55", + "memberName": "agreementPositions", + "nodeType": "MemberAccess", + "referencedDeclaration": 31455, + "src": "11919:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct PositionData memory[] memory)" + } + }, + "id": 35203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11919:39:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11885:73:55" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 35206, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35199, + "src": "11983:9:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 35208, + "indexExpression": { + "hexValue": "30", + "id": 35207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11993:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11983:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + { + "id": 35209, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "11997:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "id": 35210, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35163, + "src": "12002:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35212, + "indexExpression": { + "hexValue": "30", + "id": 35211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12013:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12002:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35213, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12016:7:55", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "12002:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 35214, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "12025:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 35215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12040:9:55", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32666, + "src": "12025:24:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 35205, + "name": "assertPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36318, + "src": "11968:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PositionData_$32695_memory_ptr_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct PositionData memory,address,uint256,enum PositionStatus)" + } + }, + "id": 35216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11968:82:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35217, + "nodeType": "ExpressionStatement", + "src": "11968:82:55" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 35219, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35199, + "src": "12075:9:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionData_$32695_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionData memory[] memory" + } + }, + "id": 35221, + "indexExpression": { + "hexValue": "31", + "id": 35220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12085:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12075:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + { + "id": 35222, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "12089:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "id": 35223, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35163, + "src": "12096:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35225, + "indexExpression": { + "hexValue": "31", + "id": 35224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12107:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12096:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12110:7:55", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "12096:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 35227, + "name": "PositionStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32669, + "src": "12119:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_PositionStatus_$32669_$", + "typeString": "type(enum PositionStatus)" + } + }, + "id": 35228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "12134:9:55", + "memberName": "Finalized", + "nodeType": "MemberAccess", + "referencedDeclaration": 32666, + "src": "12119:24:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 35218, + "name": "assertPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36318, + "src": "12060:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PositionData_$32695_memory_ptr_$_t_address_$_t_uint256_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (struct PositionData memory,address,uint256,enum PositionStatus)" + } + }, + "id": 35229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12060:84:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35230, + "nodeType": "ExpressionStatement", + "src": "12060:84:55" + } + ] + }, + "functionSelector": "ac73b6ce", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testSettlement", + "nameLocation": "11510:14:55", + "parameters": { + "id": 35152, + "nodeType": "ParameterList", + "parameters": [], + "src": "11524:2:55" + }, + "returnParameters": { + "id": 35153, + "nodeType": "ParameterList", + "parameters": [], + "src": "11534:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35277, + "nodeType": "FunctionDefinition", + "src": "12157:404:55", + "nodes": [], + "body": { + "id": 35276, + "nodeType": "Block", + "src": "12211:350:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35236 + ], + "declarations": [ + { + "constant": false, + "id": 35236, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "12229:11:55", + "nodeType": "VariableDeclaration", + "scope": 35276, + "src": "12221:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12221:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35239, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35237, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "12243:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12243:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12221:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35241, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35236, + "src": "12288:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35240, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "12270:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12270:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35243, + "nodeType": "ExpressionStatement", + "src": "12270:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35245, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35236, + "src": "12330:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35244, + "name": "aliceJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35938, + "src": "12310:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12310:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35247, + "nodeType": "ExpressionStatement", + "src": "12310:32:55" + }, + { + "assignments": [ + 35252 + ], + "declarations": [ + { + "constant": false, + "id": 35252, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "12376:10:55", + "nodeType": "VariableDeclaration", + "scope": 35276, + "src": "12352:34:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 35250, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35249, + "name": "PositionParams", + "nameLocations": [ + "12352:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "12352:14:55" + }, + "referencedDeclaration": 32681, + "src": "12352:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 35251, + "nodeType": "ArrayTypeName", + "src": "12352:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "id": 35255, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35253, + "name": "getValidSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36177, + "src": "12389:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 35254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12389:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12352:57:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35259, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "12429:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35256, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "12420:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12423:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "12420:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12420:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35261, + "nodeType": "ExpressionStatement", + "src": "12420:20:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35265, + "name": "AgreementNotDisputed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32643, + "src": "12466:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 35266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12487:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "12466:29:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 35262, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "12450:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12453:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "12450:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 35267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12450:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35268, + "nodeType": "ExpressionStatement", + "src": "12450:46:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35272, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35236, + "src": "12530:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35273, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35252, + "src": "12543:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 35269, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "12506:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12516:13:55", + "memberName": "settleDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 32314, + "src": "12506:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 35274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12506:48:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35275, + "nodeType": "ExpressionStatement", + "src": "12506:48:55" + } + ] + }, + "functionSelector": "28aec530", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testOnlyCanSettleDisputedAgreements", + "nameLocation": "12166:35:55", + "parameters": { + "id": 35233, + "nodeType": "ParameterList", + "parameters": [], + "src": "12201:2:55" + }, + "returnParameters": { + "id": 35234, + "nodeType": "ParameterList", + "parameters": [], + "src": "12211:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35321, + "nodeType": "FunctionDefinition", + "src": "12567:365:55", + "nodes": [], + "body": { + "id": 35320, + "nodeType": "Block", + "src": "12635:297:55", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 35284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 35282, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35279, + "src": "12649:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 35283, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "12660:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12649:21:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 35286, + "nodeType": "IfStatement", + "src": "12645:34:55", + "trueBody": { + "functionReturnParameters": 35281, + "id": 35285, + "nodeType": "Return", + "src": "12672:7:55" + } + }, + { + "assignments": [ + 35288 + ], + "declarations": [ + { + "constant": false, + "id": 35288, + "mutability": "mutable", + "name": "disputeId", + "nameLocation": "12697:9:55", + "nodeType": "VariableDeclaration", + "scope": 35320, + "src": "12689:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35287, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12689:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35291, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35289, + "name": "createDispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35769, + "src": "12709:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12709:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12689:35:55" + }, + { + "assignments": [ + 35296 + ], + "declarations": [ + { + "constant": false, + "id": 35296, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "12758:10:55", + "nodeType": "VariableDeclaration", + "scope": 35320, + "src": "12734:34:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 35294, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35293, + "name": "PositionParams", + "nameLocations": [ + "12734:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "12734:14:55" + }, + "referencedDeclaration": 32681, + "src": "12734:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 35295, + "nodeType": "ArrayTypeName", + "src": "12734:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "id": 35299, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35297, + "name": "getValidSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36177, + "src": "12771:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 35298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12771:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12734:57:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35303, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35279, + "src": "12811:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35300, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "12802:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12805:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "12802:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12802:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35305, + "nodeType": "ExpressionStatement", + "src": "12802:17:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35309, + "name": "OnlyArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32914, + "src": "12845:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 35310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12860:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "12845:23:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 35306, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "12829:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12832:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "12829:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 35311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12829:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35312, + "nodeType": "ExpressionStatement", + "src": "12829:40:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35316, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35288, + "src": "12903:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35317, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35296, + "src": "12914:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 35313, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "12879:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12889:13:55", + "memberName": "settleDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 32314, + "src": "12879:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 35318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12879:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35319, + "nodeType": "ExpressionStatement", + "src": "12879:46:55" + } + ] + }, + "functionSelector": "74ffbf9a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testOnlyArbitratorCanSettleDispute", + "nameLocation": "12576:34:55", + "parameters": { + "id": 35280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35279, + "mutability": "mutable", + "name": "account", + "nameLocation": "12619:7:55", + "nodeType": "VariableDeclaration", + "scope": 35321, + "src": "12611:15:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 35278, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12611:7:55", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12610:17:55" + }, + "returnParameters": { + "id": 35281, + "nodeType": "ParameterList", + "parameters": [], + "src": "12635:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35401, + "nodeType": "FunctionDefinition", + "src": "12938:599:55", + "nodes": [], + "body": { + "id": 35400, + "nodeType": "Block", + "src": "12987:550:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35325 + ], + "declarations": [ + { + "constant": false, + "id": 35325, + "mutability": "mutable", + "name": "disputeId", + "nameLocation": "13005:9:55", + "nodeType": "VariableDeclaration", + "scope": 35400, + "src": "12997:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35324, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12997:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35328, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35326, + "name": "createDispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35769, + "src": "13017:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13017:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12997:35:55" + }, + { + "assignments": [ + 35333 + ], + "declarations": [ + { + "constant": false, + "id": 35333, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "13066:10:55", + "nodeType": "VariableDeclaration", + "scope": 35400, + "src": "13042:34:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 35331, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35330, + "name": "PositionParams", + "nameLocations": [ + "13042:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "13042:14:55" + }, + "referencedDeclaration": 32681, + "src": "13042:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 35332, + "nodeType": "ArrayTypeName", + "src": "13042:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "id": 35336, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35334, + "name": "getValidSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36177, + "src": "13079:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 35335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13079:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13042:57:55" + }, + { + "expression": { + "id": 35344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 35337, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35333, + "src": "13109:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35339, + "indexExpression": { + "hexValue": "31", + "id": 35338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13120:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13109:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "13123:7:55", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "13109:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 35343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 35341, + "name": "aliceStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36567, + "src": "13133:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 35342, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "13146:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13133:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13109:45:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 35345, + "nodeType": "ExpressionStatement", + "src": "13109:45:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35349, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "13174:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35346, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "13165:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13168:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "13165:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13165:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35351, + "nodeType": "ExpressionStatement", + "src": "13165:20:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35355, + "name": "SettlementBalanceMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32754, + "src": "13211:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 35356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13238:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "13211:35:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 35352, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "13195:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13198:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "13195:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 35357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13195:52:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35358, + "nodeType": "ExpressionStatement", + "src": "13195:52:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35362, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35325, + "src": "13281:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35363, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35333, + "src": "13292:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 35359, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "13257:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13267:13:55", + "memberName": "settleDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 32314, + "src": "13257:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 35364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13257:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35365, + "nodeType": "ExpressionStatement", + "src": "13257:46:55" + }, + { + "expression": { + "id": 35371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 35366, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35333, + "src": "13314:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35368, + "indexExpression": { + "hexValue": "30", + "id": 35367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13325:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13314:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35369, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "13328:7:55", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "13314:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 35370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13338:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13314:25:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 35372, + "nodeType": "ExpressionStatement", + "src": "13314:25:55" + }, + { + "expression": { + "id": 35378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 35373, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35333, + "src": "13349:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35375, + "indexExpression": { + "hexValue": "31", + "id": 35374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13360:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13349:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35376, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "13363:7:55", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "13349:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 35377, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "13373:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13349:32:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 35379, + "nodeType": "ExpressionStatement", + "src": "13349:32:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35383, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "13401:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35380, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "13392:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13395:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "13392:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13392:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35385, + "nodeType": "ExpressionStatement", + "src": "13392:20:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35389, + "name": "SettlementBalanceMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32754, + "src": "13438:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 35390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13465:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "13438:35:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 35386, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "13422:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13425:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "13422:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 35391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13422:52:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35392, + "nodeType": "ExpressionStatement", + "src": "13422:52:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35396, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35325, + "src": "13508:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35397, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35333, + "src": "13519:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 35393, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "13484:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13494:13:55", + "memberName": "settleDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 32314, + "src": "13484:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 35398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13484:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35399, + "nodeType": "ExpressionStatement", + "src": "13484:46:55" + } + ] + }, + "functionSelector": "ea104a70", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testSettlementMustMatchBalance", + "nameLocation": "12947:30:55", + "parameters": { + "id": 35322, + "nodeType": "ParameterList", + "parameters": [], + "src": "12977:2:55" + }, + "returnParameters": { + "id": 35323, + "nodeType": "ParameterList", + "parameters": [], + "src": "12987:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35509, + "nodeType": "FunctionDefinition", + "src": "13543:766:55", + "nodes": [], + "body": { + "id": 35508, + "nodeType": "Block", + "src": "13594:715:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35405 + ], + "declarations": [ + { + "constant": false, + "id": 35405, + "mutability": "mutable", + "name": "disputeId", + "nameLocation": "13612:9:55", + "nodeType": "VariableDeclaration", + "scope": 35508, + "src": "13604:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35404, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13604:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35408, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35406, + "name": "createDispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35769, + "src": "13624:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13624:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13604:35:55" + }, + { + "assignments": [ + 35413 + ], + "declarations": [ + { + "constant": false, + "id": 35413, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "13673:10:55", + "nodeType": "VariableDeclaration", + "scope": 35508, + "src": "13649:34:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 35411, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35410, + "name": "PositionParams", + "nameLocations": [ + "13649:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "13649:14:55" + }, + "referencedDeclaration": 32681, + "src": "13649:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 35412, + "nodeType": "ArrayTypeName", + "src": "13649:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "id": 35420, + "initialValue": { + "arguments": [ + { + "hexValue": "33", + "id": 35418, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13707:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + } + ], + "id": 35417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "13686:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct PositionParams memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 35415, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35414, + "name": "PositionParams", + "nameLocations": [ + "13690:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "13690:14:55" + }, + "referencedDeclaration": 32681, + "src": "13690:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 35416, + "nodeType": "ArrayTypeName", + "src": "13690:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + } + }, + "id": 35419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13686:23:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13649:60:55" + }, + { + "expression": { + "id": 35428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 35421, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35413, + "src": "13719:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35423, + "indexExpression": { + "hexValue": "30", + "id": 35422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13730:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13719:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 35425, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "13750:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "30", + "id": 35426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13755:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 35424, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "13735:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 35427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13735:22:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "13719:38:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35429, + "nodeType": "ExpressionStatement", + "src": "13719:38:55" + }, + { + "expression": { + "id": 35437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 35430, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35413, + "src": "13767:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35432, + "indexExpression": { + "hexValue": "31", + "id": 35431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13778:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13767:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 35434, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "13798:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35435, + "name": "aliceStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36567, + "src": "13805:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35433, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "13783:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 35436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13783:33:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "13767:49:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35438, + "nodeType": "ExpressionStatement", + "src": "13767:49:55" + }, + { + "expression": { + "id": 35446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 35439, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35413, + "src": "13826:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35441, + "indexExpression": { + "hexValue": "32", + "id": 35440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13837:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13826:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 35443, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "13857:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35444, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "13869:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35442, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "13842:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 35445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13842:36:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "13826:52:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35447, + "nodeType": "ExpressionStatement", + "src": "13826:52:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35451, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "13898:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35448, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "13889:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13892:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "13889:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13889:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35453, + "nodeType": "ExpressionStatement", + "src": "13889:20:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35457, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "13935:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 35458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13964:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "13935:37:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 35454, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "13919:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13922:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "13919:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 35459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13919:54:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35460, + "nodeType": "ExpressionStatement", + "src": "13919:54:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35464, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35405, + "src": "14007:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35465, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35413, + "src": "14018:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 35461, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "13983:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13993:13:55", + "memberName": "settleDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 32314, + "src": "13983:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 35466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13983:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35467, + "nodeType": "ExpressionStatement", + "src": "13983:46:55" + }, + { + "expression": { + "id": 35475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 35468, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35413, + "src": "14040:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "31", + "id": 35473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14074:1:55", + "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": 35472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "14053:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct PositionParams memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 35470, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35469, + "name": "PositionParams", + "nameLocations": [ + "14057:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "14057:14:55" + }, + "referencedDeclaration": 32681, + "src": "14057:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 35471, + "nodeType": "ArrayTypeName", + "src": "14057:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + } + }, + "id": 35474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14053:23:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "src": "14040:36:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35476, + "nodeType": "ExpressionStatement", + "src": "14040:36:55" + }, + { + "expression": { + "id": 35486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 35477, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35413, + "src": "14086:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35479, + "indexExpression": { + "hexValue": "30", + "id": 35478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14097:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14086:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 35481, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "14117:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 35484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 35482, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "14129:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 35483, + "name": "aliceStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36567, + "src": "14140:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14129:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35480, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "14102:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 35485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14102:49:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "14086:65:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35487, + "nodeType": "ExpressionStatement", + "src": "14086:65:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35491, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "14171:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35488, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "14162:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14165:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "14162:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14162:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35493, + "nodeType": "ExpressionStatement", + "src": "14162:20:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 35497, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "14208:28:55", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 35498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14237:8:55", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "14208:37:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 35494, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "14192:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14195:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "14192:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 35499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14192:54:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35500, + "nodeType": "ExpressionStatement", + "src": "14192:54:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35504, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35405, + "src": "14280:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35505, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35413, + "src": "14291:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 35501, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "14256:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14266:13:55", + "memberName": "settleDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 32314, + "src": "14256:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 35506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14256:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35507, + "nodeType": "ExpressionStatement", + "src": "14256:46:55" + } + ] + }, + "functionSelector": "44a45ffe", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testSettlementMustMatchPositions", + "nameLocation": "13552:32:55", + "parameters": { + "id": 35402, + "nodeType": "ParameterList", + "parameters": [], + "src": "13584:2:55" + }, + "returnParameters": { + "id": 35403, + "nodeType": "ParameterList", + "parameters": [], + "src": "13594:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35579, + "nodeType": "FunctionDefinition", + "src": "14534:616:55", + "nodes": [], + "body": { + "id": 35578, + "nodeType": "Block", + "src": "14578:572:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35513 + ], + "declarations": [ + { + "constant": false, + "id": 35513, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "14596:11:55", + "nodeType": "VariableDeclaration", + "scope": 35578, + "src": "14588:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14588:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35516, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35514, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "14610:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14610:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14588:39:55" + }, + { + "assignments": [ + 35518 + ], + "declarations": [ + { + "constant": false, + "id": 35518, + "mutability": "mutable", + "name": "beforeBalance", + "nameLocation": "14645:13:55", + "nodeType": "VariableDeclaration", + "scope": 35578, + "src": "14637:21:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35517, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14637:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 35524, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 35520, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "14671:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 35521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14678:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "14671:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35522, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "14685:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35519, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "14661:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14661:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14637:52:55" + }, + { + "assignments": [ + 35526 + ], + "declarations": [ + { + "constant": false, + "id": 35526, + "mutability": "mutable", + "name": "beforeDepositBalance", + "nameLocation": "14707:20:55", + "nodeType": "VariableDeclaration", + "scope": 35578, + "src": "14699:28:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14699:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 35532, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 35528, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "14740:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14749:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "14740:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35530, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "14756:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35527, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "14730:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14730:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14699:61:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35534, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35513, + "src": "14789:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35533, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "14771:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14771:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35536, + "nodeType": "ExpressionStatement", + "src": "14771:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35540, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "14825:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35537, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "14811:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14814:10:55", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9961, + "src": "14811:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14811:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35542, + "nodeType": "ExpressionStatement", + "src": "14811:18:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35546, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35513, + "src": "14867:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35543, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "14839:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14849:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "14839:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14839:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35548, + "nodeType": "ExpressionStatement", + "src": "14839:40:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35552, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35513, + "src": "14921:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35549, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "14889:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14899:21:55", + "memberName": "withdrawFromAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32183, + "src": "14889:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14889:44:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35554, + "nodeType": "ExpressionStatement", + "src": "14889:44:55" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 35555, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "14943:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14946:9:55", + "memberName": "stopPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9978, + "src": "14943:12:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 35558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14943:14:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35559, + "nodeType": "ExpressionStatement", + "src": "14943:14:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 35562, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "15037:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 35563, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15044:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "15037:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35564, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "15051:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35561, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "15027:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15027:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 35566, + "name": "beforeBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35518, + "src": "15057:13:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35560, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "15018:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 35567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15018:53:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35568, + "nodeType": "ExpressionStatement", + "src": "15018:53:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 35571, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "15100:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35572, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15109:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "15100:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35573, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "15116:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35570, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "15090:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15090:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 35575, + "name": "beforeDepositBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35526, + "src": "15122:20:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35569, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "15081:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 35576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15081:62:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35577, + "nodeType": "ExpressionStatement", + "src": "15081:62:55" + } + ] + }, + "functionSelector": "60f00d7e", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testWithdrawFromAgreement", + "nameLocation": "14543:25:55", + "parameters": { + "id": 35510, + "nodeType": "ParameterList", + "parameters": [], + "src": "14568:2:55" + }, + "returnParameters": { + "id": 35511, + "nodeType": "ParameterList", + "parameters": [], + "src": "14578:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35714, + "nodeType": "FunctionDefinition", + "src": "15156:1109:55", + "nodes": [], + "body": { + "id": 35713, + "nodeType": "Block", + "src": "15202:1063:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35583 + ], + "declarations": [ + { + "constant": false, + "id": 35583, + "mutability": "mutable", + "name": "disputeId", + "nameLocation": "15220:9:55", + "nodeType": "VariableDeclaration", + "scope": 35713, + "src": "15212:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35582, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15212:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35586, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35584, + "name": "createDispute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35769, + "src": "15232:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15232:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15212:35:55" + }, + { + "assignments": [ + 35588 + ], + "declarations": [ + { + "constant": false, + "id": 35588, + "mutability": "mutable", + "name": "bobBalance", + "nameLocation": "15265:10:55", + "nodeType": "VariableDeclaration", + "scope": 35713, + "src": "15257:18:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15257:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 35594, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 35590, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "15288:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 35591, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15295:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "15288:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35592, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "15302:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35589, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "15278:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15278:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15257:49:55" + }, + { + "assignments": [ + 35596 + ], + "declarations": [ + { + "constant": false, + "id": 35596, + "mutability": "mutable", + "name": "bobDepositBalance", + "nameLocation": "15324:17:55", + "nodeType": "VariableDeclaration", + "scope": 35713, + "src": "15316:25:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15316:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 35602, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 35598, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "15354:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35599, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15363:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "15354:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35600, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "15370:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35597, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "15344:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15344:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15316:58:55" + }, + { + "assignments": [ + 35604 + ], + "declarations": [ + { + "constant": false, + "id": 35604, + "mutability": "mutable", + "name": "aliceBalance", + "nameLocation": "15392:12:55", + "nodeType": "VariableDeclaration", + "scope": 35713, + "src": "15384:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15384:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 35610, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 35606, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "15417:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 35607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15424:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "15417:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35608, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "15431:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35605, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "15407:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15407:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15384:53:55" + }, + { + "assignments": [ + 35612 + ], + "declarations": [ + { + "constant": false, + "id": 35612, + "mutability": "mutable", + "name": "aliceDepositBalance", + "nameLocation": "15455:19:55", + "nodeType": "VariableDeclaration", + "scope": 35713, + "src": "15447:27:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15447:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 35618, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 35614, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "15487:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35615, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15496:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "15487:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35616, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "15503:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35613, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "15477:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15477:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15447:62:55" + }, + { + "assignments": [ + 35623 + ], + "declarations": [ + { + "constant": false, + "id": 35623, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "15544:10:55", + "nodeType": "VariableDeclaration", + "scope": 35713, + "src": "15520:34:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 35621, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35620, + "name": "PositionParams", + "nameLocations": [ + "15520:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "15520:14:55" + }, + "referencedDeclaration": 32681, + "src": "15520:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 35622, + "nodeType": "ArrayTypeName", + "src": "15520:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "id": 35626, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35624, + "name": "getValidSettlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36177, + "src": "15557:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view returns (struct PositionParams memory[] memory)" + } + }, + "id": 35625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15557:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15520:57:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35630, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34172, + "src": "15597:10:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35627, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "15588:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15591:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "15588:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15588:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35632, + "nodeType": "ExpressionStatement", + "src": "15588:20:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35636, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35583, + "src": "15642:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35637, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35623, + "src": "15653:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "expression": { + "id": 35633, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "15618:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15628:13:55", + "memberName": "settleDispute", + "nodeType": "MemberAccess", + "referencedDeclaration": 32314, + "src": "15618:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct PositionParams memory[] memory) external" + } + }, + "id": 35638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15618:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35639, + "nodeType": "ExpressionStatement", + "src": "15618:46:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35643, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "15684:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35640, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "15675:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15678:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "15675:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15675:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35645, + "nodeType": "ExpressionStatement", + "src": "15675:13:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35649, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35583, + "src": "15730:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35646, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "15698:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15708:21:55", + "memberName": "withdrawFromAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32183, + "src": "15698:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15698:42:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35651, + "nodeType": "ExpressionStatement", + "src": "15698:42:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35655, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "15759:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35652, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "15750:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15753:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "15750:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15750:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35657, + "nodeType": "ExpressionStatement", + "src": "15750:15:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35661, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35583, + "src": "15807:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35658, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "15775:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15785:21:55", + "memberName": "withdrawFromAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32183, + "src": "15775:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15775:42:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35663, + "nodeType": "ExpressionStatement", + "src": "15775:42:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35665, + "name": "bobBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35588, + "src": "15892:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 35675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 35667, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "15914:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 35668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15921:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "15914:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35669, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "15928:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35666, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "15904:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15904:28:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 35671, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35623, + "src": "15935:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35673, + "indexExpression": { + "hexValue": "30", + "id": 35672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15946:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15935:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15949:7:55", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "15935:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15904:52:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35664, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "15883:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 35676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15883:74:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35677, + "nodeType": "ExpressionStatement", + "src": "15883:74:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35679, + "name": "bobDepositBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35596, + "src": "15976:17:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "expression": { + "id": 35681, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "16005:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35682, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16014:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "16005:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35683, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "16021:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35680, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "15995:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15995:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35678, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "15967:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 35685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15967:59:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35686, + "nodeType": "ExpressionStatement", + "src": "15967:59:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35688, + "name": "aliceBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35604, + "src": "16098:12:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 35698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 35690, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "16122:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 35691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16129:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "16122:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35692, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "16136:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35689, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "16112:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16112:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 35694, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35623, + "src": "16145:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 35696, + "indexExpression": { + "hexValue": "31", + "id": 35695, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16156:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16145:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 35697, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16159:7:55", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "16145:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16112:54:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35687, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "16089:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 35699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16089:78:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35700, + "nodeType": "ExpressionStatement", + "src": "16089:78:55" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 35705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 35702, + "name": "aliceDepositBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35612, + "src": "16186:19:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 35703, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "16208:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35704, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16217:6:55", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "16208:15:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16186:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "expression": { + "id": 35707, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "16235:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35708, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16244:5:55", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 33288, + "src": "16235:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35709, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "16251:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 35706, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36337, + "src": "16225:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 35710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16225:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35701, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "16177:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 35711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16177:81:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35712, + "nodeType": "ExpressionStatement", + "src": "16177:81:55" + } + ] + }, + "functionSelector": "27acef53", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "testWithdrawAfterSettlement", + "nameLocation": "15165:27:55", + "parameters": { + "id": 35580, + "nodeType": "ParameterList", + "parameters": [], + "src": "15192:2:55" + }, + "returnParameters": { + "id": 35581, + "nodeType": "ParameterList", + "parameters": [], + "src": "15202:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 35734, + "nodeType": "FunctionDefinition", + "src": "16353:180:55", + "nodes": [], + "body": { + "id": 35733, + "nodeType": "Block", + "src": "16419:114:55", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35719, + "name": "setDefaultAgreementParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36198, + "src": "16429:25:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 35720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16429:27:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35721, + "nodeType": "ExpressionStatement", + "src": "16429:27:55" + }, + { + "expression": { + "id": 35731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 35722, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35717, + "src": "16466:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 35725, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "16506:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + { + "arguments": [ + { + "hexValue": "", + "id": 35728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16522:2:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 35727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16514:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 35726, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16514:7:55", + "typeDescriptions": {} + } + }, + "id": 35729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16514:11:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35723, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "16480:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16490:15:55", + "memberName": "createAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31585, + "src": "16480:25:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_struct$_AgreementParams_$32708_memory_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct AgreementParams memory,bytes32) external returns (bytes32)" + } + }, + "id": 35730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16480:46:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16466:60:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 35732, + "nodeType": "ExpressionStatement", + "src": "16466:60:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createAgreement", + "nameLocation": "16362:15:55", + "parameters": { + "id": 35715, + "nodeType": "ParameterList", + "parameters": [], + "src": "16377:2:55" + }, + "returnParameters": { + "id": 35718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35717, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "16406:11:55", + "nodeType": "VariableDeclaration", + "scope": 35734, + "src": "16398:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35716, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16398:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16397:21:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 35769, + "nodeType": "FunctionDefinition", + "src": "16539:307:55", + "nodes": [], + "body": { + "id": 35768, + "nodeType": "Block", + "src": "16601:245:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35740 + ], + "declarations": [ + { + "constant": false, + "id": 35740, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "16619:11:55", + "nodeType": "VariableDeclaration", + "scope": 35768, + "src": "16611:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35739, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16611:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 35743, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35741, + "name": "createAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35734, + "src": "16633:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bytes32_$", + "typeString": "function () returns (bytes32)" + } + }, + "id": 35742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16633:17:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16611:39:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35745, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35740, + "src": "16678:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35744, + "name": "bobJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35832, + "src": "16660:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16660:30:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35747, + "nodeType": "ExpressionStatement", + "src": "16660:30:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35749, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35740, + "src": "16720:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35748, + "name": "aliceJoinsAgreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35938, + "src": "16700:19:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 35750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16700:32:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35751, + "nodeType": "ExpressionStatement", + "src": "16700:32:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35755, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "16752:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35752, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "16743:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16746:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "16743:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16743:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35757, + "nodeType": "ExpressionStatement", + "src": "16743:13:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35761, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35740, + "src": "16793:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35758, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "16766:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16776:16:55", + "memberName": "disputeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32072, + "src": "16766:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16766:39:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35763, + "nodeType": "ExpressionStatement", + "src": "16766:39:55" + }, + { + "expression": { + "id": 35766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 35764, + "name": "disputeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35737, + "src": "16816:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 35765, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35740, + "src": "16828:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16816:23:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 35767, + "nodeType": "ExpressionStatement", + "src": "16816:23:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createDispute", + "nameLocation": "16548:13:55", + "parameters": { + "id": 35735, + "nodeType": "ParameterList", + "parameters": [], + "src": "16561:2:55" + }, + "returnParameters": { + "id": 35738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35737, + "mutability": "mutable", + "name": "disputeId", + "nameLocation": "16590:9:55", + "nodeType": "VariableDeclaration", + "scope": 35769, + "src": "16582:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35736, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16582:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16581:19:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 35832, + "nodeType": "FunctionDefinition", + "src": "16852:643:55", + "nodes": [], + "body": { + "id": 35831, + "nodeType": "Block", + "src": "16909:586:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35776 + ], + "declarations": [ + { + "constant": false, + "id": 35776, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "16943:8:55", + "nodeType": "VariableDeclaration", + "scope": 35831, + "src": "16919:32:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 35775, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35774, + "name": "CriteriaResolver", + "nameLocations": [ + "16919:16:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "16919:16:55" + }, + "referencedDeclaration": 32789, + "src": "16919:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + } + ], + "id": 35784, + "initialValue": { + "arguments": [ + { + "id": 35778, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "16971:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35779, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "16976:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 35780, + "name": "proofs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36368, + "src": "16986:6:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", + "typeString": "mapping(address => bytes32[] storage ref)" + } + }, + "id": 35782, + "indexExpression": { + "id": 35781, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "16993:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16986:11:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + ], + "id": 35777, + "name": "CriteriaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32789, + "src": "16954:16:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_CriteriaResolver_$32789_storage_ptr_$", + "typeString": "type(struct CriteriaResolver storage pointer)" + } + }, + "id": 35783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16954:44:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16919:79:55" + }, + { + "assignments": [ + 35789 + ], + "declarations": [ + { + "constant": false, + "id": 35789, + "mutability": "mutable", + "name": "tokenPairs", + "nameLocation": "17028:10:55", + "nodeType": "VariableDeclaration", + "scope": 35831, + "src": "17009:29:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair[]" + }, + "typeName": { + "baseType": { + "id": 35787, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35786, + "name": "TokenPair", + "nameLocations": [ + "17009:9:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36582, + "src": "17009:9:55" + }, + "referencedDeclaration": 36582, + "src": "17009:9:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_storage_ptr", + "typeString": "struct TokenPair" + } + }, + "id": 35788, + "nodeType": "ArrayTypeName", + "src": "17009:11:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_storage_$dyn_storage_ptr", + "typeString": "struct TokenPair[]" + } + }, + "visibility": "internal" + } + ], + "id": 35793, + "initialValue": { + "arguments": [ + { + "id": 35791, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "17059:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 35790, + "name": "getJoinTokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36140, + "src": "17041:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) view returns (struct TokenPair memory[] memory)" + } + }, + "id": 35792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17041:27:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17009:59:55" + }, + { + "assignments": [ + 35798 + ], + "declarations": [ + { + "constant": false, + "id": 35798, + "mutability": "mutable", + "name": "permit", + "nameLocation": "17128:6:55", + "nodeType": "VariableDeclaration", + "scope": 35831, + "src": "17078:56:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 35797, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35796, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "17078:18:55", + "17097:23:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "17078:42:55" + }, + "referencedDeclaration": 28483, + "src": "17078:42:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + } + ], + "id": 35803, + "initialValue": { + "arguments": [ + { + "id": 35800, + "name": "tokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35789, + "src": "17177:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + { + "hexValue": "30", + "id": 35801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17201:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 35799, + "name": "defaultERC20PermitMultiple", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36981, + "src": "17137:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr_$_t_uint256_$returns$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$", + "typeString": "function (struct TokenPair memory[] memory,uint256) view returns (struct ISignatureTransfer.PermitBatchTransferFrom memory)" + } + }, + "id": 35802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17137:75:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17078:134:55" + }, + { + "assignments": [ + 35805 + ], + "declarations": [ + { + "constant": false, + "id": 35805, + "mutability": "mutable", + "name": "signature", + "nameLocation": "17235:9:55", + "nodeType": "VariableDeclaration", + "scope": 35831, + "src": "17222:22:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 35804, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "17222:5:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 35815, + "initialValue": { + "arguments": [ + { + "id": 35807, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35798, + "src": "17292:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + { + "arguments": [ + { + "id": 35810, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "17320:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 35809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17312:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 35808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17312:7:55", + "typeDescriptions": {} + } + }, + "id": 35811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17312:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "3078423042", + "id": 35812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17344:5:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + }, + "value": "0xB0B" + }, + { + "id": 35813, + "name": "DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34166, + "src": "17363:16:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 35806, + "name": "getPermitBatchTransferSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36888, + "src": "17247:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct ISignatureTransfer.PermitBatchTransferFrom memory,address,uint256,bytes32) pure returns (bytes memory)" + } + }, + "id": 35814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17247:142:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17222:167:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35819, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "17409:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35816, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "17400:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17403:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "17400:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17400:13:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35821, + "nodeType": "ExpressionStatement", + "src": "17400:13:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35825, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35771, + "src": "17447:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35826, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35776, + "src": "17460:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + { + "id": 35827, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35798, + "src": "17470:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + { + "id": 35828, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35805, + "src": "17478:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + }, + { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 35822, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "17423:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17433:13:55", + "memberName": "joinAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31689, + "src": "17423:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory) external" + } + }, + "id": 35829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17423:65:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35830, + "nodeType": "ExpressionStatement", + "src": "17423:65:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bobJoinsAgreement", + "nameLocation": "16861:17:55", + "parameters": { + "id": 35772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35771, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "16887:11:55", + "nodeType": "VariableDeclaration", + "scope": 35832, + "src": "16879:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35770, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16879:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16878:21:55" + }, + "returnParameters": { + "id": 35773, + "nodeType": "ParameterList", + "parameters": [], + "src": "16909:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 35883, + "nodeType": "FunctionDefinition", + "src": "17501:369:55", + "nodes": [], + "body": { + "id": 35882, + "nodeType": "Block", + "src": "17566:304:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35839 + ], + "declarations": [ + { + "constant": false, + "id": 35839, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "17600:8:55", + "nodeType": "VariableDeclaration", + "scope": 35882, + "src": "17576:32:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 35838, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35837, + "name": "CriteriaResolver", + "nameLocations": [ + "17576:16:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "17576:16:55" + }, + "referencedDeclaration": 32789, + "src": "17576:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + } + ], + "id": 35847, + "initialValue": { + "arguments": [ + { + "id": 35841, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "17628:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35842, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "17633:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 35843, + "name": "proofs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36368, + "src": "17643:6:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", + "typeString": "mapping(address => bytes32[] storage ref)" + } + }, + "id": 35845, + "indexExpression": { + "id": 35844, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "17650:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17643:11:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + ], + "id": 35840, + "name": "CriteriaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32789, + "src": "17611:16:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_CriteriaResolver_$32789_storage_ptr_$", + "typeString": "type(struct CriteriaResolver storage pointer)" + } + }, + "id": 35846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17611:44:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17576:79:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35851, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "17680:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35848, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "17666:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17669:10:55", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9961, + "src": "17666:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17666:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35853, + "nodeType": "ExpressionStatement", + "src": "17666:18:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 35859, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "17717:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 35858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17709:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 35857, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17709:7:55", + "typeDescriptions": {} + } + }, + "id": 35860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17709:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 35861, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "17729:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 35854, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "17694:6:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "id": 35856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17701:7:55", + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 29654, + "src": "17694:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 35862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17694:44:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 35863, + "nodeType": "ExpressionStatement", + "src": "17694:44:55" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 35869, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "17771:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 35868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17763:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 35867, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17763:7:55", + "typeDescriptions": {} + } + }, + "id": 35870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17763:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 35871, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "17783:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 35872, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17792:6:55", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "17783:15:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 35864, + "name": "tokenB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37002, + "src": "17748:6:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "id": 35866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17755:7:55", + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 29654, + "src": "17748:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 35873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17748:51:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 35874, + "nodeType": "ExpressionStatement", + "src": "17748:51:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35878, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35834, + "src": "17841:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35879, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35839, + "src": "17854:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + ], + "expression": { + "id": 35875, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "17809:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17819:21:55", + "memberName": "joinAgreementApproved", + "nodeType": "MemberAccess", + "referencedDeclaration": 31771, + "src": "17809:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_struct$_CriteriaResolver_$32789_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct CriteriaResolver memory) external" + } + }, + "id": 35880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17809:54:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35881, + "nodeType": "ExpressionStatement", + "src": "17809:54:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bobJoinsAgreementApproved", + "nameLocation": "17510:25:55", + "parameters": { + "id": 35835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35834, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "17544:11:55", + "nodeType": "VariableDeclaration", + "scope": 35883, + "src": "17536:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35833, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17536:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "17535:21:55" + }, + "returnParameters": { + "id": 35836, + "nodeType": "ParameterList", + "parameters": [], + "src": "17566:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 35906, + "nodeType": "FunctionDefinition", + "src": "17876:168:55", + "nodes": [], + "body": { + "id": 35905, + "nodeType": "Block", + "src": "17936:108:55", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 35891, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "17960:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35888, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "17946:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17949:10:55", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9961, + "src": "17946:13:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17946:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35893, + "nodeType": "ExpressionStatement", + "src": "17946:18:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35897, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35885, + "src": "18001:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 35894, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "17974:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17984:16:55", + "memberName": "disputeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 32072, + "src": "17974:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 35898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17974:39:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35899, + "nodeType": "ExpressionStatement", + "src": "17974:39:55" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 35900, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "18023:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18026:9:55", + "memberName": "stopPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9978, + "src": "18023:12:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 35903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18023:14:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35904, + "nodeType": "ExpressionStatement", + "src": "18023:14:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "bobDisputesAgreement", + "nameLocation": "17885:20:55", + "parameters": { + "id": 35886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35885, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "17914:11:55", + "nodeType": "VariableDeclaration", + "scope": 35906, + "src": "17906:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35884, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17906:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "17905:21:55" + }, + "returnParameters": { + "id": 35887, + "nodeType": "ParameterList", + "parameters": [], + "src": "17936:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 35938, + "nodeType": "FunctionDefinition", + "src": "18050:362:55", + "nodes": [], + "body": { + "id": 35937, + "nodeType": "Block", + "src": "18109:303:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35913, + 35916, + 35918 + ], + "declarations": [ + { + "constant": false, + "id": 35913, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "18157:8:55", + "nodeType": "VariableDeclaration", + "scope": 35937, + "src": "18133:32:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 35912, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35911, + "name": "CriteriaResolver", + "nameLocations": [ + "18133:16:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "18133:16:55" + }, + "referencedDeclaration": 32789, + "src": "18133:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35916, + "mutability": "mutable", + "name": "permit", + "nameLocation": "18229:6:55", + "nodeType": "VariableDeclaration", + "scope": 35937, + "src": "18179:56:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 35915, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35914, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "18179:18:55", + "18198:23:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "18179:42:55" + }, + "referencedDeclaration": 28483, + "src": "18179:42:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35918, + "mutability": "mutable", + "name": "signature", + "nameLocation": "18262:9:55", + "nodeType": "VariableDeclaration", + "scope": 35937, + "src": "18249:22:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 35917, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "18249:5:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 35921, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35919, + "name": "getAliceJoinParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36096, + "src": "18284:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$", + "typeString": "function () view returns (struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory)" + } + }, + "id": 35920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18284:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$", + "typeString": "tuple(struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18119:185:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35925, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "18324:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35922, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "18315:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18318:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "18315:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18315:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35927, + "nodeType": "ExpressionStatement", + "src": "18315:15:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35931, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35908, + "src": "18364:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35932, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35913, + "src": "18377:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + { + "id": 35933, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35916, + "src": "18387:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + { + "id": 35934, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35918, + "src": "18395:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + }, + { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 35928, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "18340:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18350:13:55", + "memberName": "joinAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31689, + "src": "18340:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory) external" + } + }, + "id": 35935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18340:65:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35936, + "nodeType": "ExpressionStatement", + "src": "18340:65:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "aliceJoinsAgreement", + "nameLocation": "18059:19:55", + "parameters": { + "id": 35909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35908, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "18087:11:55", + "nodeType": "VariableDeclaration", + "scope": 35938, + "src": "18079:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35907, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18079:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "18078:21:55" + }, + "returnParameters": { + "id": 35910, + "nodeType": "ParameterList", + "parameters": [], + "src": "18109:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 35978, + "nodeType": "FunctionDefinition", + "src": "18418:417:55", + "nodes": [], + "body": { + "id": 35977, + "nodeType": "Block", + "src": "18500:335:55", + "nodes": [], + "statements": [ + { + "assignments": [ + 35947, + 35950, + 35952 + ], + "declarations": [ + { + "constant": false, + "id": 35947, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "18548:8:55", + "nodeType": "VariableDeclaration", + "scope": 35977, + "src": "18524:32:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 35946, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35945, + "name": "CriteriaResolver", + "nameLocations": [ + "18524:16:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "18524:16:55" + }, + "referencedDeclaration": 32789, + "src": "18524:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35950, + "mutability": "mutable", + "name": "permit", + "nameLocation": "18620:6:55", + "nodeType": "VariableDeclaration", + "scope": 35977, + "src": "18570:56:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 35949, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35948, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "18570:18:55", + "18589:23:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "18570:42:55" + }, + "referencedDeclaration": 28483, + "src": "18570:42:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35952, + "mutability": "mutable", + "name": "signature", + "nameLocation": "18653:9:55", + "nodeType": "VariableDeclaration", + "scope": 35977, + "src": "18640:22:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 35951, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "18640:5:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 35955, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35953, + "name": "getAliceJoinParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36096, + "src": "18675:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$", + "typeString": "function () view returns (struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory)" + } + }, + "id": 35954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18675:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$", + "typeString": "tuple(struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18510:185:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35959, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "18715:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35956, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "18706:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18709:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "18706:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 35960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18706:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35961, + "nodeType": "ExpressionStatement", + "src": "18706:15:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35965, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35942, + "src": "18747:5:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 35962, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "18731:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 35964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18734:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "18731:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 35966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18731:22:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35967, + "nodeType": "ExpressionStatement", + "src": "18731:22:55" + }, + { + "expression": { + "arguments": [ + { + "id": 35971, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35940, + "src": "18787:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 35972, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35947, + "src": "18800:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + { + "id": 35973, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35950, + "src": "18810:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + { + "id": 35974, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35952, + "src": "18818:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + }, + { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 35968, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "18763:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 35970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18773:13:55", + "memberName": "joinAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31689, + "src": "18763:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory) external" + } + }, + "id": 35975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18763:65:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35976, + "nodeType": "ExpressionStatement", + "src": "18763:65:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "aliceExpectsErrorWhenJoining", + "nameLocation": "18427:28:55", + "parameters": { + "id": 35943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35940, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "18464:11:55", + "nodeType": "VariableDeclaration", + "scope": 35978, + "src": "18456:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35939, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18456:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35942, + "mutability": "mutable", + "name": "error", + "nameLocation": "18484:5:55", + "nodeType": "VariableDeclaration", + "scope": 35978, + "src": "18477:12:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 35941, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "18477:6:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "18455:35:55" + }, + "returnParameters": { + "id": 35944, + "nodeType": "ParameterList", + "parameters": [], + "src": "18500:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36020, + "nodeType": "FunctionDefinition", + "src": "18841:449:55", + "nodes": [], + "body": { + "id": 36019, + "nodeType": "Block", + "src": "18987:303:55", + "nodes": [], + "statements": [ + { + "assignments": [ + null, + 35992, + 35994 + ], + "declarations": [ + null, + { + "constant": false, + "id": 35992, + "mutability": "mutable", + "name": "permit", + "nameLocation": "19075:6:55", + "nodeType": "VariableDeclaration", + "scope": 36019, + "src": "19025:56:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 35991, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35990, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "19025:18:55", + "19044:23:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "19025:42:55" + }, + "referencedDeclaration": 28483, + "src": "19025:42:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35994, + "mutability": "mutable", + "name": "signature", + "nameLocation": "19108:9:55", + "nodeType": "VariableDeclaration", + "scope": 36019, + "src": "19095:22:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 35993, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "19095:5:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 35997, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 35995, + "name": "getAliceJoinParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36096, + "src": "19130:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$", + "typeString": "function () view returns (struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory)" + } + }, + "id": 35996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19130:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$", + "typeString": "tuple(struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18997:153:55" + }, + { + "expression": { + "arguments": [ + { + "id": 36001, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "19170:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 35998, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "19161:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 36000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19164:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "19161:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 36002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19161:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36003, + "nodeType": "ExpressionStatement", + "src": "19161:15:55" + }, + { + "expression": { + "arguments": [ + { + "id": 36007, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35985, + "src": "19202:5:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 36004, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "19186:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 36006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19189:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "19186:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 36008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19186:22:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36009, + "nodeType": "ExpressionStatement", + "src": "19186:22:55" + }, + { + "expression": { + "arguments": [ + { + "id": 36013, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35980, + "src": "19242:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36014, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35983, + "src": "19255:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + { + "id": 36015, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35992, + "src": "19265:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + { + "id": 36016, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35994, + "src": "19273:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + }, + { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 36010, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "19218:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 36012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19228:13:55", + "memberName": "joinAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31689, + "src": "19218:23:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_struct$_CriteriaResolver_$32789_memory_ptr_$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,struct CriteriaResolver memory,struct ISignatureTransfer.PermitBatchTransferFrom memory,bytes memory) external" + } + }, + "id": 36017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19218:65:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36018, + "nodeType": "ExpressionStatement", + "src": "19218:65:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "aliceExpectsErrorWhenJoining", + "nameLocation": "18850:28:55", + "parameters": { + "id": 35986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35980, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "18896:11:55", + "nodeType": "VariableDeclaration", + "scope": 36020, + "src": "18888:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 35979, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18888:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35983, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "18941:8:55", + "nodeType": "VariableDeclaration", + "scope": 36020, + "src": "18917:32:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 35982, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35981, + "name": "CriteriaResolver", + "nameLocations": [ + "18917:16:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "18917:16:55" + }, + "referencedDeclaration": 32789, + "src": "18917:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 35985, + "mutability": "mutable", + "name": "error", + "nameLocation": "18966:5:55", + "nodeType": "VariableDeclaration", + "scope": 36020, + "src": "18959:12:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 35984, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "18959:6:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "18878:99:55" + }, + "returnParameters": { + "id": 35987, + "nodeType": "ParameterList", + "parameters": [], + "src": "18987:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36046, + "nodeType": "FunctionDefinition", + "src": "19296:199:55", + "nodes": [], + "body": { + "id": 36045, + "nodeType": "Block", + "src": "19381:114:55", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 36030, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "19400:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 36027, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "19391:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 36029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19394:5:55", + "memberName": "prank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9956, + "src": "19391:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 36031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19391:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36032, + "nodeType": "ExpressionStatement", + "src": "19391:15:55" + }, + { + "expression": { + "arguments": [ + { + "id": 36036, + "name": "error", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36024, + "src": "19432:5:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 36033, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "19416:2:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 36035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19419:12:55", + "memberName": "expectRevert", + "nodeType": "MemberAccess", + "referencedDeclaration": 10002, + "src": "19416:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4) external" + } + }, + "id": 36037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19416:22:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36038, + "nodeType": "ExpressionStatement", + "src": "19416:22:55" + }, + { + "expression": { + "arguments": [ + { + "id": 36042, + "name": "agreementId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36022, + "src": "19476:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 36039, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "19448:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + }, + "id": 36041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19458:17:55", + "memberName": "finalizeAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 31977, + "src": "19448:27:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 36043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19448:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36044, + "nodeType": "ExpressionStatement", + "src": "19448:40:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "aliceExpectsErrorWhenFinalizing", + "nameLocation": "19305:31:55", + "parameters": { + "id": 36025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36022, + "mutability": "mutable", + "name": "agreementId", + "nameLocation": "19345:11:55", + "nodeType": "VariableDeclaration", + "scope": 36046, + "src": "19337:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36021, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19337:7:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36024, + "mutability": "mutable", + "name": "error", + "nameLocation": "19365:5:55", + "nodeType": "VariableDeclaration", + "scope": 36046, + "src": "19358:12:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 36023, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "19358:6:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "19336:35:55" + }, + "returnParameters": { + "id": 36026, + "nodeType": "ParameterList", + "parameters": [], + "src": "19381:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36096, + "nodeType": "FunctionDefinition", + "src": "19501:619:55", + "nodes": [], + "body": { + "id": 36095, + "nodeType": "Block", + "src": "19744:376:55", + "nodes": [], + "statements": [ + { + "expression": { + "id": 36065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 36057, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36050, + "src": "19754:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36059, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "19782:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 36060, + "name": "aliceStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36567, + "src": "19789:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 36061, + "name": "proofs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36368, + "src": "19801:6:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", + "typeString": "mapping(address => bytes32[] storage ref)" + } + }, + "id": 36063, + "indexExpression": { + "id": 36062, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "19808:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19801:13:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + ], + "id": 36058, + "name": "CriteriaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32789, + "src": "19765:16:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_CriteriaResolver_$32789_storage_ptr_$", + "typeString": "type(struct CriteriaResolver storage pointer)" + } + }, + "id": 36064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19765:50:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + "src": "19754:61:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver memory" + } + }, + "id": 36066, + "nodeType": "ExpressionStatement", + "src": "19754:61:55" + }, + { + "assignments": [ + 36071 + ], + "declarations": [ + { + "constant": false, + "id": 36071, + "mutability": "mutable", + "name": "tokenPairs", + "nameLocation": "19845:10:55", + "nodeType": "VariableDeclaration", + "scope": 36095, + "src": "19826:29:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair[]" + }, + "typeName": { + "baseType": { + "id": 36069, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36068, + "name": "TokenPair", + "nameLocations": [ + "19826:9:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36582, + "src": "19826:9:55" + }, + "referencedDeclaration": 36582, + "src": "19826:9:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_storage_ptr", + "typeString": "struct TokenPair" + } + }, + "id": 36070, + "nodeType": "ArrayTypeName", + "src": "19826:11:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_storage_$dyn_storage_ptr", + "typeString": "struct TokenPair[]" + } + }, + "visibility": "internal" + } + ], + "id": 36075, + "initialValue": { + "arguments": [ + { + "id": 36073, + "name": "aliceStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36567, + "src": "19876:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36072, + "name": "getJoinTokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36140, + "src": "19858:17:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) view returns (struct TokenPair memory[] memory)" + } + }, + "id": 36074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19858:29:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19826:61:55" + }, + { + "expression": { + "id": 36081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 36076, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36053, + "src": "19897:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36078, + "name": "tokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36071, + "src": "19933:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + { + "hexValue": "30", + "id": 36079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19945:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 36077, + "name": "defaultERC20PermitMultiple", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36981, + "src": "19906:26:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr_$_t_uint256_$returns$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$", + "typeString": "function (struct TokenPair memory[] memory,uint256) view returns (struct ISignatureTransfer.PermitBatchTransferFrom memory)" + } + }, + "id": 36080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19906:41:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "src": "19897:50:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 36082, + "nodeType": "ExpressionStatement", + "src": "19897:50:55" + }, + { + "expression": { + "id": 36093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 36083, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36055, + "src": "19957:9:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36085, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36053, + "src": "20014:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + { + "arguments": [ + { + "id": 36088, + "name": "framework", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34164, + "src": "20042:9:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_CollateralAgreementFramework_$32623", + "typeString": "contract CollateralAgreementFramework" + } + ], + "id": 36087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20034:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 36086, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20034:7:55", + "typeDescriptions": {} + } + }, + "id": 36089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20034:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "30784131314345", + "id": 36090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20066:7:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_659918_by_1", + "typeString": "int_const 659918" + }, + "value": "0xA11CE" + }, + { + "id": 36091, + "name": "DOMAIN_SEPARATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34166, + "src": "20087:16:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_659918_by_1", + "typeString": "int_const 659918" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 36084, + "name": "getPermitBatchTransferSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36888, + "src": "19969:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitBatchTransferFrom_$28483_memory_ptr_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct ISignatureTransfer.PermitBatchTransferFrom memory,address,uint256,bytes32) pure returns (bytes memory)" + } + }, + "id": 36092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19969:144:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "19957:156:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 36094, + "nodeType": "ExpressionStatement", + "src": "19957:156:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAliceJoinParams", + "nameLocation": "19510:18:55", + "parameters": { + "id": 36047, + "nodeType": "ParameterList", + "parameters": [], + "src": "19528:2:55" + }, + "returnParameters": { + "id": 36056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36050, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "19615:8:55", + "nodeType": "VariableDeclaration", + "scope": 36096, + "src": "19591:32:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_memory_ptr", + "typeString": "struct CriteriaResolver" + }, + "typeName": { + "id": 36049, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36048, + "name": "CriteriaResolver", + "nameLocations": [ + "19591:16:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32789, + "src": "19591:16:55" + }, + "referencedDeclaration": 32789, + "src": "19591:16:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_CriteriaResolver_$32789_storage_ptr", + "typeString": "struct CriteriaResolver" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36053, + "mutability": "mutable", + "name": "permit", + "nameLocation": "19687:6:55", + "nodeType": "VariableDeclaration", + "scope": 36096, + "src": "19637:56:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 36052, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36051, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "19637:18:55", + "19656:23:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "19637:42:55" + }, + "referencedDeclaration": 28483, + "src": "19637:42:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36055, + "mutability": "mutable", + "name": "signature", + "nameLocation": "19720:9:55", + "nodeType": "VariableDeclaration", + "scope": 36096, + "src": "19707:22:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 36054, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "19707:5:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "19577:162:55" + }, + "scope": 36338, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36140, + "nodeType": "FunctionDefinition", + "src": "20126:296:55", + "nodes": [], + "body": { + "id": 36139, + "nodeType": "Block", + "src": "20241:181:55", + "nodes": [], + "statements": [ + { + "expression": { + "id": 36112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 36105, + "name": "tokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36103, + "src": "20251:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "32", + "id": 36110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20280:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 36109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "20264:15:55", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct TokenPair memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 36107, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36106, + "name": "TokenPair", + "nameLocations": [ + "20268:9:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36582, + "src": "20268:9:55" + }, + "referencedDeclaration": 36582, + "src": "20268:9:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_storage_ptr", + "typeString": "struct TokenPair" + } + }, + "id": 36108, + "nodeType": "ArrayTypeName", + "src": "20268:11:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_storage_$dyn_storage_ptr", + "typeString": "struct TokenPair[]" + } + } + }, + "id": 36111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20264:18:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "src": "20251:31:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "id": 36113, + "nodeType": "ExpressionStatement", + "src": "20251:31:55" + }, + { + "expression": { + "id": 36125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36114, + "name": "tokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36103, + "src": "20292:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "id": 36116, + "indexExpression": { + "hexValue": "30", + "id": 36115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20303:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "20292:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_memory_ptr", + "typeString": "struct TokenPair memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 36120, + "name": "tokenB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37002, + "src": "20326:6:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + ], + "id": 36119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20318:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 36118, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20318:7:55", + "typeDescriptions": {} + } + }, + "id": 36121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20318:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 36122, + "name": "deposits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34178, + "src": "20335:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositConfig_$33295_storage", + "typeString": "struct DepositConfig storage ref" + } + }, + "id": 36123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20344:6:55", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 33291, + "src": "20335:15:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36117, + "name": "TokenPair", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36582, + "src": "20308:9:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_TokenPair_$36582_storage_ptr_$", + "typeString": "type(struct TokenPair storage pointer)" + } + }, + "id": 36124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20308:43:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_memory_ptr", + "typeString": "struct TokenPair memory" + } + }, + "src": "20292:59:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_memory_ptr", + "typeString": "struct TokenPair memory" + } + }, + "id": 36126, + "nodeType": "ExpressionStatement", + "src": "20292:59:55" + }, + { + "expression": { + "id": 36137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36127, + "name": "tokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36103, + "src": "20361:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "id": 36129, + "indexExpression": { + "hexValue": "31", + "id": 36128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20372:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "20361:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_memory_ptr", + "typeString": "struct TokenPair memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 36133, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "20395:6:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + ], + "id": 36132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20387:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 36131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20387:7:55", + "typeDescriptions": {} + } + }, + "id": 36134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20387:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 36135, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36098, + "src": "20404:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36130, + "name": "TokenPair", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36582, + "src": "20377:9:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_TokenPair_$36582_storage_ptr_$", + "typeString": "type(struct TokenPair storage pointer)" + } + }, + "id": 36136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20377:38:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_memory_ptr", + "typeString": "struct TokenPair memory" + } + }, + "src": "20361:54:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_memory_ptr", + "typeString": "struct TokenPair memory" + } + }, + "id": 36138, + "nodeType": "ExpressionStatement", + "src": "20361:54:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getJoinTokenPairs", + "nameLocation": "20135:17:55", + "parameters": { + "id": 36099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36098, + "mutability": "mutable", + "name": "collateral", + "nameLocation": "20170:10:55", + "nodeType": "VariableDeclaration", + "scope": 36140, + "src": "20162:18:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36097, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20162:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20152:34:55" + }, + "returnParameters": { + "id": 36104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36103, + "mutability": "mutable", + "name": "tokenPairs", + "nameLocation": "20229:10:55", + "nodeType": "VariableDeclaration", + "scope": 36140, + "src": "20210:29:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair[]" + }, + "typeName": { + "baseType": { + "id": 36101, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36100, + "name": "TokenPair", + "nameLocations": [ + "20210:9:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36582, + "src": "20210:9:55" + }, + "referencedDeclaration": 36582, + "src": "20210:9:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_storage_ptr", + "typeString": "struct TokenPair" + } + }, + "id": 36102, + "nodeType": "ArrayTypeName", + "src": "20210:11:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_storage_$dyn_storage_ptr", + "typeString": "struct TokenPair[]" + } + }, + "visibility": "internal" + } + ], + "src": "20209:31:55" + }, + "scope": 36338, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36177, + "nodeType": "FunctionDefinition", + "src": "20428:260:55", + "nodes": [], + "body": { + "id": 36176, + "nodeType": "Block", + "src": "20517:171:55", + "nodes": [], + "statements": [ + { + "expression": { + "id": 36154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 36147, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36145, + "src": "20527:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "32", + "id": 36152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20561:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 36151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "20540:20:55", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct PositionParams memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 36149, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36148, + "name": "PositionParams", + "nameLocations": [ + "20544:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "20544:14:55" + }, + "referencedDeclaration": 32681, + "src": "20544:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 36150, + "nodeType": "ArrayTypeName", + "src": "20544:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + } + }, + "id": 36153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20540:23:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "src": "20527:36:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36155, + "nodeType": "ExpressionStatement", + "src": "20527:36:55" + }, + { + "expression": { + "id": 36165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36156, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36145, + "src": "20573:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36158, + "indexExpression": { + "hexValue": "30", + "id": 36157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20584:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "20573:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36160, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "20604:3:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 36163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 36161, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "20609:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 36162, + "name": "aliceStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36567, + "src": "20620:10:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20609:21:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36159, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "20589:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 36164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20589:42:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "20573:58:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 36166, + "nodeType": "ExpressionStatement", + "src": "20573:58:55" + }, + { + "expression": { + "id": 36174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36167, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36145, + "src": "20641:10:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36169, + "indexExpression": { + "hexValue": "31", + "id": 36168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20652:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "20641:13:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36171, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "20672:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "30", + "id": 36172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20679:1:55", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 36170, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "20657:14:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 36173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20657:24:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "20641:40:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 36175, + "nodeType": "ExpressionStatement", + "src": "20641:40:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getValidSettlement", + "nameLocation": "20437:18:55", + "parameters": { + "id": 36141, + "nodeType": "ParameterList", + "parameters": [], + "src": "20455:2:55" + }, + "returnParameters": { + "id": 36146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36145, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "20505:10:55", + "nodeType": "VariableDeclaration", + "scope": 36177, + "src": "20481:34:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 36143, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36142, + "name": "PositionParams", + "nameLocations": [ + "20481:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "20481:14:55" + }, + "referencedDeclaration": 32681, + "src": "20481:14:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 36144, + "nodeType": "ArrayTypeName", + "src": "20481:16:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "20480:36:55" + }, + "scope": 36338, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36198, + "nodeType": "FunctionDefinition", + "src": "20694:295:55", + "nodes": [], + "body": { + "id": 36197, + "nodeType": "Block", + "src": "20740:249:55", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 36180, + "name": "setDefaultCriteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36497, + "src": "20750:18:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 36181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20750:20:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36182, + "nodeType": "ExpressionStatement", + "src": "20750:20:55" + }, + { + "expression": { + "id": 36195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 36183, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "20780:6:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "5465726d73202620436f6e646974696f6e73", + "id": 36186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20840:20:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a74911826a63a1e8059b5834149ea5905cbe277aaf3536b4a44db1822d86970a", + "typeString": "literal_string \"Terms & Conditions\"" + }, + "value": "Terms & Conditions" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a74911826a63a1e8059b5834149ea5905cbe277aaf3536b4a44db1822d86970a", + "typeString": "literal_string \"Terms & Conditions\"" + } + ], + "id": 36185, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "20830:9:55", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20830:31:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36188, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36363, + "src": "20885:8:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "697066733a2f2f736861323536", + "id": 36189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20920:15:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eae60c6794675eb66cd753546ec0e1b628e1f303f0420d151f196150baa1b767", + "typeString": "literal_string \"ipfs://sha256\"" + }, + "value": "ipfs://sha256" + }, + { + "arguments": [ + { + "id": 36192, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "20964:6:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + ], + "id": 36191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20956:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 36190, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20956:7:55", + "typeDescriptions": {} + } + }, + "id": 36193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20956:15:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_eae60c6794675eb66cd753546ec0e1b628e1f303f0420d151f196150baa1b767", + "typeString": "literal_string \"ipfs://sha256\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 36184, + "name": "AgreementParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32708, + "src": "20789:15:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AgreementParams_$32708_storage_ptr_$", + "typeString": "type(struct AgreementParams storage pointer)" + } + }, + "id": 36194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "20819:9:55", + "20875:8:55", + "20907:11:55", + "20949:5:55" + ], + "names": [ + "termsHash", + "criteria", + "metadataURI", + "token" + ], + "nodeType": "FunctionCall", + "src": "20789:193:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_memory_ptr", + "typeString": "struct AgreementParams memory" + } + }, + "src": "20780:202:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage", + "typeString": "struct AgreementParams storage ref" + } + }, + "id": 36196, + "nodeType": "ExpressionStatement", + "src": "20780:202:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setDefaultAgreementParams", + "nameLocation": "20703:25:55", + "parameters": { + "id": 36178, + "nodeType": "ParameterList", + "parameters": [], + "src": "20728:2:55" + }, + "returnParameters": { + "id": 36179, + "nodeType": "ParameterList", + "parameters": [], + "src": "20740:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36242, + "nodeType": "FunctionDefinition", + "src": "20995:328:55", + "nodes": [], + "body": { + "id": 36241, + "nodeType": "Block", + "src": "21058:265:55", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 36215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 36209, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36201, + "src": "21080:1:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 36208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21072:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 36207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21072:7:55", + "typeDescriptions": {} + } + }, + "id": 36210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21072:10:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "id": 36213, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36204, + "src": "21094:1:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 36212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21086:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 36211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21086:7:55", + "typeDescriptions": {} + } + }, + "id": 36214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21086:10:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21072:24:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 36240, + "nodeType": "IfStatement", + "src": "21068:249:55", + "trueBody": { + "id": 36239, + "nodeType": "Block", + "src": "21098:219:55", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b506f736974696f6e5374617475735d", + "id": 36217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21121:46:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f41cb771c0a04be17056c213e71be221035d50833eda0c3c87843834f50406c2", + "typeString": "literal_string \"Error: a == b not satisfied [PositionStatus]\"" + }, + "value": "Error: a == b not satisfied [PositionStatus]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f41cb771c0a04be17056c213e71be221035d50833eda0c3c87843834f50406c2", + "typeString": "literal_string \"Error: a == b not satisfied [PositionStatus]\"" + } + ], + "id": 36216, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "21117:3:55", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 36218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21117:51:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36219, + "nodeType": "EmitStatement", + "src": "21112:56:55" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 36221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21202:12:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "arguments": [ + { + "id": 36224, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36204, + "src": "21224:1:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 36223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21216:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 36222, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21216:7:55", + "typeDescriptions": {} + } + }, + "id": 36225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21216:10:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36220, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "21187:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 36226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21187:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36227, + "nodeType": "EmitStatement", + "src": "21182:45:55" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 36229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21261:12:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "arguments": [ + { + "id": 36232, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36201, + "src": "21283:1:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 36231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21275:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 36230, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21275:7:55", + "typeDescriptions": {} + } + }, + "id": 36233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21275:10:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36228, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "21246:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 36234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21246:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36235, + "nodeType": "EmitStatement", + "src": "21241:45:55" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 36236, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "21300:4:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 36237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21300:6:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36238, + "nodeType": "ExpressionStatement", + "src": "21300:6:55" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "21004:8:55", + "parameters": { + "id": 36205, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36201, + "mutability": "mutable", + "name": "a", + "nameLocation": "21028:1:55", + "nodeType": "VariableDeclaration", + "scope": 36242, + "src": "21013:16:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + "typeName": { + "id": 36200, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36199, + "name": "PositionStatus", + "nameLocations": [ + "21013:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32669, + "src": "21013:14:55" + }, + "referencedDeclaration": 32669, + "src": "21013:14:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36204, + "mutability": "mutable", + "name": "b", + "nameLocation": "21046:1:55", + "nodeType": "VariableDeclaration", + "scope": 36242, + "src": "21031:16:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + "typeName": { + "id": 36203, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36202, + "name": "PositionStatus", + "nameLocations": [ + "21031:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32669, + "src": "21031:14:55" + }, + "referencedDeclaration": 32669, + "src": "21031:14:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "visibility": "internal" + } + ], + "src": "21012:36:55" + }, + "returnParameters": { + "id": 36206, + "nodeType": "ParameterList", + "parameters": [], + "src": "21058:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36286, + "nodeType": "FunctionDefinition", + "src": "21329:331:55", + "nodes": [], + "body": { + "id": 36285, + "nodeType": "Block", + "src": "21394:266:55", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 36259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 36253, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36245, + "src": "21416:1:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 36252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21408:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 36251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21408:7:55", + "typeDescriptions": {} + } + }, + "id": 36254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21408:10:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "id": 36257, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36248, + "src": "21430:1:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 36256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21422:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 36255, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21422:7:55", + "typeDescriptions": {} + } + }, + "id": 36258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21422:10:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21408:24:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 36284, + "nodeType": "IfStatement", + "src": "21404:250:55", + "trueBody": { + "id": 36283, + "nodeType": "Block", + "src": "21434:220:55", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b41677265656d656e745374617475735d", + "id": 36261, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21457:47:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3960766e14fa6e189199c450d5ed145d3e81eb462c366acd631eeeee6e3a0065", + "typeString": "literal_string \"Error: a == b not satisfied [AgreementStatus]\"" + }, + "value": "Error: a == b not satisfied [AgreementStatus]" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3960766e14fa6e189199c450d5ed145d3e81eb462c366acd631eeeee6e3a0065", + "typeString": "literal_string \"Error: a == b not satisfied [AgreementStatus]\"" + } + ], + "id": 36260, + "name": "log", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "21453:3:55", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 36262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21453:52:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36263, + "nodeType": "EmitStatement", + "src": "21448:57:55" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "20204578706563746564", + "id": 36265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21539:12:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + "value": " Expected" + }, + { + "arguments": [ + { + "id": 36268, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36248, + "src": "21561:1:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 36267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21553:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 36266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21553:7:55", + "typeDescriptions": {} + } + }, + "id": 36269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21553:10:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", + "typeString": "literal_string \" Expected\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36264, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "21524:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 36270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21524:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36271, + "nodeType": "EmitStatement", + "src": "21519:45:55" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "2020202041637475616c", + "id": 36273, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21598:12:55", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + "value": " Actual" + }, + { + "arguments": [ + { + "id": 36276, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36245, + "src": "21620:1:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + ], + "id": 36275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "21612:7:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 36274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21612:7:55", + "typeDescriptions": {} + } + }, + "id": 36277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21612:10:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", + "typeString": "literal_string \" Actual\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36272, + "name": "log_named_uint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "21583:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 36278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21583:40:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36279, + "nodeType": "EmitStatement", + "src": "21578:45:55" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 36280, + "name": "fail", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1953, + 216 + ], + "referencedDeclaration": 216, + "src": "21637:4:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 36281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21637:6:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36282, + "nodeType": "ExpressionStatement", + "src": "21637:6:55" + } + ] + } + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertEq", + "nameLocation": "21338:8:55", + "parameters": { + "id": 36249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36245, + "mutability": "mutable", + "name": "a", + "nameLocation": "21363:1:55", + "nodeType": "VariableDeclaration", + "scope": 36286, + "src": "21347:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + "typeName": { + "id": 36244, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36243, + "name": "AgreementStatus", + "nameLocations": [ + "21347:15:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32674, + "src": "21347:15:55" + }, + "referencedDeclaration": 32674, + "src": "21347:15:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36248, + "mutability": "mutable", + "name": "b", + "nameLocation": "21382:1:55", + "nodeType": "VariableDeclaration", + "scope": 36286, + "src": "21366:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + }, + "typeName": { + "id": 36247, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36246, + "name": "AgreementStatus", + "nameLocations": [ + "21366:15:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32674, + "src": "21366:15:55" + }, + "referencedDeclaration": 32674, + "src": "21366:15:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_AgreementStatus_$32674", + "typeString": "enum AgreementStatus" + } + }, + "visibility": "internal" + } + ], + "src": "21346:38:55" + }, + "returnParameters": { + "id": 36250, + "nodeType": "ParameterList", + "parameters": [], + "src": "21394:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36318, + "nodeType": "FunctionDefinition", + "src": "21666:292:55", + "nodes": [], + "body": { + "id": 36317, + "nodeType": "Block", + "src": "21822:136:55", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 36300, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36289, + "src": "21841:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + "id": 36301, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21850:5:55", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32684, + "src": "21841:14:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 36302, + "name": "party", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36291, + "src": "21857:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 36299, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 320, + "src": "21832:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 36303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21832:31:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36304, + "nodeType": "ExpressionStatement", + "src": "21832:31:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 36306, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36289, + "src": "21882:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + "id": 36307, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21891:7:55", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32687, + "src": "21882:16:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 36308, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36293, + "src": "21900:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36305, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 514, + "src": "21873:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 36309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21873:35:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36310, + "nodeType": "ExpressionStatement", + "src": "21873:35:55" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 36312, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36289, + "src": "21927:8:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData memory" + } + }, + "id": 36313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21936:6:55", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 32694, + "src": "21927:15:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + { + "id": 36314, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36296, + "src": "21944:6:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + ], + "id": 36311, + "name": "assertEq", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 36242, + 36286, + 2014, + 2039, + 2052, + 2068, + 2110, + 2152, + 2194, + 2231, + 2268, + 2305, + 320, + 345, + 375, + 400, + 459, + 484, + 514, + 539, + 1639, + 1674 + ], + "referencedDeclaration": 36242, + "src": "21918:8:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_PositionStatus_$32669_$_t_enum$_PositionStatus_$32669_$returns$__$", + "typeString": "function (enum PositionStatus,enum PositionStatus)" + } + }, + "id": 36315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21918:33:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36316, + "nodeType": "ExpressionStatement", + "src": "21918:33:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "assertPosition", + "nameLocation": "21675:14:55", + "parameters": { + "id": 36297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36289, + "mutability": "mutable", + "name": "position", + "nameLocation": "21719:8:55", + "nodeType": "VariableDeclaration", + "scope": 36318, + "src": "21699:28:55", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_memory_ptr", + "typeString": "struct PositionData" + }, + "typeName": { + "id": 36288, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36287, + "name": "PositionData", + "nameLocations": [ + "21699:12:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32695, + "src": "21699:12:55" + }, + "referencedDeclaration": 32695, + "src": "21699:12:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionData_$32695_storage_ptr", + "typeString": "struct PositionData" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36291, + "mutability": "mutable", + "name": "party", + "nameLocation": "21745:5:55", + "nodeType": "VariableDeclaration", + "scope": 36318, + "src": "21737:13:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21737:7:55", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36293, + "mutability": "mutable", + "name": "balance", + "nameLocation": "21768:7:55", + "nodeType": "VariableDeclaration", + "scope": 36318, + "src": "21760:15:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21760:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36296, + "mutability": "mutable", + "name": "status", + "nameLocation": "21800:6:55", + "nodeType": "VariableDeclaration", + "scope": 36318, + "src": "21785:21:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + }, + "typeName": { + "id": 36295, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36294, + "name": "PositionStatus", + "nameLocations": [ + "21785:14:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32669, + "src": "21785:14:55" + }, + "referencedDeclaration": 32669, + "src": "21785:14:55", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PositionStatus_$32669", + "typeString": "enum PositionStatus" + } + }, + "visibility": "internal" + } + ], + "src": "21689:123:55" + }, + "returnParameters": { + "id": 36298, + "nodeType": "ParameterList", + "parameters": [], + "src": "21822:0:55" + }, + "scope": 36338, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36337, + "nodeType": "FunctionDefinition", + "src": "21964:149:55", + "nodes": [], + "body": { + "id": 36336, + "nodeType": "Block", + "src": "22055:58:55", + "nodes": [], + "statements": [ + { + "expression": { + "id": 36334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 36327, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36325, + "src": "22065:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36332, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36322, + "src": "22098:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 36329, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36320, + "src": "22081:5:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 36328, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29937, + "src": "22075:5:55", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$29937_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 36330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22075:12:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$29937", + "typeString": "contract ERC20" + } + }, + "id": 36331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22088:9:55", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 29580, + "src": "22075:22:55", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 36333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22075:31:55", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22065:41:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 36335, + "nodeType": "ExpressionStatement", + "src": "22065:41:55" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "21973:9:55", + "parameters": { + "id": 36323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36320, + "mutability": "mutable", + "name": "token", + "nameLocation": "21991:5:55", + "nodeType": "VariableDeclaration", + "scope": 36337, + "src": "21983:13:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21983:7:55", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36322, + "mutability": "mutable", + "name": "account", + "nameLocation": "22006:7:55", + "nodeType": "VariableDeclaration", + "scope": 36337, + "src": "21998:15:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21998:7:55", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "21982:32:55" + }, + "returnParameters": { + "id": 36326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36325, + "mutability": "mutable", + "name": "balance", + "nameLocation": "22046:7:55", + "nodeType": "VariableDeclaration", + "scope": 36337, + "src": "22038:15:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22038:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22037:17:55" + }, + "scope": 36338, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 34151, + "name": "Test", + "nameLocations": [ + "1488:4:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8943, + "src": "1488:4:55" + }, + "id": 34152, + "nodeType": "InheritanceSpecifier", + "src": "1488:4:55" + }, + { + "baseName": { + "id": 34153, + "name": "TokenProvider", + "nameLocations": [ + "1498:13:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 37103, + "src": "1498:13:55" + }, + "id": 34154, + "nodeType": "InheritanceSpecifier", + "src": "1498:13:55" + }, + { + "baseName": { + "id": 34155, + "name": "CriteriaProvider", + "nameLocations": [ + "1517:16:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36498, + "src": "1517:16:55" + }, + "id": 34156, + "nodeType": "InheritanceSpecifier", + "src": "1517:16:55" + }, + { + "baseName": { + "id": 34157, + "name": "PermitSignature", + "nameLocations": [ + "1539:15:55" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36982, + "src": "1539:15:55" + }, + "id": 34158, + "nodeType": "InheritanceSpecifier", + "src": "1539:15:55" + } + ], + "canonicalName": "CollateralAgreementFrameworkTest", + "contractDependencies": [ + 26576, + 27750, + 29549, + 32623 + ], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 36338, + 36982, + 36498, + 36568, + 37103, + 8943, + 1846, + 1843, + 8901, + 5754, + 5365, + 3793, + 3129, + 1786 + ], + "name": "CollateralAgreementFrameworkTest", + "nameLocation": "1448:32:55", + "scope": 36339, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "test/utils/AgreementProvider.sol": { + "id": 56, + "ast": { + "absolutePath": "test/utils/AgreementProvider.sol", + "id": 36539, + "exportedSymbols": { + "AgreementParams": [ + 32708 + ], + "AgreementProvider": [ + 36538 + ], + "CriteriaProvider": [ + 36498 + ], + "Merkle": [ + 26576 + ], + "PositionParams": [ + 32681 + ], + "Test": [ + 8943 + ], + "TestConstants": [ + 36568 + ], + "Vm": [ + 10233 + ] + }, + "nodeType": "SourceUnit", + "src": "45:1579:56", + "nodes": [ + { + "id": 36340, + "nodeType": "PragmaDirective", + "src": "45:24:56", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 36343, + "nodeType": "ImportDirective", + "src": "71:46:56", + "nodes": [], + "absolutePath": "lib/forge-std/src/Test.sol", + "file": "forge-std/Test.sol", + "nameLocation": "-1:-1:-1", + "scope": 36539, + "sourceUnit": 8944, + "symbolAliases": [ + { + "foreign": { + "id": 36341, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "80:2:56", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 36342, + "name": "Test", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8943, + "src": "84:4:56", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36345, + "nodeType": "ImportDirective", + "src": "118:42:56", + "nodes": [], + "absolutePath": "lib/murky/src/Merkle.sol", + "file": "murky/Merkle.sol", + "nameLocation": "-1:-1:-1", + "scope": 36539, + "sourceUnit": 26577, + "symbolAliases": [ + { + "foreign": { + "id": 36344, + "name": "Merkle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26576, + "src": "127:6:56", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36347, + "nodeType": "ImportDirective", + "src": "161:57:56", + "nodes": [], + "absolutePath": "test/utils/Constants.sol", + "file": "test/utils/Constants.sol", + "nameLocation": "-1:-1:-1", + "scope": 36539, + "sourceUnit": 36569, + "symbolAliases": [ + { + "foreign": { + "id": 36346, + "name": "TestConstants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36568, + "src": "170:13:56", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36350, + "nodeType": "ImportDirective", + "src": "220:84:56", + "nodes": [], + "absolutePath": "src/interfaces/AgreementTypes.sol", + "file": "src/interfaces/AgreementTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 36539, + "sourceUnit": 32729, + "symbolAliases": [ + { + "foreign": { + "id": 36348, + "name": "AgreementParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32708, + "src": "229:15:56", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 36349, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "246:14:56", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36498, + "nodeType": "ContractDefinition", + "src": "306:958:56", + "nodes": [ + { + "id": 36361, + "nodeType": "VariableDeclaration", + "src": "361:28:56", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "merkle", + "nameLocation": "368:6:56", + "scope": 36498, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Merkle_$26576", + "typeString": "contract Merkle" + }, + "typeName": { + "id": 36356, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36355, + "name": "Merkle", + "nameLocations": [ + "361:6:56" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26576, + "src": "361:6:56" + }, + "referencedDeclaration": 26576, + "src": "361:6:56", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Merkle_$26576", + "typeString": "contract Merkle" + } + }, + "value": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 36359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "377:10:56", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Merkle_$26576_$", + "typeString": "function () returns (contract Merkle)" + }, + "typeName": { + "id": 36358, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36357, + "name": "Merkle", + "nameLocations": [ + "381:6:56" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 26576, + "src": "381:6:56" + }, + "referencedDeclaration": 26576, + "src": "381:6:56", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Merkle_$26576", + "typeString": "contract Merkle" + } + } + }, + "id": 36360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "377:12:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Merkle_$26576", + "typeString": "contract Merkle" + } + }, + "visibility": "internal" + }, + { + "id": 36363, + "nodeType": "VariableDeclaration", + "src": "396:16:56", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "404:8:56", + "scope": 36498, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "396:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "id": 36368, + "nodeType": "VariableDeclaration", + "src": "418:36:56", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "proofs", + "nameLocation": "448:6:56", + "scope": 36498, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", + "typeString": "mapping(address => bytes32[])" + }, + "typeName": { + "id": 36367, + "keyType": { + "id": 36364, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "426:7:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "418:29:56", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", + "typeString": "mapping(address => bytes32[])" + }, + "valueType": { + "baseType": { + "id": 36365, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "437:7:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 36366, + "nodeType": "ArrayTypeName", + "src": "437:9:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "visibility": "internal" + }, + { + "id": 36459, + "nodeType": "FunctionDefinition", + "src": "461:509:56", + "nodes": [], + "body": { + "id": 36458, + "nodeType": "Block", + "src": "524:446:56", + "nodes": [], + "statements": [ + { + "assignments": [ + 36379 + ], + "declarations": [ + { + "constant": false, + "id": 36379, + "mutability": "mutable", + "name": "leafs", + "nameLocation": "551:5:56", + "nodeType": "VariableDeclaration", + "scope": 36458, + "src": "534:22:56", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 36377, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "534:7:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 36378, + "nodeType": "ArrayTypeName", + "src": "534:9:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 36386, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 36383, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36372, + "src": "573:9:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "583:6:56", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "573:16:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "559:13:56", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 36380, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "563:7:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 36381, + "nodeType": "ArrayTypeName", + "src": "563:9:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 36385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "559:31:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "534:56:56" + }, + { + "body": { + "id": 36416, + "nodeType": "Block", + "src": "648:99:56", + "statements": [ + { + "expression": { + "id": 36414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36398, + "name": "leafs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36379, + "src": "662:5:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 36400, + "indexExpression": { + "id": 36399, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36388, + "src": "668:1:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "662:8:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 36404, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36372, + "src": "694:9:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36406, + "indexExpression": { + "id": 36405, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36388, + "src": "704:1:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "694:12:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 36407, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "707:5:56", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "694:18:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "id": 36408, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36372, + "src": "714:9:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36410, + "indexExpression": { + "id": 36409, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36388, + "src": "724:1:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "714:12:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 36411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "727:7:56", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 32680, + "src": "714:20:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 36402, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "683:3:56", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "687:6:56", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "683:10:56", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "683:52:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36401, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "673:9:56", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "673:63:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "662:74:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 36415, + "nodeType": "ExpressionStatement", + "src": "662:74:56" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 36394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 36391, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36388, + "src": "621:1:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 36392, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36372, + "src": "625:9:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "635:6:56", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "625:16:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "621:20:56", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 36417, + "initializationExpression": { + "assignments": [ + 36388 + ], + "declarations": [ + { + "constant": false, + "id": 36388, + "mutability": "mutable", + "name": "i", + "nameLocation": "614:1:56", + "nodeType": "VariableDeclaration", + "scope": 36417, + "src": "606:9:56", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36387, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "606:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 36390, + "initialValue": { + "hexValue": "30", + "id": 36389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "618:1:56", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "606:13:56" + }, + "loopExpression": { + "expression": { + "id": 36396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "643:3:56", + "subExpression": { + "id": 36395, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36388, + "src": "643:1:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 36397, + "nodeType": "ExpressionStatement", + "src": "643:3:56" + }, + "nodeType": "ForStatement", + "src": "601:146:56" + }, + { + "body": { + "id": 36442, + "nodeType": "Block", + "src": "804:79:56", + "statements": [ + { + "expression": { + "id": 36440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36429, + "name": "proofs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36368, + "src": "818:6:56", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", + "typeString": "mapping(address => bytes32[] storage ref)" + } + }, + "id": 36434, + "indexExpression": { + "expression": { + "baseExpression": { + "id": 36430, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36372, + "src": "825:9:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36432, + "indexExpression": { + "id": 36431, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36419, + "src": "835:1:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "825:12:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 36433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "838:5:56", + "memberName": "party", + "nodeType": "MemberAccess", + "referencedDeclaration": 32677, + "src": "825:18:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "818:26:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36437, + "name": "leafs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36379, + "src": "863:5:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 36438, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36419, + "src": "870:1:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 36435, + "name": "merkle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36361, + "src": "847:6:56", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Merkle_$26576", + "typeString": "contract Merkle" + } + }, + "id": 36436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "854:8:56", + "memberName": "getProof", + "nodeType": "MemberAccess", + "referencedDeclaration": 26777, + "src": "847:15:56", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32[] memory,uint256) pure external returns (bytes32[] memory)" + } + }, + "id": 36439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "847:25:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "818:54:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 36441, + "nodeType": "ExpressionStatement", + "src": "818:54:56" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 36425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 36422, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36419, + "src": "777:1:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 36423, + "name": "positions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36372, + "src": "781:9:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "791:6:56", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "781:16:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "777:20:56", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 36443, + "initializationExpression": { + "assignments": [ + 36419 + ], + "declarations": [ + { + "constant": false, + "id": 36419, + "mutability": "mutable", + "name": "i", + "nameLocation": "770:1:56", + "nodeType": "VariableDeclaration", + "scope": 36443, + "src": "762:9:56", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "762:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 36421, + "initialValue": { + "hexValue": "30", + "id": 36420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "774:1:56", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "762:13:56" + }, + "loopExpression": { + "expression": { + "id": 36427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "799:3:56", + "subExpression": { + "id": 36426, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36419, + "src": "799:1:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 36428, + "nodeType": "ExpressionStatement", + "src": "799:3:56" + }, + "nodeType": "ForStatement", + "src": "757:126:56" + }, + { + "assignments": [ + 36445 + ], + "declarations": [ + { + "constant": false, + "id": 36445, + "mutability": "mutable", + "name": "root", + "nameLocation": "901:4:56", + "nodeType": "VariableDeclaration", + "scope": 36458, + "src": "893:12:56", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36444, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "893:7:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 36450, + "initialValue": { + "arguments": [ + { + "id": 36448, + "name": "leafs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36379, + "src": "923:5:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "expression": { + "id": 36446, + "name": "merkle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36361, + "src": "908:6:56", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Merkle_$26576", + "typeString": "contract Merkle" + } + }, + "id": 36447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "915:7:56", + "memberName": "getRoot", + "nodeType": "MemberAccess", + "referencedDeclaration": 26672, + "src": "908:14:56", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes32[] memory) pure external returns (bytes32)" + } + }, + "id": 36449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "908:21:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "893:36:56" + }, + { + "expression": { + "id": 36456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 36451, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36363, + "src": "939:8:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36454, + "name": "root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36445, + "src": "958:4:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 36453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "950:7:56", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 36452, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "950:7:56", + "typeDescriptions": {} + } + }, + "id": 36455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "950:13:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "939:24:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 36457, + "nodeType": "ExpressionStatement", + "src": "939:24:56" + } + ] + }, + "functionSelector": "cc8b3eab", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setCriteria", + "nameLocation": "470:11:56", + "parameters": { + "id": 36373, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36372, + "mutability": "mutable", + "name": "positions", + "nameLocation": "506:9:56", + "nodeType": "VariableDeclaration", + "scope": 36459, + "src": "482:33:56", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 36370, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36369, + "name": "PositionParams", + "nameLocations": [ + "482:14:56" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "482:14:56" + }, + "referencedDeclaration": 32681, + "src": "482:14:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 36371, + "nodeType": "ArrayTypeName", + "src": "482:16:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "481:35:56" + }, + "returnParameters": { + "id": 36374, + "nodeType": "ParameterList", + "parameters": [], + "src": "524:0:56" + }, + "scope": 36498, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 36497, + "nodeType": "FunctionDefinition", + "src": "976:286:56", + "nodes": [], + "body": { + "id": 36496, + "nodeType": "Block", + "src": "1013:249:56", + "nodes": [], + "statements": [ + { + "assignments": [ + 36466 + ], + "declarations": [ + { + "constant": false, + "id": 36466, + "mutability": "mutable", + "name": "defaultPositions", + "nameLocation": "1047:16:56", + "nodeType": "VariableDeclaration", + "scope": 36496, + "src": "1023:40:56", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 36464, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36463, + "name": "PositionParams", + "nameLocations": [ + "1023:14:56" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "1023:14:56" + }, + "referencedDeclaration": 32681, + "src": "1023:14:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 36465, + "nodeType": "ArrayTypeName", + "src": "1023:16:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "id": 36473, + "initialValue": { + "arguments": [ + { + "hexValue": "32", + "id": 36471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1087:1:56", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 36470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1066:20:56", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct PositionParams memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 36468, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36467, + "name": "PositionParams", + "nameLocations": [ + "1070:14:56" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "1070:14:56" + }, + "referencedDeclaration": 32681, + "src": "1070:14:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 36469, + "nodeType": "ArrayTypeName", + "src": "1070:16:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + } + }, + "id": 36472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1066:23:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1023:66:56" + }, + { + "expression": { + "id": 36481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36474, + "name": "defaultPositions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36466, + "src": "1099:16:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36476, + "indexExpression": { + "hexValue": "30", + "id": 36475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1116:1:56", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1099:19:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36478, + "name": "bob", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36551, + "src": "1136:3:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 36479, + "name": "bobStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36562, + "src": "1141:8:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36477, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "1121:14:56", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 36480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1121:29:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "1099:51:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 36482, + "nodeType": "ExpressionStatement", + "src": "1099:51:56" + }, + { + "expression": { + "id": 36490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36483, + "name": "defaultPositions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36466, + "src": "1160:16:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + }, + "id": 36485, + "indexExpression": { + "hexValue": "31", + "id": 36484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1177:1:56", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1160:19:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36487, + "name": "alice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36557, + "src": "1197:5:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 36488, + "name": "aliceStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36567, + "src": "1204:10:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36486, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "1182:14:56", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PositionParams_$32681_storage_ptr_$", + "typeString": "type(struct PositionParams storage pointer)" + } + }, + "id": 36489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1182:33:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "src": "1160:55:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_memory_ptr", + "typeString": "struct PositionParams memory" + } + }, + "id": 36491, + "nodeType": "ExpressionStatement", + "src": "1160:55:56" + }, + { + "expression": { + "arguments": [ + { + "id": 36493, + "name": "defaultPositions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36466, + "src": "1238:16:56", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PositionParams memory[] memory" + } + ], + "id": 36492, + "name": "setCriteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36459, + "src": "1226:11:56", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_PositionParams_$32681_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (struct PositionParams memory[] memory)" + } + }, + "id": 36494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1226:29:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36495, + "nodeType": "ExpressionStatement", + "src": "1226:29:56" + } + ] + }, + "functionSelector": "b681cffe", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setDefaultCriteria", + "nameLocation": "985:18:56", + "parameters": { + "id": 36460, + "nodeType": "ParameterList", + "parameters": [], + "src": "1003:2:56" + }, + "returnParameters": { + "id": 36461, + "nodeType": "ParameterList", + "parameters": [], + "src": "1013:0:56" + }, + "scope": 36498, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 36351, + "name": "Test", + "nameLocations": [ + "335:4:56" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8943, + "src": "335:4:56" + }, + "id": 36352, + "nodeType": "InheritanceSpecifier", + "src": "335:4:56" + }, + { + "baseName": { + "id": 36353, + "name": "TestConstants", + "nameLocations": [ + "341:13:56" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36568, + "src": "341:13:56" + }, + "id": 36354, + "nodeType": "InheritanceSpecifier", + "src": "341:13:56" + } + ], + "canonicalName": "CriteriaProvider", + "contractDependencies": [ + 26576 + ], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 36498, + 36568, + 8943, + 1846, + 1843, + 8901, + 5754, + 5365, + 3793, + 3129, + 1786 + ], + "name": "CriteriaProvider", + "nameLocation": "315:16:56", + "scope": 36539, + "usedErrors": [] + }, + { + "id": 36538, + "nodeType": "ContractDefinition", + "src": "1266:357:56", + "nodes": [ + { + "id": 36537, + "nodeType": "FunctionDefinition", + "src": "1307:314:56", + "nodes": [], + "body": { + "id": 36536, + "nodeType": "Block", + "src": "1442:179:56", + "nodes": [], + "statements": [ + { + "expression": { + "id": 36516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 36510, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36508, + "src": "1452:6:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_memory_ptr", + "typeString": "struct AgreementParams memory" + } + }, + "id": 36512, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1459:9:56", + "memberName": "termsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 32698, + "src": "1452:16:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "5465726d73202620436f6e646974696f6e73", + "id": 36514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1481:20:56", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a74911826a63a1e8059b5834149ea5905cbe277aaf3536b4a44db1822d86970a", + "typeString": "literal_string \"Terms & Conditions\"" + }, + "value": "Terms & Conditions" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a74911826a63a1e8059b5834149ea5905cbe277aaf3536b4a44db1822d86970a", + "typeString": "literal_string \"Terms & Conditions\"" + } + ], + "id": 36513, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1471:9:56", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1471:31:56", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1452:50:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 36517, + "nodeType": "ExpressionStatement", + "src": "1452:50:56" + }, + { + "expression": { + "id": 36522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 36518, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36508, + "src": "1512:6:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_memory_ptr", + "typeString": "struct AgreementParams memory" + } + }, + "id": 36520, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1519:8:56", + "memberName": "criteria", + "nodeType": "MemberAccess", + "referencedDeclaration": 32701, + "src": "1512:15:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 36521, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36504, + "src": "1530:8:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1512:26:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 36523, + "nodeType": "ExpressionStatement", + "src": "1512:26:56" + }, + { + "expression": { + "id": 36528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 36524, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36508, + "src": "1548:6:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_memory_ptr", + "typeString": "struct AgreementParams memory" + } + }, + "id": 36526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1555:11:56", + "memberName": "metadataURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 32704, + "src": "1548:18:56", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "697066733a2f2f736861323536", + "id": 36527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1569:15:56", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eae60c6794675eb66cd753546ec0e1b628e1f303f0420d151f196150baa1b767", + "typeString": "literal_string \"ipfs://sha256\"" + }, + "value": "ipfs://sha256" + }, + "src": "1548:36:56", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 36529, + "nodeType": "ExpressionStatement", + "src": "1548:36:56" + }, + { + "expression": { + "id": 36534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 36530, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36508, + "src": "1594:6:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_memory_ptr", + "typeString": "struct AgreementParams memory" + } + }, + "id": 36532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1601:5:56", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 32707, + "src": "1594:12:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 36533, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36502, + "src": "1609:5:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1594:20:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 36535, + "nodeType": "ExpressionStatement", + "src": "1594:20:56" + } + ] + }, + "functionSelector": "acd3b8d0", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAgreementParams", + "nameLocation": "1316:18:56", + "parameters": { + "id": 36505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36502, + "mutability": "mutable", + "name": "token", + "nameLocation": "1352:5:56", + "nodeType": "VariableDeclaration", + "scope": 36537, + "src": "1344:13:56", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36501, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1344:7:56", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36504, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "1375:8:56", + "nodeType": "VariableDeclaration", + "scope": 36537, + "src": "1367:16:56", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1367:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1334:55:56" + }, + "returnParameters": { + "id": 36509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36508, + "mutability": "mutable", + "name": "params", + "nameLocation": "1434:6:56", + "nodeType": "VariableDeclaration", + "scope": 36537, + "src": "1411:29:56", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_memory_ptr", + "typeString": "struct AgreementParams" + }, + "typeName": { + "id": 36507, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36506, + "name": "AgreementParams", + "nameLocations": [ + "1411:15:56" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32708, + "src": "1411:15:56" + }, + "referencedDeclaration": 32708, + "src": "1411:15:56", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgreementParams_$32708_storage_ptr", + "typeString": "struct AgreementParams" + } + }, + "visibility": "internal" + } + ], + "src": "1410:31:56" + }, + "scope": 36538, + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 36499, + "name": "Test", + "nameLocations": [ + "1296:4:56" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8943, + "src": "1296:4:56" + }, + "id": 36500, + "nodeType": "InheritanceSpecifier", + "src": "1296:4:56" + } + ], + "canonicalName": "AgreementProvider", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 36538, + 8943, + 1846, + 1843, + 8901, + 5754, + 5365, + 3793, + 3129, + 1786 + ], + "name": "AgreementProvider", + "nameLocation": "1275:17:56", + "scope": 36539, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "test/utils/Constants.sol": { + "id": 57, + "ast": { + "absolutePath": "test/utils/Constants.sol", + "id": 36569, + "exportedSymbols": { + "Test": [ + 8943 + ], + "TestConstants": [ + 36568 + ], + "Vm": [ + 10233 + ] + }, + "nodeType": "SourceUnit", + "src": "45:250:57", + "nodes": [ + { + "id": 36540, + "nodeType": "PragmaDirective", + "src": "45:24:57", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 36543, + "nodeType": "ImportDirective", + "src": "71:46:57", + "nodes": [], + "absolutePath": "lib/forge-std/src/Test.sol", + "file": "forge-std/Test.sol", + "nameLocation": "-1:-1:-1", + "scope": 36569, + "sourceUnit": 8944, + "symbolAliases": [ + { + "foreign": { + "id": 36541, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "80:2:57", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 36542, + "name": "Test", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8943, + "src": "84:4:57", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36568, + "nodeType": "ContractDefinition", + "src": "119:175:57", + "nodes": [ + { + "id": 36551, + "nodeType": "VariableDeclaration", + "src": "156:28:57", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "bob", + "nameLocation": "164:3:57", + "scope": 36568, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36546, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "156:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "hexValue": "3078423042", + "id": 36549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "178:5:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + }, + "value": "0xB0B" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2827_by_1", + "typeString": "int_const 2827" + } + ], + "expression": { + "id": 36547, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "170:2:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 36548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "173:4:57", + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 9003, + "src": "170:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) pure external returns (address)" + } + }, + "id": 36550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "170:14:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 36557, + "nodeType": "VariableDeclaration", + "src": "190:32:57", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "alice", + "nameLocation": "198:5:57", + "scope": 36568, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "190:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "hexValue": "30784131314345", + "id": 36555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "214:7:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_659918_by_1", + "typeString": "int_const 659918" + }, + "value": "0xA11CE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_659918_by_1", + "typeString": "int_const 659918" + } + ], + "expression": { + "id": 36553, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "206:2:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 36554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "209:4:57", + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 9003, + "src": "206:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) pure external returns (address)" + } + }, + "id": 36556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "206:16:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 36562, + "nodeType": "VariableDeclaration", + "src": "229:27:57", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "bobStake", + "nameLocation": "237:8:57", + "scope": 36568, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36558, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "229:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_2000000000000000000_by_1", + "typeString": "int_const 2000000000000000000" + }, + "id": 36561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 36559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "248:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "31653138", + "id": 36560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "252:4:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "value": "1e18" + }, + "src": "248:8:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_2000000000000000000_by_1", + "typeString": "int_const 2000000000000000000" + } + }, + "visibility": "internal" + }, + { + "id": 36567, + "nodeType": "VariableDeclaration", + "src": "262:29:57", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "aliceStake", + "nameLocation": "270:10:57", + "scope": 36568, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36563, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "262:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "id": 36566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 36564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "283:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "31653138", + "id": 36565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "287:4:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "value": "1e18" + }, + "src": "283:8:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + } + }, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 36544, + "name": "Test", + "nameLocations": [ + "145:4:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8943, + "src": "145:4:57" + }, + "id": 36545, + "nodeType": "InheritanceSpecifier", + "src": "145:4:57" + } + ], + "canonicalName": "TestConstants", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 36568, + 8943, + 1846, + 1843, + 8901, + 5754, + 5365, + 3793, + 3129, + 1786 + ], + "name": "TestConstants", + "nameLocation": "128:13:57", + "scope": 36569, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "test/utils/PermitSignature.sol": { + "id": 58, + "ast": { + "absolutePath": "test/utils/PermitSignature.sol", + "id": 36983, + "exportedSymbols": { + "IAllowanceTransfer": [ + 28400 + ], + "ISignatureTransfer": [ + 28568 + ], + "PermitSignature": [ + 36982 + ], + "Test": [ + 8943 + ], + "TokenPair": [ + 36582 + ], + "Vm": [ + 10233 + ] + }, + "nodeType": "SourceUnit", + "src": "45:6137:58", + "nodes": [ + { + "id": 36570, + "nodeType": "PragmaDirective", + "src": "45:24:58", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 36573, + "nodeType": "ImportDirective", + "src": "71:46:58", + "nodes": [], + "absolutePath": "lib/forge-std/src/Test.sol", + "file": "forge-std/Test.sol", + "nameLocation": "-1:-1:-1", + "scope": 36983, + "sourceUnit": 8944, + "symbolAliases": [ + { + "foreign": { + "id": 36571, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "80:2:58", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 36572, + "name": "Test", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8943, + "src": "84:4:58", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36575, + "nodeType": "ImportDirective", + "src": "118:83:58", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/IAllowanceTransfer.sol", + "file": "permit2/src/interfaces/IAllowanceTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 36983, + "sourceUnit": 28401, + "symbolAliases": [ + { + "foreign": { + "id": 36574, + "name": "IAllowanceTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28400, + "src": "127:18:58", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36577, + "nodeType": "ImportDirective", + "src": "202:83:58", + "nodes": [], + "absolutePath": "lib/permit2/src/interfaces/ISignatureTransfer.sol", + "file": "permit2/src/interfaces/ISignatureTransfer.sol", + "nameLocation": "-1:-1:-1", + "scope": 36983, + "sourceUnit": 28569, + "symbolAliases": [ + { + "foreign": { + "id": 36576, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "211:18:58", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36582, + "nodeType": "StructDefinition", + "src": "287:59:58", + "nodes": [], + "canonicalName": "TokenPair", + "members": [ + { + "constant": false, + "id": 36579, + "mutability": "mutable", + "name": "token", + "nameLocation": "318:5:58", + "nodeType": "VariableDeclaration", + "scope": 36582, + "src": "310:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36578, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "310:7:58", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36581, + "mutability": "mutable", + "name": "amount", + "nameLocation": "337:6:58", + "nodeType": "VariableDeclaration", + "scope": 36582, + "src": "329:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "329:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "TokenPair", + "nameLocation": "294:9:58", + "scope": 36983, + "visibility": "public" + }, + { + "id": 36982, + "nodeType": "ContractDefinition", + "src": "348:5833:58", + "nodes": [ + { + "id": 36589, + "nodeType": "VariableDeclaration", + "src": "387:146:58", + "nodes": [], + "constant": true, + "functionSelector": "6e4f2775", + "mutability": "constant", + "name": "_PERMIT_DETAILS_TYPEHASH", + "nameLocation": "411:24:58", + "scope": 36982, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36585, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "387:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d697444657461696c73286164647265737320746f6b656e2c75696e7431363020616d6f756e742c75696e7434382065787069726174696f6e2c75696e743438206e6f6e636529", + "id": 36587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "456:76:58", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678", + "typeString": "literal_string \"PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + }, + "value": "PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678", + "typeString": "literal_string \"PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + } + ], + "id": 36586, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "446:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "446:87:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 36594, + "nodeType": "VariableDeclaration", + "src": "540:238:58", + "nodes": [], + "constant": true, + "functionSelector": "c5df4f03", + "mutability": "constant", + "name": "_PERMIT_SINGLE_TYPEHASH", + "nameLocation": "564:23:58", + "scope": 36982, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36590, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "540:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d697453696e676c65285065726d697444657461696c732064657461696c732c61646472657373207370656e6465722c75696e7432353620736967446561646c696e65295065726d697444657461696c73286164647265737320746f6b656e2c75696e7431363020616d6f756e742c75696e7434382065787069726174696f6e2c75696e743438206e6f6e636529", + "id": 36592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "621:147:58", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0", + "typeString": "literal_string \"PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + }, + "value": "PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d0", + "typeString": "literal_string \"PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + } + ], + "id": 36591, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "598:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "598:180:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 36599, + "nodeType": "VariableDeclaration", + "src": "785:238:58", + "nodes": [], + "constant": true, + "functionSelector": "6302c3cf", + "mutability": "constant", + "name": "_PERMIT_BATCH_TYPEHASH", + "nameLocation": "809:22:58", + "scope": 36982, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36595, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "785:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d69744261746368285065726d697444657461696c735b5d2064657461696c732c61646472657373207370656e6465722c75696e7432353620736967446561646c696e65295065726d697444657461696c73286164647265737320746f6b656e2c75696e7431363020616d6f756e742c75696e7434382065787069726174696f6e2c75696e743438206e6f6e636529", + "id": 36597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "865:148:58", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863", + "typeString": "literal_string \"PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + }, + "value": "PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_af1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f79440863", + "typeString": "literal_string \"PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)\"" + } + ], + "id": 36596, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "842:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "842:181:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 36604, + "nodeType": "VariableDeclaration", + "src": "1030:121:58", + "nodes": [], + "constant": true, + "functionSelector": "415e982d", + "mutability": "constant", + "name": "_TOKEN_PERMISSIONS_TYPEHASH", + "nameLocation": "1054:27:58", + "scope": 36982, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1030:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e7429", + "id": 36602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1102:48:58", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1", + "typeString": "literal_string \"TokenPermissions(address token,uint256 amount)\"" + }, + "value": "TokenPermissions(address token,uint256 amount)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1", + "typeString": "literal_string \"TokenPermissions(address token,uint256 amount)\"" + } + ], + "id": 36601, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1092:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1092:59:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 36609, + "nodeType": "VariableDeclaration", + "src": "1158:239:58", + "nodes": [], + "constant": true, + "functionSelector": "78f16830", + "mutability": "constant", + "name": "_PERMIT_TRANSFER_FROM_TYPEHASH", + "nameLocation": "1182:30:58", + "scope": 36982, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36605, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1158:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d69745472616e7366657246726f6d28546f6b656e5065726d697373696f6e73207065726d69747465642c61646472657373207370656e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e7429", + "id": 36607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1246:141:58", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106", + "typeString": "literal_string \"PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"" + }, + "value": "PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d80106", + "typeString": "literal_string \"PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"" + } + ], + "id": 36606, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1223:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1223:174:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 36614, + "nodeType": "VariableDeclaration", + "src": "1404:252:58", + "nodes": [], + "constant": true, + "functionSelector": "3eb8b8fd", + "mutability": "constant", + "name": "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH", + "nameLocation": "1428:36:58", + "scope": 36982, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36610, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1404:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5065726d697442617463685472616e7366657246726f6d28546f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472657373207370656e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e7429", + "id": 36612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1498:148:58", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b766", + "typeString": "literal_string \"PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"" + }, + "value": "PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b766", + "typeString": "literal_string \"PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)\"" + } + ], + "id": 36611, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1475:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1475:181:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 36674, + "nodeType": "FunctionDefinition", + "src": "1663:780:58", + "nodes": [], + "body": { + "id": 36673, + "nodeType": "Block", + "src": "1870:573:58", + "nodes": [], + "statements": [ + { + "assignments": [ + 36631 + ], + "declarations": [ + { + "constant": false, + "id": 36631, + "mutability": "mutable", + "name": "permitHash", + "nameLocation": "1888:10:58", + "nodeType": "VariableDeclaration", + "scope": 36673, + "src": "1880:18:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36630, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1880:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 36640, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 36635, + "name": "_PERMIT_DETAILS_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36589, + "src": "1922:24:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 36636, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36617, + "src": "1948:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 36637, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1955:7:58", + "memberName": "details", + "nodeType": "MemberAccess", + "referencedDeclaration": 28276, + "src": "1948:14:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_PermitDetails_$28273_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitDetails memory" + } + ], + "expression": { + "id": 36633, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1911:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1915:6:58", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1911:10:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1911:52:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36632, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1901:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1901:63:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1880:84:58" + }, + { + "assignments": [ + 36642 + ], + "declarations": [ + { + "constant": false, + "id": 36642, + "mutability": "mutable", + "name": "msgHash", + "nameLocation": "1983:7:58", + "nodeType": "VariableDeclaration", + "scope": 36673, + "src": "1975:15:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36641, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1975:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 36661, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "1901", + "id": 36646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2050:10:58", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", + "typeString": "literal_string hex\"1901\"" + }, + "value": "\u0019\u0001" + }, + { + "id": 36647, + "name": "domainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36621, + "src": "2078:15:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 36651, + "name": "_PERMIT_SINGLE_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36594, + "src": "2178:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36652, + "name": "permitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36631, + "src": "2227:10:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 36653, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36617, + "src": "2263:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 36654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2270:7:58", + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 28278, + "src": "2263:14:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 36655, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36617, + "src": "2303:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + "id": 36656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2310:11:58", + "memberName": "sigDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28280, + "src": "2303:18:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 36649, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2142:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2146:6:58", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2142:10:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2142:201:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36648, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2111:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2111:250:58", + "tryCall": false, + "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": 36644, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2016:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2020:12:58", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2016:16:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2016:359:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36643, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1993:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1993:392:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1975:410:58" + }, + { + "expression": { + "id": 36671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 36662, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36624, + "src": "2397:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 36663, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36626, + "src": "2400:1:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36664, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36628, + "src": "2403:1:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 36665, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2396:9:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(uint8,bytes32,bytes32)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 36668, + "name": "privateKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36619, + "src": "2416:10:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 36669, + "name": "msgHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36642, + "src": "2428:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 36666, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "2408:2:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 36667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2411:4:58", + "memberName": "sign", + "nodeType": "MemberAccess", + "referencedDeclaration": 8996, + "src": "2408:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)" + } + }, + "id": 36670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2408:28:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(uint8,bytes32,bytes32)" + } + }, + "src": "2396:40:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 36672, + "nodeType": "ExpressionStatement", + "src": "2396:40:58" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPermitSignatureRaw", + "nameLocation": "1672:21:58", + "parameters": { + "id": 36622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36617, + "mutability": "mutable", + "name": "permit", + "nameLocation": "1742:6:58", + "nodeType": "VariableDeclaration", + "scope": 36674, + "src": "1703:45:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + }, + "typeName": { + "id": 36616, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36615, + "name": "IAllowanceTransfer.PermitSingle", + "nameLocations": [ + "1703:18:58", + "1722:12:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28281, + "src": "1703:31:58" + }, + "referencedDeclaration": 28281, + "src": "1703:31:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36619, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "1766:10:58", + "nodeType": "VariableDeclaration", + "scope": 36674, + "src": "1758:18:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1758:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36621, + "mutability": "mutable", + "name": "domainSeparator", + "nameLocation": "1794:15:58", + "nodeType": "VariableDeclaration", + "scope": 36674, + "src": "1786:23:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36620, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1786:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1693:122:58" + }, + "returnParameters": { + "id": 36629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36624, + "mutability": "mutable", + "name": "v", + "nameLocation": "1845:1:58", + "nodeType": "VariableDeclaration", + "scope": 36674, + "src": "1839:7:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 36623, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1839:5:58", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36626, + "mutability": "mutable", + "name": "r", + "nameLocation": "1856:1:58", + "nodeType": "VariableDeclaration", + "scope": 36674, + "src": "1848:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36625, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1848:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36628, + "mutability": "mutable", + "name": "s", + "nameLocation": "1867:1:58", + "nodeType": "VariableDeclaration", + "scope": 36674, + "src": "1859:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36627, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1859:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1838:31:58" + }, + "scope": 36982, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36710, + "nodeType": "FunctionDefinition", + "src": "2449:392:58", + "nodes": [], + "body": { + "id": 36709, + "nodeType": "Block", + "src": "2640:201:58", + "nodes": [], + "statements": [ + { + "assignments": [ + 36687, + 36689, + 36691 + ], + "declarations": [ + { + "constant": false, + "id": 36687, + "mutability": "mutable", + "name": "v", + "nameLocation": "2657:1:58", + "nodeType": "VariableDeclaration", + "scope": 36709, + "src": "2651:7:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 36686, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2651:5:58", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36689, + "mutability": "mutable", + "name": "r", + "nameLocation": "2668:1:58", + "nodeType": "VariableDeclaration", + "scope": 36709, + "src": "2660:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36688, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2660:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36691, + "mutability": "mutable", + "name": "s", + "nameLocation": "2679:1:58", + "nodeType": "VariableDeclaration", + "scope": 36709, + "src": "2671:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36690, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2671:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 36697, + "initialValue": { + "arguments": [ + { + "id": 36693, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36677, + "src": "2719:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + } + }, + { + "id": 36694, + "name": "privateKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36679, + "src": "2739:10:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 36695, + "name": "domainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36681, + "src": "2763:15:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 36692, + "name": "getPermitSignatureRaw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36674, + "src": "2684:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitSingle_$28281_memory_ptr_$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "function (struct IAllowanceTransfer.PermitSingle memory,uint256,bytes32) pure returns (uint8,bytes32,bytes32)" + } + }, + "id": 36696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2684:104:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(uint8,bytes32,bytes32)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2650:138:58" + }, + { + "expression": { + "arguments": [ + { + "id": 36701, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36689, + "src": "2818:1:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36702, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36691, + "src": "2821:1:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "id": 36705, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36687, + "src": "2831:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 36704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2824:6:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 36703, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "2824:6:58", + "typeDescriptions": {} + } + }, + "id": 36706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2824:9:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "expression": { + "id": 36699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2805:5:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 36698, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2805:5:58", + "typeDescriptions": {} + } + }, + "id": 36700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2811:6:58", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "2805:12:58", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2805:29:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 36685, + "id": 36708, + "nodeType": "Return", + "src": "2798:36:58" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPermitSignature", + "nameLocation": "2458:18:58", + "parameters": { + "id": 36682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36677, + "mutability": "mutable", + "name": "permit", + "nameLocation": "2525:6:58", + "nodeType": "VariableDeclaration", + "scope": 36710, + "src": "2486:45:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_memory_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + }, + "typeName": { + "id": 36676, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36675, + "name": "IAllowanceTransfer.PermitSingle", + "nameLocations": [ + "2486:18:58", + "2505:12:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28281, + "src": "2486:31:58" + }, + "referencedDeclaration": 28281, + "src": "2486:31:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitSingle_$28281_storage_ptr", + "typeString": "struct IAllowanceTransfer.PermitSingle" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36679, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "2549:10:58", + "nodeType": "VariableDeclaration", + "scope": 36710, + "src": "2541:18:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2541:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36681, + "mutability": "mutable", + "name": "domainSeparator", + "nameLocation": "2577:15:58", + "nodeType": "VariableDeclaration", + "scope": 36710, + "src": "2569:23:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36680, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2569:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2476:122:58" + }, + "returnParameters": { + "id": 36685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36684, + "mutability": "mutable", + "name": "sig", + "nameLocation": "2635:3:58", + "nodeType": "VariableDeclaration", + "scope": 36710, + "src": "2622:16:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 36683, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2622:5:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2621:18:58" + }, + "scope": 36982, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36781, + "nodeType": "FunctionDefinition", + "src": "2847:944:58", + "nodes": [], + "body": { + "id": 36780, + "nodeType": "Block", + "src": "3077:714:58", + "nodes": [], + "statements": [ + { + "assignments": [ + 36725 + ], + "declarations": [ + { + "constant": false, + "id": 36725, + "mutability": "mutable", + "name": "tokenPermissions", + "nameLocation": "3095:16:58", + "nodeType": "VariableDeclaration", + "scope": 36780, + "src": "3087:24:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36724, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3087:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 36734, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 36729, + "name": "_TOKEN_PERMISSIONS_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36604, + "src": "3148:27:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 36730, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36713, + "src": "3177:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 36731, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3184:9:58", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28464, + "src": "3177:16:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + ], + "expression": { + "id": 36727, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3137:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3141:6:58", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3137:10:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3137:57:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36726, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3114:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3114:90:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3087:117:58" + }, + { + "assignments": [ + 36736 + ], + "declarations": [ + { + "constant": false, + "id": 36736, + "mutability": "mutable", + "name": "msgHash", + "nameLocation": "3222:7:58", + "nodeType": "VariableDeclaration", + "scope": 36780, + "src": "3214:15:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36735, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3214:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 36756, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "1901", + "id": 36740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3289:10:58", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", + "typeString": "literal_string hex\"1901\"" + }, + "value": "\u0019\u0001" + }, + { + "id": 36741, + "name": "domainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36719, + "src": "3317:15:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 36745, + "name": "_PERMIT_TRANSFER_FROM_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36609, + "src": "3417:30:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36746, + "name": "tokenPermissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36725, + "src": "3473:16:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36747, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36715, + "src": "3515:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 36748, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36713, + "src": "3548:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 36749, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3555:5:58", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28466, + "src": "3548:12:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 36750, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36713, + "src": "3586:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "id": 36751, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3593:8:58", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28468, + "src": "3586:15:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 36743, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3381:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3385:6:58", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3381:10:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3381:242:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36742, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3350:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3350:291:58", + "tryCall": false, + "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": 36738, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3255:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3259:12:58", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3255:16:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3255:400:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36737, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "3232:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3232:433:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3214:451:58" + }, + { + "assignments": [ + 36758, + 36760, + 36762 + ], + "declarations": [ + { + "constant": false, + "id": 36758, + "mutability": "mutable", + "name": "v", + "nameLocation": "3683:1:58", + "nodeType": "VariableDeclaration", + "scope": 36780, + "src": "3677:7:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 36757, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3677:5:58", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36760, + "mutability": "mutable", + "name": "r", + "nameLocation": "3694:1:58", + "nodeType": "VariableDeclaration", + "scope": 36780, + "src": "3686:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36759, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3686:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36762, + "mutability": "mutable", + "name": "s", + "nameLocation": "3705:1:58", + "nodeType": "VariableDeclaration", + "scope": 36780, + "src": "3697:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36761, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3697:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 36768, + "initialValue": { + "arguments": [ + { + "id": 36765, + "name": "privateKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36717, + "src": "3718:10:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 36766, + "name": "msgHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36736, + "src": "3730:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 36763, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "3710:2:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 36764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3713:4:58", + "memberName": "sign", + "nodeType": "MemberAccess", + "referencedDeclaration": 8996, + "src": "3710:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)" + } + }, + "id": 36767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3710:28:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(uint8,bytes32,bytes32)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3676:62:58" + }, + { + "expression": { + "arguments": [ + { + "id": 36772, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36760, + "src": "3768:1:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36773, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36762, + "src": "3771:1:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "id": 36776, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36758, + "src": "3781:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 36775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3774:6:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 36774, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "3774:6:58", + "typeDescriptions": {} + } + }, + "id": 36777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3774:9:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "expression": { + "id": 36770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3755:5:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 36769, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3755:5:58", + "typeDescriptions": {} + } + }, + "id": 36771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3761:6:58", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "3755:12:58", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3755:29:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 36723, + "id": 36779, + "nodeType": "Return", + "src": "3748:36:58" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPermitTransferSignature", + "nameLocation": "2856:26:58", + "parameters": { + "id": 36720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36713, + "mutability": "mutable", + "name": "permit", + "nameLocation": "2937:6:58", + "nodeType": "VariableDeclaration", + "scope": 36781, + "src": "2892:51:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 36712, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36711, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "2892:18:58", + "2911:18:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "2892:37:58" + }, + "referencedDeclaration": 28469, + "src": "2892:37:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36715, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2961:7:58", + "nodeType": "VariableDeclaration", + "scope": 36781, + "src": "2953:15:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2953:7:58", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36717, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "2986:10:58", + "nodeType": "VariableDeclaration", + "scope": 36781, + "src": "2978:18:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2978:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36719, + "mutability": "mutable", + "name": "domainSeparator", + "nameLocation": "3014:15:58", + "nodeType": "VariableDeclaration", + "scope": 36781, + "src": "3006:23:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36718, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3006:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2882:153:58" + }, + "returnParameters": { + "id": 36723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36722, + "mutability": "mutable", + "name": "sig", + "nameLocation": "3072:3:58", + "nodeType": "VariableDeclaration", + "scope": 36781, + "src": "3059:16:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 36721, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3059:5:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3058:18:58" + }, + "scope": 36982, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36888, + "nodeType": "FunctionDefinition", + "src": "3797:1157:58", + "nodes": [], + "body": { + "id": 36887, + "nodeType": "Block", + "src": "4037:917:58", + "nodes": [], + "statements": [ + { + "assignments": [ + 36799 + ], + "declarations": [ + { + "constant": false, + "id": 36799, + "mutability": "mutable", + "name": "tokenPermissions", + "nameLocation": "4064:16:58", + "nodeType": "VariableDeclaration", + "scope": 36887, + "src": "4047:33:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 36797, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4047:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 36798, + "nodeType": "ArrayTypeName", + "src": "4047:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 36807, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "id": 36803, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36784, + "src": "4097:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 36804, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4104:9:58", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "4097:16:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 36805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4114:6:58", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4097:23:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4083:13:58", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 36800, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4087:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 36801, + "nodeType": "ArrayTypeName", + "src": "4087:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 36806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4083:38:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4047:74:58" + }, + { + "body": { + "id": 36835, + "nodeType": "Block", + "src": "4185:148:58", + "statements": [ + { + "expression": { + "id": 36833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36820, + "name": "tokenPermissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36799, + "src": "4199:16:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 36822, + "indexExpression": { + "id": 36821, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36809, + "src": "4216:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4199:19:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 36826, + "name": "_TOKEN_PERMISSIONS_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36604, + "src": "4259:27:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "expression": { + "id": 36827, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36784, + "src": "4288:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 36828, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4295:9:58", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "4288:16:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 36830, + "indexExpression": { + "id": 36829, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36809, + "src": "4305:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4288:19:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + ], + "expression": { + "id": 36824, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4248:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4252:6:58", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4248:10:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4248:60:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36823, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4221:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4221:101:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4199:123:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 36834, + "nodeType": "ExpressionStatement", + "src": "4199:123:58" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 36816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 36812, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36809, + "src": "4151:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "expression": { + "id": 36813, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36784, + "src": "4155:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 36814, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4162:9:58", + "memberName": "permitted", + "nodeType": "MemberAccess", + "referencedDeclaration": 28478, + "src": "4155:16:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 36815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4172:6:58", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4155:23:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4151:27:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 36836, + "initializationExpression": { + "assignments": [ + 36809 + ], + "declarations": [ + { + "constant": false, + "id": 36809, + "mutability": "mutable", + "name": "i", + "nameLocation": "4144:1:58", + "nodeType": "VariableDeclaration", + "scope": 36836, + "src": "4136:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36808, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4136:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 36811, + "initialValue": { + "hexValue": "30", + "id": 36810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4148:1:58", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4136:13:58" + }, + "loopExpression": { + "expression": { + "id": 36818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "4180:3:58", + "subExpression": { + "id": 36817, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36809, + "src": "4182:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 36819, + "nodeType": "ExpressionStatement", + "src": "4180:3:58" + }, + "nodeType": "ForStatement", + "src": "4131:202:58" + }, + { + "assignments": [ + 36838 + ], + "declarations": [ + { + "constant": false, + "id": 36838, + "mutability": "mutable", + "name": "msgHash", + "nameLocation": "4350:7:58", + "nodeType": "VariableDeclaration", + "scope": 36887, + "src": "4342:15:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36837, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4342:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 36863, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "1901", + "id": 36842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4417:10:58", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", + "typeString": "literal_string hex\"1901\"" + }, + "value": "\u0019\u0001" + }, + { + "id": 36843, + "name": "domainSeparator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36790, + "src": "4445:15:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 36847, + "name": "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36614, + "src": "4545:36:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 36851, + "name": "tokenPermissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36799, + "src": "4634:16:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "expression": { + "id": 36849, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4617:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4621:12:58", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4617:16:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4617:34:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36848, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4607:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4607:45:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36854, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36786, + "src": "4678:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 36855, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36784, + "src": "4711:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 36856, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4718:5:58", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 28480, + "src": "4711:12:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 36857, + "name": "permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36784, + "src": "4749:6:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "id": 36858, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4756:8:58", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 28482, + "src": "4749:15:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 36845, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4509:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4513:6:58", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4509:10:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4509:277:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36844, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4478:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4478:326:58", + "tryCall": false, + "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": 36840, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4383:3:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 36841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4387:12:58", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4383:16:58", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4383:435:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 36839, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4360:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 36862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4360:468:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4342:486:58" + }, + { + "assignments": [ + 36865, + 36867, + 36869 + ], + "declarations": [ + { + "constant": false, + "id": 36865, + "mutability": "mutable", + "name": "v", + "nameLocation": "4846:1:58", + "nodeType": "VariableDeclaration", + "scope": 36887, + "src": "4840:7:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 36864, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4840:5:58", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36867, + "mutability": "mutable", + "name": "r", + "nameLocation": "4857:1:58", + "nodeType": "VariableDeclaration", + "scope": 36887, + "src": "4849:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36866, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4849:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36869, + "mutability": "mutable", + "name": "s", + "nameLocation": "4868:1:58", + "nodeType": "VariableDeclaration", + "scope": 36887, + "src": "4860:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36868, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4860:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 36875, + "initialValue": { + "arguments": [ + { + "id": 36872, + "name": "privateKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36788, + "src": "4881:10:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 36873, + "name": "msgHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36838, + "src": "4893:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 36870, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "4873:2:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 36871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4876:4:58", + "memberName": "sign", + "nodeType": "MemberAccess", + "referencedDeclaration": 8996, + "src": "4873:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)" + } + }, + "id": 36874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4873:28:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(uint8,bytes32,bytes32)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4839:62:58" + }, + { + "expression": { + "arguments": [ + { + "id": 36879, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36867, + "src": "4931:1:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 36880, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36869, + "src": "4934:1:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "id": 36883, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36865, + "src": "4944:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 36882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4937:6:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 36881, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "4937:6:58", + "typeDescriptions": {} + } + }, + "id": 36884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4937:9:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "expression": { + "id": 36877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4918:5:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 36876, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4918:5:58", + "typeDescriptions": {} + } + }, + "id": 36878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4924:6:58", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "4918:12:58", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 36885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4918:29:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 36794, + "id": 36886, + "nodeType": "Return", + "src": "4911:36:58" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPermitBatchTransferSignature", + "nameLocation": "3806:31:58", + "parameters": { + "id": 36791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36784, + "mutability": "mutable", + "name": "permit", + "nameLocation": "3897:6:58", + "nodeType": "VariableDeclaration", + "scope": 36888, + "src": "3847:56:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 36783, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36782, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "3847:18:58", + "3866:23:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "3847:42:58" + }, + "referencedDeclaration": 28483, + "src": "3847:42:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36786, + "mutability": "mutable", + "name": "spender", + "nameLocation": "3921:7:58", + "nodeType": "VariableDeclaration", + "scope": 36888, + "src": "3913:15:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36785, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3913:7:58", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36788, + "mutability": "mutable", + "name": "privateKey", + "nameLocation": "3946:10:58", + "nodeType": "VariableDeclaration", + "scope": 36888, + "src": "3938:18:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36787, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3938:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36790, + "mutability": "mutable", + "name": "domainSeparator", + "nameLocation": "3974:15:58", + "nodeType": "VariableDeclaration", + "scope": 36888, + "src": "3966:23:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36789, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3966:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3837:158:58" + }, + "returnParameters": { + "id": 36794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36793, + "mutability": "mutable", + "name": "sig", + "nameLocation": "4032:3:58", + "nodeType": "VariableDeclaration", + "scope": 36888, + "src": "4019:16:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 36792, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4019:5:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4018:18:58" + }, + "scope": 36982, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36915, + "nodeType": "FunctionDefinition", + "src": "4960:447:58", + "nodes": [], + "body": { + "id": 36914, + "nodeType": "Block", + "src": "5141:266:58", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 36904, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36890, + "src": "5282:5:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 36905, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36892, + "src": "5297:6:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 36902, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "5237:18:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ISignatureTransfer_$28568_$", + "typeString": "type(contract ISignatureTransfer)" + } + }, + "id": 36903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5256:16:58", + "memberName": "TokenPermissions", + "nodeType": "MemberAccess", + "referencedDeclaration": 28461, + "src": "5237:35:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_TokenPermissions_$28461_storage_ptr_$", + "typeString": "type(struct ISignatureTransfer.TokenPermissions storage pointer)" + } + }, + "id": 36906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "5275:5:58", + "5289:6:58" + ], + "names": [ + "token", + "amount" + ], + "nodeType": "FunctionCall", + "src": "5237:69:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + { + "id": 36907, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36894, + "src": "5331:5:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 36911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 36908, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "5364:5:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 36909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5370:9:58", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "5364:15:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "313030", + "id": 36910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5382:3:58", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "5364:21:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 36900, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "5170:18:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ISignatureTransfer_$28568_$", + "typeString": "type(contract ISignatureTransfer)" + } + }, + "id": 36901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5189:18:58", + "memberName": "PermitTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 28469, + "src": "5170:37:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PermitTransferFrom_$28469_storage_ptr_$", + "typeString": "type(struct ISignatureTransfer.PermitTransferFrom storage pointer)" + } + }, + "id": 36912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "5226:9:58", + "5324:5:58", + "5354:8:58" + ], + "names": [ + "permitted", + "nonce", + "deadline" + ], + "nodeType": "FunctionCall", + "src": "5170:230:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom memory" + } + }, + "functionReturnParameters": 36899, + "id": 36913, + "nodeType": "Return", + "src": "5151:249:58" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "defaultERC20PermitTransfer", + "nameLocation": "4969:26:58", + "parameters": { + "id": 36895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36890, + "mutability": "mutable", + "name": "token", + "nameLocation": "5013:5:58", + "nodeType": "VariableDeclaration", + "scope": 36915, + "src": "5005:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5005:7:58", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36892, + "mutability": "mutable", + "name": "amount", + "nameLocation": "5036:6:58", + "nodeType": "VariableDeclaration", + "scope": 36915, + "src": "5028:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36891, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5028:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36894, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "5060:5:58", + "nodeType": "VariableDeclaration", + "scope": 36915, + "src": "5052:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36893, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5052:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4995:76:58" + }, + "returnParameters": { + "id": 36899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36898, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 36915, + "src": "5095:44:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + }, + "typeName": { + "id": 36897, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36896, + "name": "ISignatureTransfer.PermitTransferFrom", + "nameLocations": [ + "5095:18:58", + "5114:18:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28469, + "src": "5095:37:58" + }, + "referencedDeclaration": 28469, + "src": "5095:37:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitTransferFrom_$28469_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitTransferFrom" + } + }, + "visibility": "internal" + } + ], + "src": "5094:46:58" + }, + "scope": 36982, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 36981, + "nodeType": "FunctionDefinition", + "src": "5413:766:58", + "nodes": [], + "body": { + "id": 36980, + "nodeType": "Block", + "src": "5591:588:58", + "nodes": [], + "statements": [ + { + "assignments": [ + 36932 + ], + "declarations": [ + { + "constant": false, + "id": 36932, + "mutability": "mutable", + "name": "permitted", + "nameLocation": "5658:9:58", + "nodeType": "VariableDeclaration", + "scope": 36980, + "src": "5601:66:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions[]" + }, + "typeName": { + "baseType": { + "id": 36930, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36929, + "name": "ISignatureTransfer.TokenPermissions", + "nameLocations": [ + "5601:18:58", + "5620:16:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28461, + "src": "5601:35:58" + }, + "referencedDeclaration": 28461, + "src": "5601:35:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions" + } + }, + "id": 36931, + "nodeType": "ArrayTypeName", + "src": "5601:37:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions[]" + } + }, + "visibility": "internal" + } + ], + "id": 36940, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 36937, + "name": "tokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36919, + "src": "5712:10:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "id": 36938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5723:6:58", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5712:17:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 36936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5670:41:58", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct ISignatureTransfer.TokenPermissions memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 36934, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36933, + "name": "ISignatureTransfer.TokenPermissions", + "nameLocations": [ + "5674:18:58", + "5693:16:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28461, + "src": "5674:35:58" + }, + "referencedDeclaration": 28461, + "src": "5674:35:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions" + } + }, + "id": 36935, + "nodeType": "ArrayTypeName", + "src": "5674:37:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_storage_$dyn_storage_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions[]" + } + } + }, + "id": 36939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5670:60:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5601:129:58" + }, + { + "body": { + "id": 36968, + "nodeType": "Block", + "src": "5788:181:58", + "statements": [ + { + "expression": { + "id": 36966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 36952, + "name": "permitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36932, + "src": "5802:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + "id": 36954, + "indexExpression": { + "id": 36953, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36942, + "src": "5812:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5802:12:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 36957, + "name": "tokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36919, + "src": "5878:10:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "id": 36959, + "indexExpression": { + "id": 36958, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36942, + "src": "5889:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5878:13:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_memory_ptr", + "typeString": "struct TokenPair memory" + } + }, + "id": 36960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5892:5:58", + "memberName": "token", + "nodeType": "MemberAccess", + "referencedDeclaration": 36579, + "src": "5878:19:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "id": 36961, + "name": "tokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36919, + "src": "5923:10:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "id": 36963, + "indexExpression": { + "id": 36962, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36942, + "src": "5934:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5923:13:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_memory_ptr", + "typeString": "struct TokenPair memory" + } + }, + "id": 36964, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5937:6:58", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 36581, + "src": "5923:20:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 36955, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "5817:18:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ISignatureTransfer_$28568_$", + "typeString": "type(contract ISignatureTransfer)" + } + }, + "id": 36956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5836:16:58", + "memberName": "TokenPermissions", + "nodeType": "MemberAccess", + "referencedDeclaration": 28461, + "src": "5817:35:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_TokenPermissions_$28461_storage_ptr_$", + "typeString": "type(struct ISignatureTransfer.TokenPermissions storage pointer)" + } + }, + "id": 36965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "5871:5:58", + "5915:6:58" + ], + "names": [ + "token", + "amount" + ], + "nodeType": "FunctionCall", + "src": "5817:141:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "src": "5802:156:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPermissions_$28461_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory" + } + }, + "id": 36967, + "nodeType": "ExpressionStatement", + "src": "5802:156:58" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 36948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 36945, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36942, + "src": "5760:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 36946, + "name": "tokenPairs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36919, + "src": "5764:10:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair memory[] memory" + } + }, + "id": 36947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5775:6:58", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5764:17:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5760:21:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 36969, + "initializationExpression": { + "assignments": [ + 36942 + ], + "declarations": [ + { + "constant": false, + "id": 36942, + "mutability": "mutable", + "name": "i", + "nameLocation": "5753:1:58", + "nodeType": "VariableDeclaration", + "scope": 36969, + "src": "5745:9:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5745:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 36944, + "initialValue": { + "hexValue": "30", + "id": 36943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5757:1:58", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5745:13:58" + }, + "loopExpression": { + "expression": { + "id": 36950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "5783:3:58", + "subExpression": { + "id": 36949, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36942, + "src": "5785:1:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 36951, + "nodeType": "ExpressionStatement", + "src": "5783:3:58" + }, + "nodeType": "ForStatement", + "src": "5740:229:58" + }, + { + "expression": { + "arguments": [ + { + "id": 36972, + "name": "permitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36932, + "src": "6069:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + } + }, + { + "id": 36973, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36921, + "src": "6103:5:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 36977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 36974, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "6136:5:58", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 36975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6142:9:58", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "6136:15:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "313030", + "id": 36976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6154:3:58", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "6136:21:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_TokenPermissions_$28461_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISignatureTransfer.TokenPermissions memory[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 36970, + "name": "ISignatureTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28568, + "src": "5997:18:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ISignatureTransfer_$28568_$", + "typeString": "type(contract ISignatureTransfer)" + } + }, + "id": 36971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6016:23:58", + "memberName": "PermitBatchTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 28483, + "src": "5997:42:58", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PermitBatchTransferFrom_$28483_storage_ptr_$", + "typeString": "type(struct ISignatureTransfer.PermitBatchTransferFrom storage pointer)" + } + }, + "id": 36978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "6058:9:58", + "6096:5:58", + "6126:8:58" + ], + "names": [ + "permitted", + "nonce", + "deadline" + ], + "nodeType": "FunctionCall", + "src": "5997:175:58", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom memory" + } + }, + "functionReturnParameters": 36926, + "id": 36979, + "nodeType": "Return", + "src": "5978:194:58" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "defaultERC20PermitMultiple", + "nameLocation": "5422:26:58", + "parameters": { + "id": 36922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36919, + "mutability": "mutable", + "name": "tokenPairs", + "nameLocation": "5477:10:58", + "nodeType": "VariableDeclaration", + "scope": 36981, + "src": "5458:29:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_memory_ptr_$dyn_memory_ptr", + "typeString": "struct TokenPair[]" + }, + "typeName": { + "baseType": { + "id": 36917, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36916, + "name": "TokenPair", + "nameLocations": [ + "5458:9:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36582, + "src": "5458:9:58" + }, + "referencedDeclaration": 36582, + "src": "5458:9:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenPair_$36582_storage_ptr", + "typeString": "struct TokenPair" + } + }, + "id": 36918, + "nodeType": "ArrayTypeName", + "src": "5458:11:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TokenPair_$36582_storage_$dyn_storage_ptr", + "typeString": "struct TokenPair[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36921, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "5505:5:58", + "nodeType": "VariableDeclaration", + "scope": 36981, + "src": "5497:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 36920, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5497:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5448:68:58" + }, + "returnParameters": { + "id": 36926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36925, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 36981, + "src": "5540:49:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_memory_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + }, + "typeName": { + "id": 36924, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36923, + "name": "ISignatureTransfer.PermitBatchTransferFrom", + "nameLocations": [ + "5540:18:58", + "5559:23:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 28483, + "src": "5540:42:58" + }, + "referencedDeclaration": 28483, + "src": "5540:42:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitBatchTransferFrom_$28483_storage_ptr", + "typeString": "struct ISignatureTransfer.PermitBatchTransferFrom" + } + }, + "visibility": "internal" + } + ], + "src": "5539:51:58" + }, + "scope": 36982, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 36583, + "name": "Test", + "nameLocations": [ + "376:4:58" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8943, + "src": "376:4:58" + }, + "id": 36584, + "nodeType": "InheritanceSpecifier", + "src": "376:4:58" + } + ], + "canonicalName": "PermitSignature", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 36982, + 8943, + 1846, + 1843, + 8901, + 5754, + 5365, + 3793, + 3129, + 1786 + ], + "name": "PermitSignature", + "nameLocation": "357:15:58", + "scope": 36983, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "test/utils/TokenProvider.sol": { + "id": 59, + "ast": { + "absolutePath": "test/utils/TokenProvider.sol", + "id": 37104, + "exportedSymbols": { + "MockERC20": [ + 29549 + ], + "Permit2": [ + 27750 + ], + "Test": [ + 8943 + ], + "TokenProvider": [ + 37103 + ], + "Vm": [ + 10233 + ] + }, + "nodeType": "SourceUnit", + "src": "45:962:59", + "nodes": [ + { + "id": 36984, + "nodeType": "PragmaDirective", + "src": "45:24:59", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 36987, + "nodeType": "ImportDirective", + "src": "71:46:59", + "nodes": [], + "absolutePath": "lib/forge-std/src/Test.sol", + "file": "forge-std/Test.sol", + "nameLocation": "-1:-1:-1", + "scope": 37104, + "sourceUnit": 8944, + "symbolAliases": [ + { + "foreign": { + "id": 36985, + "name": "Vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10233, + "src": "80:2:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 36986, + "name": "Test", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8943, + "src": "84:4:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36989, + "nodeType": "ImportDirective", + "src": "118:71:59", + "nodes": [], + "absolutePath": "lib/solmate/src/test/utils/mocks/MockERC20.sol", + "file": "solmate/src/test/utils/mocks/MockERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 37104, + "sourceUnit": 29550, + "symbolAliases": [ + { + "foreign": { + "id": 36988, + "name": "MockERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29549, + "src": "127:9:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 36991, + "nodeType": "ImportDirective", + "src": "190:50:59", + "nodes": [], + "absolutePath": "lib/permit2/src/Permit2.sol", + "file": "permit2/src/Permit2.sol", + "nameLocation": "-1:-1:-1", + "scope": 37104, + "sourceUnit": 27751, + "symbolAliases": [ + { + "foreign": { + "id": 36990, + "name": "Permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27750, + "src": "199:7:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 37103, + "nodeType": "ContractDefinition", + "src": "242:764:59", + "nodes": [ + { + "id": 36996, + "nodeType": "VariableDeclaration", + "src": "279:15:59", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "permit2", + "nameLocation": "287:7:59", + "scope": 37103, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + }, + "typeName": { + "id": 36995, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36994, + "name": "Permit2", + "nameLocations": [ + "279:7:59" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27750, + "src": "279:7:59" + }, + "referencedDeclaration": 27750, + "src": "279:7:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "visibility": "internal" + }, + { + "id": 36999, + "nodeType": "VariableDeclaration", + "src": "301:16:59", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "tokenA", + "nameLocation": "311:6:59", + "scope": 37103, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + }, + "typeName": { + "id": 36998, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 36997, + "name": "MockERC20", + "nameLocations": [ + "301:9:59" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29549, + "src": "301:9:59" + }, + "referencedDeclaration": 29549, + "src": "301:9:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "visibility": "internal" + }, + { + "id": 37002, + "nodeType": "VariableDeclaration", + "src": "323:16:59", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "tokenB", + "nameLocation": "333:6:59", + "scope": 37103, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + }, + "typeName": { + "id": 37001, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 37000, + "name": "MockERC20", + "nameLocations": [ + "323:9:59" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29549, + "src": "323:9:59" + }, + "referencedDeclaration": 29549, + "src": "323:9:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "visibility": "internal" + }, + { + "id": 37007, + "nodeType": "VariableDeclaration", + "src": "346:53:59", + "nodes": [], + "constant": true, + "functionSelector": "1b210293", + "mutability": "constant", + "name": "MINT_AMOUNT_ERC20", + "nameLocation": "370:17:59", + "scope": 37103, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 37003, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "346:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_42000000000000000000_by_1", + "typeString": "int_const 42000000000000000000" + }, + "id": 37006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3432", + "id": 37004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "390:2:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_42_by_1", + "typeString": "int_const 42" + }, + "value": "42" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "31653138", + "id": 37005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "395:4:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "value": "1e18" + }, + "src": "390:9:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_42000000000000000000_by_1", + "typeString": "int_const 42000000000000000000" + } + }, + "visibility": "public" + }, + { + "id": 37038, + "nodeType": "FunctionDefinition", + "src": "406:197:59", + "nodes": [], + "body": { + "id": 37037, + "nodeType": "Block", + "src": "446:157:59", + "nodes": [], + "statements": [ + { + "expression": { + "id": 37015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 37010, + "name": "permit2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36996, + "src": "456:7:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 37013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "466:11:59", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Permit2_$27750_$", + "typeString": "function () returns (contract Permit2)" + }, + "typeName": { + "id": 37012, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 37011, + "name": "Permit2", + "nameLocations": [ + "470:7:59" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 27750, + "src": "470:7:59" + }, + "referencedDeclaration": 27750, + "src": "470:7:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + } + }, + "id": 37014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "466:13:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "src": "456:23:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Permit2_$27750", + "typeString": "contract Permit2" + } + }, + "id": 37016, + "nodeType": "ExpressionStatement", + "src": "456:23:59" + }, + { + "expression": { + "id": 37025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 37017, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "490:6:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "5465737420546f6b656e2041", + "id": 37021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "513:14:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3762d5cddf3cc92fb9afe3235c134b489366f2e945547ee5b1c63b1a50c9c97", + "typeString": "literal_string \"Test Token A\"" + }, + "value": "Test Token A" + }, + { + "hexValue": "5441", + "id": 37022, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "529:4:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ef82cc74a34211697cb87f1279e66832ee4958064d55b955c515bfec77ba8016", + "typeString": "literal_string \"TA\"" + }, + "value": "TA" + }, + { + "hexValue": "3138", + "id": 37023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "535:2:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a3762d5cddf3cc92fb9afe3235c134b489366f2e945547ee5b1c63b1a50c9c97", + "typeString": "literal_string \"Test Token A\"" + }, + { + "typeIdentifier": "t_stringliteral_ef82cc74a34211697cb87f1279e66832ee4958064d55b955c515bfec77ba8016", + "typeString": "literal_string \"TA\"" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 37020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "499:13:59", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$29549_$", + "typeString": "function (string memory,string memory,uint8) returns (contract MockERC20)" + }, + "typeName": { + "id": 37019, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 37018, + "name": "MockERC20", + "nameLocations": [ + "503:9:59" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29549, + "src": "503:9:59" + }, + "referencedDeclaration": 29549, + "src": "503:9:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + }, + "id": 37024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "499:39:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "src": "490:48:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "id": 37026, + "nodeType": "ExpressionStatement", + "src": "490:48:59" + }, + { + "expression": { + "id": 37035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 37027, + "name": "tokenB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37002, + "src": "548:6:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "5465737420546f6b656e2042", + "id": 37031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "571:14:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9f1fb7de47602a85d95e7d47185424e739d9f835f670398490722e85404c2db6", + "typeString": "literal_string \"Test Token B\"" + }, + "value": "Test Token B" + }, + { + "hexValue": "5442", + "id": 37032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "587:4:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a93af70c5699d14b835fb4daebde67e376db7da71a152e136af3228c5e7fc499", + "typeString": "literal_string \"TB\"" + }, + "value": "TB" + }, + { + "hexValue": "3138", + "id": 37033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "593:2:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9f1fb7de47602a85d95e7d47185424e739d9f835f670398490722e85404c2db6", + "typeString": "literal_string \"Test Token B\"" + }, + { + "typeIdentifier": "t_stringliteral_a93af70c5699d14b835fb4daebde67e376db7da71a152e136af3228c5e7fc499", + "typeString": "literal_string \"TB\"" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "id": 37030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "557:13:59", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$29549_$", + "typeString": "function (string memory,string memory,uint8) returns (contract MockERC20)" + }, + "typeName": { + "id": 37029, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 37028, + "name": "MockERC20", + "nameLocations": [ + "561:9:59" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 29549, + "src": "561:9:59" + }, + "referencedDeclaration": 29549, + "src": "561:9:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + } + }, + "id": 37034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "557:39:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "src": "548:48:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "id": 37036, + "nodeType": "ExpressionStatement", + "src": "548:48:59" + } + ] + }, + "functionSelector": "e2acb0f8", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "initializeERC20Tokens", + "nameLocation": "415:21:59", + "parameters": { + "id": 37008, + "nodeType": "ParameterList", + "parameters": [], + "src": "436:2:59" + }, + "returnParameters": { + "id": 37009, + "nodeType": "ParameterList", + "parameters": [], + "src": "446:0:59" + }, + "scope": 37103, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 37058, + "nodeType": "FunctionDefinition", + "src": "609:142:59", + "nodes": [], + "body": { + "id": 37057, + "nodeType": "Block", + "src": "656:95:59", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 37046, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37040, + "src": "678:2:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 37047, + "name": "MINT_AMOUNT_ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37007, + "src": "682:17:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 37043, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "666:6:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "id": 37045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "673:4:59", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 29535, + "src": "666:11:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 37048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "666:34:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 37049, + "nodeType": "ExpressionStatement", + "src": "666:34:59" + }, + { + "expression": { + "arguments": [ + { + "id": 37053, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37040, + "src": "722:2:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 37054, + "name": "MINT_AMOUNT_ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37007, + "src": "726:17:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 37050, + "name": "tokenB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37002, + "src": "710:6:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "id": 37052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "717:4:59", + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 29535, + "src": "710:11:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 37055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "710:34:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 37056, + "nodeType": "ExpressionStatement", + "src": "710:34:59" + } + ] + }, + "functionSelector": "e6d9ff3d", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setERC20TestTokens", + "nameLocation": "618:18:59", + "parameters": { + "id": 37041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37040, + "mutability": "mutable", + "name": "to", + "nameLocation": "645:2:59", + "nodeType": "VariableDeclaration", + "scope": 37058, + "src": "637:10:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 37039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "637:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "636:12:59" + }, + "returnParameters": { + "id": 37042, + "nodeType": "ParameterList", + "parameters": [], + "src": "656:0:59" + }, + "scope": 37103, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 37102, + "nodeType": "FunctionDefinition", + "src": "757:247:59", + "nodes": [], + "body": { + "id": 37101, + "nodeType": "Block", + "src": "839:165:59", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 37071, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37063, + "src": "863:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 37068, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37061, + "src": "849:2:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 37070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "852:10:59", + "memberName": "startPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9961, + "src": "849:13:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 37072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "849:20:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 37073, + "nodeType": "ExpressionStatement", + "src": "849:20:59" + }, + { + "expression": { + "arguments": [ + { + "id": 37077, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37065, + "src": "894:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "arguments": [ + { + "id": 37080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "908:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 37079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "908:7:59", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 37078, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "903:4:59", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 37081, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "903:13:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 37082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "917:3:59", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "903:17:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 37074, + "name": "tokenA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36999, + "src": "879:6:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "id": 37076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "886:7:59", + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 29654, + "src": "879:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 37083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "879:42:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 37084, + "nodeType": "ExpressionStatement", + "src": "879:42:59" + }, + { + "expression": { + "arguments": [ + { + "id": 37088, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37065, + "src": "946:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "arguments": [ + { + "id": 37091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "960:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 37090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "960:7:59", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 37089, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "955:4:59", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 37092, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "955:13:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 37093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "969:3:59", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "955:17:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 37085, + "name": "tokenB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37002, + "src": "931:6:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockERC20_$29549", + "typeString": "contract MockERC20" + } + }, + "id": 37087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "938:7:59", + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 29654, + "src": "931:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 37094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "931:42:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 37095, + "nodeType": "ExpressionStatement", + "src": "931:42:59" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 37096, + "name": "vm", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37061, + "src": "983:2:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "id": 37098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "986:9:59", + "memberName": "stopPrank", + "nodeType": "MemberAccess", + "referencedDeclaration": 9978, + "src": "983:12:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 37099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "983:14:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 37100, + "nodeType": "ExpressionStatement", + "src": "983:14:59" + } + ] + }, + "functionSelector": "035c3deb", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setERC20TestTokenApprovals", + "nameLocation": "766:26:59", + "parameters": { + "id": 37066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37061, + "mutability": "mutable", + "name": "vm", + "nameLocation": "796:2:59", + "nodeType": "VariableDeclaration", + "scope": 37102, + "src": "793:5:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + }, + "typeName": { + "id": 37060, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 37059, + "name": "Vm", + "nameLocations": [ + "793:2:59" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10233, + "src": "793:2:59" + }, + "referencedDeclaration": 10233, + "src": "793:2:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Vm_$10233", + "typeString": "contract Vm" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 37063, + "mutability": "mutable", + "name": "owner", + "nameLocation": "808:5:59", + "nodeType": "VariableDeclaration", + "scope": 37102, + "src": "800:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 37062, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "800:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 37065, + "mutability": "mutable", + "name": "spender", + "nameLocation": "823:7:59", + "nodeType": "VariableDeclaration", + "scope": 37102, + "src": "815:15:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 37064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "815:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "792:39:59" + }, + "returnParameters": { + "id": 37067, + "nodeType": "ParameterList", + "parameters": [], + "src": "839:0:59" + }, + "scope": 37103, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 36992, + "name": "Test", + "nameLocations": [ + "268:4:59" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8943, + "src": "268:4:59" + }, + "id": 36993, + "nodeType": "InheritanceSpecifier", + "src": "268:4:59" + } + ], + "canonicalName": "TokenProvider", + "contractDependencies": [ + 27750, + 29549 + ], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 37103, + 8943, + 1846, + 1843, + 8901, + 5754, + 5365, + 3793, + 3129, + 1786 + ], + "name": "TokenProvider", + "nameLocation": "251:13:59", + "scope": 37104, + "usedErrors": [] + } + ], + "license": "GPL-3.0-or-later" + } + }, + "test/utils/mocks/MockArbitrable.sol": { + "id": 60, + "ast": { + "absolutePath": "test/utils/mocks/MockArbitrable.sol", + "id": 37195, + "exportedSymbols": { + "IArbitrable": [ + 32932 + ], + "MockArbitrable": [ + 37194 + ], + "OnlyArbitrator": [ + 32914 + ], + "PositionParams": [ + 32681 + ], + "SettlementPositionsMustMatch": [ + 32751 + ] + }, + "nodeType": "SourceUnit", + "src": "45:1008:60", + "nodes": [ + { + "id": 37105, + "nodeType": "PragmaDirective", + "src": "45:24:60", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".17" + ] + }, + { + "id": 37108, + "nodeType": "ImportDirective", + "src": "71:77:60", + "nodes": [], + "absolutePath": "src/interfaces/IArbitrable.sol", + "file": "src/interfaces/IArbitrable.sol", + "nameLocation": "-1:-1:-1", + "scope": 37195, + "sourceUnit": 32933, + "symbolAliases": [ + { + "foreign": { + "id": 37106, + "name": "IArbitrable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32932, + "src": "80:11:60", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 37107, + "name": "OnlyArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32914, + "src": "93:14:60", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 37110, + "nodeType": "ImportDirective", + "src": "149:67:60", + "nodes": [], + "absolutePath": "src/interfaces/AgreementTypes.sol", + "file": "src/interfaces/AgreementTypes.sol", + "nameLocation": "-1:-1:-1", + "scope": 37195, + "sourceUnit": 32729, + "symbolAliases": [ + { + "foreign": { + "id": 37109, + "name": "PositionParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32681, + "src": "158:14:60", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 37112, + "nodeType": "ImportDirective", + "src": "217:84:60", + "nodes": [], + "absolutePath": "src/interfaces/ArbitrationErrors.sol", + "file": "src/interfaces/ArbitrationErrors.sol", + "nameLocation": "-1:-1:-1", + "scope": 37195, + "sourceUnit": 32758, + "symbolAliases": [ + { + "foreign": { + "id": 37111, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "226:28:60", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 37194, + "nodeType": "ContractDefinition", + "src": "303:749:60", + "nodes": [ + { + "id": 37118, + "nodeType": "VariableDeclaration", + "src": "348:46:60", + "nodes": [], + "constant": false, + "functionSelector": "8aa202f4", + "mutability": "mutable", + "name": "disputeStatus", + "nameLocation": "381:13:60", + "scope": 37194, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + }, + "typeName": { + "id": 37117, + "keyType": { + "id": 37115, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "356:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "348:25:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + }, + "valueType": { + "id": 37116, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "367:5:60", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + }, + "visibility": "public" + }, + { + "id": 37120, + "nodeType": "VariableDeclaration", + "src": "400:24:60", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "counter", + "nameLocation": "417:7:60", + "scope": 37194, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 37119, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "400:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "id": 37122, + "nodeType": "VariableDeclaration", + "src": "430:25:60", + "nodes": [], + "baseFunctions": [ + 32921 + ], + "constant": false, + "functionSelector": "6cc6cde1", + "mutability": "mutable", + "name": "arbitrator", + "nameLocation": "445:10:60", + "scope": 37194, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 37121, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "430:7:60", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 37124, + "nodeType": "VariableDeclaration", + "src": "461:29:60", + "nodes": [], + "constant": false, + "functionSelector": "1cfa7ba8", + "mutability": "mutable", + "name": "arbitrationFee", + "nameLocation": "476:14:60", + "scope": 37194, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 37123, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "461:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 37126, + "nodeType": "ErrorDefinition", + "src": "497:27:60", + "nodes": [], + "errorSelector": "18a96dc2", + "name": "PositionsMustMatch", + "nameLocation": "503:18:60", + "parameters": { + "id": 37125, + "nodeType": "ParameterList", + "parameters": [], + "src": "521:2:60" + } + }, + { + "id": 37136, + "nodeType": "FunctionDefinition", + "src": "530:84:60", + "nodes": [], + "body": { + "id": 37135, + "nodeType": "Block", + "src": "573:41:60", + "nodes": [], + "statements": [ + { + "expression": { + "id": 37133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 37131, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37122, + "src": "583:10:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 37132, + "name": "arbitrator_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37128, + "src": "596:11:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "583:24:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 37134, + "nodeType": "ExpressionStatement", + "src": "583:24:60" + } + ] + }, + "functionSelector": "3f2601ef", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setUp", + "nameLocation": "539:5:60", + "parameters": { + "id": 37129, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37128, + "mutability": "mutable", + "name": "arbitrator_", + "nameLocation": "553:11:60", + "nodeType": "VariableDeclaration", + "scope": 37136, + "src": "545:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 37127, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "545:7:60", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "544:21:60" + }, + "returnParameters": { + "id": 37130, + "nodeType": "ParameterList", + "parameters": [], + "src": "573:0:60" + }, + "scope": 37194, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 37161, + "nodeType": "FunctionDefinition", + "src": "620:168:60", + "nodes": [], + "body": { + "id": 37160, + "nodeType": "Block", + "src": "670:118:60", + "nodes": [], + "statements": [ + { + "assignments": [ + 37142 + ], + "declarations": [ + { + "constant": false, + "id": 37142, + "mutability": "mutable", + "name": "id", + "nameLocation": "688:2:60", + "nodeType": "VariableDeclaration", + "scope": 37160, + "src": "680:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 37141, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "680:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 37147, + "initialValue": { + "arguments": [ + { + "id": 37145, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37120, + "src": "701:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 37144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "693:7:60", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 37143, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "693:7:60", + "typeDescriptions": {} + } + }, + "id": 37146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "693:16:60", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "680:29:60" + }, + { + "expression": { + "id": 37152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 37148, + "name": "disputeStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37118, + "src": "719:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 37150, + "indexExpression": { + "id": 37149, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37142, + "src": "733:2:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "719:17:60", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 37151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "739:1:60", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "719:21:60", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 37153, + "nodeType": "ExpressionStatement", + "src": "719:21:60" + }, + { + "expression": { + "id": 37156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 37154, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37120, + "src": "750:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 37155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "761:1:60", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "750:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 37157, + "nodeType": "ExpressionStatement", + "src": "750:12:60" + }, + { + "expression": { + "id": 37158, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37142, + "src": "779:2:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 37140, + "id": 37159, + "nodeType": "Return", + "src": "772:9:60" + } + ] + }, + "functionSelector": "fcdf9750", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createDispute", + "nameLocation": "629:13:60", + "parameters": { + "id": 37137, + "nodeType": "ParameterList", + "parameters": [], + "src": "642:2:60" + }, + "returnParameters": { + "id": 37140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37139, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 37161, + "src": "661:7:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 37138, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "661:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "660:9:60" + }, + "scope": 37194, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 37193, + "nodeType": "FunctionDefinition", + "src": "794:256:60", + "nodes": [], + "body": { + "id": 37192, + "nodeType": "Block", + "src": "874:176:60", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 37173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 37170, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "888:3:60", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 37171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "892:6:60", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "888:10:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 37172, + "name": "arbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37122, + "src": "902:10:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "888:24:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 37177, + "nodeType": "IfStatement", + "src": "884:53:60", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 37174, + "name": "OnlyArbitrator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32914, + "src": "921:14:60", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 37175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "921:16:60", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 37176, + "nodeType": "RevertStatement", + "src": "914:23:60" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 37181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 37178, + "name": "settlement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37167, + "src": "951:10:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams calldata[] calldata" + } + }, + "id": 37179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "962:6:60", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "951:17:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "30", + "id": 37180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "972:1:60", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "951:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 37185, + "nodeType": "IfStatement", + "src": "947:65:60", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 37182, + "name": "SettlementPositionsMustMatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32751, + "src": "982:28:60", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 37183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "982:30:60", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 37184, + "nodeType": "RevertStatement", + "src": "975:37:60" + } + }, + { + "expression": { + "id": 37190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 37186, + "name": "disputeStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37118, + "src": "1022:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 37188, + "indexExpression": { + "id": 37187, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37163, + "src": "1036:2:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1022:17:60", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "32", + "id": 37189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1042:1:60", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1022:21:60", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 37191, + "nodeType": "ExpressionStatement", + "src": "1022:21:60" + } + ] + }, + "baseFunctions": [ + 32931 + ], + "functionSelector": "3d3e73d7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "settleDispute", + "nameLocation": "803:13:60", + "parameters": { + "id": 37168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37163, + "mutability": "mutable", + "name": "id", + "nameLocation": "825:2:60", + "nodeType": "VariableDeclaration", + "scope": 37193, + "src": "817:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 37162, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "817:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 37167, + "mutability": "mutable", + "name": "settlement", + "nameLocation": "855:10:60", + "nodeType": "VariableDeclaration", + "scope": 37193, + "src": "829:36:60", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PositionParams[]" + }, + "typeName": { + "baseType": { + "id": 37165, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 37164, + "name": "PositionParams", + "nameLocations": [ + "829:14:60" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32681, + "src": "829:14:60" + }, + "referencedDeclaration": 32681, + "src": "829:14:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PositionParams_$32681_storage_ptr", + "typeString": "struct PositionParams" + } + }, + "id": 37166, + "nodeType": "ArrayTypeName", + "src": "829:16:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PositionParams_$32681_storage_$dyn_storage_ptr", + "typeString": "struct PositionParams[]" + } + }, + "visibility": "internal" + } + ], + "src": "816:50:60" + }, + "returnParameters": { + "id": 37169, + "nodeType": "ParameterList", + "parameters": [], + "src": "874:0:60" + }, + "scope": 37194, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 37113, + "name": "IArbitrable", + "nameLocations": [ + "330:11:60" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 32932, + "src": "330:11:60" + }, + "id": 37114, + "nodeType": "InheritanceSpecifier", + "src": "330:11:60" + } + ], + "canonicalName": "MockArbitrable", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 37194, + 32932 + ], + "name": "MockArbitrable", + "nameLocation": "312:14:60", + "scope": 37195, + "usedErrors": [ + 32751, + 32914, + 37126 + ] + } + ], + "license": "GPL-3.0-or-later" + } + } + }, + "contracts": { + "lib/forge-std/lib/ds-test/src/test.sol": { + "DSTest": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/lib/ds-test/src/test.sol\":\"DSTest\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "6080806040523461002357600160ff19600054161760005561033490816100298239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c8063ba414fa6146100755763fa7626d41461003357600080fd5b3461007257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100725760ff60209154166040519015158152f35b80fd5b503461007257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100725760206100ae610128565b6040519015158152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176100f957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000805460081c60ff1615610141575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b61016257505090565b90915060405160209180838301527f6661696c65640000000000000000000000000000000000000000000000000000604083015260408252606082019167ffffffffffffffff92818110848211176102d157918286929360405260808401907f667f9d70000000000000000000000000000000000000000000000000000000008252845187855b8281106102b9575050906102136024878798948895018560848201520360048101845201826100b8565b51925af1503d156102b1573d908111610284576040519061025b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601836100b8565b81523d838383013e5b8181805181010312610280570151908115158203610072575090565b8280fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506060610264565b808801808301516084909101528a96508991016101e9565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfea2646970667358221220624193877d563ad9b6a4a070e39a9cf856cc1e4dd98724d96902aa001a8e062d64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x23 JUMPI PUSH1 0x1 PUSH1 0xFF NOT PUSH1 0x0 SLOAD AND OR PUSH1 0x0 SSTORE PUSH2 0x334 SWAP1 DUP2 PUSH2 0x29 DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x75 JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x72 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x72 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x72 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x72 JUMPI PUSH1 0x20 PUSH2 0xAE PUSH2 0x128 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xF9 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x141 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x162 JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP1 DUP4 DUP4 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP3 MSTORE PUSH1 0x60 DUP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP2 LT DUP5 DUP3 GT OR PUSH2 0x2D1 JUMPI SWAP2 DUP3 DUP7 SWAP3 SWAP4 PUSH1 0x40 MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP8 DUP6 JUMPDEST DUP3 DUP2 LT PUSH2 0x2B9 JUMPI POP POP SWAP1 PUSH2 0x213 PUSH1 0x24 DUP8 DUP8 SWAP9 SWAP5 DUP9 SWAP6 ADD DUP6 PUSH1 0x84 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0xB8 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x2B1 JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH2 0x284 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x25B DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0xB8 JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP4 DUP4 DUP4 ADD RETURNDATACOPY JUMPDEST DUP2 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x280 JUMPI ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x72 JUMPI POP SWAP1 JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH1 0x60 PUSH2 0x264 JUMP JUMPDEST DUP1 DUP9 ADD DUP1 DUP4 ADD MLOAD PUSH1 0x84 SWAP1 SWAP2 ADD MSTORE DUP11 SWAP7 POP DUP10 SWAP2 ADD PUSH2 0x1E9 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH3 0x419387 PUSH30 0x563AD9B6A4A070E39A9CF856CC1E4DD98724D96902AA001A8E062D64736F PUSH13 0x63430008110033000000000000 ", + "sourceMap": "715:15435:0:-:0;;;;;;;1594:4;715:15435;;1594:4;715:15435;;;1594:4;715:15435;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "finalize_allocation": { + "entryPoint": 184, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_failed": { + "entryPoint": 296, + "id": 172, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "object": "6080604052600436101561001257600080fd5b6000803560e01c8063ba414fa6146100755763fa7626d41461003357600080fd5b3461007257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100725760ff60209154166040519015158152f35b80fd5b503461007257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100725760206100ae610128565b6040519015158152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176100f957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000805460081c60ff1615610141575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b61016257505090565b90915060405160209180838301527f6661696c65640000000000000000000000000000000000000000000000000000604083015260408252606082019167ffffffffffffffff92818110848211176102d157918286929360405260808401907f667f9d70000000000000000000000000000000000000000000000000000000008252845187855b8281106102b9575050906102136024878798948895018560848201520360048101845201826100b8565b51925af1503d156102b1573d908111610284576040519061025b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601836100b8565b81523d838383013e5b8181805181010312610280570151908115158203610072575090565b8280fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506060610264565b808801808301516084909101528a96508991016101e9565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfea2646970667358221220624193877d563ad9b6a4a070e39a9cf856cc1e4dd98724d96902aa001a8e062d64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x75 JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x72 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x72 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x72 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x72 JUMPI PUSH1 0x20 PUSH2 0xAE PUSH2 0x128 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xF9 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x141 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x162 JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP1 DUP4 DUP4 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP3 MSTORE PUSH1 0x60 DUP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP2 LT DUP5 DUP3 GT OR PUSH2 0x2D1 JUMPI SWAP2 DUP3 DUP7 SWAP3 SWAP4 PUSH1 0x40 MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP8 DUP6 JUMPDEST DUP3 DUP2 LT PUSH2 0x2B9 JUMPI POP POP SWAP1 PUSH2 0x213 PUSH1 0x24 DUP8 DUP8 SWAP9 SWAP5 DUP9 SWAP6 ADD DUP6 PUSH1 0x84 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0xB8 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x2B1 JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH2 0x284 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x25B DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0xB8 JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP4 DUP4 DUP4 ADD RETURNDATACOPY JUMPDEST DUP2 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x280 JUMPI ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x72 JUMPI POP SWAP1 JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH1 0x60 PUSH2 0x264 JUMP JUMPDEST DUP1 DUP9 ADD DUP1 DUP4 ADD MLOAD PUSH1 0x84 SWAP1 SWAP2 ADD MSTORE DUP11 SWAP7 POP DUP10 SWAP2 ADD PUSH2 0x1E9 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH3 0x419387 PUSH30 0x563AD9B6A4A070E39A9CF856CC1E4DD98724D96902AA001A8E062D64736F PUSH13 0x63430008110033000000000000 ", + "sourceMap": "715:15435:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;1671:64;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;1819:584;1873:7;715:15435;;;;;;;;;;;;;;;1896:14::o;1869:528::-;1941:25;2939:104;;;1980:374;;2367:19;;;:::o;1980:374::-;715:15435;;;;;2196:43;;;;;;1671:64;;715:15435;1671:64;;;715:15435;2196:43;;715:15435;1671:64;;;;;;;;;;;;;;;;;;;715:15435;1671:64;2086:175;;;1671:64;;;;;;;;;;;;;;;;;2086:175;1671:64;;;;;;;;;;;;;2086:175;;;;;;;;;:::i;:::-;2047:232;;;;-1:-1:-1;1671:64:0;;;;;;;;;;715:15435;;1671:64;;;2196:43;1671:64;;;;;;;:::i;:::-;;;;;;;;;;;;;;2312:27;;1671:64;;;;2312:27;1671:64;715:15435;;;;1671:64;;;;2297:42;2367:19;:::o;1671:64::-;715:15435;;;1671:64;;;;;;;2086:175;1671:64;;;;715:15435;1671:64;;;;;;;;;;;;;;;;;-1:-1:-1;1671:64:0;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "failed()": "ba414fa6" + } + } + } + }, + "lib/forge-std/src/Base.sol": { + "CommonBase": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + } + } + }, + "ScriptBase": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + } + } + }, + "TestBase": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + } + } + } + }, + "lib/forge-std/src/Script.sol": { + "Script": { + "abi": [ + { + "type": "function", + "name": "IS_SCRIPT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Script.sol\":\"Script\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xd566affaba92598bcd059dcb3714a968aeedb365ec0d666815e8b38519e0f433\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2fb5f7a97d2a7a06e10c198b60f05e64176eb4ef306b72800c168e7a7ec51693\",\"dweb:/ipfs/Qmcep4r7YEU3BwFJNTTxZsdCVzBYdtcVp8oDtmwLoZGRzP\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_SCRIPT()": "f8ccbf47" + } + } + } + }, + "lib/forge-std/src/StdAssertions.sol": { + "StdAssertions": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "failed()": "ba414fa6" + } + } + } + }, + "lib/forge-std/src/StdChains.sol": { + "StdChains": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initialize` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initialize`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve `mainnet`'s RPC URL: - If you haven't set any mainnet chain info with `setChain`, you haven't specified that chain in `foundry.toml` and no env var is set, the default data and RPC URL will be returned. - If you have set a mainnet RPC URL in `foundry.toml` it will return that, if valid (e.g. if a URL is given or if an environment variable is given and that environment variable exists). Otherwise, the default data is returned. - If you specified data with `setChain` it will return that. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + } + } + } + }, + "lib/forge-std/src/StdCheats.sol": { + "StdCheats": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + } + } + }, + "StdCheatsSafe": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + } + } + } + }, + "lib/forge-std/src/StdError.sol": { + "stdError": { + "abi": [ + { + "type": "function", + "name": "arithmeticError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "assertionError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "divisionError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "encodeStorageError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "enumConversionError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "indexOOBError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "memOverflowError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "popError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "zeroVarError", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "6080806040523461001a576105449081610020823930815050f35b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c90816305ee8612146103ee5750806310332977146103835780631de45560146103185780638995290f146102ad578063986c5f6814610242578063b22dc54d146101d7578063b67689da1461016c578063d160e4de146101015763fa784a441461008557600080fd5b817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260126024830152602482526100ef8261045d565b51918291826104a8565b0390f35b5080fd5b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260226024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260516024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260316024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260416024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260116024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260216024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260016024830152602482526100ef8261045d565b919050827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610459576100f992507f4e487b7100000000000000000000000000000000000000000000000000000000602083015260326024830152602482526100ef8261045d565b8280fd5b6060810190811067ffffffffffffffff82111761047957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b8581106104fa575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b8181018301518482016040015282016104ba56fea26469706673582212202bbda6a405a4aaefab5b3a0c317fc3fd9bc267ea347bee1a29f0e563a4e13d4064736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x1A JUMPI PUSH2 0x544 SWAP1 DUP2 PUSH2 0x20 DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x5EE8612 EQ PUSH2 0x3EE JUMPI POP DUP1 PUSH4 0x10332977 EQ PUSH2 0x383 JUMPI DUP1 PUSH4 0x1DE45560 EQ PUSH2 0x318 JUMPI DUP1 PUSH4 0x8995290F EQ PUSH2 0x2AD JUMPI DUP1 PUSH4 0x986C5F68 EQ PUSH2 0x242 JUMPI DUP1 PUSH4 0xB22DC54D EQ PUSH2 0x1D7 JUMPI DUP1 PUSH4 0xB67689DA EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0xD160E4DE EQ PUSH2 0x101 JUMPI PUSH4 0xFA784A44 EQ PUSH2 0x85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x4A8 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x51 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST SWAP2 SWAP1 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x459 JUMPI PUSH2 0xF9 SWAP3 POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x479 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0x4FA JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x4BA JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2B 0xBD 0xA6 LOG4 SDIV LOG4 0xAA 0xEF 0xAB JUMPDEST GASPRICE 0xC BALANCE PUSH32 0xC3FD9BC267EA347BEE1A29F0E563A4E13D4064736F6C63430008110033000000 ", + "sourceMap": "162:850:6:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_encode_bytes": { + "entryPoint": 1192, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 1117, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "object": "60806040818152600436101561001457600080fd5b600091823560e01c90816305ee8612146103ee5750806310332977146103835780631de45560146103185780638995290f146102ad578063986c5f6814610242578063b22dc54d146101d7578063b67689da1461016c578063d160e4de146101015763fa784a441461008557600080fd5b817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260126024830152602482526100ef8261045d565b51918291826104a8565b0390f35b5080fd5b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260226024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260516024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260316024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260416024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260116024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260216024830152602482526100ef8261045d565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fd57806100f99151907f4e487b7100000000000000000000000000000000000000000000000000000000602083015260016024830152602482526100ef8261045d565b919050827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610459576100f992507f4e487b7100000000000000000000000000000000000000000000000000000000602083015260326024830152602482526100ef8261045d565b8280fd5b6060810190811067ffffffffffffffff82111761047957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b8581106104fa575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b8181018301518482016040015282016104ba56fea26469706673582212202bbda6a405a4aaefab5b3a0c317fc3fd9bc267ea347bee1a29f0e563a4e13d4064736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x5EE8612 EQ PUSH2 0x3EE JUMPI POP DUP1 PUSH4 0x10332977 EQ PUSH2 0x383 JUMPI DUP1 PUSH4 0x1DE45560 EQ PUSH2 0x318 JUMPI DUP1 PUSH4 0x8995290F EQ PUSH2 0x2AD JUMPI DUP1 PUSH4 0x986C5F68 EQ PUSH2 0x242 JUMPI DUP1 PUSH4 0xB22DC54D EQ PUSH2 0x1D7 JUMPI DUP1 PUSH4 0xB67689DA EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0xD160E4DE EQ PUSH2 0x101 JUMPI PUSH4 0xFA784A44 EQ PUSH2 0x85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x4A8 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x51 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xFD JUMPI DUP1 PUSH2 0xF9 SWAP2 MLOAD SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST SWAP2 SWAP1 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x459 JUMPI PUSH2 0xF9 SWAP3 POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0xEF DUP3 PUSH2 0x45D JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x479 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0x4FA JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x4BA JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2B 0xBD 0xA6 LOG4 SDIV LOG4 0xAA 0xEF 0xAB JUMPDEST GASPRICE 0xC BALANCE PUSH32 0xC3FD9BC267EA347BEE1A29F0E563A4E13D4064736F6C63430008110033000000 ", + "sourceMap": "162:850:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;408:47;;;;;;450:4;408:47;;;162:850;408:47;;;;;;:::i;:::-;162:850;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;601:47;;;;;;643:4;601:47;;;162:850;601:47;;;;;;:::i;162:850::-;;;;;;;;;;;;;962:47;;;;;;1004:4;962:47;;;162:850;962:47;;;;;;:::i;162:850::-;;;;;;;;;;;;;687:47;;;;;;729:4;687:47;;;162:850;687:47;;;;;;:::i;162:850::-;;;;;;;;;;;;;872:47;;;;;;914:4;872:47;;;162:850;872:47;;;;;;:::i;162:850::-;;;;;;;;;;;;;317:47;;;;;;359:4;317:47;;;162:850;317:47;;;;;;:::i;162:850::-;;;;;;;;;;;;;505:47;;;;;;547:4;505:47;;;162:850;505:47;;;;;;:::i;162:850::-;;;;;;;;;;;;;224:47;;;;;;266:4;224:47;;;162:850;224:47;;;;;;:::i;162:850::-;;;;;;;;;;;;778:47;;;;;;;820:4;778:47;;;162:850;778:47;;;;;;:::i;162:850::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;162:850:6;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "arithmeticError()": "8995290f", + "assertionError()": "10332977", + "divisionError()": "fa784a44", + "encodeStorageError()": "d160e4de", + "enumConversionError()": "1de45560", + "indexOOBError()": "05ee8612", + "memOverflowError()": "986c5f68", + "popError()": "b22dc54d", + "zeroVarError()": "b67689da" + } + } + } + }, + "lib/forge-std/src/StdJson.sol": { + "stdJson": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122043204ba6e366640be643ab6beab2ab6a3c6c9697646aea3599e2ab7b1d75f79464736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NUMBER KECCAK256 0x4B 0xA6 0xE3 PUSH7 0x640BE643AB6BEA 0xB2 0xAB PUSH11 0x3C6C9697646AEA3599E2AB PUSH28 0x1D75F79464736F6C6343000811003300000000000000000000000000 ", + "sourceMap": "830:5659:7:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea264697066735822122043204ba6e366640be643ab6beab2ab6a3c6c9697646aea3599e2ab7b1d75f79464736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NUMBER KECCAK256 0x4B 0xA6 0xE3 PUSH7 0x640BE643AB6BEA 0xB2 0xAB PUSH11 0x3C6C9697646AEA3599E2AB PUSH28 0x1D75F79464736F6C6343000811003300000000000000000000000000 ", + "sourceMap": "830:5659:7:-:0;;", + "linkReferences": {} + } + } + } + }, + "lib/forge-std/src/StdMath.sol": { + "stdMath": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220a70dabf2dca09dc73f939a6cf3cf59f457e5b099a7e4e8ede76f28f9d173eb5264736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 0xD 0xAB CALLCODE 0xDC LOG0 SWAP14 0xC7 EXTCODEHASH SWAP4 SWAP11 PUSH13 0xF3CF59F457E5B099A7E4E8EDE7 PUSH16 0x28F9D173EB5264736F6C634300081100 CALLER ", + "sourceMap": "65:1294:8:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea2646970667358221220a70dabf2dca09dc73f939a6cf3cf59f457e5b099a7e4e8ede76f28f9d173eb5264736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 0xD 0xAB CALLCODE 0xDC LOG0 SWAP14 0xC7 EXTCODEHASH SWAP4 SWAP11 PUSH13 0xF3CF59F457E5B099A7E4E8EDE7 PUSH16 0x28F9D173EB5264736F6C634300081100 CALLER ", + "sourceMap": "65:1294:8:-:0;;", + "linkReferences": {} + } + } + } + }, + "lib/forge-std/src/StdStorage.sol": { + "stdStorage": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220d25ff369c0dbe1bced0e9fb888417ddb6aa9dace366141ea89a233a21118bd6d64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD2 0x5F RETURN PUSH10 0xC0DBE1BCED0E9FB88841 PUSH30 0xDB6AA9DACE366141EA89A233A21118BD6D64736F6C634300081100330000 ", + "sourceMap": "7339:4527:9:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea2646970667358221220d25ff369c0dbe1bced0e9fb888417ddb6aa9dace366141ea89a233a21118bd6d64736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD2 0x5F RETURN PUSH10 0xC0DBE1BCED0E9FB88841 PUSH30 0xDB6AA9DACE366141EA89A233A21118BD6D64736F6C634300081100330000 ", + "sourceMap": "7339:4527:9:-:0;;", + "linkReferences": {} + } + } + }, + "stdStorageSafe": { + "abi": [ + { + "type": "event", + "name": "SlotFound", + "inputs": [ + { + "name": "who", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "fsig", + "type": "bytes4", + "indexed": false, + "internalType": "bytes4" + }, + { + "name": "keysHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "slot", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "WARNING_UninitedSlot", + "inputs": [ + { + "name": "who", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "slot", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122084ffdd8d1bf9df595293aa5fdf963c63011e55549d81a291e0e68d47f4107c5a64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP5 SELFDESTRUCT 0xDD DUP14 SHL 0xF9 0xDF MSIZE MSTORE SWAP4 0xAA 0x5F 0xDF SWAP7 EXTCODECOPY PUSH4 0x11E5554 SWAP14 DUP2 LOG2 SWAP2 0xE0 0xE6 DUP14 SELFBALANCE DELEGATECALL LT PUSH29 0x5A64736F6C634300081100330000000000000000000000000000000000 ", + "sourceMap": "368:6969:9:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea264697066735822122084ffdd8d1bf9df595293aa5fdf963c63011e55549d81a291e0e68d47f4107c5a64736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP5 SELFDESTRUCT 0xDD DUP14 SHL 0xF9 0xDF MSIZE MSTORE SWAP4 0xAA 0x5F 0xDF SWAP7 EXTCODECOPY PUSH4 0x11E5554 SWAP14 DUP2 LOG2 SWAP2 0xE0 0xE6 DUP14 SELFBALANCE DELEGATECALL LT PUSH29 0x5A64736F6C634300081100330000000000000000000000000000000000 ", + "sourceMap": "368:6969:9:-:0;;", + "linkReferences": {} + } + } + } + }, + "lib/forge-std/src/StdUtils.sol": { + "StdUtils": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + } + } + } + }, + "lib/forge-std/src/Test.sol": { + "Test": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xb7004fe1ceab4a20ae13baec8732a5414b28d5ddb06f9f4184b49c1fc1d61521\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a60b5d84bd7d7e455f4a1ca1d260f6b50c419e4c4e7196ef32fd77d0f480d51\",\"dweb:/ipfs/QmYwRMAYYsQuvvM4mnagYs8Zhqm5VXicXmxoqEvkiUzQSd\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "failed()": "ba414fa6" + } + } + } + }, + "lib/forge-std/src/Vm.sol": { + "Vm": { + "abi": [ + { + "type": "function", + "name": "accesses", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "readSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "writeSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "activeFork", + "inputs": [], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "addr", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "allowCheatcodes", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "assume", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "chainId", + "inputs": [ + { + "name": "newChainId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "clearMockedCalls", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "coinbase", + "inputs": [ + { + "name": "newCoinbase", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createSelectFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createSelectFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createSelectFork", + "inputs": [ + { + "name": "urlOrAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deal", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newBalance", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "difficulty", + "inputs": [ + { + "name": "newDifficulty", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "etch", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "newRuntimeBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [ + { + "name": "checkTopic1", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic2", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic3", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkData", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectEmit", + "inputs": [ + { + "name": "checkTopic1", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic2", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkTopic3", + "type": "bool", + "internalType": "bool" + }, + { + "name": "checkData", + "type": "bool", + "internalType": "bool" + }, + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectRevert", + "inputs": [ + { + "name": "revertData", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectRevert", + "inputs": [ + { + "name": "revertData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "expectRevert", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fee", + "inputs": [ + { + "name": "newBasefee", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ffi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fsMetadata", + "inputs": [ + { + "name": "fileOrDir", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "metadata", + "type": "tuple", + "internalType": "struct VmSafe.FsMetadata", + "components": [ + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + }, + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "readOnly", + "type": "bool", + "internalType": "bool" + }, + { + "name": "modified", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "accessed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "created", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "creationBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "runtimeBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRecordedLogs", + "inputs": [], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.Log[]", + "components": [ + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isPersistent", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "persistent", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "label", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "accounts", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "account0", + "type": "address", + "internalType": "address" + }, + { + "name": "account1", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "makePersistent", + "inputs": [ + { + "name": "account0", + "type": "address", + "internalType": "address" + }, + { + "name": "account1", + "type": "address", + "internalType": "address" + }, + { + "name": "account2", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "msgValue", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mockCall", + "inputs": [ + { + "name": "callee", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseAddress", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBool", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes32", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseInt", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddress", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonAddressArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBool", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBoolArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBytes", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBytes32", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBytes32Array", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBytesArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonInt", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonIntArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonString", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonStringArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonUint", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonUintArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseUint", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "pauseGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "prank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + }, + { + "name": "txOrigin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "prank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "projectRoot", + "inputs": [], + "outputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "line", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "record", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "recordLogs", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rememberKey", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resumeGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revertTo", + "inputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokePersistent", + "inputs": [ + { + "name": "accounts", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokePersistent", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "roll", + "inputs": [ + { + "name": "newHeight", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollFork", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpcUrl", + "inputs": [ + { + "name": "rpcAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrlStructs", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "tuple[]", + "internalType": "struct VmSafe.Rpc[]", + "components": [ + { + "name": "key", + "type": "string", + "internalType": "string" + }, + { + "name": "url", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrls", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "string[2][]", + "internalType": "string[2][]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "selectFork", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEnv", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "snapshot", + "inputs": [], + "outputs": [ + { + "name": "snapshotId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startPrank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startPrank", + "inputs": [ + { + "name": "msgSender", + "type": "address", + "internalType": "address" + }, + { + "name": "txOrigin", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopPrank", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "store", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "transact", + "inputs": [ + { + "name": "forkId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transact", + "inputs": [ + { + "name": "txHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "warp", + "inputs": [ + { + "name": "newTimestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fileOrDir\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "accesses(address)": "65bc9481", + "activeFork()": "2f103f22", + "addr(uint256)": "ffa18649", + "allowCheatcodes(address)": "ea060291", + "assume(bool)": "4c63e562", + "broadcast()": "afc98040", + "broadcast(address)": "e6962cdb", + "broadcast(uint256)": "f67a965b", + "chainId(uint256)": "4049ddd2", + "clearMockedCalls()": "3fdf4e15", + "closeFile(string)": "48c3241f", + "coinbase(address)": "ff483c54", + "createFork(string)": "31ba3498", + "createFork(string,bytes32)": "7ca29682", + "createFork(string,uint256)": "6ba3ba2b", + "createSelectFork(string)": "98680034", + "createSelectFork(string,bytes32)": "84d52b7a", + "createSelectFork(string,uint256)": "71ee464d", + "deal(address,uint256)": "c88a5e6d", + "deriveKey(string,string,uint32)": "6bcb2c1b", + "deriveKey(string,uint32)": "6229498b", + "difficulty(uint256)": "46cc92d9", + "envAddress(string)": "350d56bf", + "envAddress(string,string)": "ad31b9fa", + "envBool(string)": "7ed1ec7d", + "envBool(string,string)": "aaaddeaf", + "envBytes(string)": "4d7baf06", + "envBytes(string,string)": "ddc2651b", + "envBytes32(string)": "97949042", + "envBytes32(string,string)": "5af231c1", + "envInt(string)": "892a0c61", + "envInt(string,string)": "42181150", + "envOr(string,address)": "561fe540", + "envOr(string,bool)": "4777f3cf", + "envOr(string,bytes)": "b3e47705", + "envOr(string,bytes32)": "b4a85892", + "envOr(string,int256)": "bbcb713e", + "envOr(string,string)": "d145736c", + "envOr(string,string,address[])": "c74e9deb", + "envOr(string,string,bool[])": "eb85e83b", + "envOr(string,string,bytes32[])": "2281f367", + "envOr(string,string,bytes[])": "64bc3e64", + "envOr(string,string,int256[])": "4700d74b", + "envOr(string,string,string[])": "859216bc", + "envOr(string,string,uint256[])": "74318528", + "envOr(string,uint256)": "5e97348f", + "envString(string)": "f877cb19", + "envString(string,string)": "14b02bc9", + "envUint(string)": "c1978d1f", + "envUint(string,string)": "f3dec099", + "etch(address,bytes)": "b4d6c782", + "expectCall(address,bytes)": "bd6af434", + "expectCall(address,uint256,bytes)": "f30c7ba3", + "expectEmit(bool,bool,bool,bool)": "491cc7c2", + "expectEmit(bool,bool,bool,bool,address)": "81bad6f3", + "expectRevert()": "f4844814", + "expectRevert(bytes)": "f28dceb3", + "expectRevert(bytes4)": "c31eb0e0", + "fee(uint256)": "39b37ab0", + "ffi(string[])": "89160467", + "fsMetadata(string)": "af368a08", + "getCode(string)": "8d1cc925", + "getDeployedCode(string)": "3ebf73b4", + "getNonce(address)": "2d0335ab", + "getRecordedLogs()": "191553a4", + "isPersistent(address)": "d92d8efd", + "label(address,string)": "c657c718", + "load(address,bytes32)": "667f9d70", + "makePersistent(address)": "57e22dde", + "makePersistent(address,address)": "4074e0a8", + "makePersistent(address,address,address)": "efb77a75", + "makePersistent(address[])": "1d9e269e", + "mockCall(address,bytes,bytes)": "b96213e4", + "mockCall(address,uint256,bytes,bytes)": "81409b91", + "parseAddress(string)": "c6ce059d", + "parseBool(string)": "974ef924", + "parseBytes(string)": "8f5d232d", + "parseBytes32(string)": "087e6e81", + "parseInt(string)": "42346c5e", + "parseJson(string)": "6a82600a", + "parseJson(string,string)": "85940ef1", + "parseJsonAddress(string,string)": "1e19e657", + "parseJsonAddressArray(string,string)": "2fce7883", + "parseJsonBool(string,string)": "9f86dc91", + "parseJsonBoolArray(string,string)": "91f3b94f", + "parseJsonBytes(string,string)": "fd921be8", + "parseJsonBytes32(string,string)": "1777e59d", + "parseJsonBytes32Array(string,string)": "91c75bc3", + "parseJsonBytesArray(string,string)": "6631aa99", + "parseJsonInt(string,string)": "7b048ccd", + "parseJsonIntArray(string,string)": "9983c28a", + "parseJsonString(string,string)": "49c4fac8", + "parseJsonStringArray(string,string)": "498fdcf4", + "parseJsonUint(string,string)": "addde2b6", + "parseJsonUintArray(string,string)": "522074ab", + "parseUint(string)": "fa91454d", + "pauseGasMetering()": "d1a5b36f", + "prank(address)": "ca669fa7", + "prank(address,address)": "47e50cce", + "projectRoot()": "d930a0e6", + "readFile(string)": "60f9bb11", + "readFileBinary(string)": "16ed7bc4", + "readLine(string)": "70f55728", + "record()": "266cf109", + "recordLogs()": "41af2f52", + "rememberKey(uint256)": "22100064", + "removeFile(string)": "f1afe04d", + "resumeGasMetering()": "2bcd50e0", + "revertTo(uint256)": "44d7f0a4", + "revokePersistent(address)": "997a0222", + "revokePersistent(address[])": "3ce969e6", + "roll(uint256)": "1f7b4f30", + "rollFork(bytes32)": "0f29772b", + "rollFork(uint256)": "d9bbf3a1", + "rollFork(uint256,bytes32)": "f2830f7b", + "rollFork(uint256,uint256)": "d74c83a4", + "rpcUrl(string)": "975a6ce9", + "rpcUrlStructs()": "9d2ad72a", + "rpcUrls()": "a85a8418", + "selectFork(uint256)": "9ebf6827", + "serializeAddress(string,string,address)": "972c6062", + "serializeAddress(string,string,address[])": "1e356e1a", + "serializeBool(string,string,bool)": "ac22e971", + "serializeBool(string,string,bool[])": "92925aa1", + "serializeBytes(string,string,bytes)": "f21d52c7", + "serializeBytes(string,string,bytes[])": "9884b232", + "serializeBytes32(string,string,bytes32)": "2d812b44", + "serializeBytes32(string,string,bytes32[])": "201e43e2", + "serializeInt(string,string,int256)": "3f33db60", + "serializeInt(string,string,int256[])": "7676e127", + "serializeString(string,string,string)": "88da6d35", + "serializeString(string,string,string[])": "561cd6f3", + "serializeUint(string,string,uint256)": "129e9002", + "serializeUint(string,string,uint256[])": "fee9a469", + "setEnv(string,string)": "3d5923ee", + "setNonce(address,uint64)": "f8e18b57", + "sign(uint256,bytes32)": "e341eaa4", + "snapshot()": "9711715a", + "startBroadcast()": "7fb5297f", + "startBroadcast(address)": "7fec2a8d", + "startBroadcast(uint256)": "ce817d47", + "startPrank(address)": "06447d56", + "startPrank(address,address)": "45b56078", + "stopBroadcast()": "76eadd36", + "stopPrank()": "90c5013b", + "store(address,bytes32,bytes32)": "70ca10bb", + "toString(address)": "56ca623e", + "toString(bool)": "71dce7da", + "toString(bytes)": "71aad10d", + "toString(bytes32)": "b11a19e8", + "toString(int256)": "a322c40e", + "toString(uint256)": "6900a3ae", + "transact(bytes32)": "be646da1", + "transact(uint256,bytes32)": "4d8abc4b", + "warp(uint256)": "e5d6bf02", + "writeFile(string,string)": "897e0a97", + "writeFileBinary(string,bytes)": "1f21fc80", + "writeJson(string,string)": "e23cd19f", + "writeJson(string,string,string)": "35d6ad46", + "writeLine(string,string)": "619d897f" + } + } + }, + "VmSafe": { + "abi": [ + { + "type": "function", + "name": "accesses", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "readSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "writeSlots", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addr", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "assume", + "inputs": [ + { + "name": "condition", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "broadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "closeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "deriveKey", + "inputs": [ + { + "name": "mnemonic", + "type": "string", + "internalType": "string" + }, + { + "name": "derivationPath", + "type": "string", + "internalType": "string" + }, + { + "name": "index", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envAddress", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBool", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envBytes32", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envInt", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envOr", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + }, + { + "name": "defaultValue", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "value", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envString", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "envUint", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "delim", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "value", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ffi", + "inputs": [ + { + "name": "commandInput", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "result", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fsMetadata", + "inputs": [ + { + "name": "fileOrDir", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "metadata", + "type": "tuple", + "internalType": "struct VmSafe.FsMetadata", + "components": [ + { + "name": "isDir", + "type": "bool", + "internalType": "bool" + }, + { + "name": "isSymlink", + "type": "bool", + "internalType": "bool" + }, + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "readOnly", + "type": "bool", + "internalType": "bool" + }, + { + "name": "modified", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "accessed", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "created", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "creationBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedCode", + "inputs": [ + { + "name": "artifactPath", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "runtimeBytecode", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNonce", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "nonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRecordedLogs", + "inputs": [], + "outputs": [ + { + "name": "logs", + "type": "tuple[]", + "internalType": "struct VmSafe.Log[]", + "components": [ + { + "name": "topics", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "emitter", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "label", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "newLabel", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "load", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "parseAddress", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBool", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseBytes32", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseInt", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "key", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "abiEncodedData", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "parseJsonAddress", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonAddressArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBool", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBoolArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBytes", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBytes32", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBytes32Array", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonBytesArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonInt", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256", + "internalType": "int256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonIntArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonString", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonStringArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "string[]", + "internalType": "string[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonUint", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseJsonUintArray", + "inputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + }, + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "parseUint", + "inputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "parsedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "pauseGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "projectRoot", + "inputs": [], + "outputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "readLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "line", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "record", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "recordLogs", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rememberKey", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "keyAddr", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "resumeGasMetering", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rpcUrl", + "inputs": [ + { + "name": "rpcAlias", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrlStructs", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "tuple[]", + "internalType": "struct VmSafe.Rpc[]", + "components": [ + { + "name": "key", + "type": "string", + "internalType": "string" + }, + { + "name": "url", + "type": "string", + "internalType": "string" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "rpcUrls", + "inputs": [], + "outputs": [ + { + "name": "urls", + "type": "string[2][]", + "internalType": "string[2][]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeAddress", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bool[]", + "internalType": "bool[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBool", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeBytes32", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeInt", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "int256[]", + "internalType": "int256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "string[]", + "internalType": "string[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeString", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "serializeUint", + "inputs": [ + { + "name": "objectKey", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + }, + { + "name": "values", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEnv", + "inputs": [ + { + "name": "name", + "type": "string", + "internalType": "string" + }, + { + "name": "value", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sign", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "digest", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "signer", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startBroadcast", + "inputs": [ + { + "name": "privateKey", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stopBroadcast", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "int256", + "internalType": "int256" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "toString", + "inputs": [ + { + "name": "value", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "stringifiedValue", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "writeFile", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeFileBinary", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "valueKey", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeJson", + "inputs": [ + { + "name": "json", + "type": "string", + "internalType": "string" + }, + { + "name": "path", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "writeLine", + "inputs": [ + { + "name": "path", + "type": "string", + "internalType": "string" + }, + { + "name": "data", + "type": "string", + "internalType": "string" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fileOrDir\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "accesses(address)": "65bc9481", + "addr(uint256)": "ffa18649", + "assume(bool)": "4c63e562", + "broadcast()": "afc98040", + "broadcast(address)": "e6962cdb", + "broadcast(uint256)": "f67a965b", + "closeFile(string)": "48c3241f", + "deriveKey(string,string,uint32)": "6bcb2c1b", + "deriveKey(string,uint32)": "6229498b", + "envAddress(string)": "350d56bf", + "envAddress(string,string)": "ad31b9fa", + "envBool(string)": "7ed1ec7d", + "envBool(string,string)": "aaaddeaf", + "envBytes(string)": "4d7baf06", + "envBytes(string,string)": "ddc2651b", + "envBytes32(string)": "97949042", + "envBytes32(string,string)": "5af231c1", + "envInt(string)": "892a0c61", + "envInt(string,string)": "42181150", + "envOr(string,address)": "561fe540", + "envOr(string,bool)": "4777f3cf", + "envOr(string,bytes)": "b3e47705", + "envOr(string,bytes32)": "b4a85892", + "envOr(string,int256)": "bbcb713e", + "envOr(string,string)": "d145736c", + "envOr(string,string,address[])": "c74e9deb", + "envOr(string,string,bool[])": "eb85e83b", + "envOr(string,string,bytes32[])": "2281f367", + "envOr(string,string,bytes[])": "64bc3e64", + "envOr(string,string,int256[])": "4700d74b", + "envOr(string,string,string[])": "859216bc", + "envOr(string,string,uint256[])": "74318528", + "envOr(string,uint256)": "5e97348f", + "envString(string)": "f877cb19", + "envString(string,string)": "14b02bc9", + "envUint(string)": "c1978d1f", + "envUint(string,string)": "f3dec099", + "ffi(string[])": "89160467", + "fsMetadata(string)": "af368a08", + "getCode(string)": "8d1cc925", + "getDeployedCode(string)": "3ebf73b4", + "getNonce(address)": "2d0335ab", + "getRecordedLogs()": "191553a4", + "label(address,string)": "c657c718", + "load(address,bytes32)": "667f9d70", + "parseAddress(string)": "c6ce059d", + "parseBool(string)": "974ef924", + "parseBytes(string)": "8f5d232d", + "parseBytes32(string)": "087e6e81", + "parseInt(string)": "42346c5e", + "parseJson(string)": "6a82600a", + "parseJson(string,string)": "85940ef1", + "parseJsonAddress(string,string)": "1e19e657", + "parseJsonAddressArray(string,string)": "2fce7883", + "parseJsonBool(string,string)": "9f86dc91", + "parseJsonBoolArray(string,string)": "91f3b94f", + "parseJsonBytes(string,string)": "fd921be8", + "parseJsonBytes32(string,string)": "1777e59d", + "parseJsonBytes32Array(string,string)": "91c75bc3", + "parseJsonBytesArray(string,string)": "6631aa99", + "parseJsonInt(string,string)": "7b048ccd", + "parseJsonIntArray(string,string)": "9983c28a", + "parseJsonString(string,string)": "49c4fac8", + "parseJsonStringArray(string,string)": "498fdcf4", + "parseJsonUint(string,string)": "addde2b6", + "parseJsonUintArray(string,string)": "522074ab", + "parseUint(string)": "fa91454d", + "pauseGasMetering()": "d1a5b36f", + "projectRoot()": "d930a0e6", + "readFile(string)": "60f9bb11", + "readFileBinary(string)": "16ed7bc4", + "readLine(string)": "70f55728", + "record()": "266cf109", + "recordLogs()": "41af2f52", + "rememberKey(uint256)": "22100064", + "removeFile(string)": "f1afe04d", + "resumeGasMetering()": "2bcd50e0", + "rpcUrl(string)": "975a6ce9", + "rpcUrlStructs()": "9d2ad72a", + "rpcUrls()": "a85a8418", + "serializeAddress(string,string,address)": "972c6062", + "serializeAddress(string,string,address[])": "1e356e1a", + "serializeBool(string,string,bool)": "ac22e971", + "serializeBool(string,string,bool[])": "92925aa1", + "serializeBytes(string,string,bytes)": "f21d52c7", + "serializeBytes(string,string,bytes[])": "9884b232", + "serializeBytes32(string,string,bytes32)": "2d812b44", + "serializeBytes32(string,string,bytes32[])": "201e43e2", + "serializeInt(string,string,int256)": "3f33db60", + "serializeInt(string,string,int256[])": "7676e127", + "serializeString(string,string,string)": "88da6d35", + "serializeString(string,string,string[])": "561cd6f3", + "serializeUint(string,string,uint256)": "129e9002", + "serializeUint(string,string,uint256[])": "fee9a469", + "setEnv(string,string)": "3d5923ee", + "sign(uint256,bytes32)": "e341eaa4", + "startBroadcast()": "7fb5297f", + "startBroadcast(address)": "7fec2a8d", + "startBroadcast(uint256)": "ce817d47", + "stopBroadcast()": "76eadd36", + "toString(address)": "56ca623e", + "toString(bool)": "71dce7da", + "toString(bytes)": "71aad10d", + "toString(bytes32)": "b11a19e8", + "toString(int256)": "a322c40e", + "toString(uint256)": "6900a3ae", + "writeFile(string,string)": "897e0a97", + "writeFileBinary(string,bytes)": "1f21fc80", + "writeJson(string,string)": "e23cd19f", + "writeJson(string,string,string)": "35d6ad46", + "writeLine(string,string)": "619d897f" + } + } + } + }, + "lib/forge-std/src/console.sol": { + "console": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212209c9d48ccd34978e303059032da98c96041c1c4c11300cdd219999d38b408d83164736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP13 SWAP14 BASEFEE 0xCC 0xD3 0x49 PUSH25 0xE303059032DA98C96041C1C4C11300CDD219999D38B408D831 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "66:66622:13:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea26469706673582212209c9d48ccd34978e303059032da98c96041c1c4c11300cdd219999d38b408d83164736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP13 SWAP14 BASEFEE 0xCC 0xD3 0x49 PUSH25 0xE303059032DA98C96041C1C4C11300CDD219999D38B408D831 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "66:66622:13:-:0;;", + "linkReferences": {} + } + } + } + }, + "lib/forge-std/src/console2.sol": { + "console2": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"The original console.sol uses `int` and `uint` for computing function selectors, but it should use `int256` and `uint256`. This modified version fixes that. This version is recommended over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`. Reference: https://github.com/NomicFoundation/hardhat/issues/2178\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122082ec5b0adb865c7bf343f97a7a8358d5ddacd1949131cb238d33e3a7dff3b15864736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP3 0xEC JUMPDEST EXP 0xDB DUP7 0x5C PUSH28 0xF343F97A7A8358D5DDACD1949131CB238D33E3A7DFF3B15864736F6C PUSH4 0x43000811 STOP CALLER ", + "sourceMap": "525:68782:14:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea264697066735822122082ec5b0adb865c7bf343f97a7a8358d5ddacd1949131cb238d33e3a7dff3b15864736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP3 0xEC JUMPDEST EXP 0xDB DUP7 0x5C PUSH28 0xF343F97A7A8358D5DDACD1949131CB238D33E3A7DFF3B15864736F6C PUSH4 0x43000811 STOP CALLER ", + "sourceMap": "525:68782:14:-:0;;", + "linkReferences": {} + } + } + } + }, + "lib/forge-std/src/interfaces/IMulticall3.sol": { + "IMulticall3": { + "abi": [ + { + "type": "function", + "name": "aggregate", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "returnData", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "aggregate3", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call3[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "allowFailure", + "type": "bool", + "internalType": "bool" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "aggregate3Value", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call3Value[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "allowFailure", + "type": "bool", + "internalType": "bool" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "blockAndAggregate", + "inputs": [ + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "getBasefee", + "inputs": [], + "outputs": [ + { + "name": "basefee", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockHash", + "inputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBlockNumber", + "inputs": [], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getChainId", + "inputs": [], + "outputs": [ + { + "name": "chainid", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockCoinbase", + "inputs": [], + "outputs": [ + { + "name": "coinbase", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockDifficulty", + "inputs": [], + "outputs": [ + { + "name": "difficulty", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockGasLimit", + "inputs": [], + "outputs": [ + { + "name": "gaslimit", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentBlockTimestamp", + "inputs": [], + "outputs": [ + { + "name": "timestamp", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getEthBalance", + "inputs": [ + { + "name": "addr", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLastBlockHash", + "inputs": [], + "outputs": [ + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tryAggregate", + "inputs": [ + { + "name": "requireSuccess", + "type": "bool", + "internalType": "bool" + }, + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "tryBlockAndAggregate", + "inputs": [ + { + "name": "requireSuccess", + "type": "bool", + "internalType": "bool" + }, + { + "name": "calls", + "type": "tuple[]", + "internalType": "struct IMulticall3.Call[]", + "components": [ + { + "name": "target", + "type": "address", + "internalType": "address" + }, + { + "name": "callData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "outputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "blockHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "returnData", + "type": "tuple[]", + "internalType": "struct IMulticall3.Result[]", + "components": [ + { + "name": "success", + "type": "bool", + "internalType": "bool" + }, + { + "name": "returnData", + "type": "bytes", + "internalType": "bytes" + } + ] + } + ], + "stateMutability": "payable" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "aggregate((address,bytes)[])": "252dba42", + "aggregate3((address,bool,bytes)[])": "82ad56cb", + "aggregate3Value((address,bool,uint256,bytes)[])": "174dea71", + "blockAndAggregate((address,bytes)[])": "c3077fa9", + "getBasefee()": "3e64a696", + "getBlockHash(uint256)": "ee82ac5e", + "getBlockNumber()": "42cbb15c", + "getChainId()": "3408e470", + "getCurrentBlockCoinbase()": "a8b0574e", + "getCurrentBlockDifficulty()": "72425d9d", + "getCurrentBlockGasLimit()": "86d516e8", + "getCurrentBlockTimestamp()": "0f28c97d", + "getEthBalance(address)": "4d2301cc", + "getLastBlockHash()": "27e86d6e", + "tryAggregate(bool,(address,bytes)[])": "bce38bd7", + "tryBlockAndAggregate(bool,(address,bytes)[])": "399542e9" + } + } + } + }, + "lib/murky/src/Merkle.sol": { + "Merkle": { + "abi": [ + { + "type": "function", + "name": "getProof", + "inputs": [ + { + "name": "data", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "node", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getRoot", + "inputs": [ + { + "name": "data", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "hashLeafPairs", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "_hash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "log2ceil", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "log2ceilBitMagic", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "verifyProof", + "inputs": [ + { + "name": "root", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "valueToProve", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"node\",\"type\":\"uint256\"}],\"name\":\"getProof\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"getRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"hashLeafPairs\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"log2ceil\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"log2ceilBitMagic\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32\",\"name\":\"valueToProve\",\"type\":\"bytes32\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dmfxyz\",\"details\":\"Note Generic Merkle Tree\",\"kind\":\"dev\",\"methods\":{\"log2ceil(uint256)\":{\"details\":\"Note that x is assumed > 0\"},\"log2ceilBitMagic(uint256)\":{\"details\":\"Note that x assumed > 1\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"hashLeafPairs(bytes32,bytes32)\":{\"notice\":\"ascending sort and concat prior to hashing\"},\"log2ceilBitMagic(uint256)\":{\"notice\":\"Original bitmagic adapted from https://github.com/paulrberg/prb-math/blob/main/contracts/PRBMath.sol\"}},\"notice\":\"Nascent, simple, kinda efficient (and improving!) Merkle proof generator and verifier\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/murky/src/Merkle.sol\":\"Merkle\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/murky/src/Merkle.sol\":{\"keccak256\":\"0x70e50a6d61ea806b5ba0c8ff76fadfa3e90e6dfecb6900b1c0492eac0309660f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6cc1b02a6d11e029fe24d5d638ad891a3a2552aaef9d3a0918274b1496fcd74\",\"dweb:/ipfs/QmWsU7yXsyKATkfYb8g1jbPTbgGsCg9rk7bJ3ypCYxQixB\"]},\"lib/murky/src/common/MurkyBase.sol\":{\"keccak256\":\"0x5287741b2b215c9a11cc8482b419abde0625dfc3949d539c72ee498108842894\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://259e803b0811e404bba09237bce4ef42f2ff27dacaca770d1eb7c1afddbf762b\",\"dweb:/ipfs/QmWfbsHa1siBxDEqFmbnzUuZqyitFZHmDXo2vc4cVn4uJe\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234610016576109cb908161001c8239f35b600080fdfe60806040526004361015610013575b600080fd5b6000803560e01c9081632e08d6021461008e5750806358161a4214610085578063b86161951461007c578063cf06c7b714610073578063dd1d25991461006a5763e27d51531461006257600080fd5b61000e610540565b5061000e610500565b5061000e6104bb565b5061000e610389565b5061000e6102bc565b346101b65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b65760043567ffffffffffffffff81116101b2576100dd903690600401610261565b6001808251111561012e57805b610110575b61010c6100fb836105c2565b516040519081529081906020820190565b0390f35b80825111156101295761012381926106e1565b916100ea565b6100ef565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f776f6e27742067656e657261746520726f6f7420666f722073696e676c65206c60448201527f65616600000000000000000000000000000000000000000000000000000000006064820152fd5b5080fd5b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761022d57604052565b6102356101b9565b604052565b60209067ffffffffffffffff8111610254575b60051b0190565b61025c6101b9565b61024d565b9080601f8301121561000e5781359061028161027c8361023a565b6101e9565b9182938184526020808095019260051b82010192831161000e578301905b8282106102ad575050505090565b8135815290830190830161029f565b503461000e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760243567ffffffffffffffff811161000e5761030c903690600401610261565b60443581516000925b81841061032b5760405160043584148152602090f35b909161034460019161033d86856105fe565b519061059f565b9301929190610315565b6020908160408183019282815285518094520193019160005b828110610375575050505090565b835185529381019392810192600101610367565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff811161000e576103d9903690600401610261565b602435906001906103ec82825111610612565b6103fe6103f98251610857565b61069c565b92600080845b610417575b6040518061010c888261034e565b8351858111156104b5578584939261047a9282808098161460001461048457506104637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8601886105fe565b5161046e828b6105fe565b525b0192841c946106e1565b9392919091610404565b8583019081036104a057508361049a828b6105fe565b52610470565b6104aa90886105fe565b5161049a828b6105fe565b50610409565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760206104f8600435610857565b604051908152f35b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760206104f860243560043561059f565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435806000815b610592576020925060405191806001811901161490038152f35b600192831c920182610578565b818110156105b6576000526020525b604060002090565b906000526020526105ae565b8051156105cf5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80518210156105cf5760209160051b010190565b1561061957565b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f776f6e27742067656e65726174652070726f6f6620666f722073696e676c652060448201527f6c656166000000000000000000000000000000000000000000000000000000006064820152fd5b906106a961027c8361023a565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06106d7829461023a565b0190602036910137565b90815160019081808216146000146107b5576107008282811c0161069c565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61072e818401876105fe565b5160008052602052610748604060002091855101856105fe565b525b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff839101925b8382106107835750929450505050565b826002916107a1610794858b6105fe565b5161033d8487018c6105fe565b6107ab82896105fe565b5201910190610773565b6107c081831c61069c565b9161074a565b90604082018092116107d457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b90602082018092116107d457565b90601082018092116107d457565b90600882018092116107d457565b90600482018092116107d457565b90600282018092116107d457565b90600182018092116107d457565b600181111561098f5760009080700100000000000000000000000000000000811015610984575b80680100000000000000006002921015610971575b64010000000081101561095e575b6201000081101561094b575b610100811015610938575b6010811015610925575b6004811015610913575b1015610903575b806108de8119610849565b1614806108fa575b156108ee5790565b6108f790610849565b90565b508015156108e6565b9061090d90610849565b906108d3565b61091f90821c9361083b565b926108cc565b6109329060041c9361082d565b926108c2565b6109459060081c9361081f565b926108b8565b6109589060101c93610811565b926108ad565b61096b9060201c93610803565b926108a1565b61097e9060401c936107c6565b92610893565b60809250821c61087e565b5060009056fea2646970667358221220650092d06c64a854998a58e5cd96f8e0448fd77fec5223c7c61572a2d37349dd64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x16 JUMPI PUSH2 0x9CB SWAP1 DUP2 PUSH2 0x1C DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2E08D602 EQ PUSH2 0x8E JUMPI POP DUP1 PUSH4 0x58161A42 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0xB8616195 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xCF06C7B7 EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0xDD1D2599 EQ PUSH2 0x6A JUMPI PUSH4 0xE27D5153 EQ PUSH2 0x62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x540 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x500 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x4BB JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x389 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x2BC JUMP JUMPDEST CALLVALUE PUSH2 0x1B6 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1B6 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1B2 JUMPI PUSH2 0xDD SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP3 MLOAD GT ISZERO PUSH2 0x12E JUMPI DUP1 JUMPDEST PUSH2 0x110 JUMPI JUMPDEST PUSH2 0x10C PUSH2 0xFB DUP4 PUSH2 0x5C2 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST DUP1 DUP3 MLOAD GT ISZERO PUSH2 0x129 JUMPI PUSH2 0x123 DUP2 SWAP3 PUSH2 0x6E1 JUMP JUMPDEST SWAP2 PUSH2 0xEA JUMP JUMPDEST PUSH2 0xEF JUMP JUMPDEST PUSH1 0x84 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x776F6E27742067656E657261746520726F6F7420666F722073696E676C65206C PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6561660000000000000000000000000000000000000000000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST DUP1 REVERT JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x40 MLOAD SWAP4 ADD AND DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x22D JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x235 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x254 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1B9 JUMP JUMPDEST PUSH2 0x24D JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0xE JUMPI DUP2 CALLDATALOAD SWAP1 PUSH2 0x281 PUSH2 0x27C DUP4 PUSH2 0x23A JUMP JUMPDEST PUSH2 0x1E9 JUMP JUMPDEST SWAP2 DUP3 SWAP4 DUP2 DUP5 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP6 ADD SWAP3 PUSH1 0x5 SHL DUP3 ADD ADD SWAP3 DUP4 GT PUSH2 0xE JUMPI DUP4 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x2AD JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP2 CALLDATALOAD DUP2 MSTORE SWAP1 DUP4 ADD SWAP1 DUP4 ADD PUSH2 0x29F JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x30C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD DUP2 MLOAD PUSH1 0x0 SWAP3 JUMPDEST DUP2 DUP5 LT PUSH2 0x32B JUMPI PUSH1 0x40 MLOAD PUSH1 0x4 CALLDATALOAD DUP5 EQ DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST SWAP1 SWAP2 PUSH2 0x344 PUSH1 0x1 SWAP2 PUSH2 0x33D DUP7 DUP6 PUSH2 0x5FE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x59F JUMP JUMPDEST SWAP4 ADD SWAP3 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 PUSH1 0x40 DUP2 DUP4 ADD SWAP3 DUP3 DUP2 MSTORE DUP6 MLOAD DUP1 SWAP5 MSTORE ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x375 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x367 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x3D9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3EC DUP3 DUP3 MLOAD GT PUSH2 0x612 JUMP JUMPDEST PUSH2 0x3FE PUSH2 0x3F9 DUP3 MLOAD PUSH2 0x857 JUMP JUMPDEST PUSH2 0x69C JUMP JUMPDEST SWAP3 PUSH1 0x0 DUP1 DUP5 JUMPDEST PUSH2 0x417 JUMPI JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x10C DUP9 DUP3 PUSH2 0x34E JUMP JUMPDEST DUP4 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x4B5 JUMPI DUP6 DUP5 SWAP4 SWAP3 PUSH2 0x47A SWAP3 DUP3 DUP1 DUP1 SWAP9 AND EQ PUSH1 0x0 EQ PUSH2 0x484 JUMPI POP PUSH2 0x463 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 ADD DUP9 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x46E DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST MSTORE JUMPDEST ADD SWAP3 DUP5 SHR SWAP5 PUSH2 0x6E1 JUMP JUMPDEST SWAP4 SWAP3 SWAP2 SWAP1 SWAP2 PUSH2 0x404 JUMP JUMPDEST DUP6 DUP4 ADD SWAP1 DUP2 SUB PUSH2 0x4A0 JUMPI POP DUP4 PUSH2 0x49A DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST MSTORE PUSH2 0x470 JUMP JUMPDEST PUSH2 0x4AA SWAP1 DUP9 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x49A DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST POP PUSH2 0x409 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH2 0x4F8 PUSH1 0x4 CALLDATALOAD PUSH2 0x857 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH2 0x4F8 PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH2 0x59F JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD DUP1 PUSH1 0x0 DUP2 JUMPDEST PUSH2 0x592 JUMPI PUSH1 0x20 SWAP3 POP PUSH1 0x40 MLOAD SWAP2 DUP1 PUSH1 0x1 DUP2 NOT ADD AND EQ SWAP1 SUB DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 SWAP3 DUP4 SHR SWAP3 ADD DUP3 PUSH2 0x578 JUMP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5B6 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE JUMPDEST PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH2 0x5AE JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x5CF JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x5CF JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST ISZERO PUSH2 0x619 JUMPI JUMP JUMPDEST PUSH1 0x84 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x776F6E27742067656E65726174652070726F6F6620666F722073696E676C6520 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6C65616600000000000000000000000000000000000000000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x6A9 PUSH2 0x27C DUP4 PUSH2 0x23A JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x6D7 DUP3 SWAP5 PUSH2 0x23A JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD PUSH1 0x1 SWAP1 DUP2 DUP1 DUP3 AND EQ PUSH1 0x0 EQ PUSH2 0x7B5 JUMPI PUSH2 0x700 DUP3 DUP3 DUP2 SHR ADD PUSH2 0x69C JUMP JUMPDEST SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x72E DUP2 DUP5 ADD DUP8 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 MSTORE PUSH2 0x748 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 DUP6 MLOAD ADD DUP6 PUSH2 0x5FE JUMP JUMPDEST MSTORE JUMPDEST PUSH1 0x0 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SWAP2 ADD SWAP3 JUMPDEST DUP4 DUP3 LT PUSH2 0x783 JUMPI POP SWAP3 SWAP5 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x2 SWAP2 PUSH2 0x7A1 PUSH2 0x794 DUP6 DUP12 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x33D DUP5 DUP8 ADD DUP13 PUSH2 0x5FE JUMP JUMPDEST PUSH2 0x7AB DUP3 DUP10 PUSH2 0x5FE JUMP JUMPDEST MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x773 JUMP JUMPDEST PUSH2 0x7C0 DUP2 DUP4 SHR PUSH2 0x69C JUMP JUMPDEST SWAP2 PUSH2 0x74A JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x10 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x8 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x98F JUMPI PUSH1 0x0 SWAP1 DUP1 PUSH17 0x100000000000000000000000000000000 DUP2 LT ISZERO PUSH2 0x984 JUMPI JUMPDEST DUP1 PUSH9 0x10000000000000000 PUSH1 0x2 SWAP3 LT ISZERO PUSH2 0x971 JUMPI JUMPDEST PUSH5 0x100000000 DUP2 LT ISZERO PUSH2 0x95E JUMPI JUMPDEST PUSH3 0x10000 DUP2 LT ISZERO PUSH2 0x94B JUMPI JUMPDEST PUSH2 0x100 DUP2 LT ISZERO PUSH2 0x938 JUMPI JUMPDEST PUSH1 0x10 DUP2 LT ISZERO PUSH2 0x925 JUMPI JUMPDEST PUSH1 0x4 DUP2 LT ISZERO PUSH2 0x913 JUMPI JUMPDEST LT ISZERO PUSH2 0x903 JUMPI JUMPDEST DUP1 PUSH2 0x8DE DUP2 NOT PUSH2 0x849 JUMP JUMPDEST AND EQ DUP1 PUSH2 0x8FA JUMPI JUMPDEST ISZERO PUSH2 0x8EE JUMPI SWAP1 JUMP JUMPDEST PUSH2 0x8F7 SWAP1 PUSH2 0x849 JUMP JUMPDEST SWAP1 JUMP JUMPDEST POP DUP1 ISZERO ISZERO PUSH2 0x8E6 JUMP JUMPDEST SWAP1 PUSH2 0x90D SWAP1 PUSH2 0x849 JUMP JUMPDEST SWAP1 PUSH2 0x8D3 JUMP JUMPDEST PUSH2 0x91F SWAP1 DUP3 SHR SWAP4 PUSH2 0x83B JUMP JUMPDEST SWAP3 PUSH2 0x8CC JUMP JUMPDEST PUSH2 0x932 SWAP1 PUSH1 0x4 SHR SWAP4 PUSH2 0x82D JUMP JUMPDEST SWAP3 PUSH2 0x8C2 JUMP JUMPDEST PUSH2 0x945 SWAP1 PUSH1 0x8 SHR SWAP4 PUSH2 0x81F JUMP JUMPDEST SWAP3 PUSH2 0x8B8 JUMP JUMPDEST PUSH2 0x958 SWAP1 PUSH1 0x10 SHR SWAP4 PUSH2 0x811 JUMP JUMPDEST SWAP3 PUSH2 0x8AD JUMP JUMPDEST PUSH2 0x96B SWAP1 PUSH1 0x20 SHR SWAP4 PUSH2 0x803 JUMP JUMPDEST SWAP3 PUSH2 0x8A1 JUMP JUMPDEST PUSH2 0x97E SWAP1 PUSH1 0x40 SHR SWAP4 PUSH2 0x7C6 JUMP JUMPDEST SWAP3 PUSH2 0x893 JUMP JUMPDEST PUSH1 0x80 SWAP3 POP DUP3 SHR PUSH2 0x87E JUMP JUMPDEST POP PUSH1 0x0 SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0x92D06C64A8 SLOAD SWAP10 DUP11 PC 0xE5 0xCD SWAP7 0xF8 0xE0 DIFFICULTY DUP16 0xD7 PUSH32 0xEC5223C7C61572A2D37349DD64736F6C63430008110033000000000000000000 ", + "sourceMap": "242:576:16:-:0;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_array_bytes32_dyn": { + "entryPoint": 609, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_array_bytes32_dyn": { + "entryPoint": 846, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_bool": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_bytes32": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_and_zero_memory_array_array_bytes32_dyn": { + "entryPoint": 1692, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 489, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_array_bytes32_dyn": { + "entryPoint": 570, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_add_uint256": { + "entryPoint": 1990, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_add_uint256_2748": { + "entryPoint": 2051, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_add_uint256_2750": { + "entryPoint": 2065, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_add_uint256_2752": { + "entryPoint": 2079, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_add_uint256_2754": { + "entryPoint": 2093, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_add_uint256_2756": { + "entryPoint": 2107, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_add_uint256_2757": { + "entryPoint": 2121, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "external_fun_getProof": { + "entryPoint": 905, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_hashLeafPairs": { + "entryPoint": 1280, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_log2ceil": { + "entryPoint": 1344, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_log2ceilBitMagic": { + "entryPoint": 1211, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_verifyProof": { + "entryPoint": 700, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "fun_hashLeafPairs": { + "entryPoint": 1439, + "id": 26575, + "parameterSlots": 2, + "returnSlots": 1 + }, + "fun_hashLevel": { + "entryPoint": 1761, + "id": 26888, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_log2ceilBitMagic": { + "entryPoint": 2135, + "id": 27092, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_bytes32_dyn": { + "entryPoint": 1534, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "memory_array_index_access_bytes32_dyn_2729": { + "entryPoint": 1474, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x41": { + "entryPoint": 441, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "require_helper_stringliteral_65df": { + "entryPoint": 1554, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "object": "60806040526004361015610013575b600080fd5b6000803560e01c9081632e08d6021461008e5750806358161a4214610085578063b86161951461007c578063cf06c7b714610073578063dd1d25991461006a5763e27d51531461006257600080fd5b61000e610540565b5061000e610500565b5061000e6104bb565b5061000e610389565b5061000e6102bc565b346101b65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b65760043567ffffffffffffffff81116101b2576100dd903690600401610261565b6001808251111561012e57805b610110575b61010c6100fb836105c2565b516040519081529081906020820190565b0390f35b80825111156101295761012381926106e1565b916100ea565b6100ef565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f776f6e27742067656e657261746520726f6f7420666f722073696e676c65206c60448201527f65616600000000000000000000000000000000000000000000000000000000006064820152fd5b5080fd5b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761022d57604052565b6102356101b9565b604052565b60209067ffffffffffffffff8111610254575b60051b0190565b61025c6101b9565b61024d565b9080601f8301121561000e5781359061028161027c8361023a565b6101e9565b9182938184526020808095019260051b82010192831161000e578301905b8282106102ad575050505090565b8135815290830190830161029f565b503461000e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760243567ffffffffffffffff811161000e5761030c903690600401610261565b60443581516000925b81841061032b5760405160043584148152602090f35b909161034460019161033d86856105fe565b519061059f565b9301929190610315565b6020908160408183019282815285518094520193019160005b828110610375575050505090565b835185529381019392810192600101610367565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff811161000e576103d9903690600401610261565b602435906001906103ec82825111610612565b6103fe6103f98251610857565b61069c565b92600080845b610417575b6040518061010c888261034e565b8351858111156104b5578584939261047a9282808098161460001461048457506104637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8601886105fe565b5161046e828b6105fe565b525b0192841c946106e1565b9392919091610404565b8583019081036104a057508361049a828b6105fe565b52610470565b6104aa90886105fe565b5161049a828b6105fe565b50610409565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760206104f8600435610857565b604051908152f35b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760206104f860243560043561059f565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435806000815b610592576020925060405191806001811901161490038152f35b600192831c920182610578565b818110156105b6576000526020525b604060002090565b906000526020526105ae565b8051156105cf5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80518210156105cf5760209160051b010190565b1561061957565b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f776f6e27742067656e65726174652070726f6f6620666f722073696e676c652060448201527f6c656166000000000000000000000000000000000000000000000000000000006064820152fd5b906106a961027c8361023a565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06106d7829461023a565b0190602036910137565b90815160019081808216146000146107b5576107008282811c0161069c565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61072e818401876105fe565b5160008052602052610748604060002091855101856105fe565b525b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff839101925b8382106107835750929450505050565b826002916107a1610794858b6105fe565b5161033d8487018c6105fe565b6107ab82896105fe565b5201910190610773565b6107c081831c61069c565b9161074a565b90604082018092116107d457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b90602082018092116107d457565b90601082018092116107d457565b90600882018092116107d457565b90600482018092116107d457565b90600282018092116107d457565b90600182018092116107d457565b600181111561098f5760009080700100000000000000000000000000000000811015610984575b80680100000000000000006002921015610971575b64010000000081101561095e575b6201000081101561094b575b610100811015610938575b6010811015610925575b6004811015610913575b1015610903575b806108de8119610849565b1614806108fa575b156108ee5790565b6108f790610849565b90565b508015156108e6565b9061090d90610849565b906108d3565b61091f90821c9361083b565b926108cc565b6109329060041c9361082d565b926108c2565b6109459060081c9361081f565b926108b8565b6109589060101c93610811565b926108ad565b61096b9060201c93610803565b926108a1565b61097e9060401c936107c6565b92610893565b60809250821c61087e565b5060009056fea2646970667358221220650092d06c64a854998a58e5cd96f8e0448fd77fec5223c7c61572a2d37349dd64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2E08D602 EQ PUSH2 0x8E JUMPI POP DUP1 PUSH4 0x58161A42 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0xB8616195 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xCF06C7B7 EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0xDD1D2599 EQ PUSH2 0x6A JUMPI PUSH4 0xE27D5153 EQ PUSH2 0x62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x540 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x500 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x4BB JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x389 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x2BC JUMP JUMPDEST CALLVALUE PUSH2 0x1B6 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1B6 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1B2 JUMPI PUSH2 0xDD SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP3 MLOAD GT ISZERO PUSH2 0x12E JUMPI DUP1 JUMPDEST PUSH2 0x110 JUMPI JUMPDEST PUSH2 0x10C PUSH2 0xFB DUP4 PUSH2 0x5C2 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST DUP1 DUP3 MLOAD GT ISZERO PUSH2 0x129 JUMPI PUSH2 0x123 DUP2 SWAP3 PUSH2 0x6E1 JUMP JUMPDEST SWAP2 PUSH2 0xEA JUMP JUMPDEST PUSH2 0xEF JUMP JUMPDEST PUSH1 0x84 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x776F6E27742067656E657261746520726F6F7420666F722073696E676C65206C PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6561660000000000000000000000000000000000000000000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST DUP1 REVERT JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x40 MLOAD SWAP4 ADD AND DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x22D JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x235 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x254 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1B9 JUMP JUMPDEST PUSH2 0x24D JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0xE JUMPI DUP2 CALLDATALOAD SWAP1 PUSH2 0x281 PUSH2 0x27C DUP4 PUSH2 0x23A JUMP JUMPDEST PUSH2 0x1E9 JUMP JUMPDEST SWAP2 DUP3 SWAP4 DUP2 DUP5 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP6 ADD SWAP3 PUSH1 0x5 SHL DUP3 ADD ADD SWAP3 DUP4 GT PUSH2 0xE JUMPI DUP4 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x2AD JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP2 CALLDATALOAD DUP2 MSTORE SWAP1 DUP4 ADD SWAP1 DUP4 ADD PUSH2 0x29F JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x30C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD DUP2 MLOAD PUSH1 0x0 SWAP3 JUMPDEST DUP2 DUP5 LT PUSH2 0x32B JUMPI PUSH1 0x40 MLOAD PUSH1 0x4 CALLDATALOAD DUP5 EQ DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST SWAP1 SWAP2 PUSH2 0x344 PUSH1 0x1 SWAP2 PUSH2 0x33D DUP7 DUP6 PUSH2 0x5FE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x59F JUMP JUMPDEST SWAP4 ADD SWAP3 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 PUSH1 0x40 DUP2 DUP4 ADD SWAP3 DUP3 DUP2 MSTORE DUP6 MLOAD DUP1 SWAP5 MSTORE ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x375 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x367 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x3D9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3EC DUP3 DUP3 MLOAD GT PUSH2 0x612 JUMP JUMPDEST PUSH2 0x3FE PUSH2 0x3F9 DUP3 MLOAD PUSH2 0x857 JUMP JUMPDEST PUSH2 0x69C JUMP JUMPDEST SWAP3 PUSH1 0x0 DUP1 DUP5 JUMPDEST PUSH2 0x417 JUMPI JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x10C DUP9 DUP3 PUSH2 0x34E JUMP JUMPDEST DUP4 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x4B5 JUMPI DUP6 DUP5 SWAP4 SWAP3 PUSH2 0x47A SWAP3 DUP3 DUP1 DUP1 SWAP9 AND EQ PUSH1 0x0 EQ PUSH2 0x484 JUMPI POP PUSH2 0x463 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 ADD DUP9 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x46E DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST MSTORE JUMPDEST ADD SWAP3 DUP5 SHR SWAP5 PUSH2 0x6E1 JUMP JUMPDEST SWAP4 SWAP3 SWAP2 SWAP1 SWAP2 PUSH2 0x404 JUMP JUMPDEST DUP6 DUP4 ADD SWAP1 DUP2 SUB PUSH2 0x4A0 JUMPI POP DUP4 PUSH2 0x49A DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST MSTORE PUSH2 0x470 JUMP JUMPDEST PUSH2 0x4AA SWAP1 DUP9 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x49A DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST POP PUSH2 0x409 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH2 0x4F8 PUSH1 0x4 CALLDATALOAD PUSH2 0x857 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH2 0x4F8 PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH2 0x59F JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD DUP1 PUSH1 0x0 DUP2 JUMPDEST PUSH2 0x592 JUMPI PUSH1 0x20 SWAP3 POP PUSH1 0x40 MLOAD SWAP2 DUP1 PUSH1 0x1 DUP2 NOT ADD AND EQ SWAP1 SUB DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 SWAP3 DUP4 SHR SWAP3 ADD DUP3 PUSH2 0x578 JUMP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5B6 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE JUMPDEST PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH2 0x5AE JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x5CF JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x5CF JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST ISZERO PUSH2 0x619 JUMPI JUMP JUMPDEST PUSH1 0x84 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x776F6E27742067656E65726174652070726F6F6620666F722073696E676C6520 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6C65616600000000000000000000000000000000000000000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x6A9 PUSH2 0x27C DUP4 PUSH2 0x23A JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x6D7 DUP3 SWAP5 PUSH2 0x23A JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD PUSH1 0x1 SWAP1 DUP2 DUP1 DUP3 AND EQ PUSH1 0x0 EQ PUSH2 0x7B5 JUMPI PUSH2 0x700 DUP3 DUP3 DUP2 SHR ADD PUSH2 0x69C JUMP JUMPDEST SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x72E DUP2 DUP5 ADD DUP8 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 MSTORE PUSH2 0x748 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 DUP6 MLOAD ADD DUP6 PUSH2 0x5FE JUMP JUMPDEST MSTORE JUMPDEST PUSH1 0x0 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SWAP2 ADD SWAP3 JUMPDEST DUP4 DUP3 LT PUSH2 0x783 JUMPI POP SWAP3 SWAP5 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x2 SWAP2 PUSH2 0x7A1 PUSH2 0x794 DUP6 DUP12 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x33D DUP5 DUP8 ADD DUP13 PUSH2 0x5FE JUMP JUMPDEST PUSH2 0x7AB DUP3 DUP10 PUSH2 0x5FE JUMP JUMPDEST MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x773 JUMP JUMPDEST PUSH2 0x7C0 DUP2 DUP4 SHR PUSH2 0x69C JUMP JUMPDEST SWAP2 PUSH2 0x74A JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x10 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x8 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x98F JUMPI PUSH1 0x0 SWAP1 DUP1 PUSH17 0x100000000000000000000000000000000 DUP2 LT ISZERO PUSH2 0x984 JUMPI JUMPDEST DUP1 PUSH9 0x10000000000000000 PUSH1 0x2 SWAP3 LT ISZERO PUSH2 0x971 JUMPI JUMPDEST PUSH5 0x100000000 DUP2 LT ISZERO PUSH2 0x95E JUMPI JUMPDEST PUSH3 0x10000 DUP2 LT ISZERO PUSH2 0x94B JUMPI JUMPDEST PUSH2 0x100 DUP2 LT ISZERO PUSH2 0x938 JUMPI JUMPDEST PUSH1 0x10 DUP2 LT ISZERO PUSH2 0x925 JUMPI JUMPDEST PUSH1 0x4 DUP2 LT ISZERO PUSH2 0x913 JUMPI JUMPDEST LT ISZERO PUSH2 0x903 JUMPI JUMPDEST DUP1 PUSH2 0x8DE DUP2 NOT PUSH2 0x849 JUMP JUMPDEST AND EQ DUP1 PUSH2 0x8FA JUMPI JUMPDEST ISZERO PUSH2 0x8EE JUMPI SWAP1 JUMP JUMPDEST PUSH2 0x8F7 SWAP1 PUSH2 0x849 JUMP JUMPDEST SWAP1 JUMP JUMPDEST POP DUP1 ISZERO ISZERO PUSH2 0x8E6 JUMP JUMPDEST SWAP1 PUSH2 0x90D SWAP1 PUSH2 0x849 JUMP JUMPDEST SWAP1 PUSH2 0x8D3 JUMP JUMPDEST PUSH2 0x91F SWAP1 DUP3 SHR SWAP4 PUSH2 0x83B JUMP JUMPDEST SWAP3 PUSH2 0x8CC JUMP JUMPDEST PUSH2 0x932 SWAP1 PUSH1 0x4 SHR SWAP4 PUSH2 0x82D JUMP JUMPDEST SWAP3 PUSH2 0x8C2 JUMP JUMPDEST PUSH2 0x945 SWAP1 PUSH1 0x8 SHR SWAP4 PUSH2 0x81F JUMP JUMPDEST SWAP3 PUSH2 0x8B8 JUMP JUMPDEST PUSH2 0x958 SWAP1 PUSH1 0x10 SHR SWAP4 PUSH2 0x811 JUMP JUMPDEST SWAP3 PUSH2 0x8AD JUMP JUMPDEST PUSH2 0x96B SWAP1 PUSH1 0x20 SHR SWAP4 PUSH2 0x803 JUMP JUMPDEST SWAP3 PUSH2 0x8A1 JUMP JUMPDEST PUSH2 0x97E SWAP1 PUSH1 0x40 SHR SWAP4 PUSH2 0x7C6 JUMP JUMPDEST SWAP3 PUSH2 0x893 JUMP JUMPDEST PUSH1 0x80 SWAP3 POP DUP3 SHR PUSH2 0x87E JUMP JUMPDEST POP PUSH1 0x0 SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0x92D06C64A8 SLOAD SWAP10 DUP11 PC 0xE5 0xCD SWAP7 0xF8 0xE0 DIFFICULTY DUP16 0xD7 PUSH32 0xEC5223C7C61572A2D37349DD64736F6C63430008110033000000000000000000 ", + "sourceMap": "242:576:16:-:0;;;;;;;;;-1:-1:-1;242:576:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1089:1:17;242:576:16;;;1075:15:17;242:576:16;;;1140:70:17;1089:1;;;1140:70;242:576:16;1226:7:17;;;:::i;:::-;242:576:16;;;;;;;;;;;;;;;;;;1140:70:17;242:576:16;;;1146:15:17;;;;1184;;;;:::i;:::-;1140:70;;;1146:15;;;242:576:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;736:115:17;752:10;;;;;;242:576:16;;;;877:19:17;;242:576:16;;;;;764:3:17;827:8;;800:36;242:576:16;827:8:17;;;;;:::i;:::-;242:576:16;800:36:17;;:::i;:::-;764:3;242:576:16;740:10:17;;;;;242:576:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1372:1:17;;242:576:16;1350:64:17;242:576:16;;;1358:15:17;1350:64;:::i;:::-;1527:44;1541:29;242:576:16;;1541:29:17;:::i;:::-;1527:44;:::i;:::-;1581:15;-1:-1:-1;;1581:15:17;1372:1;;;1910:475;242:576:16;;;;;;;:::i;1910:475:17:-;242:576:16;;1916:15:17;;;;;;1978:10;;;;2359:15;1978:10;;;;;;:15;1975:300;1372:1;;;242:576:16;2031:14:17;242:576:16;;;2031:14:17;;:::i;:::-;242:576:16;2017:28:17;;;;:::i;:::-;242:576:16;1975:300:17;242:576:16;;;;2359:15:17;;:::i;:::-;1910:475;;;;;;;1975:300;242:576:16;;;;2091:23:17;;;;2138:24;;;;;;:::i;:::-;242:576:16;1975:300:17;;2087:188;2242:14;;;;:::i;:::-;242:576:16;2228:28:17;;;;:::i;1916:15::-;;;;242:576:16;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;242:576:16;4880:5:17;;;242:576:16;;;;;3936:769:17;;;;;;;;242:576:16;;;;;4873:78:17;3936:769;242:576:16;;;;;;4873:78:17;;407:409:16;513:297;;;;;;;;;;;;;;407:409;:::o;513:297::-;;;;;;;;242:576;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::o;2493:990:17:-;;242:576:16;;2933:3:17;2924:12;;;;;:17;2920:251;2933:3;;;2969:29;242:576:16;;;;;2969:29:17;:::i;:::-;242:576:16;;3058:16:17;242:576:16;;;3058:16:17;;:::i;:::-;242:576:16;-1:-1:-1;513:297:16;;;;3016:71:17;513:297:16;-1:-1:-1;513:297:16;242:576;;;;3016:71:17;;:::i;:::-;242:576:16;2920:251:17;-1:-1:-1;3307:13:17;242:576:16;3307:13:17;242:576:16;;3302:142:17;3322:12;;;;;;-1:-1:-1;3463:13:17;;-1:-1:-1;;;;2493:990:17:o;3336:4::-;3387:7;3339:1;3387:7;3373:33;3387:7;;;;:::i;:::-;242:576:16;3396:9:17;242:576:16;;;3396:9:17;;:::i;3373:33::-;3359:47;;;;:::i;:::-;242:576:16;;3336:4:17;242:576:16;3307:13:17;;;2920:251;3135:25;242:576:16;;;3135:25:17;:::i;:::-;2920:251;;;242:576:16;;5478:2:17;242:576:16;;;;;;;:::o;:::-;;;;;;;;;;;;5559:2:17;242:576:16;;;;;;;:::o;:::-;;5640:2:17;242:576:16;;;;;;;:::o;:::-;;5720:1:17;242:576:16;;;;;;;:::o;:::-;;5798:1:17;242:576:16;;;;;;;:::o;:::-;;5876:1:17;242:576:16;;;;;;;:::o;:::-;;5264:1:17;242:576:16;;;;;;;:::o;5179:952:17:-;5264:1;5259:6;;;5255:45;;5323:1;5334:14;;5367:6;5362:11;;;5358:75;;5179:952;5446:10;5451:5;5928:4;5446:10;;;5442:72;;5179:952;5532:5;5527:10;;;5523:72;;5179:952;5613:5;5608:10;;;5604:72;;5179:952;5694:4;5689:9;;;5685:69;;5179:952;5772:4;5767:9;;;5763:69;;5179:952;5850:4;5845:9;;;5841:69;;5179:952;5923:9;;5919:48;;5179:952;5992:3;:7;:3;;:7;:::i;:::-;5991:14;6020:9;6019:24;;;5179:952;6015:110;;;6059:10;:::o;6015:110::-;6107:7;;;:::i;:::-;6100:14;:::o;6019:24::-;6035:7;;;;6019:24;;5919:48;5948:8;;;;:::i;:::-;5919:48;;;5841:69;5891:8;242:576:16;;;5891:8:17;;:::i;:::-;5841:69;;;5763;5813:8;242:576:16;;;5813:8:17;;:::i;:::-;5763:69;;;5685;5735:8;242:576:16;;;5735:8:17;;:::i;:::-;5685:69;;;5604:72;5656:9;242:576:16;;;5656:9:17;;:::i;:::-;5604:72;;;5523;5575:9;242:576:16;;;5575:9:17;;:::i;:::-;5523:72;;;5442;5494:9;242:576:16;;;5494:9:17;;:::i;:::-;5442:72;;;5358:75;242:576:16;;-1:-1:-1;242:576:16;;5358:75:17;;5255:45;5281:8;5288:1;5281:8;:::o", + "linkReferences": {} + }, + "methodIdentifiers": { + "getProof(bytes32[],uint256)": "b8616195", + "getRoot(bytes32[])": "2e08d602", + "hashLeafPairs(bytes32,bytes32)": "dd1d2599", + "log2ceil(uint256)": "e27d5153", + "log2ceilBitMagic(uint256)": "cf06c7b7", + "verifyProof(bytes32,bytes32[],bytes32)": "58161a42" + } + } + } + }, + "lib/murky/src/common/MurkyBase.sol": { + "MurkyBase": { + "abi": [ + { + "type": "function", + "name": "getProof", + "inputs": [ + { + "name": "data", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "node", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getRoot", + "inputs": [ + { + "name": "data", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "hashLeafPairs", + "inputs": [ + { + "name": "left", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "right", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "_hash", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "log2ceil", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "log2ceilBitMagic", + "inputs": [ + { + "name": "x", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "verifyProof", + "inputs": [ + { + "name": "root", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "valueToProve", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"node\",\"type\":\"uint256\"}],\"name\":\"getProof\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"getRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"hashLeafPairs\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"log2ceil\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"log2ceilBitMagic\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32\",\"name\":\"valueToProve\",\"type\":\"bytes32\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"log2ceil(uint256)\":{\"details\":\"Note that x is assumed > 0\"},\"log2ceilBitMagic(uint256)\":{\"details\":\"Note that x assumed > 1\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"log2ceilBitMagic(uint256)\":{\"notice\":\"Original bitmagic adapted from https://github.com/paulrberg/prb-math/blob/main/contracts/PRBMath.sol\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/murky/src/common/MurkyBase.sol\":\"MurkyBase\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/murky/src/common/MurkyBase.sol\":{\"keccak256\":\"0x5287741b2b215c9a11cc8482b419abde0625dfc3949d539c72ee498108842894\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://259e803b0811e404bba09237bce4ef42f2ff27dacaca770d1eb7c1afddbf762b\",\"dweb:/ipfs/QmWfbsHa1siBxDEqFmbnzUuZqyitFZHmDXo2vc4cVn4uJe\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "getProof(bytes32[],uint256)": "b8616195", + "getRoot(bytes32[])": "2e08d602", + "hashLeafPairs(bytes32,bytes32)": "dd1d2599", + "log2ceil(uint256)": "e27d5153", + "log2ceilBitMagic(uint256)": "cf06c7b7", + "verifyProof(bytes32,bytes32[],bytes32)": "58161a42" + } + } + } + }, + "lib/permit2/src/AllowanceTransfer.sol": { + "AllowanceTransfer": { + "abi": [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "internalType": "uint48" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "invalidateNonces", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint48", + "internalType": "uint48" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "lockdown", + "inputs": [ + { + "name": "approvals", + "type": "tuple[]", + "internalType": "struct IAllowanceTransfer.TokenSpenderPair[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "permitBatch", + "type": "tuple", + "internalType": "struct IAllowanceTransfer.PermitBatch", + "components": [ + { + "name": "details", + "type": "tuple[]", + "internalType": "struct IAllowanceTransfer.PermitDetails[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "internalType": "uint48" + } + ] + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "sigDeadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "permitSingle", + "type": "tuple", + "internalType": "struct IAllowanceTransfer.PermitSingle", + "components": [ + { + "name": "details", + "type": "tuple", + "internalType": "struct IAllowanceTransfer.PermitDetails", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "internalType": "uint48" + } + ] + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "sigDeadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "transferDetails", + "type": "tuple[]", + "internalType": "struct IAllowanceTransfer.AllowanceTransferDetails[]", + "components": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "indexed": false, + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Lockdown", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NonceInvalidation", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "oldNonce", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "indexed": false, + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AllowanceExpired", + "inputs": [ + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ExcessiveInvalidation", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientAllowance", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "InvalidContractSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidNonce", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignatureLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSigner", + "inputs": [] + }, + { + "type": "error", + "name": "SignatureExpired", + "inputs": [ + { + "name": "signatureDeadline", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"AllowanceExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExcessiveInvalidation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidContractSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"signatureDeadline\",\"type\":\"uint256\"}],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"Lockdown\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"newNonce\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"oldNonce\",\"type\":\"uint48\"}],\"name\":\"NonceInvalidation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"name\":\"Permit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"newNonce\",\"type\":\"uint48\"}],\"name\":\"invalidateNonces\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"internalType\":\"struct IAllowanceTransfer.TokenSpenderPair[]\",\"name\":\"approvals\",\"type\":\"tuple[]\"}],\"name\":\"lockdown\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"internalType\":\"struct IAllowanceTransfer.PermitDetails[]\",\"name\":\"details\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sigDeadline\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowanceTransfer.PermitBatch\",\"name\":\"permitBatch\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"internalType\":\"struct IAllowanceTransfer.PermitDetails\",\"name\":\"details\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sigDeadline\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowanceTransfer.PermitSingle\",\"name\":\"permitSingle\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct IAllowanceTransfer.AllowanceTransferDetails[]\",\"name\":\"transferDetails\",\"type\":\"tuple[]\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AllowanceExpired(uint256)\":[{\"params\":{\"deadline\":\"The timestamp at which the allowed amount is no longer valid\"}}],\"InsufficientAllowance(uint256)\":[{\"params\":{\"amount\":\"The maximum amount allowed\"}}],\"SignatureExpired(uint256)\":[{\"params\":{\"signatureDeadline\":\"The timestamp at which a signature is no longer valid\"}}]},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Uses cached version if chainid and address are unchanged from construction.\"},\"approve(address,address,uint160,uint48)\":{\"details\":\"The packed allowance also holds a nonce, which will stay unchanged in approveSetting amount to type(uint160).max sets an unlimited approval\",\"params\":{\"amount\":\"The approved amount of the token\",\"expiration\":\"The timestamp at which the approval is no longer valid\",\"spender\":\"The spender address to approve\",\"token\":\"The token to approve\"}},\"invalidateNonces(address,address,uint48)\":{\"details\":\"Can't invalidate more than 2**16 nonces per transaction.\",\"params\":{\"newNonce\":\"The new nonce to set. Invalidates all nonces less than it.\",\"spender\":\"The spender to invalidate nonces for\",\"token\":\"The token to invalidate nonces for\"}},\"lockdown((address,address)[])\":{\"params\":{\"approvals\":\"Array of approvals to revoke.\"}},\"permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)\":{\"details\":\"May fail if the owner's nonce was invalidated in-flight by invalidateNonce\",\"params\":{\"owner\":\"The owner of the tokens being approved\",\"permitSingle\":\"Data signed over by the owner specifying the terms of approval\",\"signature\":\"The owner's signature over the permit data\"}},\"permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)\":{\"details\":\"May fail if the owner's nonce was invalidated in-flight by invalidateNonce\",\"params\":{\"owner\":\"The owner of the tokens being approved\",\"permitBatch\":\"Data signed over by the owner specifying the terms of approval\",\"signature\":\"The owner's signature over the permit data\"}},\"transferFrom((address,address,uint160,address)[])\":{\"details\":\"Requires the from addresses to have approved at least the desired amount of tokens to msg.sender.\",\"params\":{\"transferDetails\":\"Array of owners, recipients, amounts, and tokens for the transfers\"}},\"transferFrom(address,address,uint160,address)\":{\"details\":\"Requires the from address to have approved at least the desired amount of tokens to msg.sender.\",\"params\":{\"amount\":\"The amount of the token to transfer\",\"from\":\"The address to transfer from\",\"to\":\"The address of the recipient\",\"token\":\"The token address to transfer\"}}},\"stateVariables\":{\"allowance\":{\"details\":\"Indexed in the order of token owner address, token address, spender addressThe stored word saves the allowed amount, expiration on the allowance, and nonce\"}},\"version\":1},\"userdoc\":{\"errors\":{\"AllowanceExpired(uint256)\":[{\"notice\":\"Thrown when an allowance on a token has expired.\"}],\"ExcessiveInvalidation()\":[{\"notice\":\"Thrown when too many nonces are invalidated.\"}],\"InsufficientAllowance(uint256)\":[{\"notice\":\"Thrown when an allowance on a token has been depleted.\"}],\"InvalidContractSignature()\":[{\"notice\":\"Thrown when the recovered contract signature is incorrect\"}],\"InvalidNonce()\":[{\"notice\":\"Thrown when validating that the inputted nonce has not been used\"}],\"InvalidSignature()\":[{\"notice\":\"Thrown when the recovered signer is equal to the zero address\"}],\"InvalidSignatureLength()\":[{\"notice\":\"Thrown when the passed in signature is not a valid length\"}],\"InvalidSigner()\":[{\"notice\":\"Thrown when the recovered signer does not equal the claimedSigner\"}],\"SignatureExpired(uint256)\":[{\"notice\":\"Thrown when validating an inputted signature that is stale\"}]},\"events\":{\"Approval(address,address,address,uint160,uint48)\":{\"notice\":\"Emits an event when the owner successfully sets permissions on a token for the spender.\"},\"Lockdown(address,address,address)\":{\"notice\":\"Emits an event when the owner sets the allowance back to 0 with the lockdown function.\"},\"NonceInvalidation(address,address,address,uint48,uint48)\":{\"notice\":\"Emits an event when the owner successfully invalidates an ordered nonce.\"},\"Permit(address,address,address,uint160,uint48,uint48)\":{\"notice\":\"Emits an event when the owner successfully sets permissions using a permit signature on a token for the spender.\"}},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"Returns the domain separator for the current chain.\"},\"allowance(address,address,address)\":{\"notice\":\"Maps users to tokens to spender addresses and information about the approval on the token\"},\"approve(address,address,uint160,uint48)\":{\"notice\":\"Approves the spender to use up to amount of the specified token up until the expiration\"},\"invalidateNonces(address,address,uint48)\":{\"notice\":\"Invalidate nonces for a given (token, spender) pair\"},\"lockdown((address,address)[])\":{\"notice\":\"Enables performing a \\\"lockdown\\\" of the sender's Permit2 identity by batch revoking approvals\"},\"permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)\":{\"notice\":\"Permit a spender to a given amount of the owners token via the owner's EIP-712 signature\"},\"permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)\":{\"notice\":\"Permit a spender to the signed amounts of the owners tokens via the owner's EIP-712 signature\"},\"transferFrom((address,address,uint160,address)[])\":{\"notice\":\"Transfer approved tokens in a batch\"},\"transferFrom(address,address,uint160,address)\":{\"notice\":\"Transfer approved tokens from one address to another\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/AllowanceTransfer.sol\":\"AllowanceTransfer\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/AllowanceTransfer.sol\":{\"keccak256\":\"0x83a47e7841f9d285eb7f0fd977fedb808640714cb9822a104bab99fe5cbb58ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f0de543f076f8556690f236dc431277acf9c91c04916a46040194b03ea9836\",\"dweb:/ipfs/QmQ5YLFHexR2WTNXDGu4y6WjRmLPzrdH92j7NDQzT8Jevp\"]},\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a557826040525190206080526116b790816100c18239608051816111ed015260a051816111c70152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630d58b1db14610b7d5780632a2d80d11461081a5780632b67b570146106035780633644e515146105c257806336c785161461054f57806365d9723c146103ac57806387517c4514610272578063927da105146101c65763cc53287f1461007f57600080fd5b346101c1576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c15767ffffffffffffffff906004358281116101c157366023820112156101c15780600401359283116101c1576024810190602436918560061b0101116101c15760005b8381106100fa57005b8061011061010b6001938786611013565b611023565b6101258561011f848988611013565b01611023565b336000526000865260406000209173ffffffffffffffffffffffffffffffffffffffff80911692836000528752604060002091169081600052865260406000207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055604051918252858201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a460403392a2016100f1565b600080fd5b346101c15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c1576101fd610ca9565b610205610ccc565b61020d610cef565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526020818152604080832094861683529381528382209285168252918252829020548251938116845265ffffffffffff60a082901c169184019190915260d01c90820152606090f35b346101c15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c1576102a9610ca9565b6102b1610ccc565b906102ba610cef565b65ffffffffffff91606435838116918282036101c15779ffffffffffff0000000000000000000000000000000000000000933360005260006020527fffffffffffff000000000000000000000000000000000000000000000000000060406000209673ffffffffffffffffffffffffffffffffffffffff80941697886000526020528360406000209916988960005260205260406000209486156000146103a457504216925b8454921695869360a01b1691161717905560405191825260208201527fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b60403392a4005b905092610360565b346101c15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c1576103e3610ca9565b6103eb610ccc565b9060443565ffffffffffff808216918281036101c157336000526020906000825260406000209473ffffffffffffffffffffffffffffffffffffffff80911695866000528352604060002096169586600052825260406000205460d01c92838511156105255761ffff9084830316116104fb5733600052600082526040600020856000528252604060002086600052825260406000209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b1691161790556040519283528201527f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f360403392a4005b60046040517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b346101c15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c157610586610ca9565b61058e610ccc565b610596610cef565b6064359173ffffffffffffffffffffffffffffffffffffffff831683036101c1576105c093610e48565b005b346101c15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c15760206105fb6111c4565b604051908152f35b346101c1576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c15761063b610ca9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36019060c082126101c157604051906060820167ffffffffffffffff93838210858311176107eb5760809082604052126101c15761069981610d33565b73ffffffffffffffffffffffffffffffffffffffff9060243582811681036101c157815260443582811681036101c157608085015265ffffffffffff60643581811681036101c15760a086015260843590811681036101c15760c0850152835260a4359281841684036101c1576020810193845260c43594604082019086825260e4359081116101c157610731903690600401610dd7565b9190968042116107ba57506105c0966107b0926107aa879361075387516112e2565b90888b511690516040519160208301937ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08552604084015260608301526080820152608081526107a281610d4f565b51902061127f565b9161138e565b5192511691611044565b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b346101c1577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101c157610852610ca9565b906024359067ffffffffffffffff908183116101c15760609083360301126101c1576040519160608301838110838211176107eb5760405280600401358281116101c1578101366023820112156101c15760048101356108b181610dac565b916108bf6040519384610d6b565b8183526024602084019260071b820101903682116101c157602401915b818310610b1b5750505083526044906108f760248201610d12565b60208501520135908160408401526044359081116101c15761091d903690600401610dd7565b918042116107ba5750838351519161093483610dac565b926109426040519485610d6b565b8084527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061096f82610dac565b0136602086013760005b818110610a94575050604051602081019081602086519196019060005b818110610a7b575050506109d481610a4596037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d6b565b519020936107aa73ffffffffffffffffffffffffffffffffffffffff958660208901511660408901516040519160208301937faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638552604084015260608301526080820152608081526107a281610d4f565b602082015116908051519160005b838110610a5c57005b80610a758387610a6f6001958851610e05565b51611044565b01610a53565b825188526020978801978b975090920191600101610996565b9091939250610aad610aa7828851610e05565b516112e2565b610ab78285610e05565b527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610aec576001019086929391610979565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6080833603126101c1576020608091604051610b3681610d33565b610b3f86610d12565b8152610b4c838701610d12565b83820152610b5c60408701610dc4565b6040820152610b6d60608701610dc4565b60608201528152019201916108dc565b346101c1576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c15767ffffffffffffffff6004358181116101c157366023820112156101c15780600401359182116101c1576024906007368385831b840101116101c15760005b848110610bf557005b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83360301126101c157610ca3600192604051610c3981610d33565b610c44888301610d12565b8082526060610c5560448501610d12565b92838d820152610c796084610c6c60648801610d12565b9687604085015201610d12565b918291015273ffffffffffffffffffffffffffffffffffffffff8080809316951693169116610e48565b01610bec565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101c157565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101c157565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036101c157565b359073ffffffffffffffffffffffffffffffffffffffff821682036101c157565b6080810190811067ffffffffffffffff8211176107eb57604052565b60a0810190811067ffffffffffffffff8211176107eb57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176107eb57604052565b67ffffffffffffffff81116107eb5760051b60200190565b359065ffffffffffff821682036101c157565b9181601f840112156101c15782359167ffffffffffffffff83116101c157602083818601950101116101c157565b8051821015610e195760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92909273ffffffffffffffffffffffffffffffffffffffff91600092808316845283602052604094818686209316928386526020528585203386526020528585209687549765ffffffffffff8960a01c16804211610fe3575083891698848a03610f6b575b505086975092859692869593926064956020989451957f23b872dd000000000000000000000000000000000000000000000000000000008752600487015260248601521660448401525af19051600114601f3d11163d15171615610f0e5750565b606490517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b8985851611600014610fa75760248a8a51907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000016988390038416989098179097559495869590826020610ead565b6024908951907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9190811015610e195760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036101c15790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff9081855116948260208201511692808660408094015116951695600091878352826020528383208984526020528383209916988983526020528282209184835460d01c0361119b57918561117494927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec989796945087156000146111795779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff000000000000000000000000000000000000000087611106565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f00000000000000000000000000000000000000000000000000000000000000000361120f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261127981610d4f565b51902090565b6112876111c4565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526080810181811067ffffffffffffffff8211176107eb5760405251902090565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176107eb5760405251902090565b91908260409103126101c1576020823592013590565b6000843b6114f5575060418203611473576113ab82820182611378565b93909260401015610e195760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa156114675773ffffffffffffffffffffffffffffffffffffffff806000511691821561143d57160361141357565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b604082036114cb5761148791810190611378565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211610aec5760209360009360ff6080946113c9565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa9081156116765782916115f1575b507fffffffff00000000000000000000000000000000000000000000000000000000915016036115c757565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d821161166e575b8161160b60209383610d6b565b8101031261166a5751907fffffffff000000000000000000000000000000000000000000000000000000008216820361166757507fffffffff00000000000000000000000000000000000000000000000000000000903861159b565b80fd5b5080fd5b3d91506115fe565b6040513d84823e3d90fdfea264697066735822122093c726e6e068dec70077d9a5765ec2afc210ace99697f3831d41fb711e43f0ba64736f6c63430008110033", + "opcodes": "PUSH1 0xC0 CALLVALUE PUSH2 0xBB JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA5 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x16B7 SWAP1 DUP2 PUSH2 0xC1 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x11ED ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0x11C7 ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0xB7D JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0x81A JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0x603 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x5C2 JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x54F JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x3AC JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x272 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x1C6 JUMPI PUSH4 0xCC53287F EQ PUSH2 0x7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x4 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x1C1 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x1C1 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x1C1 JUMPI PUSH1 0x24 DUP2 ADD SWAP1 PUSH1 0x24 CALLDATASIZE SWAP2 DUP6 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x1C1 JUMPI PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xFA JUMPI STOP JUMPDEST DUP1 PUSH2 0x110 PUSH2 0x10B PUSH1 0x1 SWAP4 DUP8 DUP7 PUSH2 0x1013 JUMP JUMPDEST PUSH2 0x1023 JUMP JUMPDEST PUSH2 0x125 DUP6 PUSH2 0x11F DUP5 DUP10 DUP9 PUSH2 0x1013 JUMP JUMPDEST ADD PUSH2 0x1023 JUMP JUMPDEST CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP7 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 PUSH1 0x0 MSTORE DUP8 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 AND SWAP1 DUP2 PUSH1 0x0 MSTORE DUP7 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE DUP6 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 PUSH1 0x40 CALLER SWAP3 LOG2 ADD PUSH2 0xF1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x1FD PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0x205 PUSH2 0xCCC JUMP JUMPDEST PUSH2 0x20D PUSH2 0xCEF JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP7 AND DUP4 MSTORE SWAP4 DUP2 MSTORE DUP4 DUP3 KECCAK256 SWAP3 DUP6 AND DUP3 MSTORE SWAP2 DUP3 MSTORE DUP3 SWAP1 KECCAK256 SLOAD DUP3 MLOAD SWAP4 DUP2 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0xA0 DUP3 SWAP1 SHR AND SWAP2 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xD0 SHR SWAP1 DUP3 ADD MSTORE PUSH1 0x60 SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x2A9 PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0x2B1 PUSH2 0xCCC JUMP JUMPDEST SWAP1 PUSH2 0x2BA PUSH2 0xCEF JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP2 PUSH1 0x64 CALLDATALOAD DUP4 DUP2 AND SWAP2 DUP3 DUP3 SUB PUSH2 0x1C1 JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP4 CALLER PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP8 DUP9 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE DUP4 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP10 AND SWAP9 DUP10 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x3A4 JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP6 DUP7 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B PUSH1 0x40 CALLER SWAP3 LOG4 STOP JUMPDEST SWAP1 POP SWAP3 PUSH2 0x360 JUMP JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x3E3 PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0x3EB PUSH2 0xCCC JUMP JUMPDEST SWAP1 PUSH1 0x44 CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND SWAP2 DUP3 DUP2 SUB PUSH2 0x1C1 JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 PUSH1 0x0 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP6 DUP7 PUSH1 0x0 MSTORE DUP4 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP7 AND SWAP6 DUP7 PUSH1 0x0 MSTORE DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP3 DUP4 DUP6 GT ISZERO PUSH2 0x525 JUMPI PUSH2 0xFFFF SWAP1 DUP5 DUP4 SUB AND GT PUSH2 0x4FB JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP6 PUSH1 0x0 MSTORE DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP7 PUSH1 0x0 MSTORE DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE DUP3 ADD MSTORE PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 PUSH1 0x40 CALLER SWAP3 LOG4 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x586 PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0x58E PUSH2 0xCCC JUMP JUMPDEST PUSH2 0x596 PUSH2 0xCEF JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x1C1 JUMPI PUSH2 0x5C0 SWAP4 PUSH2 0xE48 JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x0 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH1 0x20 PUSH2 0x5FB PUSH2 0x11C4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH2 0x100 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x63B PUSH2 0xCA9 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD SWAP1 PUSH1 0xC0 DUP3 SLT PUSH2 0x1C1 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x60 DUP3 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP4 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x7EB JUMPI PUSH1 0x80 SWAP1 DUP3 PUSH1 0x40 MSTORE SLT PUSH2 0x1C1 JUMPI PUSH2 0x699 DUP2 PUSH2 0xD33 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP3 DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI PUSH1 0x80 DUP6 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI PUSH1 0xA0 DUP7 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI PUSH1 0xC0 DUP6 ADD MSTORE DUP4 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP3 DUP2 DUP5 AND DUP5 SUB PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP2 ADD SWAP4 DUP5 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP5 PUSH1 0x40 DUP3 ADD SWAP1 DUP7 DUP3 MSTORE PUSH1 0xE4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x1C1 JUMPI PUSH2 0x731 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0xDD7 JUMP JUMPDEST SWAP2 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0x7BA JUMPI POP PUSH2 0x5C0 SWAP7 PUSH2 0x7B0 SWAP3 PUSH2 0x7AA DUP8 SWAP4 PUSH2 0x753 DUP8 MLOAD PUSH2 0x12E2 JUMP JUMPDEST SWAP1 DUP9 DUP12 MLOAD AND SWAP1 MLOAD PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 ADD SWAP4 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP6 MSTORE PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x7A2 DUP2 PUSH2 0xD4F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x127F JUMP JUMPDEST SWAP2 PUSH2 0x138E JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1044 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC PUSH1 0x60 DUP2 CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x852 PUSH2 0xCA9 JUMP JUMPDEST SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 GT PUSH2 0x1C1 JUMPI PUSH1 0x60 SWAP1 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x1C1 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD DUP4 DUP2 LT DUP4 DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 ADD CALLDATALOAD DUP3 DUP2 GT PUSH2 0x1C1 JUMPI DUP2 ADD CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x1C1 JUMPI PUSH1 0x4 DUP2 ADD CALLDATALOAD PUSH2 0x8B1 DUP2 PUSH2 0xDAC JUMP JUMPDEST SWAP2 PUSH2 0x8BF PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0xD6B JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x24 PUSH1 0x20 DUP5 ADD SWAP3 PUSH1 0x7 SHL DUP3 ADD ADD SWAP1 CALLDATASIZE DUP3 GT PUSH2 0x1C1 JUMPI PUSH1 0x24 ADD SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0xB1B JUMPI POP POP POP DUP4 MSTORE PUSH1 0x44 SWAP1 PUSH2 0x8F7 PUSH1 0x24 DUP3 ADD PUSH2 0xD12 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP1 DUP2 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x1C1 JUMPI PUSH2 0x91D SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0xDD7 JUMP JUMPDEST SWAP2 DUP1 TIMESTAMP GT PUSH2 0x7BA JUMPI POP DUP4 DUP4 MLOAD MLOAD SWAP2 PUSH2 0x934 DUP4 PUSH2 0xDAC JUMP JUMPDEST SWAP3 PUSH2 0x942 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0xD6B JUMP JUMPDEST DUP1 DUP5 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x96F DUP3 PUSH2 0xDAC JUMP JUMPDEST ADD CALLDATASIZE PUSH1 0x20 DUP7 ADD CALLDATACOPY PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xA94 JUMPI POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 DUP2 PUSH1 0x20 DUP7 MLOAD SWAP2 SWAP7 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xA7B JUMPI POP POP POP PUSH2 0x9D4 DUP2 PUSH2 0xA45 SWAP7 SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0xD6B JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x7AA PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP6 DUP7 PUSH1 0x20 DUP10 ADD MLOAD AND PUSH1 0x40 DUP10 ADD MLOAD PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 ADD SWAP4 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP6 MSTORE PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x7A2 DUP2 PUSH2 0xD4F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MLOAD AND SWAP1 DUP1 MLOAD MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA5C JUMPI STOP JUMPDEST DUP1 PUSH2 0xA75 DUP4 DUP8 PUSH2 0xA6F PUSH1 0x1 SWAP6 DUP9 MLOAD PUSH2 0xE05 JUMP JUMPDEST MLOAD PUSH2 0x1044 JUMP JUMPDEST ADD PUSH2 0xA53 JUMP JUMPDEST DUP3 MLOAD DUP9 MSTORE PUSH1 0x20 SWAP8 DUP9 ADD SWAP8 DUP12 SWAP8 POP SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x996 JUMP JUMPDEST SWAP1 SWAP2 SWAP4 SWAP3 POP PUSH2 0xAAD PUSH2 0xAA7 DUP3 DUP9 MLOAD PUSH2 0xE05 JUMP JUMPDEST MLOAD PUSH2 0x12E2 JUMP JUMPDEST PUSH2 0xAB7 DUP3 DUP6 PUSH2 0xE05 JUMP JUMPDEST MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0xAEC JUMPI PUSH1 0x1 ADD SWAP1 DUP7 SWAP3 SWAP4 SWAP2 PUSH2 0x979 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x80 DUP4 CALLDATASIZE SUB SLT PUSH2 0x1C1 JUMPI PUSH1 0x20 PUSH1 0x80 SWAP2 PUSH1 0x40 MLOAD PUSH2 0xB36 DUP2 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0xB3F DUP7 PUSH2 0xD12 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xB4C DUP4 DUP8 ADD PUSH2 0xD12 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xB5C PUSH1 0x40 DUP8 ADD PUSH2 0xDC4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0xB6D PUSH1 0x60 DUP8 ADD PUSH2 0xDC4 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP3 ADD SWAP2 PUSH2 0x8DC JUMP JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x1C1 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x1C1 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP2 DUP3 GT PUSH2 0x1C1 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP6 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x1C1 JUMPI PUSH1 0x0 JUMPDEST DUP5 DUP2 LT PUSH2 0xBF5 JUMPI STOP JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0xCA3 PUSH1 0x1 SWAP3 PUSH1 0x40 MLOAD PUSH2 0xC39 DUP2 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0xC44 DUP9 DUP4 ADD PUSH2 0xD12 JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x60 PUSH2 0xC55 PUSH1 0x44 DUP6 ADD PUSH2 0xD12 JUMP JUMPDEST SWAP3 DUP4 DUP14 DUP3 ADD MSTORE PUSH2 0xC79 PUSH1 0x84 PUSH2 0xC6C PUSH1 0x64 DUP9 ADD PUSH2 0xD12 JUMP JUMPDEST SWAP7 DUP8 PUSH1 0x40 DUP6 ADD MSTORE ADD PUSH2 0xD12 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0xE48 JUMP JUMPDEST ADD PUSH2 0xBEC JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x7EB JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x1C1 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x1C1 JUMPI JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0xE19 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP1 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x0 SWAP3 DUP1 DUP4 AND DUP5 MSTORE DUP4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP5 DUP2 DUP7 DUP7 KECCAK256 SWAP4 AND SWAP3 DUP4 DUP7 MSTORE PUSH1 0x20 MSTORE DUP6 DUP6 KECCAK256 CALLER DUP7 MSTORE PUSH1 0x20 MSTORE DUP6 DUP6 KECCAK256 SWAP7 DUP8 SLOAD SWAP8 PUSH6 0xFFFFFFFFFFFF DUP10 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0xFE3 JUMPI POP DUP4 DUP10 AND SWAP9 DUP5 DUP11 SUB PUSH2 0xF6B JUMPI JUMPDEST POP POP DUP7 SWAP8 POP SWAP3 DUP6 SWAP7 SWAP3 DUP7 SWAP6 SWAP4 SWAP3 PUSH1 0x64 SWAP6 PUSH1 0x20 SWAP9 SWAP5 MLOAD SWAP6 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x24 DUP7 ADD MSTORE AND PUSH1 0x44 DUP5 ADD MSTORE GAS CALL SWAP1 MLOAD PUSH1 0x1 EQ PUSH1 0x1F RETURNDATASIZE GT AND RETURNDATASIZE ISZERO OR AND ISZERO PUSH2 0xF0E JUMPI POP JUMP JUMPDEST PUSH1 0x64 SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP10 DUP6 DUP6 AND GT PUSH1 0x0 EQ PUSH2 0xFA7 JUMPI PUSH1 0x24 DUP11 DUP11 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND SWAP9 DUP4 SWAP1 SUB DUP5 AND SWAP9 SWAP1 SWAP9 OR SWAP1 SWAP8 SSTORE SWAP5 SWAP6 DUP7 SWAP6 SWAP1 DUP3 PUSH1 0x20 PUSH2 0xEAD JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP10 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0xE19 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE DUP3 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x119B JUMPI SWAP2 DUP6 PUSH2 0x1174 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x1179 JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x1106 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x120F JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x1279 DUP2 PUSH2 0xD4F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1287 PUSH2 0x11C4 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH1 0x80 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x14F5 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1473 JUMPI PUSH2 0x13AB DUP3 DUP3 ADD DUP3 PUSH2 0x1378 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0xE19 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1467 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x143D JUMPI AND SUB PUSH2 0x1413 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x14CB JUMPI PUSH2 0x1487 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1378 JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0xAEC JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x13C9 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x1676 JUMPI DUP3 SWAP2 PUSH2 0x15F1 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x15C7 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x166E JUMPI JUMPDEST DUP2 PUSH2 0x160B PUSH1 0x20 SWAP4 DUP4 PUSH2 0xD6B JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x166A JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x1667 JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x159B JUMP JUMPDEST DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x15FE JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 0xC7 0x26 0xE6 0xE0 PUSH9 0xDEC70077D9A5765EC2 0xAF 0xC2 LT 0xAC 0xE9 SWAP7 SWAP8 RETURN DUP4 SAR COINBASE 0xFB PUSH18 0x1E43F0BA64736F6C63430008110033000000 ", + "sourceMap": "547:5666:18:-:0;;;;856:13:19;837:32;;1560:60;;;726:80;547:5666:18;;654:20:19;547:5666:18;;;;856:13:19;547:5666:18;;;;1614:4:19;547:5666:18;;;;;1560:60:19;;837:32;547:5666:18;;;;;;;;;;;;;;;;;;;;1550:71:19;;547:5666:18;879:74:19;547:5666:18;;;;;;;;;;;;837:32:19;547:5666:18;;;;;;;;;;-1:-1:-1;547:5666:18;;;;;-1:-1:-1;547:5666:18;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_address": { + "entryPoint": 3346, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_address_8774": { + "entryPoint": 3241, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_address_8781": { + "entryPoint": 3276, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_address_8793": { + "entryPoint": 3311, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_bytes32t_bytes32": { + "entryPoint": 4984, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_bytes_calldata": { + "entryPoint": 3543, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_uint48": { + "entryPoint": 3524, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_uint160_uint48_uint48": { + "entryPoint": null, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "array_allocation_size_array_struct_PermitDetails_dyn": { + "entryPoint": 3500, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "calldata_array_index_access_struct_TokenSpenderPair_calldata_dyn_calldata": { + "entryPoint": 4115, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 3435, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_12095": { + "entryPoint": 3407, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_8773": { + "entryPoint": 3379, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_DOMAIN_SEPARATOR": { + "entryPoint": 4548, + "id": 27693, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_hashPermitDetails": { + "entryPoint": 4834, + "id": 29283, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_hashTypedData": { + "entryPoint": 4735, + "id": 27737, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_transfer": { + "entryPoint": 3656, + "id": 27441, + "parameterSlots": 4, + "returnSlots": 0 + }, + "fun_updateApproval": { + "entryPoint": 4164, + "id": 27641, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_verify": { + "entryPoint": 5006, + "id": 29500, + "parameterSlots": 4, + "returnSlots": 0 + }, + "memory_array_index_access_struct_PermitDetails_dyn": { + "entryPoint": 3589, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "read_from_calldatat_address": { + "entryPoint": 4131, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + } + }, + "object": "6080604052600436101561001257600080fd5b60003560e01c80630d58b1db14610b7d5780632a2d80d11461081a5780632b67b570146106035780633644e515146105c257806336c785161461054f57806365d9723c146103ac57806387517c4514610272578063927da105146101c65763cc53287f1461007f57600080fd5b346101c1576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c15767ffffffffffffffff906004358281116101c157366023820112156101c15780600401359283116101c1576024810190602436918560061b0101116101c15760005b8381106100fa57005b8061011061010b6001938786611013565b611023565b6101258561011f848988611013565b01611023565b336000526000865260406000209173ffffffffffffffffffffffffffffffffffffffff80911692836000528752604060002091169081600052865260406000207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055604051918252858201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a460403392a2016100f1565b600080fd5b346101c15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c1576101fd610ca9565b610205610ccc565b61020d610cef565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526020818152604080832094861683529381528382209285168252918252829020548251938116845265ffffffffffff60a082901c169184019190915260d01c90820152606090f35b346101c15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c1576102a9610ca9565b6102b1610ccc565b906102ba610cef565b65ffffffffffff91606435838116918282036101c15779ffffffffffff0000000000000000000000000000000000000000933360005260006020527fffffffffffff000000000000000000000000000000000000000000000000000060406000209673ffffffffffffffffffffffffffffffffffffffff80941697886000526020528360406000209916988960005260205260406000209486156000146103a457504216925b8454921695869360a01b1691161717905560405191825260208201527fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b60403392a4005b905092610360565b346101c15760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c1576103e3610ca9565b6103eb610ccc565b9060443565ffffffffffff808216918281036101c157336000526020906000825260406000209473ffffffffffffffffffffffffffffffffffffffff80911695866000528352604060002096169586600052825260406000205460d01c92838511156105255761ffff9084830316116104fb5733600052600082526040600020856000528252604060002086600052825260406000209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b1691161790556040519283528201527f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f360403392a4005b60046040517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b346101c15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c157610586610ca9565b61058e610ccc565b610596610cef565b6064359173ffffffffffffffffffffffffffffffffffffffff831683036101c1576105c093610e48565b005b346101c15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c15760206105fb6111c4565b604051908152f35b346101c1576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c15761063b610ca9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36019060c082126101c157604051906060820167ffffffffffffffff93838210858311176107eb5760809082604052126101c15761069981610d33565b73ffffffffffffffffffffffffffffffffffffffff9060243582811681036101c157815260443582811681036101c157608085015265ffffffffffff60643581811681036101c15760a086015260843590811681036101c15760c0850152835260a4359281841684036101c1576020810193845260c43594604082019086825260e4359081116101c157610731903690600401610dd7565b9190968042116107ba57506105c0966107b0926107aa879361075387516112e2565b90888b511690516040519160208301937ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08552604084015260608301526080820152608081526107a281610d4f565b51902061127f565b9161138e565b5192511691611044565b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b346101c1577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101c157610852610ca9565b906024359067ffffffffffffffff908183116101c15760609083360301126101c1576040519160608301838110838211176107eb5760405280600401358281116101c1578101366023820112156101c15760048101356108b181610dac565b916108bf6040519384610d6b565b8183526024602084019260071b820101903682116101c157602401915b818310610b1b5750505083526044906108f760248201610d12565b60208501520135908160408401526044359081116101c15761091d903690600401610dd7565b918042116107ba5750838351519161093483610dac565b926109426040519485610d6b565b8084527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061096f82610dac565b0136602086013760005b818110610a94575050604051602081019081602086519196019060005b818110610a7b575050506109d481610a4596037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d6b565b519020936107aa73ffffffffffffffffffffffffffffffffffffffff958660208901511660408901516040519160208301937faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638552604084015260608301526080820152608081526107a281610d4f565b602082015116908051519160005b838110610a5c57005b80610a758387610a6f6001958851610e05565b51611044565b01610a53565b825188526020978801978b975090920191600101610996565b9091939250610aad610aa7828851610e05565b516112e2565b610ab78285610e05565b527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610aec576001019086929391610979565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6080833603126101c1576020608091604051610b3681610d33565b610b3f86610d12565b8152610b4c838701610d12565b83820152610b5c60408701610dc4565b6040820152610b6d60608701610dc4565b60608201528152019201916108dc565b346101c1576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c15767ffffffffffffffff6004358181116101c157366023820112156101c15780600401359182116101c1576024906007368385831b840101116101c15760005b848110610bf557005b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83360301126101c157610ca3600192604051610c3981610d33565b610c44888301610d12565b8082526060610c5560448501610d12565b92838d820152610c796084610c6c60648801610d12565b9687604085015201610d12565b918291015273ffffffffffffffffffffffffffffffffffffffff8080809316951693169116610e48565b01610bec565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101c157565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101c157565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036101c157565b359073ffffffffffffffffffffffffffffffffffffffff821682036101c157565b6080810190811067ffffffffffffffff8211176107eb57604052565b60a0810190811067ffffffffffffffff8211176107eb57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176107eb57604052565b67ffffffffffffffff81116107eb5760051b60200190565b359065ffffffffffff821682036101c157565b9181601f840112156101c15782359167ffffffffffffffff83116101c157602083818601950101116101c157565b8051821015610e195760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92909273ffffffffffffffffffffffffffffffffffffffff91600092808316845283602052604094818686209316928386526020528585203386526020528585209687549765ffffffffffff8960a01c16804211610fe3575083891698848a03610f6b575b505086975092859692869593926064956020989451957f23b872dd000000000000000000000000000000000000000000000000000000008752600487015260248601521660448401525af19051600114601f3d11163d15171615610f0e5750565b606490517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b8985851611600014610fa75760248a8a51907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000016988390038416989098179097559495869590826020610ead565b6024908951907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9190811015610e195760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036101c15790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff9081855116948260208201511692808660408094015116951695600091878352826020528383208984526020528383209916988983526020528282209184835460d01c0361119b57918561117494927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec989796945087156000146111795779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff000000000000000000000000000000000000000087611106565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f00000000000000000000000000000000000000000000000000000000000000000361120f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261127981610d4f565b51902090565b6112876111c4565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526080810181811067ffffffffffffffff8211176107eb5760405251902090565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176107eb5760405251902090565b91908260409103126101c1576020823592013590565b6000843b6114f5575060418203611473576113ab82820182611378565b93909260401015610e195760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa156114675773ffffffffffffffffffffffffffffffffffffffff806000511691821561143d57160361141357565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b604082036114cb5761148791810190611378565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211610aec5760209360009360ff6080946113c9565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa9081156116765782916115f1575b507fffffffff00000000000000000000000000000000000000000000000000000000915016036115c757565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d821161166e575b8161160b60209383610d6b565b8101031261166a5751907fffffffff000000000000000000000000000000000000000000000000000000008216820361166757507fffffffff00000000000000000000000000000000000000000000000000000000903861159b565b80fd5b5080fd5b3d91506115fe565b6040513d84823e3d90fdfea264697066735822122093c726e6e068dec70077d9a5765ec2afc210ace99697f3831d41fb711e43f0ba64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0xB7D JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0x81A JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0x603 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x5C2 JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x54F JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x3AC JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x272 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x1C6 JUMPI PUSH4 0xCC53287F EQ PUSH2 0x7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x4 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x1C1 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x1C1 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x1C1 JUMPI PUSH1 0x24 DUP2 ADD SWAP1 PUSH1 0x24 CALLDATASIZE SWAP2 DUP6 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x1C1 JUMPI PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xFA JUMPI STOP JUMPDEST DUP1 PUSH2 0x110 PUSH2 0x10B PUSH1 0x1 SWAP4 DUP8 DUP7 PUSH2 0x1013 JUMP JUMPDEST PUSH2 0x1023 JUMP JUMPDEST PUSH2 0x125 DUP6 PUSH2 0x11F DUP5 DUP10 DUP9 PUSH2 0x1013 JUMP JUMPDEST ADD PUSH2 0x1023 JUMP JUMPDEST CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP7 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 PUSH1 0x0 MSTORE DUP8 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 AND SWAP1 DUP2 PUSH1 0x0 MSTORE DUP7 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE DUP6 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 PUSH1 0x40 CALLER SWAP3 LOG2 ADD PUSH2 0xF1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x1FD PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0x205 PUSH2 0xCCC JUMP JUMPDEST PUSH2 0x20D PUSH2 0xCEF JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP7 AND DUP4 MSTORE SWAP4 DUP2 MSTORE DUP4 DUP3 KECCAK256 SWAP3 DUP6 AND DUP3 MSTORE SWAP2 DUP3 MSTORE DUP3 SWAP1 KECCAK256 SLOAD DUP3 MLOAD SWAP4 DUP2 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0xA0 DUP3 SWAP1 SHR AND SWAP2 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xD0 SHR SWAP1 DUP3 ADD MSTORE PUSH1 0x60 SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x2A9 PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0x2B1 PUSH2 0xCCC JUMP JUMPDEST SWAP1 PUSH2 0x2BA PUSH2 0xCEF JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP2 PUSH1 0x64 CALLDATALOAD DUP4 DUP2 AND SWAP2 DUP3 DUP3 SUB PUSH2 0x1C1 JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP4 CALLER PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP8 DUP9 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE DUP4 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP10 AND SWAP9 DUP10 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x3A4 JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP6 DUP7 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B PUSH1 0x40 CALLER SWAP3 LOG4 STOP JUMPDEST SWAP1 POP SWAP3 PUSH2 0x360 JUMP JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x3E3 PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0x3EB PUSH2 0xCCC JUMP JUMPDEST SWAP1 PUSH1 0x44 CALLDATALOAD PUSH6 0xFFFFFFFFFFFF DUP1 DUP3 AND SWAP2 DUP3 DUP2 SUB PUSH2 0x1C1 JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 PUSH1 0x0 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP6 DUP7 PUSH1 0x0 MSTORE DUP4 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP7 AND SWAP6 DUP7 PUSH1 0x0 MSTORE DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP3 DUP4 DUP6 GT ISZERO PUSH2 0x525 JUMPI PUSH2 0xFFFF SWAP1 DUP5 DUP4 SUB AND GT PUSH2 0x4FB JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP6 PUSH1 0x0 MSTORE DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP7 PUSH1 0x0 MSTORE DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE DUP3 ADD MSTORE PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 PUSH1 0x40 CALLER SWAP3 LOG4 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x586 PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0x58E PUSH2 0xCCC JUMP JUMPDEST PUSH2 0x596 PUSH2 0xCEF JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x1C1 JUMPI PUSH2 0x5C0 SWAP4 PUSH2 0xE48 JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x0 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH1 0x20 PUSH2 0x5FB PUSH2 0x11C4 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH2 0x100 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x63B PUSH2 0xCA9 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD SWAP1 PUSH1 0xC0 DUP3 SLT PUSH2 0x1C1 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x60 DUP3 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP4 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x7EB JUMPI PUSH1 0x80 SWAP1 DUP3 PUSH1 0x40 MSTORE SLT PUSH2 0x1C1 JUMPI PUSH2 0x699 DUP2 PUSH2 0xD33 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP3 DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI PUSH1 0x80 DUP6 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI PUSH1 0xA0 DUP7 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI PUSH1 0xC0 DUP6 ADD MSTORE DUP4 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP3 DUP2 DUP5 AND DUP5 SUB PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP2 ADD SWAP4 DUP5 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP5 PUSH1 0x40 DUP3 ADD SWAP1 DUP7 DUP3 MSTORE PUSH1 0xE4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x1C1 JUMPI PUSH2 0x731 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0xDD7 JUMP JUMPDEST SWAP2 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0x7BA JUMPI POP PUSH2 0x5C0 SWAP7 PUSH2 0x7B0 SWAP3 PUSH2 0x7AA DUP8 SWAP4 PUSH2 0x753 DUP8 MLOAD PUSH2 0x12E2 JUMP JUMPDEST SWAP1 DUP9 DUP12 MLOAD AND SWAP1 MLOAD PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 ADD SWAP4 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP6 MSTORE PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x7A2 DUP2 PUSH2 0xD4F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x127F JUMP JUMPDEST SWAP2 PUSH2 0x138E JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1044 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC PUSH1 0x60 DUP2 CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0x852 PUSH2 0xCA9 JUMP JUMPDEST SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 GT PUSH2 0x1C1 JUMPI PUSH1 0x60 SWAP1 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x1C1 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD DUP4 DUP2 LT DUP4 DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 ADD CALLDATALOAD DUP3 DUP2 GT PUSH2 0x1C1 JUMPI DUP2 ADD CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x1C1 JUMPI PUSH1 0x4 DUP2 ADD CALLDATALOAD PUSH2 0x8B1 DUP2 PUSH2 0xDAC JUMP JUMPDEST SWAP2 PUSH2 0x8BF PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0xD6B JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x24 PUSH1 0x20 DUP5 ADD SWAP3 PUSH1 0x7 SHL DUP3 ADD ADD SWAP1 CALLDATASIZE DUP3 GT PUSH2 0x1C1 JUMPI PUSH1 0x24 ADD SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0xB1B JUMPI POP POP POP DUP4 MSTORE PUSH1 0x44 SWAP1 PUSH2 0x8F7 PUSH1 0x24 DUP3 ADD PUSH2 0xD12 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP1 DUP2 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x1C1 JUMPI PUSH2 0x91D SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0xDD7 JUMP JUMPDEST SWAP2 DUP1 TIMESTAMP GT PUSH2 0x7BA JUMPI POP DUP4 DUP4 MLOAD MLOAD SWAP2 PUSH2 0x934 DUP4 PUSH2 0xDAC JUMP JUMPDEST SWAP3 PUSH2 0x942 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0xD6B JUMP JUMPDEST DUP1 DUP5 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x96F DUP3 PUSH2 0xDAC JUMP JUMPDEST ADD CALLDATASIZE PUSH1 0x20 DUP7 ADD CALLDATACOPY PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xA94 JUMPI POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 DUP2 PUSH1 0x20 DUP7 MLOAD SWAP2 SWAP7 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xA7B JUMPI POP POP POP PUSH2 0x9D4 DUP2 PUSH2 0xA45 SWAP7 SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0xD6B JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x7AA PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP6 DUP7 PUSH1 0x20 DUP10 ADD MLOAD AND PUSH1 0x40 DUP10 ADD MLOAD PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 ADD SWAP4 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP6 MSTORE PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x7A2 DUP2 PUSH2 0xD4F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MLOAD AND SWAP1 DUP1 MLOAD MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA5C JUMPI STOP JUMPDEST DUP1 PUSH2 0xA75 DUP4 DUP8 PUSH2 0xA6F PUSH1 0x1 SWAP6 DUP9 MLOAD PUSH2 0xE05 JUMP JUMPDEST MLOAD PUSH2 0x1044 JUMP JUMPDEST ADD PUSH2 0xA53 JUMP JUMPDEST DUP3 MLOAD DUP9 MSTORE PUSH1 0x20 SWAP8 DUP9 ADD SWAP8 DUP12 SWAP8 POP SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x996 JUMP JUMPDEST SWAP1 SWAP2 SWAP4 SWAP3 POP PUSH2 0xAAD PUSH2 0xAA7 DUP3 DUP9 MLOAD PUSH2 0xE05 JUMP JUMPDEST MLOAD PUSH2 0x12E2 JUMP JUMPDEST PUSH2 0xAB7 DUP3 DUP6 PUSH2 0xE05 JUMP JUMPDEST MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0xAEC JUMPI PUSH1 0x1 ADD SWAP1 DUP7 SWAP3 SWAP4 SWAP2 PUSH2 0x979 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x80 DUP4 CALLDATASIZE SUB SLT PUSH2 0x1C1 JUMPI PUSH1 0x20 PUSH1 0x80 SWAP2 PUSH1 0x40 MLOAD PUSH2 0xB36 DUP2 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0xB3F DUP7 PUSH2 0xD12 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xB4C DUP4 DUP8 ADD PUSH2 0xD12 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xB5C PUSH1 0x40 DUP8 ADD PUSH2 0xDC4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0xB6D PUSH1 0x60 DUP8 ADD PUSH2 0xDC4 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP3 ADD SWAP2 PUSH2 0x8DC JUMP JUMPDEST CALLVALUE PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1C1 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x1C1 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x1C1 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP2 DUP3 GT PUSH2 0x1C1 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP6 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x1C1 JUMPI PUSH1 0x0 JUMPDEST DUP5 DUP2 LT PUSH2 0xBF5 JUMPI STOP JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x1C1 JUMPI PUSH2 0xCA3 PUSH1 0x1 SWAP3 PUSH1 0x40 MLOAD PUSH2 0xC39 DUP2 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0xC44 DUP9 DUP4 ADD PUSH2 0xD12 JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x60 PUSH2 0xC55 PUSH1 0x44 DUP6 ADD PUSH2 0xD12 JUMP JUMPDEST SWAP3 DUP4 DUP14 DUP3 ADD MSTORE PUSH2 0xC79 PUSH1 0x84 PUSH2 0xC6C PUSH1 0x64 DUP9 ADD PUSH2 0xD12 JUMP JUMPDEST SWAP7 DUP8 PUSH1 0x40 DUP6 ADD MSTORE ADD PUSH2 0xD12 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0xE48 JUMP JUMPDEST ADD PUSH2 0xBEC JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x7EB JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x1C1 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x1C1 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x1C1 JUMPI JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0xE19 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP1 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x0 SWAP3 DUP1 DUP4 AND DUP5 MSTORE DUP4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP5 DUP2 DUP7 DUP7 KECCAK256 SWAP4 AND SWAP3 DUP4 DUP7 MSTORE PUSH1 0x20 MSTORE DUP6 DUP6 KECCAK256 CALLER DUP7 MSTORE PUSH1 0x20 MSTORE DUP6 DUP6 KECCAK256 SWAP7 DUP8 SLOAD SWAP8 PUSH6 0xFFFFFFFFFFFF DUP10 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0xFE3 JUMPI POP DUP4 DUP10 AND SWAP9 DUP5 DUP11 SUB PUSH2 0xF6B JUMPI JUMPDEST POP POP DUP7 SWAP8 POP SWAP3 DUP6 SWAP7 SWAP3 DUP7 SWAP6 SWAP4 SWAP3 PUSH1 0x64 SWAP6 PUSH1 0x20 SWAP9 SWAP5 MLOAD SWAP6 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x24 DUP7 ADD MSTORE AND PUSH1 0x44 DUP5 ADD MSTORE GAS CALL SWAP1 MLOAD PUSH1 0x1 EQ PUSH1 0x1F RETURNDATASIZE GT AND RETURNDATASIZE ISZERO OR AND ISZERO PUSH2 0xF0E JUMPI POP JUMP JUMPDEST PUSH1 0x64 SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP10 DUP6 DUP6 AND GT PUSH1 0x0 EQ PUSH2 0xFA7 JUMPI PUSH1 0x24 DUP11 DUP11 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND SWAP9 DUP4 SWAP1 SUB DUP5 AND SWAP9 SWAP1 SWAP9 OR SWAP1 SWAP8 SSTORE SWAP5 SWAP6 DUP7 SWAP6 SWAP1 DUP3 PUSH1 0x20 PUSH2 0xEAD JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP10 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0xE19 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x1C1 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE DUP3 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x119B JUMPI SWAP2 DUP6 PUSH2 0x1174 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x1179 JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x1106 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x120F JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x1279 DUP2 PUSH2 0xD4F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1287 PUSH2 0x11C4 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH1 0x80 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x7EB JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x1C1 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x14F5 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1473 JUMPI PUSH2 0x13AB DUP3 DUP3 ADD DUP3 PUSH2 0x1378 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0xE19 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1467 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x143D JUMPI AND SUB PUSH2 0x1413 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x14CB JUMPI PUSH2 0x1487 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1378 JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0xAEC JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x13C9 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x1676 JUMPI DUP3 SWAP2 PUSH2 0x15F1 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x15C7 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x166E JUMPI JUMPDEST DUP2 PUSH2 0x160B PUSH1 0x20 SWAP4 DUP4 PUSH2 0xD6B JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x166A JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x1667 JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x159B JUMP JUMPDEST DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x15FE JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 0xC7 0x26 0xE6 0xE0 PUSH9 0xDEC70077D9A5765EC2 0xAF 0xC2 LT 0xAC 0xE9 SWAP7 SWAP8 RETURN DUP4 SAR COINBASE 0xFB PUSH18 0x1E43F0BA64736F6C63430008110033000000 ", + "sourceMap": "547:5666:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4534:10;;;;;;547:5666;4546:3;4585:12;:18;:12;547:5666;4585:12;;;;:::i;:::-;:18;:::i;:::-;4639:20;:12;;;;;;:::i;:::-;:20;;:::i;:::-;4356:10;547:5666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4744:31;547:5666;4356:10;4744:31;;547:5666;4519:13;;547:5666;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;1383:10;;547:5666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:54:27;:15;;:54;547:5666:18;;;1535:15:27;;547:5666:18;1510:54:27;;547:5666:18;;;;;;;;;;;;;;;;;;;;;;;;;1488:56;547:5666;1383:10;1488:56;;547:5666;1510:54:27;;;;;;547:5666:18;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;4973:10;547:5666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5021:20;;;;;5017:47;;547:5666;;;;;;5233:24;5229:60;;4973:10;547:5666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5379:65;547:5666;4973:10;5379:65;;547:5666;5229:60;547:5666;;;5266:23;;;;5017:47;547:5666;;;5050:14;;;;547:5666;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;2841:5;;;:::i;:::-;547:5666;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1710:15;;;;;:42;1706:97;;2078:20:29;1987::18;2078::29;1925:5:18;2078:20:29;1888:35:18;2078:20:29;;2059:40;2078:20;;2059:40;:::i;:::-;547:5666:18;;;;;;;;;2138:95:29;547:5666:18;2138:95:29;;547:5666:18;433:172:29;547:5666:18;;;433:172:29;;547:5666:18;;433:172:29;;547:5666:18;;433:172:29;;547:5666:18;;2138:95:29;;;;;:::i;:::-;547:5666:18;2128:106:29;;1888:35:18;:::i;:::-;1925:5;;:::i;:::-;1958:20;547:5666;;;1987:20;;:::i;1706:97::-;547:5666;;;;1761:42;;;;547:5666;1761:42;;547:5666;1761:42;547:5666;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;547:5666:18;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2172:15;;;:41;2168:95;;2375:19:29;;;;547:5666:18;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2498:14:29;;;;;;547:5666:18;;;;;2721:30:29;;661:173;;547:5666:18;;;661:173:29;547:5666:18;;661:173:29;547:5666:18;661:173:29;;;;;;2721:30;;;;;2384:5:18;2721:30:29;;547:5666:18;2721:30:29;;;;;;:::i;:::-;547:5666:18;2711:41:29;;547:5666:18;2348:34;547:5666;;;;;;;;;;;;;;2643:201:29;547:5666:18;2643:201:29;;547:5666:18;661:173:29;547:5666:18;;;433:172:29;;547:5666:18;;433:172:29;;547:5666:18;;433:172:29;;547:5666:18;;2643:201:29;;;;;:::i;2384:5:18:-;547:5666;;;;;2489:19;;;547:5666;2534:13;547:5666;2549:10;;;;;;547:5666;2561:3;2600:19;2631:7;2600:19;;:22;547:5666;2600:19;;;:22;:::i;:::-;;2631:7;:::i;:::-;547:5666;2534:13;;661:173:29;;;547:5666:18;;;661:173:29;;;;;;-1:-1:-1;661:173:29;;;;547:5666:18;661:173:29;;;2514:3;2570:19;;;;;2551:42;2570:22;:19;;;:22;:::i;:::-;;2551:42;:::i;:::-;2533:60;;;;:::i;:::-;547:5666:18;;;;;;;;2483:13:29;;;;;;;547:5666:18;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3090:10;;;;;;547:5666;3102:3;547:5666;;;;;;;;;;;;;;;3283:20;547:5666;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3283:20;:::i;:::-;547:5666;3075:13;;547:5666;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;433:172:29;547:5666:18;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;3482:737;;;;547:5666;3610:9;;547:5666;;;;;;;;;;;;;;;;;;;;;;;;;;3633:10;547:5666;;;;;;;;;;;;;;;;3659:15;;:36;3655:85;;547:5666;;;;3799:30;;;;3795:289;;3482:737;1532:1355:35;;;;;;;;;;;;;;;547:5666:18;1532:1355:35;;;;;;;;;;;;;;;547:5666:18;1532:1355:35;;;;;;;;;;;;;;;;;;547:5666:18;;;3482:737;:::o;547:5666::-;1532:1355:35;547:5666:18;;;;;;1532:1355:35;547:5666:18;;;;1532:1355:35;547:5666:18;;;;1532:1355:35;547:5666:18;;;;3795:289;547:5666;;;;3849:18;3845:229;3849:18;;;547:5666;;;;3894:32;;;;;;;547:5666;3894:32;3845:229;547:5666;;;;;;;;;;;;;;;;;;;;;;3795:289;;3655:85;547:5666;;;;3704:36;;;;;;;547:5666;3704:36;547:5666;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5681:530::-;;547:5666;5801:13;;;;;547:5666;;;;;;;;5880:14;;;;;547:5666;;5924:18;;;;;;;547:5666;;;;-1:-1:-1;;547:5666:18;;;;;5880:14;547:5666;;;;;;;5880:14;547:5666;;;;;;;;;;5880:14;547:5666;;;;;;;;;;6033:22;6029:49;;843:79:27;;6148:56:18;843:79:27;;6148:56:18;843:79:27;;;;:40;;;:79;547:5666:18;;;;893:15:27;;547:5666:18;843:79:27;1883:3;547:5666:18;;;795:1:27;547:5666:18;;;;;1834:52:27;:61;1001:59;;547:5666:18;6148:56;;;;547:5666;;;;;;;;;;;;;;;;;;;;;;;;;;6148:56;;;;5681:530::o;843:79:27:-;;547:5666:18;843:79:27;;;6029:49:18;6064:14;547:5666;;6064:14;;;;1123:216:19;1198:13;1215:16;1198:33;1215:16;;1246:24;1123:216;:::o;1198:134::-;547:5666:18;;1560:60:19;;;547:5666:18;726:80:19;547:5666:18;;654:20:19;547:5666:18;;;;1198:13:19;547:5666:18;;;;1614:4:19;547:5666:18;;;;;1560:60:19;;;;;:::i;:::-;547:5666:18;1550:71:19;;1123:216;:::o;1685:167::-;1815:18;;:::i;:::-;547:5666:18;;;1786:58:19;;;;547:5666:18;;;;;;;;;;;;;1786:58:19;;547:5666:18;;;;;;;;;;;;;;;1776:69:19;;1685:167;:::o;5345:188:29:-;547:5666:18;;5480:45:29;;;547:5666:18;289:87:29;547:5666:18;;;289:87:29;;;547:5666:18;;289:87:29;;547:5666:18;5480:45:29;289:87;;;547:5666:18;289:87:29;;;547:5666:18;289:87:29;547:5666:18;289:87:29;;547:5666:18;289:87:29;;;547:5666:18;289:87:29;;;547:5666:18;289:87:29;;547:5666:18;289:87:29;;;547:5666:18;289:87:29;5480:45;;289:87;547:5666:18;;;;;;;;;;;;;;5470:56:29;;5345:188;:::o;547:5666:18:-;;;;;;;;;;;;;;;;;:::o;700:1109:31:-;-1:-1:-1;863:25:31;;;;-1:-1:-1;933:2:31;913:22;;933:2;;964:41;;;;;;:::i;:::-;955:50;;625:68;1043:2;625:68;;;;;;-1:-1:-1;625:68:31;547:5666:18;1043:2:31;625:68;;;1033:13;625:68;;909:490;547:5666:18;;;;;;625:68:31;;;;547:5666:18;625:68:31;;547:5666:18;625:68:31;;;547:5666:18;1429:24:31;;;;;;;;;547:5666:18;1429:24:31;-1:-1:-1;1429:24:31;547:5666:18;1471:20:31;;;1467:51;;547:5666:18;1536:23:31;1532:51;;700:1109::o;1532:51::-;1568:15;547:5666:18;;1568:15:31;;;;1467:51;1500:18;547:5666:18;;1500:18:31;;;;1429:24;547:5666:18;;;-1:-1:-1;547:5666:18;;;;;909:490:31;1092:2;1072:22;;1092:2;;1180:41;;;;;;:::i;:::-;1170:51;1312:2;626:66;1243:19;;625:68;547:5666:18;625:68:31;;;547:5666:18;625:68:31;;;;;1280:34;-1:-1:-1;1280:34:31;547:5666:18;625:68:31;1280:34;909:490;;1068:331;1360:24;1092:2;547:5666:18;1360:24:31;;;;859:944;547:5666:18;;;;;;;;1634:57:31;547:5666:18;;;;;;;;;;;;1634:57:31;;;;;;;547:5666:18;;;;;;;;;;;;;;;;;;;;;;;;;;1634:57:31;;547:5666:18;;1634:57:31;;;;;;;;;;;859:944;547:5666:18;;;;;1709:48:31;1705:87;;700:1109::o;1705:87::-;1634:57;547:5666:18;;1766:26:31;;;;1634:57;;;;;;;;;;;;;;;;;:::i;:::-;;;547:5666:18;;;;;;;;;;;;;1634:57:31;547:5666:18;1634:57:31;;;;547:5666:18;;;;;;;1634:57:31;;;-1:-1:-1;1634:57:31;;;547:5666:18;;;;;;;;", + "linkReferences": {}, + "immutableReferences": { + "27647": [ + { + "start": 4589, + "length": 32 + } + ], + "27649": [ + { + "start": 4551, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address,address)": "927da105", + "approve(address,address,uint160,uint48)": "87517c45", + "invalidateNonces(address,address,uint48)": "65d9723c", + "lockdown((address,address)[])": "cc53287f", + "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)": "2b67b570", + "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)": "2a2d80d1", + "transferFrom((address,address,uint160,address)[])": "0d58b1db", + "transferFrom(address,address,uint160,address)": "36c78516" + } + } + } + }, + "lib/permit2/src/EIP712.sol": { + "EIP712": { + "abi": [ + { + "type": "constructor", + "inputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Maintains cross-chain replay protection in the event of a forkReference: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/EIP712.sol\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Uses cached version if chainid and address are unchanged from construction.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"Returns the domain separator for the current chain.\"}},\"notice\":\"EIP712 helpers for permit2\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/EIP712.sol\":\"EIP712\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60c0346100b9574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a3578260405251902060805261019890816100bf8239608051816085015260a05181605b0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c633644e5151461002a57600080fd5b3461015e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015e57467f0000000000000000000000000000000000000000000000000000000000000000036100ad57505060207f00000000000000000000000000000000000000000000000000000000000000005b604051908152f35b60208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815260a0810181811067ffffffffffffffff82111761013157602093506040525190206100a5565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b5080fdfea2646970667358221220789fbe64a79a10820b39ed2a4b650dd206269ad175e85f18020ec5b4d36f338364736f6c63430008110033", + "opcodes": "PUSH1 0xC0 CALLVALUE PUSH2 0xB9 JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA3 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x198 SWAP1 DUP2 PUSH2 0xBF DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH1 0x85 ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH1 0x5B ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0x3644E515 EQ PUSH2 0x2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x15E JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x15E JUMPI CHAINID PUSH32 0x0 SUB PUSH2 0xAD JUMPI POP POP PUSH1 0x20 PUSH32 0x0 JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH1 0xA0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x131 JUMPI PUSH1 0x20 SWAP4 POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH2 0xA5 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH25 0x9FBE64A79A10820B39ED2A4B650DD206269AD175E85F18020E 0xC5 0xB4 0xD3 PUSH16 0x338364736F6C63430008110033000000 ", + "sourceMap": "295:1559:19:-:0;;;;856:13;837:32;;1560:60;;;726:80;295:1559;;654:20;295:1559;;;;856:13;295:1559;;;;1614:4;295:1559;;;;;1560:60;;837:32;295:1559;;;;;;;;;;;;;;;;;;;;1550:71;;295:1559;879:74;295:1559;;;;;;;;;;;;837:32;295:1559;;;;;;;;;;-1:-1:-1;295:1559:19;;;;;-1:-1:-1;295:1559:19;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "608080604052600436101561001357600080fd5b600090813560e01c633644e5151461002a57600080fd5b3461015e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015e57467f0000000000000000000000000000000000000000000000000000000000000000036100ad57505060207f00000000000000000000000000000000000000000000000000000000000000005b604051908152f35b60208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815260a0810181811067ffffffffffffffff82111761013157602093506040525190206100a5565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b5080fdfea2646970667358221220789fbe64a79a10820b39ed2a4b650dd206269ad175e85f18020ec5b4d36f338364736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0x3644E515 EQ PUSH2 0x2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x15E JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x15E JUMPI CHAINID PUSH32 0x0 SUB PUSH2 0xAD JUMPI POP POP PUSH1 0x20 PUSH32 0x0 JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH1 0xA0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x131 JUMPI PUSH1 0x20 SWAP4 POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH2 0xA5 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH25 0x9FBE64A79A10820B39ED2A4B650DD206269AD175E85F18020E 0xC5 0xB4 0xD3 PUSH16 0x338364736F6C63430008110033000000 ", + "sourceMap": "295:1559:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1198:13;1215:16;1198:33;1215:16;;1246:24;;295:1559;1246:24;1198:134;295:1559;;;;;;1198:134;1560:60;;;295:1559;726:80;295:1559;;654:20;295:1559;;;;1198:13;295:1559;;;;1614:4;295:1559;;;;;1560:60;;295:1559;;;;;;;;;;;;;;;;;;1550:71;;1198:134;;295:1559;;;;;;;;;;;;;", + "linkReferences": {}, + "immutableReferences": { + "27647": [ + { + "start": 133, + "length": 32 + } + ], + "27649": [ + { + "start": 91, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "DOMAIN_SEPARATOR()": "3644e515" + } + } + } + }, + "lib/permit2/src/Permit2.sol": { + "Permit2": { + "abi": [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "internalType": "uint48" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "invalidateNonces", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint48", + "internalType": "uint48" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "invalidateUnorderedNonces", + "inputs": [ + { + "name": "wordPos", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mask", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "lockdown", + "inputs": [ + { + "name": "approvals", + "type": "tuple[]", + "internalType": "struct IAllowanceTransfer.TokenSpenderPair[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nonceBitmap", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "permitBatch", + "type": "tuple", + "internalType": "struct IAllowanceTransfer.PermitBatch", + "components": [ + { + "name": "details", + "type": "tuple[]", + "internalType": "struct IAllowanceTransfer.PermitDetails[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "internalType": "uint48" + } + ] + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "sigDeadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "permitSingle", + "type": "tuple", + "internalType": "struct IAllowanceTransfer.PermitSingle", + "components": [ + { + "name": "details", + "type": "tuple", + "internalType": "struct IAllowanceTransfer.PermitDetails", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "internalType": "uint48" + } + ] + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "sigDeadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.TokenPermissions[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitWitnessTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "witness", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "witnessTypeString", + "type": "string", + "internalType": "string" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitWitnessTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.TokenPermissions[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "witness", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "witnessTypeString", + "type": "string", + "internalType": "string" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "transferDetails", + "type": "tuple[]", + "internalType": "struct IAllowanceTransfer.AllowanceTransferDetails[]", + "components": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "indexed": false, + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Lockdown", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NonceInvalidation", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "oldNonce", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "indexed": false, + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UnorderedNonceInvalidation", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "word", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "mask", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AllowanceExpired", + "inputs": [ + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ExcessiveInvalidation", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientAllowance", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "InvalidAmount", + "inputs": [ + { + "name": "maxAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "InvalidContractSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidNonce", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignatureLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSigner", + "inputs": [] + }, + { + "type": "error", + "name": "LengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "SignatureExpired", + "inputs": [ + { + "name": "signatureDeadline", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"AllowanceExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExcessiveInvalidation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidContractSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSigner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LengthMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"signatureDeadline\",\"type\":\"uint256\"}],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"Lockdown\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"newNonce\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"oldNonce\",\"type\":\"uint48\"}],\"name\":\"NonceInvalidation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"name\":\"Permit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"word\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mask\",\"type\":\"uint256\"}],\"name\":\"UnorderedNonceInvalidation\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"newNonce\",\"type\":\"uint48\"}],\"name\":\"invalidateNonces\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wordPos\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mask\",\"type\":\"uint256\"}],\"name\":\"invalidateUnorderedNonces\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"internalType\":\"struct IAllowanceTransfer.TokenSpenderPair[]\",\"name\":\"approvals\",\"type\":\"tuple[]\"}],\"name\":\"lockdown\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"nonceBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"internalType\":\"struct IAllowanceTransfer.PermitDetails[]\",\"name\":\"details\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sigDeadline\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowanceTransfer.PermitBatch\",\"name\":\"permitBatch\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"internalType\":\"struct IAllowanceTransfer.PermitDetails\",\"name\":\"details\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sigDeadline\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowanceTransfer.PermitSingle\",\"name\":\"permitSingle\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails\",\"name\":\"transferDetails\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions[]\",\"name\":\"permitted\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitBatchTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails[]\",\"name\":\"transferDetails\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails\",\"name\":\"transferDetails\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"witness\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"witnessTypeString\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitWitnessTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions[]\",\"name\":\"permitted\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitBatchTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails[]\",\"name\":\"transferDetails\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"witness\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"witnessTypeString\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitWitnessTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct IAllowanceTransfer.AllowanceTransferDetails[]\",\"name\":\"transferDetails\",\"type\":\"tuple[]\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Users must approve Permit2 before calling any of the transfer functions.\",\"errors\":{\"AllowanceExpired(uint256)\":[{\"params\":{\"deadline\":\"The timestamp at which the allowed amount is no longer valid\"}}],\"InsufficientAllowance(uint256)\":[{\"params\":{\"amount\":\"The maximum amount allowed\"}}],\"InvalidAmount(uint256)\":[{\"params\":{\"maxAmount\":\"The maximum amount a spender can request to transfer\"}}],\"LengthMismatch()\":[{\"details\":\"If the spender does not need to transfer the number of tokens permitted, the spender can request amount 0 to be transferred\"}],\"SignatureExpired(uint256)\":[{\"params\":{\"signatureDeadline\":\"The timestamp at which a signature is no longer valid\"}}]},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Uses cached version if chainid and address are unchanged from construction.\"},\"approve(address,address,uint160,uint48)\":{\"details\":\"The packed allowance also holds a nonce, which will stay unchanged in approveSetting amount to type(uint160).max sets an unlimited approval\",\"params\":{\"amount\":\"The approved amount of the token\",\"expiration\":\"The timestamp at which the approval is no longer valid\",\"spender\":\"The spender address to approve\",\"token\":\"The token to approve\"}},\"invalidateNonces(address,address,uint48)\":{\"details\":\"Can't invalidate more than 2**16 nonces per transaction.\",\"params\":{\"newNonce\":\"The new nonce to set. Invalidates all nonces less than it.\",\"spender\":\"The spender to invalidate nonces for\",\"token\":\"The token to invalidate nonces for\"}},\"invalidateUnorderedNonces(uint256,uint256)\":{\"details\":\"The wordPos is maxed at type(uint248).max\",\"params\":{\"mask\":\"A bitmap masked against msg.sender's current bitmap at the word position\",\"wordPos\":\"A number to index the nonceBitmap at\"}},\"lockdown((address,address)[])\":{\"params\":{\"approvals\":\"Array of approvals to revoke.\"}},\"permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)\":{\"details\":\"May fail if the owner's nonce was invalidated in-flight by invalidateNonce\",\"params\":{\"owner\":\"The owner of the tokens being approved\",\"permitSingle\":\"Data signed over by the owner specifying the terms of approval\",\"signature\":\"The owner's signature over the permit data\"}},\"permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)\":{\"details\":\"May fail if the owner's nonce was invalidated in-flight by invalidateNonce\",\"params\":{\"owner\":\"The owner of the tokens being approved\",\"permitBatch\":\"Data signed over by the owner specifying the terms of approval\",\"signature\":\"The owner's signature over the permit data\"}},\"permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)\":{\"details\":\"Reverts if the requested amount is greater than the permitted signed amount\",\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"The spender's requested transfer details for the permitted token\"}},\"permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)\":{\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"Specifies the recipient and requested amount for the token transfer\"}},\"permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)\":{\"details\":\"The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definitionReverts if the requested amount is greater than the permitted signed amount\",\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"The spender's requested transfer details for the permitted token\",\"witness\":\"Extra data to include when checking the user signature\",\"witnessTypeString\":\"The EIP-712 type definition for remaining string stub of the typehash\"}},\"permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)\":{\"details\":\"The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definition\",\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"Specifies the recipient and requested amount for the token transfer\",\"witness\":\"Extra data to include when checking the user signature\",\"witnessTypeString\":\"The EIP-712 type definition for remaining string stub of the typehash\"}},\"transferFrom((address,address,uint160,address)[])\":{\"details\":\"Requires the from addresses to have approved at least the desired amount of tokens to msg.sender.\",\"params\":{\"transferDetails\":\"Array of owners, recipients, amounts, and tokens for the transfers\"}},\"transferFrom(address,address,uint160,address)\":{\"details\":\"Requires the from address to have approved at least the desired amount of tokens to msg.sender.\",\"params\":{\"amount\":\"The amount of the token to transfer\",\"from\":\"The address to transfer from\",\"to\":\"The address of the recipient\",\"token\":\"The token address to transfer\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AllowanceExpired(uint256)\":[{\"notice\":\"Thrown when an allowance on a token has expired.\"}],\"ExcessiveInvalidation()\":[{\"notice\":\"Thrown when too many nonces are invalidated.\"}],\"InsufficientAllowance(uint256)\":[{\"notice\":\"Thrown when an allowance on a token has been depleted.\"}],\"InvalidAmount(uint256)\":[{\"notice\":\"Thrown when the requested amount for a transfer is larger than the permissioned amount\"}],\"InvalidContractSignature()\":[{\"notice\":\"Thrown when the recovered contract signature is incorrect\"}],\"InvalidNonce()\":[{\"notice\":\"Thrown when validating that the inputted nonce has not been used\"}],\"InvalidSignature()\":[{\"notice\":\"Thrown when the recovered signer is equal to the zero address\"}],\"InvalidSignatureLength()\":[{\"notice\":\"Thrown when the passed in signature is not a valid length\"}],\"InvalidSigner()\":[{\"notice\":\"Thrown when the recovered signer does not equal the claimedSigner\"}],\"LengthMismatch()\":[{\"notice\":\"Thrown when the number of tokens permissioned to a spender does not match the number of tokens being transferred\"}],\"SignatureExpired(uint256)\":[{\"notice\":\"Thrown when validating an inputted signature that is stale\"}]},\"events\":{\"Approval(address,address,address,uint160,uint48)\":{\"notice\":\"Emits an event when the owner successfully sets permissions on a token for the spender.\"},\"Lockdown(address,address,address)\":{\"notice\":\"Emits an event when the owner sets the allowance back to 0 with the lockdown function.\"},\"NonceInvalidation(address,address,address,uint48,uint48)\":{\"notice\":\"Emits an event when the owner successfully invalidates an ordered nonce.\"},\"Permit(address,address,address,uint160,uint48,uint48)\":{\"notice\":\"Emits an event when the owner successfully sets permissions using a permit signature on a token for the spender.\"},\"UnorderedNonceInvalidation(address,uint256,uint256)\":{\"notice\":\"Emits an event when the owner successfully invalidates an unordered nonce.\"}},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"Returns the domain separator for the current chain.\"},\"allowance(address,address,address)\":{\"notice\":\"Maps users to tokens to spender addresses and information about the approval on the token\"},\"approve(address,address,uint160,uint48)\":{\"notice\":\"Approves the spender to use up to amount of the specified token up until the expiration\"},\"invalidateNonces(address,address,uint48)\":{\"notice\":\"Invalidate nonces for a given (token, spender) pair\"},\"invalidateUnorderedNonces(uint256,uint256)\":{\"notice\":\"Invalidates the bits specified in mask for the bitmap at the word position\"},\"lockdown((address,address)[])\":{\"notice\":\"Enables performing a \\\"lockdown\\\" of the sender's Permit2 identity by batch revoking approvals\"},\"nonceBitmap(address,uint256)\":{\"notice\":\"A map from token owner address and a caller specified word index to a bitmap. Used to set bits in the bitmap to prevent against signature replay protection\"},\"permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)\":{\"notice\":\"Permit a spender to a given amount of the owners token via the owner's EIP-712 signature\"},\"permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)\":{\"notice\":\"Permit a spender to the signed amounts of the owners tokens via the owner's EIP-712 signature\"},\"permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)\":{\"notice\":\"Transfers a token using a signed permit message\"},\"permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)\":{\"notice\":\"Transfers multiple tokens using a signed permit message\"},\"permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)\":{\"notice\":\"Transfers a token using a signed permit messageIncludes extra data provided by the caller to verify signature over\"},\"permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)\":{\"notice\":\"Transfers multiple tokens using a signed permit messageIncludes extra data provided by the caller to verify signature over\"},\"transferFrom((address,address,uint160,address)[])\":{\"notice\":\"Transfer approved tokens in a batch\"},\"transferFrom(address,address,uint160,address)\":{\"notice\":\"Transfer approved tokens from one address to another\"}},\"notice\":\"Permit2 handles signature-based transfers in SignatureTransfer and allowance-based transfers in AllowanceTransfer.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/Permit2.sol\":\"Permit2\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/AllowanceTransfer.sol\":{\"keccak256\":\"0x83a47e7841f9d285eb7f0fd977fedb808640714cb9822a104bab99fe5cbb58ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f0de543f076f8556690f236dc431277acf9c91c04916a46040194b03ea9836\",\"dweb:/ipfs/QmQ5YLFHexR2WTNXDGu4y6WjRmLPzrdH92j7NDQzT8Jevp\"]},\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/Permit2.sol\":{\"keccak256\":\"0x934c0eb24a52eb5900f01f5c328374b670366adf995ba9ed49bcd3d7b87b159e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdfd05b3007726dc6dd2822c1dd9dc1b2471fbec507f30efa71a1a214c98bab6\",\"dweb:/ipfs/QmPq4hptCSUACQdynSa86bdEexE7RryzosrhUAZ9Xkqc5a\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/SignatureTransfer.sol\":{\"keccak256\":\"0xa821caa24d6231fa8befe24a34bfda2c3b05b56e67fb913c86b26a19b19b6bbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://584994a77e33aa2fe804b803ab302cb811ee945632b76f68d78db761b18a24a2\",\"dweb:/ipfs/QmVd67VRKX24tSaREBNwhzVfU6xxqRLNEoPY6CYgG3xU5W\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a5578260405251902060805261220990816100c18239608051816118b0015260a0518161188a0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db146110c8578063137c29fe14610eef5780632a2d80d114610c4f5780632b67b57014610a9457806330f28b7a146109b25780633644e5151461098f57806336c78516146109385780633ff9dcb1146108d65780634fe02b441461088b57806365d9723c1461071657806387517c4514610602578063927da10514610569578063cc53287f14610467578063edd9444b1461031c5763fe8ec1a7146100c657600080fd5b346103185760c06003193601126103185767ffffffffffffffff8335818111610314576100f6903690860161146b565b6024358281116103105761010d903690870161143a565b610115611324565b9160843585811161030c5761012d9036908a016113e1565b98909560a43590811161030857610146913691016113e1565b9690958151906101558261123d565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610204602085018096611cfc565b918237018a8152039961023d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611275565b5190209085515161024d81611c24565b908a5b8181106102db5750506102d8999a6102cf91835161028281610276602082018095611ccf565b03848101835282611275565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611275565b51902093611a60565b80f35b806102f36102ed610303938c5161157e565b51611dbd565b6102fd828661157e565b52611c73565b610250565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103185760806003193601126103185767ffffffffffffffff9080358281116103145761034f903690830161146b565b60243583811161031057610366903690840161143a565b939092610371611324565b9160643590811161046357610388913691016113e1565b9490938351519761039889611c24565b98885b8181106104415750506102d8979881516103e9816103bd602082018095611ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611275565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102cf81611259565b808b6102fd826104586102ed61045e968d5161157e565b9261157e565b61039b565b8680fd5b50823461056557602090816003193601126103145780359067ffffffffffffffff82116103105761049a9136910161143a565b929091845b8481106104aa578580f35b806104c06104bb60019388886116d5565b6116e5565b6104d5846104cf848a8a6116d5565b016116e5565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a20161049f565b8280fd5b5034610318576060600319360112610318576105fe816105876112de565b93610590611301565b610598611324565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103185760806003193601126103185761061c6112de565b90610625611301565b9161062e611324565b65ffffffffffff926064358481169081810361030c5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c2094861560001461070e57504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b9050926106ed565b508234610565576060600319360112610565576107316112de565b9061073a611301565b9265ffffffffffff604435818116939084810361030c57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156108635761ffff90858403161161083c5750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b50346103185780600319360112610318578060209273ffffffffffffffffffffffffffffffffffffffff6108bd6112de565b1681528084528181206024358252845220549051908152f35b5082346105655781600319360112610565577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b823461098c57608060031936011261098c576109526112de565b61095a611301565b610962611324565b6064359173ffffffffffffffffffffffffffffffffffffffff83168303610310576102d8936115c1565b80fd5b50346103185781600319360112610318576020906109ab611887565b9051908152f35b5082903461056557610100600319360112610565576109d036611368565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610a026112b6565b9160e43567ffffffffffffffff8111610a90576102d894610a25913691016113e1565b939092610a328351611dbd565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610a8781611259565b5190209161198e565b8580fd5b5091346103185761010060031936011261031857610ab06112de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610314576080855191610ae983611221565b1261031457845190610afa826111d6565b73ffffffffffffffffffffffffffffffffffffffff916024358381168103610463578152604435838116810361046357602082015265ffffffffffff606435818116810361030c57888301526084359081168103610463576060820152815260a435938285168503610a90576020820194855260c4359087830182815260e43567ffffffffffffffff811161030857610b9690369084016113e1565b929093804211610c20575050918591610c106102d8999a610c1695610bbb8851611d27565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610c088161123d565b519020611942565b91611e30565b5192511691611706565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b50913461031857606060031993818536011261031457610c6d6112de565b9260249081359267ffffffffffffffff9788851161030c57859085360301126104635780519785890189811082821117610ec4578252848301358181116103085785019036602383011215610308578382013591610cca8361140f565b90610cd785519283611275565b838252602093878584019160071b83010191368311610ec0578801905b828210610e63575050508a526044610d0d868801611347565b96838c01978852013594838b0191868352604435908111610e5f57610d3590369087016113e1565b959096804211610e34575050508998995151610d5081611c24565b908b5b818110610e1157505092889492610c1092610dde97958351610d7c816103bd8682018095611ccf565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610c088161123d565b51169082515192845b848110610df2578580f35b80610e0b8585610e05600195875161157e565b51611706565b01610de7565b806102f3610e268e9f9e93610e2c945161157e565b51611d27565b9b9a9b610d53565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b608082360312610ec057856080918851610e7c816111d6565b610e8585611347565b8152610e92838601611347565b83820152610ea18a8601611427565b8a8201528d610eb1818701611427565b90820152815201910190610cf4565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105655761014060031936011261056557610f0c36611368565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610f3e6112b6565b67ffffffffffffffff93906101043585811161046357610f6190369086016113e1565b90936101243596871161030c57610f81610a87966102d8983691016113e1565b969095825190610f908261123d565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c00000000000000000000000000000000000000000000000000000000608083015283519485918161103f602085018096611cfc565b918237018b815203936110787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611275565b519020926110868651611dbd565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102c3565b5082346105655760208060031936011261031457813567ffffffffffffffff92838211610a905736602383011215610a9057810135928311610310576024906007368386831b8401011161046357865b858110611123578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8336030112610308576111d088876001946060835161116a816111d6565b6111a6608461117a8d8601611347565b9485845261118a60448201611347565b809785015261119b60648201611347565b809885015201611347565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166115c1565b01611118565b6080810190811067ffffffffffffffff8211176111f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176111f257604052565b60a0810190811067ffffffffffffffff8211176111f257604052565b60c0810190811067ffffffffffffffff8211176111f257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176111f257604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6003190190608082126112d957604080519061138382611221565b808294126112d957805181810181811067ffffffffffffffff8211176111f257825260043573ffffffffffffffffffffffffffffffffffffffff811681036112d9578152602435602082015282526044356020830152606435910152565b9181601f840112156112d95782359167ffffffffffffffff83116112d957602083818601950101116112d957565b67ffffffffffffffff81116111f25760051b60200190565b359065ffffffffffff821682036112d957565b9181601f840112156112d95782359167ffffffffffffffff83116112d9576020808501948460061b0101116112d957565b9190916060818403126112d957604080519161148683611221565b8294813567ffffffffffffffff908181116112d957830182601f820112156112d95780356114b38161140f565b926114c087519485611275565b818452602094858086019360061b850101938185116112d9579086899897969594939201925b848410611503575050505050855280820135908501520135910152565b9091929394959697848303126112d9578851908982019082821085831117611550578a928992845261153487611347565b81528287013583820152815201930191908897969594936114e6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156115925760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c168042116116a4575082871696838803611632575b50506116309550169261211c565b565b878484161160001461166f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846116309a031691161790553880611622565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b91908110156115925760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036112d95790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c0361185e57918561183794927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec9897969450871560001461183c5779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff0000000000000000000000000000000000000000876117c9565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f0000000000000000000000000000000000000000000000000000000000000000036118d2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261193c8161123d565b51902090565b61194a611887565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261193c816111d6565b9192909360a435936040840151804211611a2f57506020845101518086116119fe5750918591610c106119ce946119c9602088015186611bb0565b611942565b73ffffffffffffffffffffffffffffffffffffffff80915151169260843591821682036112d9576116309361211c565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611b805750848803611b5757611a97918691610c1060209b6119c98d88015186611bb0565b60005b868110611aab575050505050505050565b611ab681835161157e565b5188611ac383878a6116d5565b01359089810151808311611b27575091818888886001968596611aed575b50505050505001611a9a565b611b1c95611b169273ffffffffffffffffffffffffffffffffffffffff6104bb935116956116d5565b9161211c565b803888888883611ae1565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611bfa57565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611c2e8261140f565b611c3b6040519182611275565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611c69829461140f565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ca05760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611ce8575050505090565b835185529381019392810192600101611cda565b9081519160005b838110611d14575050016000815290565b8060208092840101518185015201611d03565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176111f25760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff8151166040840152015160608201526060815261193c816111d6565b91908260409103126112d9576020823592013590565b6000843b611f97575060418203611f1557611e4d82820182611e1a565b939092604010156115925760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa15611f095773ffffffffffffffffffffffffffffffffffffffff8060005116918215611edf571603611eb557565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203611f6d57611f2991810190611e1a565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611ca05760209360009360ff608094611e6b565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa908115612111578291612093575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361206957565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211612109575b816120ad60209383611275565b810103126103185751907fffffffff000000000000000000000000000000000000000000000000000000008216820361098c57507fffffffff00000000000000000000000000000000000000000000000000000000903861203d565b3d91506120a0565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561217557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea2646970667358221220c798ba34bd41ccb33394477f24cca6191c4fc58c8e7d9adae8e27920b835ff1d64736f6c63430008110033", + "opcodes": "PUSH1 0xC0 CALLVALUE PUSH2 0xBB JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA5 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x2209 SWAP1 DUP2 PUSH2 0xC1 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x18B0 ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0x188A ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0x10C8 JUMPI DUP1 PUSH4 0x137C29FE EQ PUSH2 0xEEF JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0xC4F JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x9B2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x98F JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x938 JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x8D6 JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x716 JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0xCC53287F EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x31C JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x318 JUMPI PUSH1 0xC0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0xF6 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x10D SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x143A JUMP JUMPDEST PUSH2 0x115 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x30C JUMPI PUSH2 0x12D SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x308 JUMPI PUSH2 0x146 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x155 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x204 PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x23D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x24D DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2DB JUMPI POP POP PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0x2CF SWAP2 DUP4 MLOAD PUSH2 0x282 DUP2 PUSH2 0x276 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x1A60 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0x2ED PUSH2 0x303 SWAP4 DUP13 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH2 0x2FD DUP3 DUP7 PUSH2 0x157E JUMP JUMPDEST MSTORE PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x250 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0x34F SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x366 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x143A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x371 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0x388 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x398 DUP10 PUSH2 0x1C24 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x441 JUMPI POP POP PUSH2 0x2D8 SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x3BD PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x2CF DUP2 PUSH2 0x1259 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2FD DUP3 PUSH2 0x458 PUSH2 0x2ED PUSH2 0x45E SWAP7 DUP14 MLOAD PUSH2 0x157E JUMP JUMPDEST SWAP3 PUSH2 0x157E JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x310 JUMPI PUSH2 0x49A SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x143A JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0x4AA JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0x4C0 PUSH2 0x4BB PUSH1 0x1 SWAP4 DUP9 DUP9 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0x16E5 JUMP JUMPDEST PUSH2 0x4D5 DUP5 PUSH2 0x4CF DUP5 DUP11 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD PUSH2 0x16E5 JUMP JUMPDEST CALLER DUP10 MSTORE DUP4 DUP6 MSTORE DUP6 DUP10 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 DUP12 MSTORE DUP7 MSTORE DUP7 DUP11 KECCAK256 SWAP2 AND SWAP1 DUP2 DUP11 MSTORE DUP6 MSTORE DUP6 DUP10 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE DUP6 MLOAD SWAP2 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 DUP6 CALLER SWAP3 LOG2 ADD PUSH2 0x49F JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x5FE DUP2 PUSH2 0x587 PUSH2 0x12DE JUMP JUMPDEST SWAP4 PUSH2 0x590 PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x598 PUSH2 0x1324 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 DUP8 AND DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP5 DUP5 KECCAK256 SWAP3 DUP9 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP8 AND DUP4 MSTORE DUP2 MSTORE SWAP2 SWAP1 KECCAK256 SLOAD SWAP3 MLOAD SWAP4 DUP4 AND DUP5 MSTORE PUSH1 0xA0 DUP4 SWAP1 SHR PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP5 ADD MSTORE PUSH1 0xD0 SWAP2 SWAP1 SWAP2 SHR PUSH1 0x40 DUP4 ADD MSTORE DUP2 SWAP1 PUSH1 0x60 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x61C PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x625 PUSH2 0x1301 JUMP JUMPDEST SWAP2 PUSH2 0x62E PUSH2 0x1324 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 AND SWAP1 DUP2 DUP2 SUB PUSH2 0x30C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP5 PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B SWAP5 CALLER DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP6 DUP12 KECCAK256 SWAP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP10 DUP11 DUP14 MSTORE PUSH1 0x20 MSTORE DUP4 DUP8 DUP14 KECCAK256 SWAP12 AND SWAP11 DUP12 DUP14 MSTORE PUSH1 0x20 MSTORE DUP7 DUP13 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x70E JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP8 DUP9 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST SWAP1 POP SWAP3 PUSH2 0x6ED JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x731 PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x73A PUSH2 0x1301 JUMP JUMPDEST SWAP3 PUSH6 0xFFFFFFFFFFFF PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND SWAP4 SWAP1 DUP5 DUP2 SUB PUSH2 0x30C JUMPI CALLER DUP9 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1 DUP4 MSTORE DUP5 DUP10 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP8 DUP9 DUP12 MSTORE DUP5 MSTORE DUP6 DUP11 KECCAK256 SWAP9 AND SWAP8 DUP9 DUP11 MSTORE DUP4 MSTORE DUP5 DUP10 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP4 DUP5 DUP8 GT ISZERO PUSH2 0x863 JUMPI PUSH2 0xFFFF SWAP1 DUP6 DUP5 SUB AND GT PUSH2 0x83C JUMPI POP SWAP1 PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 SWAP4 SWAP3 SWAP2 CALLER DUP10 MSTORE PUSH1 0x1 DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP8 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP9 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE DUP3 MLOAD SWAP5 DUP6 MSTORE DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST DUP5 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x8BD PUSH2 0x12DE JUMP JUMPDEST AND DUP2 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0x98C JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x98C JUMPI PUSH2 0x952 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x95A PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x962 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x310 JUMPI PUSH2 0x2D8 SWAP4 PUSH2 0x15C1 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x9AB PUSH2 0x1887 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x9D0 CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xA02 PUSH2 0x12B6 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xA90 JUMPI PUSH2 0x2D8 SWAP5 PUSH2 0xA25 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0xA32 DUP4 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0xA87 DUP2 PUSH2 0x1259 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0x198E JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0xAB0 PUSH2 0x12DE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD PUSH1 0xC0 DUP2 SLT PUSH2 0x314 JUMPI PUSH1 0x80 DUP6 MLOAD SWAP2 PUSH2 0xAE9 DUP4 PUSH2 0x1221 JUMP JUMPDEST SLT PUSH2 0x314 JUMPI DUP5 MLOAD SWAP1 PUSH2 0xAFA DUP3 PUSH2 0x11D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x30C JUMPI DUP9 DUP4 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP4 DUP3 DUP6 AND DUP6 SUB PUSH2 0xA90 JUMPI PUSH1 0x20 DUP3 ADD SWAP5 DUP6 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP8 DUP4 ADD DUP3 DUP2 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x308 JUMPI PUSH2 0xB96 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 DUP1 TIMESTAMP GT PUSH2 0xC20 JUMPI POP POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0xC16 SWAP6 PUSH2 0xBBB DUP9 MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP1 DUP10 DUP13 MLOAD AND SWAP1 MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP7 MSTORE DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x1942 JUMP JUMPDEST SWAP2 PUSH2 0x1E30 JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1706 JUMP JUMPDEST PUSH1 0x24 SWAP3 POP DUP11 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT SWAP4 DUP2 DUP6 CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xC6D PUSH2 0x12DE JUMP JUMPDEST SWAP3 PUSH1 0x24 SWAP1 DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP8 DUP9 DUP6 GT PUSH2 0x30C JUMPI DUP6 SWAP1 DUP6 CALLDATASIZE SUB ADD SLT PUSH2 0x463 JUMPI DUP1 MLOAD SWAP8 DUP6 DUP10 ADD DUP10 DUP2 LT DUP3 DUP3 GT OR PUSH2 0xEC4 JUMPI DUP3 MSTORE DUP5 DUP4 ADD CALLDATALOAD DUP2 DUP2 GT PUSH2 0x308 JUMPI DUP6 ADD SWAP1 CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x308 JUMPI DUP4 DUP3 ADD CALLDATALOAD SWAP2 PUSH2 0xCCA DUP4 PUSH2 0x140F JUMP JUMPDEST SWAP1 PUSH2 0xCD7 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP4 DUP3 MSTORE PUSH1 0x20 SWAP4 DUP8 DUP6 DUP5 ADD SWAP2 PUSH1 0x7 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xEC0 JUMPI DUP9 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xE63 JUMPI POP POP POP DUP11 MSTORE PUSH1 0x44 PUSH2 0xD0D DUP7 DUP9 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP7 DUP4 DUP13 ADD SWAP8 DUP9 MSTORE ADD CALLDATALOAD SWAP5 DUP4 DUP12 ADD SWAP2 DUP7 DUP4 MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xE5F JUMPI PUSH2 0xD35 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP6 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0xE34 JUMPI POP POP POP DUP10 SWAP9 SWAP10 MLOAD MLOAD PUSH2 0xD50 DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP12 JUMPDEST DUP2 DUP2 LT PUSH2 0xE11 JUMPI POP POP SWAP3 DUP9 SWAP5 SWAP3 PUSH2 0xC10 SWAP3 PUSH2 0xDDE SWAP8 SWAP6 DUP4 MLOAD PUSH2 0xD7C DUP2 PUSH2 0x3BD DUP7 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP11 DUP12 DUP12 MLOAD AND SWAP2 MLOAD SWAP3 DUP6 MLOAD SWAP5 DUP6 ADD SWAP6 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP8 MSTORE DUP6 ADD MSTORE DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD AND SWAP1 DUP3 MLOAD MLOAD SWAP3 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0xDF2 JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0xE0B DUP6 DUP6 PUSH2 0xE05 PUSH1 0x1 SWAP6 DUP8 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1706 JUMP JUMPDEST ADD PUSH2 0xDE7 JUMP JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0xE26 DUP15 SWAP16 SWAP15 SWAP4 PUSH2 0xE2C SWAP5 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP12 SWAP11 SWAP12 PUSH2 0xD53 JUMP JUMPDEST DUP6 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x80 DUP3 CALLDATASIZE SUB SLT PUSH2 0xEC0 JUMPI DUP6 PUSH1 0x80 SWAP2 DUP9 MLOAD PUSH2 0xE7C DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0xE85 DUP6 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xE92 DUP4 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xEA1 DUP11 DUP7 ADD PUSH2 0x1427 JUMP JUMPDEST DUP11 DUP3 ADD MSTORE DUP14 PUSH2 0xEB1 DUP2 DUP8 ADD PUSH2 0x1427 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP13 DUP1 REVERT JUMPDEST DUP5 DUP10 PUSH1 0x41 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x140 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0xF0C CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xF3E PUSH2 0x12B6 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0xF61 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x30C JUMPI PUSH2 0xF81 PUSH2 0xA87 SWAP7 PUSH2 0x2D8 SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0xF90 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x103F PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x1078 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x1086 DUP7 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x2C3 JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP3 GT PUSH2 0xA90 JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xA90 JUMPI DUP2 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x310 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP7 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x463 JUMPI DUP7 JUMPDEST DUP6 DUP2 LT PUSH2 0x1123 JUMPI DUP8 DUP1 RETURN JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x308 JUMPI PUSH2 0x11D0 DUP9 DUP8 PUSH1 0x1 SWAP5 PUSH1 0x60 DUP4 MLOAD PUSH2 0x116A DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x11A6 PUSH1 0x84 PUSH2 0x117A DUP14 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP5 DUP6 DUP5 MSTORE PUSH2 0x118A PUSH1 0x44 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP8 DUP6 ADD MSTORE PUSH2 0x119B PUSH1 0x64 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP9 DUP6 ADD MSTORE ADD PUSH2 0x1347 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0x15C1 JUMP JUMPDEST ADD PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x3 NOT ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x1383 DUP3 PUSH2 0x1221 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x12D9 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x11F2 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0x1486 DUP4 PUSH2 0x1221 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x12D9 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP1 CALLDATALOAD PUSH2 0x14B3 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 PUSH2 0x14C0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x1275 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x12D9 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1503 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x12D9 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD SWAP1 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x1550 JUMPI DUP11 SWAP3 DUP10 SWAP3 DUP5 MSTORE PUSH2 0x1534 DUP8 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0x14E6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 PUSH1 0x0 DUP3 DUP5 AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP3 DUP3 DUP3 KECCAK256 SWAP7 AND SWAP6 DUP7 DUP3 MSTORE PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 CALLER DUP3 MSTORE PUSH1 0x20 MSTORE KECCAK256 SWAP5 DUP6 SLOAD SWAP6 PUSH6 0xFFFFFFFFFFFF DUP8 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0x16A4 JUMPI POP DUP3 DUP8 AND SWAP7 DUP4 DUP9 SUB PUSH2 0x1632 JUMPI JUMPDEST POP POP PUSH2 0x1630 SWAP6 POP AND SWAP3 PUSH2 0x211C JUMP JUMPDEST JUMP JUMPDEST DUP8 DUP5 DUP5 AND GT PUSH1 0x0 EQ PUSH2 0x166F JUMPI PUSH1 0x24 DUP9 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP5 DUP5 PUSH2 0x1630 SWAP11 SUB AND SWAP2 AND OR SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x185E JUMPI SWAP2 DUP6 PUSH2 0x1837 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x183C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x17C9 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x18D2 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x194A PUSH2 0x1887 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1A2F JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0x19FE JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x19CE SWAP5 PUSH2 0x19C9 PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH2 0x1942 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI PUSH2 0x1630 SWAP4 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP6 SWAP1 SWAP4 SWAP6 DUP1 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP3 DUP4 DUP4 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1B80 JUMPI POP DUP5 DUP9 SUB PUSH2 0x1B57 JUMPI PUSH2 0x1A97 SWAP2 DUP7 SWAP2 PUSH2 0xC10 PUSH1 0x20 SWAP12 PUSH2 0x19C9 DUP14 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT PUSH2 0x1AAB JUMPI POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AB6 DUP2 DUP4 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD DUP9 PUSH2 0x1AC3 DUP4 DUP8 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP10 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0x1B27 JUMPI POP SWAP2 DUP2 DUP9 DUP9 DUP9 PUSH1 0x1 SWAP7 DUP6 SWAP7 PUSH2 0x1AED JUMPI JUMPDEST POP POP POP POP POP POP ADD PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x1B1C SWAP6 PUSH2 0x1B16 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x4BB SWAP4 MLOAD AND SWAP6 PUSH2 0x16D5 JUMP JUMPDEST SWAP2 PUSH2 0x211C JUMP JUMPDEST DUP1 CODESIZE DUP9 DUP9 DUP9 DUP4 PUSH2 0x1AE1 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP7 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP6 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0x1BFA JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x1C2E DUP3 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x1C3B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1275 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1C69 DUP3 SWAP5 PUSH2 0x140F JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1CA0 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1CE8 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1CDA JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x1D14 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x1D03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x1F97 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1F15 JUMPI PUSH2 0x1E4D DUP3 DUP3 ADD DUP3 PUSH2 0x1E1A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1F09 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x1EDF JUMPI AND SUB PUSH2 0x1EB5 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1F6D JUMPI PUSH2 0x1F29 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E1A JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x1CA0 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1E6B JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x2111 JUMPI DUP3 SWAP2 PUSH2 0x2093 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x2069 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x2109 JUMPI JUMPDEST DUP2 PUSH2 0x20AD PUSH1 0x20 SWAP4 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x318 JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x98C JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x203D JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x20A0 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x2175 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 SWAP9 0xBA CALLVALUE 0xBD COINBASE 0xCC 0xB3 CALLER SWAP5 SELFBALANCE PUSH32 0x24CCA6191C4FC58C8E7D9ADAE8E27920B835FF1D64736F6C6343000811003300 ", + "sourceMap": "385:152:20:-:0;;;;856:13:19;837:32;;1560:60;;;726:80;385:152:20;;654:20:19;385:152:20;;;;856:13:19;385:152:20;;;;1614:4:19;385:152:20;;;;;1560:60:19;;837:32;385:152:20;;;;;;;;;;;;;;;;;;;;1550:71:19;;385:152:20;879:74:19;385:152:20;;;;;;;;;;;;837:32:19;385:152:20;;;;;;;;;;-1:-1:-1;385:152:20;;;;;-1:-1:-1;385:152:20;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_address": { + "entryPoint": 4935, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_address_13076": { + "entryPoint": 4790, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_address_13079": { + "entryPoint": 4830, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_address_13090": { + "entryPoint": 4865, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_address_13103": { + "entryPoint": 4900, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_array_struct_TokenSpenderPair_calldata_dyn_calldata": { + "entryPoint": 5178, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_bytes32t_bytes32": { + "entryPoint": 7706, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_string_calldata": { + "entryPoint": 5089, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_struct_PermitBatchTransferFrom": { + "entryPoint": 5227, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_struct_PermitTransferFrom": { + "entryPoint": 4968, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_uint48": { + "entryPoint": 5159, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_array_bytes32_dyn": { + "entryPoint": 7375, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_bytes32_bytes32_address_uint256_uint256_bytes32": { + "entryPoint": null, + "id": null, + "parameterSlots": 7, + "returnSlots": 1 + }, + "abi_encode_string": { + "entryPoint": 7420, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_uint160_uint48_uint48": { + "entryPoint": null, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "allocate_and_zero_memory_array_array_bytes32_dyn": { + "entryPoint": 7204, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_array_struct_PermitDetails_dyn": { + "entryPoint": 5135, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "calldata_array_index_access_struct_TokenSpenderPair_calldata_dyn_calldata": { + "entryPoint": 5845, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 4725, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_13074": { + "entryPoint": 4566, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_13082": { + "entryPoint": 4641, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_19045": { + "entryPoint": 4669, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_19052": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_21849": { + "entryPoint": 4697, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_DOMAIN_SEPARATOR": { + "entryPoint": 6279, + "id": 27693, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun__permitTransferFrom": { + "entryPoint": 6542, + "id": 27931, + "parameterSlots": 5, + "returnSlots": 0 + }, + "fun_hashPermitDetails": { + "entryPoint": 7463, + "id": 29283, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_hashTokenPermissions": { + "entryPoint": 7613, + "id": 29300, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_hashTypedData": { + "entryPoint": 6466, + "id": 27737, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_permitTransferFrom": { + "entryPoint": 6752, + "id": 28103, + "parameterSlots": 7, + "returnSlots": 0 + }, + "fun_safeTransferFrom": { + "entryPoint": 8476, + "id": 30007, + "parameterSlots": 4, + "returnSlots": 0 + }, + "fun_transfer": { + "entryPoint": 5569, + "id": 27441, + "parameterSlots": 4, + "returnSlots": 0 + }, + "fun_updateApproval": { + "entryPoint": 5894, + "id": 27641, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_useUnorderedNonce": { + "entryPoint": 7088, + "id": 28197, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_verify": { + "entryPoint": 7728, + "id": 29500, + "parameterSlots": 4, + "returnSlots": 0 + }, + "increment_uint256": { + "entryPoint": 7283, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PermitDetails_dyn": { + "entryPoint": 5502, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "read_from_calldatat_address": { + "entryPoint": 5861, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + } + }, + "object": "6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db146110c8578063137c29fe14610eef5780632a2d80d114610c4f5780632b67b57014610a9457806330f28b7a146109b25780633644e5151461098f57806336c78516146109385780633ff9dcb1146108d65780634fe02b441461088b57806365d9723c1461071657806387517c4514610602578063927da10514610569578063cc53287f14610467578063edd9444b1461031c5763fe8ec1a7146100c657600080fd5b346103185760c06003193601126103185767ffffffffffffffff8335818111610314576100f6903690860161146b565b6024358281116103105761010d903690870161143a565b610115611324565b9160843585811161030c5761012d9036908a016113e1565b98909560a43590811161030857610146913691016113e1565b9690958151906101558261123d565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610204602085018096611cfc565b918237018a8152039961023d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611275565b5190209085515161024d81611c24565b908a5b8181106102db5750506102d8999a6102cf91835161028281610276602082018095611ccf565b03848101835282611275565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611275565b51902093611a60565b80f35b806102f36102ed610303938c5161157e565b51611dbd565b6102fd828661157e565b52611c73565b610250565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103185760806003193601126103185767ffffffffffffffff9080358281116103145761034f903690830161146b565b60243583811161031057610366903690840161143a565b939092610371611324565b9160643590811161046357610388913691016113e1565b9490938351519761039889611c24565b98885b8181106104415750506102d8979881516103e9816103bd602082018095611ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611275565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102cf81611259565b808b6102fd826104586102ed61045e968d5161157e565b9261157e565b61039b565b8680fd5b50823461056557602090816003193601126103145780359067ffffffffffffffff82116103105761049a9136910161143a565b929091845b8481106104aa578580f35b806104c06104bb60019388886116d5565b6116e5565b6104d5846104cf848a8a6116d5565b016116e5565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a20161049f565b8280fd5b5034610318576060600319360112610318576105fe816105876112de565b93610590611301565b610598611324565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103185760806003193601126103185761061c6112de565b90610625611301565b9161062e611324565b65ffffffffffff926064358481169081810361030c5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c2094861560001461070e57504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b9050926106ed565b508234610565576060600319360112610565576107316112de565b9061073a611301565b9265ffffffffffff604435818116939084810361030c57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156108635761ffff90858403161161083c5750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b50346103185780600319360112610318578060209273ffffffffffffffffffffffffffffffffffffffff6108bd6112de565b1681528084528181206024358252845220549051908152f35b5082346105655781600319360112610565577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b823461098c57608060031936011261098c576109526112de565b61095a611301565b610962611324565b6064359173ffffffffffffffffffffffffffffffffffffffff83168303610310576102d8936115c1565b80fd5b50346103185781600319360112610318576020906109ab611887565b9051908152f35b5082903461056557610100600319360112610565576109d036611368565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610a026112b6565b9160e43567ffffffffffffffff8111610a90576102d894610a25913691016113e1565b939092610a328351611dbd565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610a8781611259565b5190209161198e565b8580fd5b5091346103185761010060031936011261031857610ab06112de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610314576080855191610ae983611221565b1261031457845190610afa826111d6565b73ffffffffffffffffffffffffffffffffffffffff916024358381168103610463578152604435838116810361046357602082015265ffffffffffff606435818116810361030c57888301526084359081168103610463576060820152815260a435938285168503610a90576020820194855260c4359087830182815260e43567ffffffffffffffff811161030857610b9690369084016113e1565b929093804211610c20575050918591610c106102d8999a610c1695610bbb8851611d27565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610c088161123d565b519020611942565b91611e30565b5192511691611706565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b50913461031857606060031993818536011261031457610c6d6112de565b9260249081359267ffffffffffffffff9788851161030c57859085360301126104635780519785890189811082821117610ec4578252848301358181116103085785019036602383011215610308578382013591610cca8361140f565b90610cd785519283611275565b838252602093878584019160071b83010191368311610ec0578801905b828210610e63575050508a526044610d0d868801611347565b96838c01978852013594838b0191868352604435908111610e5f57610d3590369087016113e1565b959096804211610e34575050508998995151610d5081611c24565b908b5b818110610e1157505092889492610c1092610dde97958351610d7c816103bd8682018095611ccf565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610c088161123d565b51169082515192845b848110610df2578580f35b80610e0b8585610e05600195875161157e565b51611706565b01610de7565b806102f3610e268e9f9e93610e2c945161157e565b51611d27565b9b9a9b610d53565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b608082360312610ec057856080918851610e7c816111d6565b610e8585611347565b8152610e92838601611347565b83820152610ea18a8601611427565b8a8201528d610eb1818701611427565b90820152815201910190610cf4565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105655761014060031936011261056557610f0c36611368565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610f3e6112b6565b67ffffffffffffffff93906101043585811161046357610f6190369086016113e1565b90936101243596871161030c57610f81610a87966102d8983691016113e1565b969095825190610f908261123d565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c00000000000000000000000000000000000000000000000000000000608083015283519485918161103f602085018096611cfc565b918237018b815203936110787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611275565b519020926110868651611dbd565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102c3565b5082346105655760208060031936011261031457813567ffffffffffffffff92838211610a905736602383011215610a9057810135928311610310576024906007368386831b8401011161046357865b858110611123578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8336030112610308576111d088876001946060835161116a816111d6565b6111a6608461117a8d8601611347565b9485845261118a60448201611347565b809785015261119b60648201611347565b809885015201611347565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166115c1565b01611118565b6080810190811067ffffffffffffffff8211176111f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176111f257604052565b60a0810190811067ffffffffffffffff8211176111f257604052565b60c0810190811067ffffffffffffffff8211176111f257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176111f257604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6003190190608082126112d957604080519061138382611221565b808294126112d957805181810181811067ffffffffffffffff8211176111f257825260043573ffffffffffffffffffffffffffffffffffffffff811681036112d9578152602435602082015282526044356020830152606435910152565b9181601f840112156112d95782359167ffffffffffffffff83116112d957602083818601950101116112d957565b67ffffffffffffffff81116111f25760051b60200190565b359065ffffffffffff821682036112d957565b9181601f840112156112d95782359167ffffffffffffffff83116112d9576020808501948460061b0101116112d957565b9190916060818403126112d957604080519161148683611221565b8294813567ffffffffffffffff908181116112d957830182601f820112156112d95780356114b38161140f565b926114c087519485611275565b818452602094858086019360061b850101938185116112d9579086899897969594939201925b848410611503575050505050855280820135908501520135910152565b9091929394959697848303126112d9578851908982019082821085831117611550578a928992845261153487611347565b81528287013583820152815201930191908897969594936114e6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156115925760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c168042116116a4575082871696838803611632575b50506116309550169261211c565b565b878484161160001461166f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846116309a031691161790553880611622565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b91908110156115925760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036112d95790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c0361185e57918561183794927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec9897969450871560001461183c5779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff0000000000000000000000000000000000000000876117c9565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f0000000000000000000000000000000000000000000000000000000000000000036118d2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261193c8161123d565b51902090565b61194a611887565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261193c816111d6565b9192909360a435936040840151804211611a2f57506020845101518086116119fe5750918591610c106119ce946119c9602088015186611bb0565b611942565b73ffffffffffffffffffffffffffffffffffffffff80915151169260843591821682036112d9576116309361211c565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611b805750848803611b5757611a97918691610c1060209b6119c98d88015186611bb0565b60005b868110611aab575050505050505050565b611ab681835161157e565b5188611ac383878a6116d5565b01359089810151808311611b27575091818888886001968596611aed575b50505050505001611a9a565b611b1c95611b169273ffffffffffffffffffffffffffffffffffffffff6104bb935116956116d5565b9161211c565b803888888883611ae1565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611bfa57565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611c2e8261140f565b611c3b6040519182611275565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611c69829461140f565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ca05760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611ce8575050505090565b835185529381019392810192600101611cda565b9081519160005b838110611d14575050016000815290565b8060208092840101518185015201611d03565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176111f25760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff8151166040840152015160608201526060815261193c816111d6565b91908260409103126112d9576020823592013590565b6000843b611f97575060418203611f1557611e4d82820182611e1a565b939092604010156115925760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa15611f095773ffffffffffffffffffffffffffffffffffffffff8060005116918215611edf571603611eb557565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203611f6d57611f2991810190611e1a565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611ca05760209360009360ff608094611e6b565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa908115612111578291612093575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361206957565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211612109575b816120ad60209383611275565b810103126103185751907fffffffff000000000000000000000000000000000000000000000000000000008216820361098c57507fffffffff00000000000000000000000000000000000000000000000000000000903861203d565b3d91506120a0565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561217557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea2646970667358221220c798ba34bd41ccb33394477f24cca6191c4fc58c8e7d9adae8e27920b835ff1d64736f6c63430008110033", + "opcodes": "PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0x10C8 JUMPI DUP1 PUSH4 0x137C29FE EQ PUSH2 0xEEF JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0xC4F JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x9B2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x98F JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x938 JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x8D6 JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x716 JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0xCC53287F EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x31C JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x318 JUMPI PUSH1 0xC0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0xF6 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x10D SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x143A JUMP JUMPDEST PUSH2 0x115 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x30C JUMPI PUSH2 0x12D SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x308 JUMPI PUSH2 0x146 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x155 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x204 PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x23D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x24D DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2DB JUMPI POP POP PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0x2CF SWAP2 DUP4 MLOAD PUSH2 0x282 DUP2 PUSH2 0x276 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x1A60 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0x2ED PUSH2 0x303 SWAP4 DUP13 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH2 0x2FD DUP3 DUP7 PUSH2 0x157E JUMP JUMPDEST MSTORE PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x250 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0x34F SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x366 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x143A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x371 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0x388 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x398 DUP10 PUSH2 0x1C24 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x441 JUMPI POP POP PUSH2 0x2D8 SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x3BD PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x2CF DUP2 PUSH2 0x1259 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2FD DUP3 PUSH2 0x458 PUSH2 0x2ED PUSH2 0x45E SWAP7 DUP14 MLOAD PUSH2 0x157E JUMP JUMPDEST SWAP3 PUSH2 0x157E JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x310 JUMPI PUSH2 0x49A SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x143A JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0x4AA JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0x4C0 PUSH2 0x4BB PUSH1 0x1 SWAP4 DUP9 DUP9 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0x16E5 JUMP JUMPDEST PUSH2 0x4D5 DUP5 PUSH2 0x4CF DUP5 DUP11 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD PUSH2 0x16E5 JUMP JUMPDEST CALLER DUP10 MSTORE DUP4 DUP6 MSTORE DUP6 DUP10 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 DUP12 MSTORE DUP7 MSTORE DUP7 DUP11 KECCAK256 SWAP2 AND SWAP1 DUP2 DUP11 MSTORE DUP6 MSTORE DUP6 DUP10 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE DUP6 MLOAD SWAP2 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 DUP6 CALLER SWAP3 LOG2 ADD PUSH2 0x49F JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x5FE DUP2 PUSH2 0x587 PUSH2 0x12DE JUMP JUMPDEST SWAP4 PUSH2 0x590 PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x598 PUSH2 0x1324 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 DUP8 AND DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP5 DUP5 KECCAK256 SWAP3 DUP9 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP8 AND DUP4 MSTORE DUP2 MSTORE SWAP2 SWAP1 KECCAK256 SLOAD SWAP3 MLOAD SWAP4 DUP4 AND DUP5 MSTORE PUSH1 0xA0 DUP4 SWAP1 SHR PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP5 ADD MSTORE PUSH1 0xD0 SWAP2 SWAP1 SWAP2 SHR PUSH1 0x40 DUP4 ADD MSTORE DUP2 SWAP1 PUSH1 0x60 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x61C PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x625 PUSH2 0x1301 JUMP JUMPDEST SWAP2 PUSH2 0x62E PUSH2 0x1324 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 AND SWAP1 DUP2 DUP2 SUB PUSH2 0x30C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP5 PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B SWAP5 CALLER DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP6 DUP12 KECCAK256 SWAP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP10 DUP11 DUP14 MSTORE PUSH1 0x20 MSTORE DUP4 DUP8 DUP14 KECCAK256 SWAP12 AND SWAP11 DUP12 DUP14 MSTORE PUSH1 0x20 MSTORE DUP7 DUP13 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x70E JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP8 DUP9 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST SWAP1 POP SWAP3 PUSH2 0x6ED JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x731 PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x73A PUSH2 0x1301 JUMP JUMPDEST SWAP3 PUSH6 0xFFFFFFFFFFFF PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND SWAP4 SWAP1 DUP5 DUP2 SUB PUSH2 0x30C JUMPI CALLER DUP9 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1 DUP4 MSTORE DUP5 DUP10 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP8 DUP9 DUP12 MSTORE DUP5 MSTORE DUP6 DUP11 KECCAK256 SWAP9 AND SWAP8 DUP9 DUP11 MSTORE DUP4 MSTORE DUP5 DUP10 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP4 DUP5 DUP8 GT ISZERO PUSH2 0x863 JUMPI PUSH2 0xFFFF SWAP1 DUP6 DUP5 SUB AND GT PUSH2 0x83C JUMPI POP SWAP1 PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 SWAP4 SWAP3 SWAP2 CALLER DUP10 MSTORE PUSH1 0x1 DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP8 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP9 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE DUP3 MLOAD SWAP5 DUP6 MSTORE DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST DUP5 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x8BD PUSH2 0x12DE JUMP JUMPDEST AND DUP2 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0x98C JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x98C JUMPI PUSH2 0x952 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x95A PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x962 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x310 JUMPI PUSH2 0x2D8 SWAP4 PUSH2 0x15C1 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x9AB PUSH2 0x1887 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x9D0 CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xA02 PUSH2 0x12B6 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xA90 JUMPI PUSH2 0x2D8 SWAP5 PUSH2 0xA25 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0xA32 DUP4 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0xA87 DUP2 PUSH2 0x1259 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0x198E JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0xAB0 PUSH2 0x12DE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD PUSH1 0xC0 DUP2 SLT PUSH2 0x314 JUMPI PUSH1 0x80 DUP6 MLOAD SWAP2 PUSH2 0xAE9 DUP4 PUSH2 0x1221 JUMP JUMPDEST SLT PUSH2 0x314 JUMPI DUP5 MLOAD SWAP1 PUSH2 0xAFA DUP3 PUSH2 0x11D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x30C JUMPI DUP9 DUP4 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP4 DUP3 DUP6 AND DUP6 SUB PUSH2 0xA90 JUMPI PUSH1 0x20 DUP3 ADD SWAP5 DUP6 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP8 DUP4 ADD DUP3 DUP2 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x308 JUMPI PUSH2 0xB96 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 DUP1 TIMESTAMP GT PUSH2 0xC20 JUMPI POP POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0xC16 SWAP6 PUSH2 0xBBB DUP9 MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP1 DUP10 DUP13 MLOAD AND SWAP1 MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP7 MSTORE DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x1942 JUMP JUMPDEST SWAP2 PUSH2 0x1E30 JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1706 JUMP JUMPDEST PUSH1 0x24 SWAP3 POP DUP11 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT SWAP4 DUP2 DUP6 CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xC6D PUSH2 0x12DE JUMP JUMPDEST SWAP3 PUSH1 0x24 SWAP1 DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP8 DUP9 DUP6 GT PUSH2 0x30C JUMPI DUP6 SWAP1 DUP6 CALLDATASIZE SUB ADD SLT PUSH2 0x463 JUMPI DUP1 MLOAD SWAP8 DUP6 DUP10 ADD DUP10 DUP2 LT DUP3 DUP3 GT OR PUSH2 0xEC4 JUMPI DUP3 MSTORE DUP5 DUP4 ADD CALLDATALOAD DUP2 DUP2 GT PUSH2 0x308 JUMPI DUP6 ADD SWAP1 CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x308 JUMPI DUP4 DUP3 ADD CALLDATALOAD SWAP2 PUSH2 0xCCA DUP4 PUSH2 0x140F JUMP JUMPDEST SWAP1 PUSH2 0xCD7 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP4 DUP3 MSTORE PUSH1 0x20 SWAP4 DUP8 DUP6 DUP5 ADD SWAP2 PUSH1 0x7 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xEC0 JUMPI DUP9 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xE63 JUMPI POP POP POP DUP11 MSTORE PUSH1 0x44 PUSH2 0xD0D DUP7 DUP9 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP7 DUP4 DUP13 ADD SWAP8 DUP9 MSTORE ADD CALLDATALOAD SWAP5 DUP4 DUP12 ADD SWAP2 DUP7 DUP4 MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xE5F JUMPI PUSH2 0xD35 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP6 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0xE34 JUMPI POP POP POP DUP10 SWAP9 SWAP10 MLOAD MLOAD PUSH2 0xD50 DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP12 JUMPDEST DUP2 DUP2 LT PUSH2 0xE11 JUMPI POP POP SWAP3 DUP9 SWAP5 SWAP3 PUSH2 0xC10 SWAP3 PUSH2 0xDDE SWAP8 SWAP6 DUP4 MLOAD PUSH2 0xD7C DUP2 PUSH2 0x3BD DUP7 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP11 DUP12 DUP12 MLOAD AND SWAP2 MLOAD SWAP3 DUP6 MLOAD SWAP5 DUP6 ADD SWAP6 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP8 MSTORE DUP6 ADD MSTORE DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD AND SWAP1 DUP3 MLOAD MLOAD SWAP3 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0xDF2 JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0xE0B DUP6 DUP6 PUSH2 0xE05 PUSH1 0x1 SWAP6 DUP8 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1706 JUMP JUMPDEST ADD PUSH2 0xDE7 JUMP JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0xE26 DUP15 SWAP16 SWAP15 SWAP4 PUSH2 0xE2C SWAP5 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP12 SWAP11 SWAP12 PUSH2 0xD53 JUMP JUMPDEST DUP6 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x80 DUP3 CALLDATASIZE SUB SLT PUSH2 0xEC0 JUMPI DUP6 PUSH1 0x80 SWAP2 DUP9 MLOAD PUSH2 0xE7C DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0xE85 DUP6 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xE92 DUP4 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xEA1 DUP11 DUP7 ADD PUSH2 0x1427 JUMP JUMPDEST DUP11 DUP3 ADD MSTORE DUP14 PUSH2 0xEB1 DUP2 DUP8 ADD PUSH2 0x1427 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP13 DUP1 REVERT JUMPDEST DUP5 DUP10 PUSH1 0x41 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x140 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0xF0C CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xF3E PUSH2 0x12B6 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0xF61 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x30C JUMPI PUSH2 0xF81 PUSH2 0xA87 SWAP7 PUSH2 0x2D8 SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0xF90 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x103F PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x1078 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x1086 DUP7 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x2C3 JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP3 GT PUSH2 0xA90 JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xA90 JUMPI DUP2 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x310 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP7 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x463 JUMPI DUP7 JUMPDEST DUP6 DUP2 LT PUSH2 0x1123 JUMPI DUP8 DUP1 RETURN JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x308 JUMPI PUSH2 0x11D0 DUP9 DUP8 PUSH1 0x1 SWAP5 PUSH1 0x60 DUP4 MLOAD PUSH2 0x116A DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x11A6 PUSH1 0x84 PUSH2 0x117A DUP14 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP5 DUP6 DUP5 MSTORE PUSH2 0x118A PUSH1 0x44 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP8 DUP6 ADD MSTORE PUSH2 0x119B PUSH1 0x64 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP9 DUP6 ADD MSTORE ADD PUSH2 0x1347 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0x15C1 JUMP JUMPDEST ADD PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x3 NOT ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x1383 DUP3 PUSH2 0x1221 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x12D9 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x11F2 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0x1486 DUP4 PUSH2 0x1221 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x12D9 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP1 CALLDATALOAD PUSH2 0x14B3 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 PUSH2 0x14C0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x1275 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x12D9 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1503 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x12D9 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD SWAP1 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x1550 JUMPI DUP11 SWAP3 DUP10 SWAP3 DUP5 MSTORE PUSH2 0x1534 DUP8 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0x14E6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 PUSH1 0x0 DUP3 DUP5 AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP3 DUP3 DUP3 KECCAK256 SWAP7 AND SWAP6 DUP7 DUP3 MSTORE PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 CALLER DUP3 MSTORE PUSH1 0x20 MSTORE KECCAK256 SWAP5 DUP6 SLOAD SWAP6 PUSH6 0xFFFFFFFFFFFF DUP8 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0x16A4 JUMPI POP DUP3 DUP8 AND SWAP7 DUP4 DUP9 SUB PUSH2 0x1632 JUMPI JUMPDEST POP POP PUSH2 0x1630 SWAP6 POP AND SWAP3 PUSH2 0x211C JUMP JUMPDEST JUMP JUMPDEST DUP8 DUP5 DUP5 AND GT PUSH1 0x0 EQ PUSH2 0x166F JUMPI PUSH1 0x24 DUP9 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP5 DUP5 PUSH2 0x1630 SWAP11 SUB AND SWAP2 AND OR SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x185E JUMPI SWAP2 DUP6 PUSH2 0x1837 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x183C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x17C9 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x18D2 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x194A PUSH2 0x1887 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1A2F JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0x19FE JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x19CE SWAP5 PUSH2 0x19C9 PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH2 0x1942 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI PUSH2 0x1630 SWAP4 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP6 SWAP1 SWAP4 SWAP6 DUP1 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP3 DUP4 DUP4 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1B80 JUMPI POP DUP5 DUP9 SUB PUSH2 0x1B57 JUMPI PUSH2 0x1A97 SWAP2 DUP7 SWAP2 PUSH2 0xC10 PUSH1 0x20 SWAP12 PUSH2 0x19C9 DUP14 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT PUSH2 0x1AAB JUMPI POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AB6 DUP2 DUP4 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD DUP9 PUSH2 0x1AC3 DUP4 DUP8 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP10 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0x1B27 JUMPI POP SWAP2 DUP2 DUP9 DUP9 DUP9 PUSH1 0x1 SWAP7 DUP6 SWAP7 PUSH2 0x1AED JUMPI JUMPDEST POP POP POP POP POP POP ADD PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x1B1C SWAP6 PUSH2 0x1B16 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x4BB SWAP4 MLOAD AND SWAP6 PUSH2 0x16D5 JUMP JUMPDEST SWAP2 PUSH2 0x211C JUMP JUMPDEST DUP1 CODESIZE DUP9 DUP9 DUP9 DUP4 PUSH2 0x1AE1 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP7 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP6 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0x1BFA JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x1C2E DUP3 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x1C3B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1275 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1C69 DUP3 SWAP5 PUSH2 0x140F JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1CA0 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1CE8 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1CDA JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x1D14 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x1D03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x1F97 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1F15 JUMPI PUSH2 0x1E4D DUP3 DUP3 ADD DUP3 PUSH2 0x1E1A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1F09 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x1EDF JUMPI AND SUB PUSH2 0x1EB5 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1F6D JUMPI PUSH2 0x1F29 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E1A JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x1CA0 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1E6B JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x2111 JUMPI DUP3 SWAP2 PUSH2 0x2093 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x2069 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x2109 JUMPI JUMPDEST DUP2 PUSH2 0x20AD PUSH1 0x20 SWAP4 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x318 JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x98C JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x203D JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x20A0 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x2175 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 SWAP9 0xBA CALLVALUE 0xBD COINBASE 0xCC 0xB3 CALLER SWAP5 SELFBALANCE PUSH32 0x24CCA6191C4FC58C8E7D9ADAE8E27920B835FF1D64736F6C6343000811003300 ", + "sourceMap": "385:152:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;4678:86:29;;;;1621:102;385:152:20;4678:86:29;;1621:102;;;:::i;:::-;;;;;;;;4678:86;;;;;;;;;;;;:::i;:::-;385:152:20;4668:97:29;;4799:16;;;385:152:20;4873:27:29;;;:::i;:::-;4916:13;;4931:16;;;;;;385:152:20;;3581:9:22;385:152:20;;5088:234:29;385:152:20;;;5152:39:29;;661:173;385:152:20;5152:39:29;;661:173;;;:::i;:::-;5152:39;;;;;;;;:::i;:::-;385:152:20;5142:50:29;;385:152:20;5238:12:29;;;385:152:20;5268:15:29;;;385:152:20;;;5088:234:29;;;385:152:20;;;1621:102:29;;;385:152:20;;;;5210:10:29;1621:102;;;385:152:20;1621:102:29;;;385:152:20;;;;1621:102:29;;;385:152:20;;;;;;1621:102:29;;;385:152:20;;1621:102:29;;;5088:234;;;;;;;;;:::i;:::-;385:152:20;5065:267:29;;3581:9:22;;:::i;:::-;385:152:20;;4949:3:29;5017:16;4995:42;5017:19;4949:3;5017:16;;;:19;:::i;:::-;;4995:42;:::i;:::-;4968:69;;;;:::i;:::-;385:152:20;4949:3:29;:::i;:::-;4916:13;;385:152:20;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3353:16:29;;;;;385:152:20;3427:27:29;;;;:::i;:::-;3470:13;;3485:16;;;;;;385:152:20;;3109:9:22;385:152:20;;;;3734:39:29;;661:173;385:152:20;3734:39:29;;661:173;;;:::i;:::-;3734:39;;;;;;;;:::i;:::-;385:152:20;3724:50:29;;385:152:20;3820:12:29;;385:152:20;3850:15:29;;;385:152:20;;;;3642:237:29;385:152:20;3642:237:29;;385:152:20;1254:173:29;385:152:20;;1018:166:29;;385:152:20;3792:10:29;1018:166;;;385:152:20;;1018:166:29;;385:152:20;1018:166:29;;;385:152:20;1018:166:29;3642:237;;;;;:::i;3503:3::-;3571:16;;3522:69;3571:16;3549:42;3571:19;3503:3;3571:16;;;:19;:::i;3549:42::-;3522:69;;:::i;3503:3::-;3470:13;;385:152:20;;;;;;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;;;;;;;;;;;;;:::i;:::-;4519:13:18;;;;4534:10;;;;;;385:152:20;;;4546:3:18;4585:12;:18;:12;385:152:20;4585:12:18;;;;:::i;:::-;:18;:::i;:::-;4639:20;:12;;;;;;:::i;:::-;:20;;:::i;:::-;4356:10;385:152:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4744:31:18;4356:10;;4744:31;;385:152:20;4519:13:18;;385:152:20;;;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;;;;;1098:92:18;385:152:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;1383:10:18;1488:56;1383:10;;385:152:20;;1373:9:18;385:152:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:54:27;:15;;:54;385:152:20;;;1535:15:27;;385:152:20;1510:54:27;;385:152:20;;;;;;;;;;;;;;;;;;;;;;;;;1383:10:18;1488:56;;385:152:20;;1510:54:27;;;;;;385:152:20;;;;;;;-1:-1:-1;;385:152:20;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;4973:10:18;385:152:20;;;;4963:9:18;385:152:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5021:20:18;;;;;5017:47;;385:152:20;;;;;;5233:24:18;5229:60;;4973:10;;5379:65;4973:10;;;;385:152:20;;4963:9:18;385:152:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4973:10:18;5379:65;;385:152:20;;5229:60:18;385:152:20;;5266:23:18;;;;5017:47;385:152:20;;;5050:14:18;;;;385:152:20;;;;;;-1:-1:-1;;385:152:20;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;385:152:20;;;;;5317:53:22;385:152:20;;;;;5273:10:22;385:152:20;;;;;;;;;;;;;;;;;;;5261:40:22;385:152:20;;;;;;;;;;;5273:10:22;5317:53;;385:152:20;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;2841:5:18;;;:::i;385:152:20:-;;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;1157:9:22;385:152:20;;;;;;;:::i;:::-;3029:16:29;;;3007:39;3029:16;;3007:39;:::i;:::-;3163:12;;;385:152:20;3177:15:29;;;385:152:20;;;;3086:107:29;3163:12;3086:107;;385:152:20;1018:166:29;385:152:20;;1018:166:29;;385:152:20;3151:10:29;1018:166;;;385:152:20;1018:166:29;;;385:152:20;1018:166:29;;;385:152:20;1018:166:29;3086:107;;;;;:::i;:::-;385:152:20;3063:140:29;;1157:9:22;;:::i;385:152:20:-;;;;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1710:15:18;;;;;:42;1706:97;;2078:20:29;;;;;1888:35:18;1987:20;2078::29;;1925:5:18;2078:20:29;2059:40;2078:20;;2059:40;:::i;:::-;385:152:20;;;;;;;;;;2138:95:29;385:152:20;2138:95:29;;385:152:20;433:172:29;385:152:20;;433:172:29;;385:152:20;;433:172:29;;385:152:20;;433:172:29;;385:152:20;;2138:95:29;;;;;:::i;:::-;385:152:20;2128:106:29;;1888:35:18;:::i;:::-;1925:5;;:::i;:::-;1958:20;385:152:20;;;1987:20:18;;:::i;1706:97::-;385:152:20;;;;;1761:42:18;;;;;;385:152:20;1761:42:18;385:152:20;;;;;;;-1:-1:-1;;385:152:20;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2172:15:18;;;;;:41;2168:95;;2375:19:29;;;;;;;385:152:20;2443:25:29;;;:::i;:::-;2483:13;;2498:14;;;;;;385:152:20;;;;;;2348:34:18;385:152:20;2384:5:18;385:152:20;;;;2721:30:29;;661:173;2721:30;;;661:173;;;:::i;2721:30::-;385:152:20;2711:41:29;;385:152:20;;;;;;;;;;;;2643:201:29;;;385:152:20;661:173:29;385:152:20;;433:172:29;;385:152:20;433:172:29;;385:152:20;;433:172:29;;385:152:20;;2643:201:29;;;;;:::i;2384:5:18:-;385:152:20;;2489:19:18;;;385:152:20;2534:13:18;;2549:10;;;;;;385:152:20;;;2561:3:18;2600:19;2631:7;2600:19;;:22;385:152:20;2600:19:18;;;:22;:::i;:::-;;2631:7;:::i;:::-;385:152:20;2534:13:18;;2514:3:29;2570:19;2551:42;2570:22;:19;;;;2514:3;2570:19;;:22;:::i;:::-;;2551:42;:::i;2514:3::-;2483:13;;;;;2168:95:18;385:152:20;;2222:41:18;;;;;;385:152:20;2222:41:18;385:152:20;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;4322:94:29;385:152:20;1622:9:22;385:152:20;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;4133:80:29;;;;1621:102;385:152:20;4133:80:29;;1621:102;;;:::i;:::-;;;;;;;;4133:80;;;;;;;;;;;;:::i;:::-;385:152:20;4123:91:29;;4278:16;4256:39;4278:16;;4256:39;:::i;:::-;385:152:20;4377:12:29;;;385:152:20;4391:15:29;;;385:152:20;;;4322:94:29;;;385:152:20;;;1621:102:29;;;385:152:20;;;;4365:10:29;1621:102;;;385:152:20;1621:102:29;;;385:152:20;;;;1621:102:29;;;385:152:20;;;;;;1621:102:29;;;385:152:20;;1621:102:29;;;4322:94;1621:102;385:152:20;;;;;;;;-1:-1:-1;;385:152:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3075:13:18;3090:10;;;;;;385:152:20;;;3102:3:18;385:152:20;;;;;;;;;;;;;;;3283:20:18;385:152:20;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3283:20:18;:::i;:::-;385:152:20;3075:13:18;;385:152:20;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;1018:166:29;385:152:20;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;-1:-1:-1;;385:152:20;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;385:152:20;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;3482:737:18;;;;385:152:20;;-1:-1:-1;385:152:20;;;;;3610:9:18;385:152:20;;;;;;;;;;;;;;;;;3633:10:18;385:152:20;;;;;;;;;;;;;;3659:15:18;;:36;3655:85;;385:152:20;;;;3799:30:18;;;;3795:289;;3482:737;385:152:20;;4165:47:18;385:152:20;;;4165:47:18;;:::i;:::-;3482:737::o;3795:289::-;385:152:20;;;;3849:18:18;3845:229;3849:18;;;385:152:20;;;;3894:32:18;;;;;;;385:152:20;3894:32:18;3845:229;385:152:20;;;4165:47:18;385:152:20;;;;;;;;3795:289:18;;;;3655:85;385:152:20;;;;3704:36:18;;;;;;;385:152:20;3704:36:18;385:152:20;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5681:530:18:-;;385:152:20;5801:13:18;;;;;385:152:20;;;;;;;;5880:14:18;;;;;385:152:20;;5924:18:18;;;;;;;385:152:20;;;;-1:-1:-1;;385:152:20;;;;5986:9:18;5880:14;385:152:20;;;;;;;5880:14:18;385:152:20;;;;;;;;;;5880:14:18;385:152:20;;;;;;;;;;6033:22:18;6029:49;;843:79:27;;6148:56:18;843:79:27;;6148:56:18;843:79:27;;;;:40;;;:79;385:152:20;;;;893:15:27;;385:152:20;843:79:27;1883:3;385:152:20;;;5986:9:18;385:152:20;;;;;1834:52:27;:61;1001:59;;385:152:20;6148:56:18;;;;385:152:20;;;;;;;;;;;;;;;;;;;;;;;;;;6148:56:18;;;;5681:530::o;843:79:27:-;;385:152:20;843:79:27;;;6029:49:18;6064:14;385:152:20;;6064:14:18;;;;1123:216:19;1198:13;1215:16;1198:33;1215:16;;1246:24;1123:216;:::o;1198:134::-;385:152:20;;1560:60:19;;;385:152:20;726:80:19;385:152:20;;654:20:19;385:152:20;;;;1198:13:19;385:152:20;;;;1614:4:19;385:152:20;;;;;1560:60:19;;;;;:::i;:::-;385:152:20;1550:71:19;;1123:216;:::o;1685:167::-;1815:18;;:::i;:::-;385:152:20;;;1786:58:19;;;;385:152:20;;;;;;;;;;;;;1786:58:19;;;;;:::i;2075:704:22:-;;;;;2338:31;385:152:20;2402:15:22;;;;385:152:20;2384:15:22;;:33;2380:79;;2491:16;2338:31;2491:16;;:23;385:152:20;2473:41:22;;;2469:92;;2598:12;;;;2639:24;2665:5;2598:12;;2338:31;2598:12;;385:152:20;2598:12:22;;:::i;:::-;2639:24;:::i;2665:5::-;385:152:20;2688:16:22;;;385:152:20;;;;;;;;;;;;2756:15:22;;;:::i;2469:92::-;385:152:20;;2402:15:22;385:152:20;2523:38:22;;;;;;;385:152:20;2523:38:22;2380:79;385:152:20;;2402:15:22;385:152:20;2426:33:22;;;;;;;385:152:20;2426:33:22;3937:1194;;;;;4204:16;;385:152:20;4260:15:22;;;;;;385:152:20;4242:15:22;;:33;4238:79;;4331:38;;;;4327:67;;4497:5;4431:12;;;4471:24;4431:12;;;;;;385:152:20;4431:12:22;;:::i;4497:5::-;-1:-1:-1;4558:16:22;;;;;;3937:1194;;;;;;;;:::o;4576:3::-;4635:19;:16;;;:19;:::i;:::-;;4698:18;;;;;;:::i;:::-;:34;385:152:20;4773:16:22;;;;385:152:20;4755:34:22;;;4751:78;;4852:20;;;;;;385:152:20;4852:20:22;;;4848:253;;4576:3;;;;;;;385:152:20;4543:13:22;;4848:253;5066:15;385:152:20;5043:21:22;385:152:20;;5043:18:22;385:152:20;;;5043:18:22;;:::i;:21::-;5066:15;;:::i;:::-;4848:253;;;;;;;;4751:78;385:152:20;;;;4798:31:22;;;;;;;385:152:20;4798:31:22;4327:67;4378:16;385:152:20;;4378:16:22;;;;4238:79;385:152:20;;;;4284:33:22;;;;;;;385:152:20;4284:33:22;6250:293;;385:152:20;6408:1:22;385:152:20;;;;;;-1:-1:-1;385:152:20;-1:-1:-1;385:152:20;;;-1:-1:-1;385:152:20;;5992:1:22;385:152:20;-1:-1:-1;385:152:20;;;;-1:-1:-1;385:152:20;;;;6447:33:22;385:152:20;;;6495:13:22;:18;6491:45;;6250:293::o;6491:45::-;6522:14;385:152:20;;6522:14:22;;;;385:152:20;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;661:173:29;385:152:20;;;;;;661:173:29;;;;;;;;;;;;;:::o;:::-;;;385:152:20;;661:173:29;;;;;;;;;;;;1621:102;;385:152:20;;1621:102:29;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;5345:188;385:152:20;;5480:45:29;;;385:152:20;289:87:29;385:152:20;;;289:87:29;;;385:152:20;;289:87:29;;385:152:20;5480:45:29;289:87;;;385:152:20;289:87:29;;;385:152:20;289:87:29;385:152:20;289:87:29;;385:152:20;289:87:29;;;385:152:20;289:87:29;;;385:152:20;289:87:29;;385:152:20;289:87:29;;;385:152:20;289:87:29;5480:45;;289:87;385:152:20;;;;;;;;;;;;;;5470:56:29;;5345:188;:::o;5539:229::-;385:152:20;;5710:50:29;;;;385:152:20;895:59:29;385:152:20;;;895:59:29;;385:152:20;;895:59:29;;385:152:20;895:59:29;;;;;385:152:20;895:59:29;5710:50;;;;;:::i;385:152:20:-;;;;;;;;;;;;;;;;;:::o;700:1109:31:-;-1:-1:-1;863:25:31;;;;-1:-1:-1;933:2:31;913:22;;933:2;;964:41;;;;;;:::i;:::-;955:50;;625:68;1043:2;625:68;;;;;;-1:-1:-1;625:68:31;385:152:20;1043:2:31;625:68;;;1033:13;625:68;;909:490;385:152:20;;;;;;625:68:31;;;;385:152:20;625:68:31;;385:152:20;625:68:31;;;385:152:20;1429:24:31;;;;;;;;;385:152:20;1429:24:31;-1:-1:-1;1429:24:31;385:152:20;1471:20:31;;;1467:51;;385:152:20;1536:23:31;1532:51;;700:1109::o;1532:51::-;1568:15;385:152:20;;1568:15:31;;;;1467:51;1500:18;385:152:20;;1500:18:31;;;;1429:24;385:152:20;;;-1:-1:-1;385:152:20;;;;;909:490:31;1092:2;1072:22;;1092:2;;1180:41;;;;;;:::i;:::-;1170:51;1312:2;626:66;1243:19;;385:152:20;;;625:68:31;;385:152:20;625:68:31;;;;;1280:34;-1:-1:-1;1280:34:31;385:152:20;625:68:31;1280:34;909:490;;1068:331;1360:24;1092:2;385:152:20;1360:24:31;;;;859:944;385:152:20;;;;;;;;1634:57:31;385:152:20;;;;;;;;;;;;1634:57:31;;;;;;;385:152:20;;;;;;;;;;;;;;1621:102:29;;;;;;;;385:152:20;;;;1634:57:31;;385:152:20;;1634:57:31;;;;;;;;;;;859:944;385:152:20;;;;;1709:48:31;1705:87;;700:1109::o;1705:87::-;1634:57;385:152:20;;1766:26:31;;;;1634:57;;;;;;;;;;;;;;;;;:::i;:::-;;;385:152:20;;;;;;;;;;;;;1634:57:31;385:152:20;1634:57:31;;;;;;;-1:-1:-1;1634:57:31;;;385:152:20;;;;;;;;;1328:1616:35;;-1:-1:-1;1532:1355:35;1328:1616;1532:1355;1328:1616;;;1532:1355;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:1355:35;;;;;385:152:20;;;1328:1616:35:o;385:152:20:-;1532:1355:35;;385:152:20;;;;1532:1355:35;;385:152:20;;;;1532:1355:35;385:152:20;;;;1532:1355:35;385:152:20;;;", + "linkReferences": {}, + "immutableReferences": { + "27647": [ + { + "start": 6320, + "length": 32 + } + ], + "27649": [ + { + "start": 6282, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address,address)": "927da105", + "approve(address,address,uint160,uint48)": "87517c45", + "invalidateNonces(address,address,uint48)": "65d9723c", + "invalidateUnorderedNonces(uint256,uint256)": "3ff9dcb1", + "lockdown((address,address)[])": "cc53287f", + "nonceBitmap(address,uint256)": "4fe02b44", + "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)": "2b67b570", + "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)": "2a2d80d1", + "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)": "30f28b7a", + "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)": "edd9444b", + "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)": "137c29fe", + "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)": "fe8ec1a7", + "transferFrom((address,address,uint160,address)[])": "0d58b1db", + "transferFrom(address,address,uint160,address)": "36c78516" + } + } + } + }, + "lib/permit2/src/SignatureTransfer.sol": { + "SignatureTransfer": { + "abi": [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "invalidateUnorderedNonces", + "inputs": [ + { + "name": "wordPos", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mask", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nonceBitmap", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.TokenPermissions[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitWitnessTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "witness", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "witnessTypeString", + "type": "string", + "internalType": "string" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitWitnessTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.TokenPermissions[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "witness", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "witnessTypeString", + "type": "string", + "internalType": "string" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "UnorderedNonceInvalidation", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "word", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "mask", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "InvalidAmount", + "inputs": [ + { + "name": "maxAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "InvalidContractSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidNonce", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignatureLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSigner", + "inputs": [] + }, + { + "type": "error", + "name": "LengthMismatch", + "inputs": [] + }, + { + "type": "error", + "name": "SignatureExpired", + "inputs": [ + { + "name": "signatureDeadline", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidContractSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSigner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LengthMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"signatureDeadline\",\"type\":\"uint256\"}],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"word\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mask\",\"type\":\"uint256\"}],\"name\":\"UnorderedNonceInvalidation\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wordPos\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mask\",\"type\":\"uint256\"}],\"name\":\"invalidateUnorderedNonces\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"nonceBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails\",\"name\":\"transferDetails\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions[]\",\"name\":\"permitted\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitBatchTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails[]\",\"name\":\"transferDetails\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails\",\"name\":\"transferDetails\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"witness\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"witnessTypeString\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitWitnessTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions[]\",\"name\":\"permitted\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitBatchTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails[]\",\"name\":\"transferDetails\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"witness\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"witnessTypeString\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitWitnessTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"InvalidAmount(uint256)\":[{\"params\":{\"maxAmount\":\"The maximum amount a spender can request to transfer\"}}],\"LengthMismatch()\":[{\"details\":\"If the spender does not need to transfer the number of tokens permitted, the spender can request amount 0 to be transferred\"}],\"SignatureExpired(uint256)\":[{\"params\":{\"signatureDeadline\":\"The timestamp at which a signature is no longer valid\"}}]},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Uses cached version if chainid and address are unchanged from construction.\"},\"invalidateUnorderedNonces(uint256,uint256)\":{\"details\":\"The wordPos is maxed at type(uint248).max\",\"params\":{\"mask\":\"A bitmap masked against msg.sender's current bitmap at the word position\",\"wordPos\":\"A number to index the nonceBitmap at\"}},\"permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)\":{\"details\":\"Reverts if the requested amount is greater than the permitted signed amount\",\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"The spender's requested transfer details for the permitted token\"}},\"permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)\":{\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"Specifies the recipient and requested amount for the token transfer\"}},\"permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)\":{\"details\":\"The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definitionReverts if the requested amount is greater than the permitted signed amount\",\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"The spender's requested transfer details for the permitted token\",\"witness\":\"Extra data to include when checking the user signature\",\"witnessTypeString\":\"The EIP-712 type definition for remaining string stub of the typehash\"}},\"permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)\":{\"details\":\"The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definition\",\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"Specifies the recipient and requested amount for the token transfer\",\"witness\":\"Extra data to include when checking the user signature\",\"witnessTypeString\":\"The EIP-712 type definition for remaining string stub of the typehash\"}}},\"stateVariables\":{\"nonceBitmap\":{\"details\":\"Uses unordered nonces so that permit messages do not need to be spent in a certain orderThe mapping is indexed first by the token owner, then by an index specified in the nonceIt returns a uint256 bitmapThe index, or wordPosition is capped at type(uint248).max\"}},\"version\":1},\"userdoc\":{\"errors\":{\"InvalidAmount(uint256)\":[{\"notice\":\"Thrown when the requested amount for a transfer is larger than the permissioned amount\"}],\"InvalidContractSignature()\":[{\"notice\":\"Thrown when the recovered contract signature is incorrect\"}],\"InvalidNonce()\":[{\"notice\":\"Thrown when validating that the inputted nonce has not been used\"}],\"InvalidSignature()\":[{\"notice\":\"Thrown when the recovered signer is equal to the zero address\"}],\"InvalidSignatureLength()\":[{\"notice\":\"Thrown when the passed in signature is not a valid length\"}],\"InvalidSigner()\":[{\"notice\":\"Thrown when the recovered signer does not equal the claimedSigner\"}],\"LengthMismatch()\":[{\"notice\":\"Thrown when the number of tokens permissioned to a spender does not match the number of tokens being transferred\"}],\"SignatureExpired(uint256)\":[{\"notice\":\"Thrown when validating an inputted signature that is stale\"}]},\"events\":{\"UnorderedNonceInvalidation(address,uint256,uint256)\":{\"notice\":\"Emits an event when the owner successfully invalidates an unordered nonce.\"}},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"Returns the domain separator for the current chain.\"},\"invalidateUnorderedNonces(uint256,uint256)\":{\"notice\":\"Invalidates the bits specified in mask for the bitmap at the word position\"},\"nonceBitmap(address,uint256)\":{\"notice\":\"A map from token owner address and a caller specified word index to a bitmap. Used to set bits in the bitmap to prevent against signature replay protection\"},\"permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)\":{\"notice\":\"Transfers a token using a signed permit message\"},\"permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)\":{\"notice\":\"Transfers multiple tokens using a signed permit message\"},\"permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)\":{\"notice\":\"Transfers a token using a signed permit messageIncludes extra data provided by the caller to verify signature over\"},\"permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)\":{\"notice\":\"Transfers multiple tokens using a signed permit messageIncludes extra data provided by the caller to verify signature over\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/SignatureTransfer.sol\":\"SignatureTransfer\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/SignatureTransfer.sol\":{\"keccak256\":\"0xa821caa24d6231fa8befe24a34bfda2c3b05b56e67fb913c86b26a19b19b6bbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://584994a77e33aa2fe804b803ab302cb811ee945632b76f68d78db761b18a24a2\",\"dweb:/ipfs/QmVd67VRKX24tSaREBNwhzVfU6xxqRLNEoPY6CYgG3xU5W\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a5578260405251902060805261152290816100c1823960805181610bfe015260a05181610bd80152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c8063137c29fe1461067c57806330f28b7a1461057c5780633644e5151461053b5780633ff9dcb1146104bb5780634fe02b441461044b578063edd9444b146102e25763fe8ec1a71461006e57600080fd5b346102de5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102de5767ffffffffffffffff83358181116102da576100bc9036908601610a7b565b6024358281116102d6576100d39036908701610ba4565b6100db61097b565b916084358581116102d2576100f39036908a01610a35565b98909560a4359081116102ce5761010c91369101610a35565b96909581519061011b826108be565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b91816101ca6020850180966110a8565b918237018a815203996102037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282610912565b5190209085515161021381610fd0565b908a5b8181106102a157505061029e999a6102959183516102488161023c60208201809561107b565b03848101835282610912565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282610912565b51902093610e09565b80f35b806102b96102b36102c9938c51610db6565b516110d3565b6102c38286610db6565b5261101f565b610216565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346102de5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102de5767ffffffffffffffff9080358281116102da576103339036908301610a7b565b6024358381116102d65761034a9036908401610ba4565b93909261035561097b565b916064359081116104475761036c91369101610a35565b9490938351519761037c89610fd0565b98885b81811061042557505061029e979881516103cd816103a160208201809561107b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610912565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a08152610295816108f6565b808b6102c38261043c6102b3610442968d51610db6565b92610db6565b61037f565b8680fd5b5082346104b757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b7573573ffffffffffffffffffffffffffffffffffffffff81168091036104b757828291602094528084528181206024358252845220549051908152f35b8280fd5b5082346104b757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b7577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b50346102de57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102de57602090610575610bd5565b9051908152f35b508290346104b7576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b7576105b83661099e565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c3601126102da576105ea610953565b9160e43567ffffffffffffffff81116106785761029e9461060d91369101610a35565b93909261061a83516110d3565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a0815261066f816108f6565b51902091610c90565b8580fd5b5082346104b7576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b7576106b73661099e565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c3601126102da576106e9610953565b67ffffffffffffffff9390610104358581116104475761070c9036908601610a35565b9093610124359687116102d25761072c61066f9661029e98369101610a35565b96909582519061073b826108be565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c0000000000000000000000000000000000000000000000000000000060808301528351948591816107ea6020850180966110a8565b918237018b815203936108237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282610912565b5190209261083186516110d3565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e08101610289565b6060810190811067ffffffffffffffff82111761088f57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810190811067ffffffffffffffff82111761088f57604052565b6080810190811067ffffffffffffffff82111761088f57604052565b60c0810190811067ffffffffffffffff82111761088f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761088f57604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361097657565b600080fd5b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361097657565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190608082126109765760408051906109d782610873565b8082941261097657805181810181811067ffffffffffffffff82111761088f57825260043573ffffffffffffffffffffffffffffffffffffffff81168103610976578152602435602082015282526044356020830152606435910152565b9181601f840112156109765782359167ffffffffffffffff8311610976576020838186019501011161097657565b67ffffffffffffffff811161088f5760051b60200190565b919091606081840312610976576040805191610a9683610873565b8294813567ffffffffffffffff9081811161097657830182601f82011215610976578035610ac381610a63565b92610ad087519485610912565b818452602094858086019360061b85010193818511610976579086899897969594939201925b848410610b13575050505050855280820135908501520135910152565b9091929394959697848303126109765788519089820182811085821117610b76578a5284359073ffffffffffffffffffffffffffffffffffffffff82168203610976578289928c9452828701358382015281520193019190889796959493610af6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b9181601f840112156109765782359167ffffffffffffffff8311610976576020808501948460061b01011161097657565b467f000000000000000000000000000000000000000000000000000000000000000003610c20577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a604082015246606082015230608082015260808152610c8a816108be565b51902090565b9192909360a435936040840151804211610d395750602084510151808611610d085750918591610cd0610cd694610ccb602088015186610f5c565b610d6a565b91611146565b73ffffffffffffffffffffffffffffffffffffffff809151511692608435918216820361097657610d0693611435565b565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b610d72610bd5565b906040519060208201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152610c8a816108da565b8051821015610dca5760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015610dca5760061b0190565b90919593958151519560409586840151804211610f2c5750828803610f0357610e41918691610cd060209b610ccb8d89015186610f5c565b600091825b878110610e5857505050505050505050565b610e63818351610db6565b5189610e70838689610df9565b0135908a810151808311610ed3575081610e8f575b5050600101610e46565b73ffffffffffffffffffffffffffffffffffffffff80915116610eb384878a610df9565b3591821682036104475791610ecc918960019594611435565b9038610e85565b6024908a51907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600487517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908851907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615610fa657565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90610fda82610a63565b610fe76040519182610912565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06110158294610a63565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461104c5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611094575050505090565b835185529381019392810192600101611086565b9081519160005b8381106110c0575050016000815290565b80602080928401015181850152016110af565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff81511660408401520151606082015260608152610c8a816108da565b9190826040910312610976576020823592013590565b6000843b6112ad57506041820361122b5761116382820182611130565b93909260401015610dca5760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa1561121f5773ffffffffffffffffffffffffffffffffffffffff80600051169182156111f55716036111cb57565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b604082036112835761123f91810190611130565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff821161104c5760209360009360ff608094611181565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa90811561142a5782916113a9575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361137f57565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211611422575b816113c360209383610912565b810103126102de5751907fffffffff000000000000000000000000000000000000000000000000000000008216820361141f57507fffffffff000000000000000000000000000000000000000000000000000000009038611353565b80fd5b3d91506113b6565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561148e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea26469706673582212205e3cf9d66320fedaec25121e3aa910be20446e739ed59814485383781e93f3c564736f6c63430008110033", + "opcodes": "PUSH1 0xC0 CALLVALUE PUSH2 0xBB JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA5 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x1522 SWAP1 DUP2 PUSH2 0xC1 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0xBFE ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xBD8 ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x137C29FE EQ PUSH2 0x67C JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x57C JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x53B JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x4BB JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x44B JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x2E2 JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0x6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2DE JUMPI PUSH1 0xC0 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x2DE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x2DA JUMPI PUSH2 0xBC SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0xA7B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x2D6 JUMPI PUSH2 0xD3 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0xBA4 JUMP JUMPDEST PUSH2 0xDB PUSH2 0x97B JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x2D2 JUMPI PUSH2 0xF3 SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x2CE JUMPI PUSH2 0x10C SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x11B DUP3 PUSH2 0x8BE JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x1CA PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x203 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x213 DUP2 PUSH2 0xFD0 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2A1 JUMPI POP POP PUSH2 0x29E SWAP10 SWAP11 PUSH2 0x295 SWAP2 DUP4 MLOAD PUSH2 0x248 DUP2 PUSH2 0x23C PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x107B JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0xE09 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2B9 PUSH2 0x2B3 PUSH2 0x2C9 SWAP4 DUP13 MLOAD PUSH2 0xDB6 JUMP JUMPDEST MLOAD PUSH2 0x10D3 JUMP JUMPDEST PUSH2 0x2C3 DUP3 DUP7 PUSH2 0xDB6 JUMP JUMPDEST MSTORE PUSH2 0x101F JUMP JUMPDEST PUSH2 0x216 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x2DE JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x2DE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x2DA JUMPI PUSH2 0x333 SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0xA7B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x2D6 JUMPI PUSH2 0x34A SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0xBA4 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x355 PUSH2 0x97B JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x447 JUMPI PUSH2 0x36C SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x37C DUP10 PUSH2 0xFD0 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x425 JUMPI POP POP PUSH2 0x29E SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3CD DUP2 PUSH2 0x3A1 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x107B JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x295 DUP2 PUSH2 0x8F6 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2C3 DUP3 PUSH2 0x43C PUSH2 0x2B3 PUSH2 0x442 SWAP7 DUP14 MLOAD PUSH2 0xDB6 JUMP JUMPDEST SWAP3 PUSH2 0xDB6 JUMP JUMPDEST PUSH2 0x37F JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x4B7 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x4B7 JUMPI CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x4B7 JUMPI DUP3 DUP3 SWAP2 PUSH1 0x20 SWAP5 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x4B7 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x4B7 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x2DE JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x2DE JUMPI PUSH1 0x20 SWAP1 PUSH2 0x575 PUSH2 0xBD5 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x4B7 JUMPI PUSH2 0x100 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x4B7 JUMPI PUSH2 0x5B8 CALLDATASIZE PUSH2 0x99E JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x2DA JUMPI PUSH2 0x5EA PUSH2 0x953 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x678 JUMPI PUSH2 0x29E SWAP5 PUSH2 0x60D SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x61A DUP4 MLOAD PUSH2 0x10D3 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x66F DUP2 PUSH2 0x8F6 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0xC90 JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x4B7 JUMPI PUSH2 0x140 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x4B7 JUMPI PUSH2 0x6B7 CALLDATASIZE PUSH2 0x99E JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x2DA JUMPI PUSH2 0x6E9 PUSH2 0x953 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x447 JUMPI PUSH2 0x70C SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x2D2 JUMPI PUSH2 0x72C PUSH2 0x66F SWAP7 PUSH2 0x29E SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0x73B DUP3 PUSH2 0x8BE JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x7EA PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x823 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x831 DUP7 MLOAD PUSH2 0x10D3 JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x289 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x976 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x976 JUMPI JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x976 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x9D7 DUP3 PUSH2 0x873 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x976 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x976 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x976 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x976 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x976 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x88F JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x976 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0xA96 DUP4 PUSH2 0x873 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x976 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x976 JUMPI DUP1 CALLDATALOAD PUSH2 0xAC3 DUP2 PUSH2 0xA63 JUMP JUMPDEST SWAP3 PUSH2 0xAD0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x912 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x976 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0xB13 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x976 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD DUP3 DUP2 LT DUP6 DUP3 GT OR PUSH2 0xB76 JUMPI DUP11 MSTORE DUP5 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x976 JUMPI DUP3 DUP10 SWAP3 DUP13 SWAP5 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0xAF6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x976 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x976 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x976 JUMPI JUMP JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0xC20 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC8A DUP2 PUSH2 0x8BE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0xD39 JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0xD08 JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xCD0 PUSH2 0xCD6 SWAP5 PUSH2 0xCCB PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0xF5C JUMP JUMPDEST PUSH2 0xD6A JUMP JUMPDEST SWAP2 PUSH2 0x1146 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x976 JUMPI PUSH2 0xD06 SWAP4 PUSH2 0x1435 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH2 0xD72 PUSH2 0xBD5 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0xC8A DUP2 PUSH2 0x8DA JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0xDCA JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0xDCA JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP6 SWAP4 SWAP6 DUP2 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP6 DUP7 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0xF2C JUMPI POP DUP3 DUP9 SUB PUSH2 0xF03 JUMPI PUSH2 0xE41 SWAP2 DUP7 SWAP2 PUSH2 0xCD0 PUSH1 0x20 SWAP12 PUSH2 0xCCB DUP14 DUP10 ADD MLOAD DUP7 PUSH2 0xF5C JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 JUMPDEST DUP8 DUP2 LT PUSH2 0xE58 JUMPI POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xE63 DUP2 DUP4 MLOAD PUSH2 0xDB6 JUMP JUMPDEST MLOAD DUP10 PUSH2 0xE70 DUP4 DUP7 DUP10 PUSH2 0xDF9 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP11 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0xED3 JUMPI POP DUP2 PUSH2 0xE8F JUMPI JUMPDEST POP POP PUSH1 0x1 ADD PUSH2 0xE46 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD AND PUSH2 0xEB3 DUP5 DUP8 DUP11 PUSH2 0xDF9 JUMP JUMPDEST CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x447 JUMPI SWAP2 PUSH2 0xECC SWAP2 DUP10 PUSH1 0x1 SWAP6 SWAP5 PUSH2 0x1435 JUMP JUMPDEST SWAP1 CODESIZE PUSH2 0xE85 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP11 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP8 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP9 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0xFA6 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0xFDA DUP3 PUSH2 0xA63 JUMP JUMPDEST PUSH2 0xFE7 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x912 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1015 DUP3 SWAP5 PUSH2 0xA63 JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x104C JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1094 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1086 JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x10C0 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x10AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0xC8A DUP2 PUSH2 0x8DA JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x976 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x12AD JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x122B JUMPI PUSH2 0x1163 DUP3 DUP3 ADD DUP3 PUSH2 0x1130 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0xDCA JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x121F JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x11F5 JUMPI AND SUB PUSH2 0x11CB JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1283 JUMPI PUSH2 0x123F SWAP2 DUP2 ADD SWAP1 PUSH2 0x1130 JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x104C JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x142A JUMPI DUP3 SWAP2 PUSH2 0x13A9 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x137F JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x1422 JUMPI JUMPDEST DUP2 PUSH2 0x13C3 PUSH1 0x20 SWAP4 DUP4 PUSH2 0x912 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x2DE JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x141F JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x1353 JUMP JUMPDEST DUP1 REVERT JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x13B6 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x148E JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E EXTCODECOPY 0xF9 0xD6 PUSH4 0x20FEDAEC 0x25 SLT 0x1E GASPRICE 0xA9 LT 0xBE KECCAK256 DIFFICULTY PUSH15 0x739ED59814485383781E93F3C56473 PUSH16 0x6C634300081100330000000000000000 ", + "sourceMap": "489:6056:22:-:0;;;;856:13:19;837:32;;1560:60;;;726:80;489:6056:22;;654:20:19;489:6056:22;;;;856:13:19;489:6056:22;;;;1614:4:19;489:6056:22;;;;;1560:60:19;;837:32;489:6056:22;;;;;;;;;;;;;;;;;;;;1550:71:19;;489:6056:22;879:74:19;489:6056:22;;;;;;;;;;;;837:32:19;489:6056:22;;;;;;;;;;-1:-1:-1;489:6056:22;;;;;-1:-1:-1;489:6056:22;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_address": { + "entryPoint": 2427, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_address_6811": { + "entryPoint": 2387, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_array_struct_SignatureTransferDetails_calldata_dyn_calldata": { + "entryPoint": 2980, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_bytes32t_bytes32": { + "entryPoint": 4400, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_string_calldata": { + "entryPoint": 2613, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_struct_PermitBatchTransferFrom": { + "entryPoint": 2683, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_struct_PermitTransferFrom": { + "entryPoint": 2462, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_array_bytes32_dyn": { + "entryPoint": 4219, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_bytes32_bytes32_address_uint256_uint256_bytes32": { + "entryPoint": null, + "id": null, + "parameterSlots": 7, + "returnSlots": 1 + }, + "abi_encode_string": { + "entryPoint": 4264, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_and_zero_memory_array_array_bytes32_dyn": { + "entryPoint": 4048, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_array_struct_TokenPermissions_dyn": { + "entryPoint": 2659, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "calldata_array_index_access_struct_SignatureTransferDetails_calldata_dyn_calldata": { + "entryPoint": 3577, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 2322, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_10220": { + "entryPoint": 2238, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_10225": { + "entryPoint": 2266, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_12001": { + "entryPoint": 2294, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_6824": { + "entryPoint": 2163, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_DOMAIN_SEPARATOR": { + "entryPoint": 3029, + "id": 27693, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun__permitTransferFrom": { + "entryPoint": 3216, + "id": 27931, + "parameterSlots": 5, + "returnSlots": 0 + }, + "fun_hashTokenPermissions": { + "entryPoint": 4307, + "id": 29300, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_hashTypedData": { + "entryPoint": 3434, + "id": 27737, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_permitTransferFrom": { + "entryPoint": 3593, + "id": 28103, + "parameterSlots": 7, + "returnSlots": 0 + }, + "fun_safeTransferFrom": { + "entryPoint": 5173, + "id": 30007, + "parameterSlots": 4, + "returnSlots": 0 + }, + "fun_useUnorderedNonce": { + "entryPoint": 3932, + "id": 28197, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_verify": { + "entryPoint": 4422, + "id": 29500, + "parameterSlots": 4, + "returnSlots": 0 + }, + "increment_uint256": { + "entryPoint": 4127, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_TokenPermissions_dyn": { + "entryPoint": 3510, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + } + }, + "object": "6040608081526004908136101561001557600080fd5b600090813560e01c8063137c29fe1461067c57806330f28b7a1461057c5780633644e5151461053b5780633ff9dcb1146104bb5780634fe02b441461044b578063edd9444b146102e25763fe8ec1a71461006e57600080fd5b346102de5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102de5767ffffffffffffffff83358181116102da576100bc9036908601610a7b565b6024358281116102d6576100d39036908701610ba4565b6100db61097b565b916084358581116102d2576100f39036908a01610a35565b98909560a4359081116102ce5761010c91369101610a35565b96909581519061011b826108be565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b91816101ca6020850180966110a8565b918237018a815203996102037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282610912565b5190209085515161021381610fd0565b908a5b8181106102a157505061029e999a6102959183516102488161023c60208201809561107b565b03848101835282610912565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282610912565b51902093610e09565b80f35b806102b96102b36102c9938c51610db6565b516110d3565b6102c38286610db6565b5261101f565b610216565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346102de5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102de5767ffffffffffffffff9080358281116102da576103339036908301610a7b565b6024358381116102d65761034a9036908401610ba4565b93909261035561097b565b916064359081116104475761036c91369101610a35565b9490938351519761037c89610fd0565b98885b81811061042557505061029e979881516103cd816103a160208201809561107b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610912565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a08152610295816108f6565b808b6102c38261043c6102b3610442968d51610db6565b92610db6565b61037f565b8680fd5b5082346104b757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b7573573ffffffffffffffffffffffffffffffffffffffff81168091036104b757828291602094528084528181206024358252845220549051908152f35b8280fd5b5082346104b757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b7577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b50346102de57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102de57602090610575610bd5565b9051908152f35b508290346104b7576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b7576105b83661099e565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c3601126102da576105ea610953565b9160e43567ffffffffffffffff81116106785761029e9461060d91369101610a35565b93909261061a83516110d3565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a0815261066f816108f6565b51902091610c90565b8580fd5b5082346104b7576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b7576106b73661099e565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c3601126102da576106e9610953565b67ffffffffffffffff9390610104358581116104475761070c9036908601610a35565b9093610124359687116102d25761072c61066f9661029e98369101610a35565b96909582519061073b826108be565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c0000000000000000000000000000000000000000000000000000000060808301528351948591816107ea6020850180966110a8565b918237018b815203936108237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282610912565b5190209261083186516110d3565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e08101610289565b6060810190811067ffffffffffffffff82111761088f57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810190811067ffffffffffffffff82111761088f57604052565b6080810190811067ffffffffffffffff82111761088f57604052565b60c0810190811067ffffffffffffffff82111761088f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761088f57604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361097657565b600080fd5b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361097657565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190608082126109765760408051906109d782610873565b8082941261097657805181810181811067ffffffffffffffff82111761088f57825260043573ffffffffffffffffffffffffffffffffffffffff81168103610976578152602435602082015282526044356020830152606435910152565b9181601f840112156109765782359167ffffffffffffffff8311610976576020838186019501011161097657565b67ffffffffffffffff811161088f5760051b60200190565b919091606081840312610976576040805191610a9683610873565b8294813567ffffffffffffffff9081811161097657830182601f82011215610976578035610ac381610a63565b92610ad087519485610912565b818452602094858086019360061b85010193818511610976579086899897969594939201925b848410610b13575050505050855280820135908501520135910152565b9091929394959697848303126109765788519089820182811085821117610b76578a5284359073ffffffffffffffffffffffffffffffffffffffff82168203610976578289928c9452828701358382015281520193019190889796959493610af6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b9181601f840112156109765782359167ffffffffffffffff8311610976576020808501948460061b01011161097657565b467f000000000000000000000000000000000000000000000000000000000000000003610c20577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a604082015246606082015230608082015260808152610c8a816108be565b51902090565b9192909360a435936040840151804211610d395750602084510151808611610d085750918591610cd0610cd694610ccb602088015186610f5c565b610d6a565b91611146565b73ffffffffffffffffffffffffffffffffffffffff809151511692608435918216820361097657610d0693611435565b565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b610d72610bd5565b906040519060208201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152610c8a816108da565b8051821015610dca5760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015610dca5760061b0190565b90919593958151519560409586840151804211610f2c5750828803610f0357610e41918691610cd060209b610ccb8d89015186610f5c565b600091825b878110610e5857505050505050505050565b610e63818351610db6565b5189610e70838689610df9565b0135908a810151808311610ed3575081610e8f575b5050600101610e46565b73ffffffffffffffffffffffffffffffffffffffff80915116610eb384878a610df9565b3591821682036104475791610ecc918960019594611435565b9038610e85565b6024908a51907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600487517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908851907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615610fa657565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90610fda82610a63565b610fe76040519182610912565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06110158294610a63565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461104c5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611094575050505090565b835185529381019392810192600101611086565b9081519160005b8381106110c0575050016000815290565b80602080928401015181850152016110af565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff81511660408401520151606082015260608152610c8a816108da565b9190826040910312610976576020823592013590565b6000843b6112ad57506041820361122b5761116382820182611130565b93909260401015610dca5760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa1561121f5773ffffffffffffffffffffffffffffffffffffffff80600051169182156111f55716036111cb57565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b604082036112835761123f91810190611130565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff821161104c5760209360009360ff608094611181565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa90811561142a5782916113a9575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361137f57565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211611422575b816113c360209383610912565b810103126102de5751907fffffffff000000000000000000000000000000000000000000000000000000008216820361141f57507fffffffff000000000000000000000000000000000000000000000000000000009038611353565b80fd5b3d91506113b6565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561148e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea26469706673582212205e3cf9d66320fedaec25121e3aa910be20446e739ed59814485383781e93f3c564736f6c63430008110033", + "opcodes": "PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x137C29FE EQ PUSH2 0x67C JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x57C JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x53B JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x4BB JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x44B JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x2E2 JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0x6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2DE JUMPI PUSH1 0xC0 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x2DE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x2DA JUMPI PUSH2 0xBC SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0xA7B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x2D6 JUMPI PUSH2 0xD3 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0xBA4 JUMP JUMPDEST PUSH2 0xDB PUSH2 0x97B JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x2D2 JUMPI PUSH2 0xF3 SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x2CE JUMPI PUSH2 0x10C SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x11B DUP3 PUSH2 0x8BE JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x1CA PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x203 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x213 DUP2 PUSH2 0xFD0 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2A1 JUMPI POP POP PUSH2 0x29E SWAP10 SWAP11 PUSH2 0x295 SWAP2 DUP4 MLOAD PUSH2 0x248 DUP2 PUSH2 0x23C PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x107B JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0xE09 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2B9 PUSH2 0x2B3 PUSH2 0x2C9 SWAP4 DUP13 MLOAD PUSH2 0xDB6 JUMP JUMPDEST MLOAD PUSH2 0x10D3 JUMP JUMPDEST PUSH2 0x2C3 DUP3 DUP7 PUSH2 0xDB6 JUMP JUMPDEST MSTORE PUSH2 0x101F JUMP JUMPDEST PUSH2 0x216 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x2DE JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x2DE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x2DA JUMPI PUSH2 0x333 SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0xA7B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x2D6 JUMPI PUSH2 0x34A SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0xBA4 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x355 PUSH2 0x97B JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x447 JUMPI PUSH2 0x36C SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x37C DUP10 PUSH2 0xFD0 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x425 JUMPI POP POP PUSH2 0x29E SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3CD DUP2 PUSH2 0x3A1 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x107B JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x295 DUP2 PUSH2 0x8F6 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2C3 DUP3 PUSH2 0x43C PUSH2 0x2B3 PUSH2 0x442 SWAP7 DUP14 MLOAD PUSH2 0xDB6 JUMP JUMPDEST SWAP3 PUSH2 0xDB6 JUMP JUMPDEST PUSH2 0x37F JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x4B7 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x4B7 JUMPI CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x4B7 JUMPI DUP3 DUP3 SWAP2 PUSH1 0x20 SWAP5 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x4B7 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x4B7 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x2DE JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x2DE JUMPI PUSH1 0x20 SWAP1 PUSH2 0x575 PUSH2 0xBD5 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x4B7 JUMPI PUSH2 0x100 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x4B7 JUMPI PUSH2 0x5B8 CALLDATASIZE PUSH2 0x99E JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x2DA JUMPI PUSH2 0x5EA PUSH2 0x953 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x678 JUMPI PUSH2 0x29E SWAP5 PUSH2 0x60D SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x61A DUP4 MLOAD PUSH2 0x10D3 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x66F DUP2 PUSH2 0x8F6 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0xC90 JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x4B7 JUMPI PUSH2 0x140 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x4B7 JUMPI PUSH2 0x6B7 CALLDATASIZE PUSH2 0x99E JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x2DA JUMPI PUSH2 0x6E9 PUSH2 0x953 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x447 JUMPI PUSH2 0x70C SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x2D2 JUMPI PUSH2 0x72C PUSH2 0x66F SWAP7 PUSH2 0x29E SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0xA35 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0x73B DUP3 PUSH2 0x8BE JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x7EA PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x10A8 JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x823 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x912 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x831 DUP7 MLOAD PUSH2 0x10D3 JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x289 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x976 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x976 JUMPI JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x976 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x9D7 DUP3 PUSH2 0x873 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x976 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x88F JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x976 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x976 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x976 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x976 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x88F JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x976 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0xA96 DUP4 PUSH2 0x873 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x976 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x976 JUMPI DUP1 CALLDATALOAD PUSH2 0xAC3 DUP2 PUSH2 0xA63 JUMP JUMPDEST SWAP3 PUSH2 0xAD0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x912 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x976 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0xB13 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x976 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD DUP3 DUP2 LT DUP6 DUP3 GT OR PUSH2 0xB76 JUMPI DUP11 MSTORE DUP5 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x976 JUMPI DUP3 DUP10 SWAP3 DUP13 SWAP5 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0xAF6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x976 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x976 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x976 JUMPI JUMP JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0xC20 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC8A DUP2 PUSH2 0x8BE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0xD39 JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0xD08 JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xCD0 PUSH2 0xCD6 SWAP5 PUSH2 0xCCB PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0xF5C JUMP JUMPDEST PUSH2 0xD6A JUMP JUMPDEST SWAP2 PUSH2 0x1146 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x976 JUMPI PUSH2 0xD06 SWAP4 PUSH2 0x1435 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH2 0xD72 PUSH2 0xBD5 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0xC8A DUP2 PUSH2 0x8DA JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0xDCA JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0xDCA JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP6 SWAP4 SWAP6 DUP2 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP6 DUP7 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0xF2C JUMPI POP DUP3 DUP9 SUB PUSH2 0xF03 JUMPI PUSH2 0xE41 SWAP2 DUP7 SWAP2 PUSH2 0xCD0 PUSH1 0x20 SWAP12 PUSH2 0xCCB DUP14 DUP10 ADD MLOAD DUP7 PUSH2 0xF5C JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 JUMPDEST DUP8 DUP2 LT PUSH2 0xE58 JUMPI POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xE63 DUP2 DUP4 MLOAD PUSH2 0xDB6 JUMP JUMPDEST MLOAD DUP10 PUSH2 0xE70 DUP4 DUP7 DUP10 PUSH2 0xDF9 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP11 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0xED3 JUMPI POP DUP2 PUSH2 0xE8F JUMPI JUMPDEST POP POP PUSH1 0x1 ADD PUSH2 0xE46 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD AND PUSH2 0xEB3 DUP5 DUP8 DUP11 PUSH2 0xDF9 JUMP JUMPDEST CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x447 JUMPI SWAP2 PUSH2 0xECC SWAP2 DUP10 PUSH1 0x1 SWAP6 SWAP5 PUSH2 0x1435 JUMP JUMPDEST SWAP1 CODESIZE PUSH2 0xE85 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP11 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP8 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP9 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0xFA6 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0xFDA DUP3 PUSH2 0xA63 JUMP JUMPDEST PUSH2 0xFE7 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x912 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1015 DUP3 SWAP5 PUSH2 0xA63 JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x104C JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1094 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1086 JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x10C0 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x10AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0xC8A DUP2 PUSH2 0x8DA JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x976 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x12AD JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x122B JUMPI PUSH2 0x1163 DUP3 DUP3 ADD DUP3 PUSH2 0x1130 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0xDCA JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x121F JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x11F5 JUMPI AND SUB PUSH2 0x11CB JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1283 JUMPI PUSH2 0x123F SWAP2 DUP2 ADD SWAP1 PUSH2 0x1130 JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x104C JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1181 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x142A JUMPI DUP3 SWAP2 PUSH2 0x13A9 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x137F JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x1422 JUMPI JUMPDEST DUP2 PUSH2 0x13C3 PUSH1 0x20 SWAP4 DUP4 PUSH2 0x912 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x2DE JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x141F JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x1353 JUMP JUMPDEST DUP1 REVERT JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x13B6 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x148E JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E EXTCODECOPY 0xF9 0xD6 PUSH4 0x20FEDAEC 0x25 SLT 0x1E GASPRICE 0xA9 LT 0xBE KECCAK256 DIFFICULTY PUSH15 0x739ED59814485383781E93F3C56473 PUSH16 0x6C634300081100330000000000000000 ", + "sourceMap": "489:6056:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;4678:86:29;;;;1621:102;489:6056:22;4678:86:29;;1621:102;;;:::i;:::-;;;;;;;;4678:86;;;;;;;;;;;;:::i;:::-;489:6056:22;4668:97:29;;4799:16;;;489:6056:22;4873:27:29;;;:::i;:::-;4916:13;;4931:16;;;;;;489:6056:22;;3581:9;489:6056;;5088:234:29;489:6056:22;;;5152:39:29;;1254:173;489:6056:22;5152:39:29;;1254:173;;;:::i;:::-;5152:39;;;;;;;;:::i;:::-;489:6056:22;5142:50:29;;489:6056:22;5238:12:29;;;489:6056:22;5268:15:29;;;489:6056:22;;;5088:234:29;;;489:6056:22;;;1621:102:29;;;489:6056:22;;;;5210:10:29;1621:102;;;489:6056:22;1621:102:29;;;489:6056:22;;;;1621:102:29;;;489:6056:22;;;;;;1621:102:29;;;489:6056:22;;1621:102:29;;;5088:234;;;;;;;;;:::i;:::-;489:6056:22;5065:267:29;;3581:9:22;;:::i;:::-;489:6056;;4949:3:29;5017:16;4995:42;5017:19;4949:3;5017:16;;;:19;:::i;:::-;;4995:42;:::i;:::-;4968:69;;;;:::i;:::-;489:6056:22;4949:3:29;:::i;:::-;4916:13;;489:6056:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3353:16:29;;;;;489:6056:22;3427:27:29;;;;:::i;:::-;3470:13;;3485:16;;;;;;489:6056:22;;3109:9;489:6056;;;;3734:39:29;;1254:173;489:6056:22;3734:39:29;;1254:173;;;:::i;:::-;3734:39;;;;;;;;:::i;:::-;489:6056:22;3724:50:29;;489:6056:22;3820:12:29;;489:6056:22;3850:15:29;;;489:6056:22;;;;3642:237:29;489:6056:22;3642:237:29;;489:6056:22;1254:173:29;489:6056:22;;1018:166:29;;489:6056:22;3792:10:29;1018:166;;;489:6056:22;;1018:166:29;;489:6056:22;1018:166:29;;;489:6056:22;1018:166:29;3642:237;;;;;:::i;3503:3::-;3571:16;;3522:69;3571:16;3549:42;3571:19;3503:3;3571:16;;;:19;:::i;3549:42::-;3522:69;;:::i;3503:3::-;3470:13;;489:6056:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5317:53;489:6056;;;;;5273:10;489:6056;;;;;;;;;;;;;;;;;;;5261:40;489:6056;;;;;;;;;;;5273:10;5317:53;;489:6056;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;1157:9;489:6056;;;;;;;:::i;:::-;3029:16:29;;;3007:39;3029:16;;3007:39;:::i;:::-;3163:12;;;489:6056:22;3177:15:29;;;489:6056:22;;;;3086:107:29;3163:12;3086:107;;489:6056:22;1018:166:29;489:6056:22;;1018:166:29;;489:6056:22;3151:10:29;1018:166;;;489:6056:22;1018:166:29;;;489:6056:22;1018:166:29;;;489:6056:22;1018:166:29;3086:107;;;;;:::i;:::-;489:6056:22;3063:140:29;;1157:9:22;;:::i;489:6056::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;4322:94:29;489:6056:22;1622:9;489:6056;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;4133:80:29;;;;1621:102;489:6056:22;4133:80:29;;1621:102;;;:::i;:::-;;;;;;;;4133:80;;;;;;;;;;;;:::i;:::-;489:6056:22;4123:91:29;;4278:16;4256:39;4278:16;;4256:39;:::i;:::-;489:6056:22;4377:12:29;;;489:6056:22;4391:15:29;;;489:6056:22;;;4322:94:29;;;489:6056:22;;;1621:102:29;;;489:6056:22;;;;4365:10:29;1621:102;;;489:6056:22;1621:102:29;;;489:6056:22;;;;1621:102:29;;;489:6056:22;;;;;;1621:102:29;;;489:6056:22;;1621:102:29;;;4322:94;1621:102;489:6056:22;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;1018:166:29;489:6056:22;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;489:6056:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1123:216:19:-;1198:13;1215:16;1198:33;1215:16;;1246:24;1123:216;:::o;1198:134::-;489:6056:22;;1560:60:19;;;489:6056:22;726:80:19;489:6056:22;;654:20:19;489:6056:22;;;;1198:13:19;489:6056:22;;;;1614:4:19;489:6056:22;;;;;1560:60:19;;;;;:::i;:::-;489:6056:22;1550:71:19;;1123:216;:::o;2075:704:22:-;;;;;2338:31;489:6056;2402:15;;;;489:6056;2384:15;;:33;2380:79;;2491:16;2338:31;2491:16;;:23;489:6056;2473:41;;;2469:92;;2598:12;;;;2639:24;2665:5;2598:12;;2338:31;2598:12;;489:6056;2598:12;;:::i;:::-;2639:24;:::i;:::-;2665:5;;:::i;:::-;489:6056;2688:16;;;489:6056;;;;;;;;;;;;2756:15;;;:::i;:::-;2075:704::o;2469:92::-;489:6056;;2402:15;489:6056;2523:38;;;;;;;489:6056;2523:38;2380:79;489:6056;;2402:15;489:6056;2426:33;;;;;;;489:6056;2426:33;1685:167:19;1815:18;;:::i;:::-;489:6056:22;;;1786:58:19;;;;489:6056:22;;;;;;;;;;;;;1786:58:19;;;;;:::i;489:6056:22:-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;3937:1194::-;;;;;;4204:16;;489:6056;4260:15;;;;;;489:6056;4242:15;;:33;4238:79;;4331:38;;;;4327:67;;4497:5;4431:12;;;4471:24;4431:12;;;;;;489:6056;4431:12;;:::i;4497:5::-;-1:-1:-1;4543:13:22;;4558:16;;;;;;3937:1194;;;;;;;;;:::o;4576:3::-;4635:19;:16;;;:19;:::i;:::-;;4698:18;;;;;;:::i;:::-;:34;489:6056;4773:16;;;;489:6056;4755:34;;;4751:78;;4852:20;;4848:253;;4576:3;;;489:6056;;4543:13;;4848:253;489:6056;;;;;5043:18;;;;;:::i;:::-;489:6056;;;;;;;;5066:15;;;;489:6056;5066:15;;;:::i;:::-;4848:253;;;;4751:78;489:6056;;;;4798:31;;;;;;;489:6056;4798:31;4327:67;4378:16;489:6056;;4378:16;;;;4238:79;489:6056;;;;4284:33;;;;;;;489:6056;4284:33;6250:293;;489:6056;6408:1;489:6056;;;;;;-1:-1:-1;489:6056:22;-1:-1:-1;489:6056:22;;;-1:-1:-1;489:6056:22;;5992:1;489:6056;-1:-1:-1;489:6056:22;;;;-1:-1:-1;489:6056:22;;;;6447:33;489:6056;;;6495:13;:18;6491:45;;6250:293::o;6491:45::-;6522:14;489:6056;;6522:14;;;;489:6056;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;1254:173:29;489:6056:22;;;;;;1254:173:29;;;;;;;;;;;;;:::o;:::-;;;489:6056:22;;1254:173:29;;;;;;;;;;;;1621:102;;489:6056:22;;1621:102:29;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;5539:229;489:6056:22;;5710:50:29;;;;489:6056:22;895:59:29;489:6056:22;;;895:59:29;;489:6056:22;;895:59:29;;489:6056:22;895:59:29;;;;;489:6056:22;895:59:29;5710:50;;;;;:::i;489:6056:22:-;;;;;;;;;;;;;;;;;:::o;700:1109:31:-;-1:-1:-1;863:25:31;;;;-1:-1:-1;933:2:31;913:22;;933:2;;964:41;;;;;;:::i;:::-;955:50;;625:68;1043:2;625:68;;;;;;-1:-1:-1;625:68:31;489:6056:22;1043:2:31;625:68;;;1033:13;625:68;;909:490;489:6056:22;;;;;;625:68:31;;;;489:6056:22;625:68:31;;489:6056:22;625:68:31;;;489:6056:22;1429:24:31;;;;;;;;;489:6056:22;1429:24:31;-1:-1:-1;1429:24:31;489:6056:22;1471:20:31;;;1467:51;;489:6056:22;1536:23:31;1532:51;;700:1109::o;1532:51::-;1568:15;489:6056:22;;1568:15:31;;;;1467:51;1500:18;489:6056:22;;1500:18:31;;;;1429:24;489:6056:22;;;-1:-1:-1;489:6056:22;;;;;909:490:31;1092:2;1072:22;;1092:2;;1180:41;;;;;;:::i;:::-;1170:51;1312:2;626:66;1243:19;;489:6056:22;;;625:68:31;;489:6056:22;625:68:31;;;;;1280:34;-1:-1:-1;1280:34:31;489:6056:22;625:68:31;1280:34;909:490;;1068:331;1360:24;1092:2;489:6056:22;1360:24:31;;;;859:944;489:6056:22;;;;;;;;1634:57:31;489:6056:22;;;;;;;;;;;;1634:57:31;;;;;;;489:6056:22;;;;;;;;;;;;;;1621:102:29;;;;;;;;489:6056:22;;;;1634:57:31;;489:6056:22;;1634:57:31;;;;;;;;;;;859:944;489:6056:22;;;;;1709:48:31;1705:87;;700:1109::o;1705:87::-;1634:57;489:6056:22;;1766:26:31;;;;1634:57;;;;;;;;;;;;;;;;;:::i;:::-;;;489:6056:22;;;;;;;;;;;;;1634:57:31;489:6056:22;1634:57:31;;;;489:6056:22;;;1634:57:31;;;-1:-1:-1;1634:57:31;;;489:6056:22;;;;;;;;;1328:1616:35;;-1:-1:-1;1532:1355:35;1328:1616;1532:1355;1328:1616;;;1532:1355;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1532:1355:35;;;;;489:6056:22;;;1328:1616:35:o;489:6056:22:-;1532:1355:35;;489:6056:22;;;;1532:1355:35;;489:6056:22;;;;1532:1355:35;489:6056:22;;;;1532:1355:35;489:6056:22;;;", + "linkReferences": {}, + "immutableReferences": { + "27647": [ + { + "start": 3070, + "length": 32 + } + ], + "27649": [ + { + "start": 3032, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "DOMAIN_SEPARATOR()": "3644e515", + "invalidateUnorderedNonces(uint256,uint256)": "3ff9dcb1", + "nonceBitmap(address,uint256)": "4fe02b44", + "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)": "30f28b7a", + "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)": "edd9444b", + "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)": "137c29fe", + "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)": "fe8ec1a7" + } + } + } + }, + "lib/permit2/src/interfaces/IAllowanceTransfer.sol": { + "IAllowanceTransfer": { + "abi": [ + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "", + "type": "uint48", + "internalType": "uint48" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "invalidateNonces", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint48", + "internalType": "uint48" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "lockdown", + "inputs": [ + { + "name": "approvals", + "type": "tuple[]", + "internalType": "struct IAllowanceTransfer.TokenSpenderPair[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "permitBatch", + "type": "tuple", + "internalType": "struct IAllowanceTransfer.PermitBatch", + "components": [ + { + "name": "details", + "type": "tuple[]", + "internalType": "struct IAllowanceTransfer.PermitDetails[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "internalType": "uint48" + } + ] + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "sigDeadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "permitSingle", + "type": "tuple", + "internalType": "struct IAllowanceTransfer.PermitSingle", + "components": [ + { + "name": "details", + "type": "tuple", + "internalType": "struct IAllowanceTransfer.PermitDetails", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "internalType": "uint48" + } + ] + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "sigDeadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "transferDetails", + "type": "tuple[]", + "internalType": "struct IAllowanceTransfer.AllowanceTransferDetails[]", + "components": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "internalType": "uint160" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "indexed": false, + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Lockdown", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NonceInvalidation", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newNonce", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "oldNonce", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint160", + "indexed": false, + "internalType": "uint160" + }, + { + "name": "expiration", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "nonce", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AllowanceExpired", + "inputs": [ + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ExcessiveInvalidation", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientAllowance", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"AllowanceExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExcessiveInvalidation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"Lockdown\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"newNonce\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"oldNonce\",\"type\":\"uint48\"}],\"name\":\"NonceInvalidation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"name\":\"Permit\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"newNonce\",\"type\":\"uint48\"}],\"name\":\"invalidateNonces\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"internalType\":\"struct IAllowanceTransfer.TokenSpenderPair[]\",\"name\":\"approvals\",\"type\":\"tuple[]\"}],\"name\":\"lockdown\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"internalType\":\"struct IAllowanceTransfer.PermitDetails[]\",\"name\":\"details\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sigDeadline\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowanceTransfer.PermitBatch\",\"name\":\"permitBatch\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"uint48\",\"name\":\"expiration\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"nonce\",\"type\":\"uint48\"}],\"internalType\":\"struct IAllowanceTransfer.PermitDetails\",\"name\":\"details\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sigDeadline\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowanceTransfer.PermitSingle\",\"name\":\"permitSingle\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct IAllowanceTransfer.AllowanceTransferDetails[]\",\"name\":\"transferDetails\",\"type\":\"tuple[]\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint160\",\"name\":\"amount\",\"type\":\"uint160\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Requires user's token approval on the Permit2 contract\",\"errors\":{\"AllowanceExpired(uint256)\":[{\"params\":{\"deadline\":\"The timestamp at which the allowed amount is no longer valid\"}}],\"InsufficientAllowance(uint256)\":[{\"params\":{\"amount\":\"The maximum amount allowed\"}}]},\"kind\":\"dev\",\"methods\":{\"allowance(address,address,address)\":{\"details\":\"The packed slot holds the allowed amount, expiration at which the allowed amount is no longer valid, and current nonce thats updated on any signature based approvals.\"},\"approve(address,address,uint160,uint48)\":{\"details\":\"The packed allowance also holds a nonce, which will stay unchanged in approveSetting amount to type(uint160).max sets an unlimited approval\",\"params\":{\"amount\":\"The approved amount of the token\",\"expiration\":\"The timestamp at which the approval is no longer valid\",\"spender\":\"The spender address to approve\",\"token\":\"The token to approve\"}},\"invalidateNonces(address,address,uint48)\":{\"details\":\"Can't invalidate more than 2**16 nonces per transaction.\",\"params\":{\"newNonce\":\"The new nonce to set. Invalidates all nonces less than it.\",\"spender\":\"The spender to invalidate nonces for\",\"token\":\"The token to invalidate nonces for\"}},\"lockdown((address,address)[])\":{\"params\":{\"approvals\":\"Array of approvals to revoke.\"}},\"permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)\":{\"details\":\"May fail if the owner's nonce was invalidated in-flight by invalidateNonce\",\"params\":{\"owner\":\"The owner of the tokens being approved\",\"permitSingle\":\"Data signed over by the owner specifying the terms of approval\",\"signature\":\"The owner's signature over the permit data\"}},\"permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)\":{\"details\":\"May fail if the owner's nonce was invalidated in-flight by invalidateNonce\",\"params\":{\"owner\":\"The owner of the tokens being approved\",\"permitBatch\":\"Data signed over by the owner specifying the terms of approval\",\"signature\":\"The owner's signature over the permit data\"}},\"transferFrom((address,address,uint160,address)[])\":{\"details\":\"Requires the from addresses to have approved at least the desired amount of tokens to msg.sender.\",\"params\":{\"transferDetails\":\"Array of owners, recipients, amounts, and tokens for the transfers\"}},\"transferFrom(address,address,uint160,address)\":{\"details\":\"Requires the from address to have approved at least the desired amount of tokens to msg.sender.\",\"params\":{\"amount\":\"The amount of the token to transfer\",\"from\":\"The address to transfer from\",\"to\":\"The address of the recipient\",\"token\":\"The token address to transfer\"}}},\"title\":\"AllowanceTransfer\",\"version\":1},\"userdoc\":{\"errors\":{\"AllowanceExpired(uint256)\":[{\"notice\":\"Thrown when an allowance on a token has expired.\"}],\"ExcessiveInvalidation()\":[{\"notice\":\"Thrown when too many nonces are invalidated.\"}],\"InsufficientAllowance(uint256)\":[{\"notice\":\"Thrown when an allowance on a token has been depleted.\"}]},\"events\":{\"Approval(address,address,address,uint160,uint48)\":{\"notice\":\"Emits an event when the owner successfully sets permissions on a token for the spender.\"},\"Lockdown(address,address,address)\":{\"notice\":\"Emits an event when the owner sets the allowance back to 0 with the lockdown function.\"},\"NonceInvalidation(address,address,address,uint48,uint48)\":{\"notice\":\"Emits an event when the owner successfully invalidates an ordered nonce.\"},\"Permit(address,address,address,uint160,uint48,uint48)\":{\"notice\":\"Emits an event when the owner successfully sets permissions using a permit signature on a token for the spender.\"}},\"kind\":\"user\",\"methods\":{\"allowance(address,address,address)\":{\"notice\":\"A mapping from owner address to token address to spender address to PackedAllowance struct, which contains details and conditions of the approval.The mapping is indexed in the above order see: allowance[ownerAddress][tokenAddress][spenderAddress]\"},\"approve(address,address,uint160,uint48)\":{\"notice\":\"Approves the spender to use up to amount of the specified token up until the expiration\"},\"invalidateNonces(address,address,uint48)\":{\"notice\":\"Invalidate nonces for a given (token, spender) pair\"},\"lockdown((address,address)[])\":{\"notice\":\"Enables performing a \\\"lockdown\\\" of the sender's Permit2 identity by batch revoking approvals\"},\"permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)\":{\"notice\":\"Permit a spender to a given amount of the owners token via the owner's EIP-712 signature\"},\"permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)\":{\"notice\":\"Permit a spender to the signed amounts of the owners tokens via the owner's EIP-712 signature\"},\"transferFrom((address,address,uint160,address)[])\":{\"notice\":\"Transfer approved tokens in a batch\"},\"transferFrom(address,address,uint160,address)\":{\"notice\":\"Transfer approved tokens from one address to another\"}},\"notice\":\"Handles ERC20 token permissions through signature based allowance setting and ERC20 token transfers by checking allowed amounts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":\"IAllowanceTransfer\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "allowance(address,address,address)": "927da105", + "approve(address,address,uint160,uint48)": "87517c45", + "invalidateNonces(address,address,uint48)": "65d9723c", + "lockdown((address,address)[])": "cc53287f", + "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)": "2b67b570", + "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)": "2a2d80d1", + "transferFrom((address,address,uint160,address)[])": "0d58b1db", + "transferFrom(address,address,uint160,address)": "36c78516" + } + } + } + }, + "lib/permit2/src/interfaces/IDAIPermit.sol": { + "IDAIPermit": { + "abi": [ + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "holder", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "allowed", + "type": "bool", + "internalType": "bool" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"},{\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)\":{\"params\":{\"allowed\":\"Boolean that sets approval amount, true for type(uint256).max and false for 0.\",\"expiry\":\"The timestamp at which the permit is no longer valid.\",\"holder\":\"The address of the token owner.\",\"nonce\":\"The owner's nonce, increases at each call to permit.\",\"r\":\"Must produce valid secp256k1 signature from the owner along with v and s.\",\"s\":\"Must produce valid secp256k1 signature from the owner along with r and v.\",\"spender\":\"The address of the token spender.\",\"v\":\"Must produce valid secp256k1 signature from the owner along with r and s.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/interfaces/IDAIPermit.sol\":\"IDAIPermit\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/IDAIPermit.sol\":{\"keccak256\":\"0x089a4157ad58d4568cb7084836f9ee0280c01616b0cd15158d6deb93be754e8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8af89edc0f453dff61e4b67bc3188f090ba0e858f5f13723e526a8cb8a165535\",\"dweb:/ipfs/QmRVFHVFZg7fWhYdWdDD3JZHiWREHz5JiLEyDq7NYhQDfn\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)": "8fcbaf0c" + } + } + } + }, + "lib/permit2/src/interfaces/IERC1271.sol": { + "IERC1271": { + "abi": [ + { + "type": "function", + "name": "isValidSignature", + "inputs": [ + { + "name": "hash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "magicValue", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "stateMutability": "view" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"magicValue\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"isValidSignature(bytes32,bytes)\":{\"details\":\"Should return whether the signature provided is valid for the provided data\",\"params\":{\"hash\":\"Hash of the data to be signed\",\"signature\":\"Signature byte array associated with _data\"},\"returns\":{\"magicValue\":\"The bytes4 magic value 0x1626ba7e\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/interfaces/IERC1271.sol\":\"IERC1271\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "isValidSignature(bytes32,bytes)": "1626ba7e" + } + } + } + }, + "lib/permit2/src/interfaces/ISignatureTransfer.sol": { + "ISignatureTransfer": { + "abi": [ + { + "type": "function", + "name": "invalidateUnorderedNonces", + "inputs": [ + { + "name": "wordPos", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "mask", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "nonceBitmap", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permitTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.TokenPermissions[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitWitnessTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "witness", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "witnessTypeString", + "type": "string", + "internalType": "string" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "permitWitnessTransferFrom", + "inputs": [ + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.TokenPermissions[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "transferDetails", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.SignatureTransferDetails[]", + "components": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "requestedAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "witness", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "witnessTypeString", + "type": "string", + "internalType": "string" + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "UnorderedNonceInvalidation", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "word", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "mask", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "InvalidAmount", + "inputs": [ + { + "name": "maxAmount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "LengthMismatch", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LengthMismatch\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"word\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mask\",\"type\":\"uint256\"}],\"name\":\"UnorderedNonceInvalidation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wordPos\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mask\",\"type\":\"uint256\"}],\"name\":\"invalidateUnorderedNonces\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"nonceBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails\",\"name\":\"transferDetails\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions[]\",\"name\":\"permitted\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitBatchTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails[]\",\"name\":\"transferDetails\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails\",\"name\":\"transferDetails\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"witness\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"witnessTypeString\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitWitnessTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions[]\",\"name\":\"permitted\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitBatchTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.SignatureTransferDetails[]\",\"name\":\"transferDetails\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"witness\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"witnessTypeString\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitWitnessTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Requires user's token approval on the Permit2 contract\",\"errors\":{\"InvalidAmount(uint256)\":[{\"params\":{\"maxAmount\":\"The maximum amount a spender can request to transfer\"}}],\"LengthMismatch()\":[{\"details\":\"If the spender does not need to transfer the number of tokens permitted, the spender can request amount 0 to be transferred\"}]},\"kind\":\"dev\",\"methods\":{\"invalidateUnorderedNonces(uint256,uint256)\":{\"details\":\"The wordPos is maxed at type(uint248).max\",\"params\":{\"mask\":\"A bitmap masked against msg.sender's current bitmap at the word position\",\"wordPos\":\"A number to index the nonceBitmap at\"}},\"nonceBitmap(address,uint256)\":{\"details\":\"Uses unordered nonces so that permit messages do not need to be spent in a certain orderThe mapping is indexed first by the token owner, then by an index specified in the nonceIt returns a uint256 bitmapThe index, or wordPosition is capped at type(uint248).max\"},\"permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)\":{\"details\":\"Reverts if the requested amount is greater than the permitted signed amount\",\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"The spender's requested transfer details for the permitted token\"}},\"permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)\":{\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"Specifies the recipient and requested amount for the token transfer\"}},\"permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)\":{\"details\":\"The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definitionReverts if the requested amount is greater than the permitted signed amount\",\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"The spender's requested transfer details for the permitted token\",\"witness\":\"Extra data to include when checking the user signature\",\"witnessTypeString\":\"The EIP-712 type definition for remaining string stub of the typehash\"}},\"permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)\":{\"details\":\"The witness type string must follow EIP712 ordering of nested structs and must include the TokenPermissions type definition\",\"params\":{\"owner\":\"The owner of the tokens to transfer\",\"permit\":\"The permit data signed over by the owner\",\"signature\":\"The signature to verify\",\"transferDetails\":\"Specifies the recipient and requested amount for the token transfer\",\"witness\":\"Extra data to include when checking the user signature\",\"witnessTypeString\":\"The EIP-712 type definition for remaining string stub of the typehash\"}}},\"title\":\"SignatureTransfer\",\"version\":1},\"userdoc\":{\"errors\":{\"InvalidAmount(uint256)\":[{\"notice\":\"Thrown when the requested amount for a transfer is larger than the permissioned amount\"}],\"LengthMismatch()\":[{\"notice\":\"Thrown when the number of tokens permissioned to a spender does not match the number of tokens being transferred\"}]},\"events\":{\"UnorderedNonceInvalidation(address,uint256,uint256)\":{\"notice\":\"Emits an event when the owner successfully invalidates an unordered nonce.\"}},\"kind\":\"user\",\"methods\":{\"invalidateUnorderedNonces(uint256,uint256)\":{\"notice\":\"Invalidates the bits specified in mask for the bitmap at the word position\"},\"nonceBitmap(address,uint256)\":{\"notice\":\"A map from token owner address and a caller specified word index to a bitmap. Used to set bits in the bitmap to prevent against signature replay protection\"},\"permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)\":{\"notice\":\"Transfers a token using a signed permit message\"},\"permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)\":{\"notice\":\"Transfers multiple tokens using a signed permit message\"},\"permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)\":{\"notice\":\"Transfers a token using a signed permit messageIncludes extra data provided by the caller to verify signature over\"},\"permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)\":{\"notice\":\"Transfers multiple tokens using a signed permit messageIncludes extra data provided by the caller to verify signature over\"}},\"notice\":\"Handles ERC20 token transfers through signature based actions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":\"ISignatureTransfer\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "invalidateUnorderedNonces(uint256,uint256)": "3ff9dcb1", + "nonceBitmap(address,uint256)": "4fe02b44", + "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)": "30f28b7a", + "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)": "edd9444b", + "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)": "137c29fe", + "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)": "fe8ec1a7" + } + } + } + }, + "lib/permit2/src/libraries/Allowance.sol": { + "Allowance": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/libraries/Allowance.sol\":\"Allowance\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212200d08f68880668cb4f7e58ba312d7c7bfcfccbdf4cadc915853c8c21c2c1f8c5d64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD ADDMOD 0xF6 DUP9 DUP1 PUSH7 0x8CB4F7E58BA312 0xD7 0xC7 0xBF 0xCF 0xCC 0xBD DELEGATECALL 0xCA 0xDC SWAP2 PC MSTORE8 0xC8 0xC2 SHR 0x2C 0x1F DUP13 0x5D PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "132:1772:27:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea26469706673582212200d08f68880668cb4f7e58ba312d7c7bfcfccbdf4cadc915853c8c21c2c1f8c5d64736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD ADDMOD 0xF6 DUP9 DUP1 PUSH7 0x8CB4F7E58BA312 0xD7 0xC7 0xBF 0xCF 0xCC 0xBD DELEGATECALL 0xCA 0xDC SWAP2 PC MSTORE8 0xC8 0xC2 SHR 0x2C 0x1F DUP13 0x5D PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "132:1772:27:-:0;;", + "linkReferences": {} + } + } + } + }, + "lib/permit2/src/libraries/Permit2Lib.sol": { + "Permit2Lib": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"DAI_DOMAIN_SEPARATOR\":{\"details\":\"The unique EIP-712 domain domain separator for the DAI token contract.\"},\"PERMIT2\":{\"details\":\"The address of the Permit2 contract the library will use.\"},\"WETH9_ADDRESS\":{\"details\":\"The address for the WETH9 contract on Ethereum mainnet, encoded as a bytes32.\"}},\"title\":\"Permit2Lib\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Enables efficient transfers and EIP-2612/DAI permits for any token by falling back to Permit2.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/libraries/Permit2Lib.sol\":\"Permit2Lib\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/AllowanceTransfer.sol\":{\"keccak256\":\"0x83a47e7841f9d285eb7f0fd977fedb808640714cb9822a104bab99fe5cbb58ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f0de543f076f8556690f236dc431277acf9c91c04916a46040194b03ea9836\",\"dweb:/ipfs/QmQ5YLFHexR2WTNXDGu4y6WjRmLPzrdH92j7NDQzT8Jevp\"]},\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/Permit2.sol\":{\"keccak256\":\"0x934c0eb24a52eb5900f01f5c328374b670366adf995ba9ed49bcd3d7b87b159e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdfd05b3007726dc6dd2822c1dd9dc1b2471fbec507f30efa71a1a214c98bab6\",\"dweb:/ipfs/QmPq4hptCSUACQdynSa86bdEexE7RryzosrhUAZ9Xkqc5a\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/SignatureTransfer.sol\":{\"keccak256\":\"0xa821caa24d6231fa8befe24a34bfda2c3b05b56e67fb913c86b26a19b19b6bbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://584994a77e33aa2fe804b803ab302cb811ee945632b76f68d78db761b18a24a2\",\"dweb:/ipfs/QmVd67VRKX24tSaREBNwhzVfU6xxqRLNEoPY6CYgG3xU5W\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IDAIPermit.sol\":{\"keccak256\":\"0x089a4157ad58d4568cb7084836f9ee0280c01616b0cd15158d6deb93be754e8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8af89edc0f453dff61e4b67bc3188f090ba0e858f5f13723e526a8cb8a165535\",\"dweb:/ipfs/QmRVFHVFZg7fWhYdWdDD3JZHiWREHz5JiLEyDq7NYhQDfn\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]},\"lib/permit2/src/libraries/Permit2Lib.sol\":{\"keccak256\":\"0x202bc12462394f8a4cddc870344f4ac4b6d5d3f2eb5b4a2f4a5ba517dc484be4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5d82584a5fa2f0d8136d418c2a04974d157316713306dfa7b1d6fa865eb5d04\",\"dweb:/ipfs/QmSjpeNJDpvgAqGbVSG1wrFLzEac2dtmzRcR8PkdCMBbHF\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SafeCast160.sol\":{\"keccak256\":\"0x8a34e2beac108d74f89510c949983212b5f09307a93ee9e17a9d50e93f6bc8e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://828697f9567ce617c5c1c8f76b6bcd250e93aea2c4f3ee188be6dff8443c19e7\",\"dweb:/ipfs/QmafxeSPhUc9gGtNDLAw26oZooC5XNLhDMxHxYhJxL5Nwi\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212208308f72a8b741065a5b0a2a50019ec506de56a5e0c44ec9552392fd6e9b9eccc64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 ADDMOD 0xF7 0x2A DUP12 PUSH21 0x1065A5B0A2A50019EC506DE56A5E0C44EC9552392F 0xD6 0xE9 0xB9 0xEC 0xCC PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "462:6812:28:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea26469706673582212208308f72a8b741065a5b0a2a50019ec506de56a5e0c44ec9552392fd6e9b9eccc64736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 ADDMOD 0xF7 0x2A DUP12 PUSH21 0x1065A5B0A2A50019EC506DE56A5E0C44EC9552392F 0xD6 0xE9 0xB9 0xEC 0xCC PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "462:6812:28:-:0;;", + "linkReferences": {} + } + } + } + }, + "lib/permit2/src/libraries/PermitHash.sol": { + "PermitHash": { + "abi": [ + { + "type": "function", + "name": "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_BATCH_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_BATCH_WITNESS_TRANSFER_FROM_TYPEHASH_STUB", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_DETAILS_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_SINGLE_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_TRANSFER_FROM_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_TRANSFER_FROM_WITNESS_TYPEHASH_STUB", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_TOKEN_PERMISSIONS_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_TOKEN_PERMISSIONS_TYPESTRING", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_BATCH_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_BATCH_WITNESS_TRANSFER_FROM_TYPEHASH_STUB\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_DETAILS_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_SINGLE_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_TRANSFER_FROM_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_TRANSFER_FROM_WITNESS_TYPEHASH_STUB\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TOKEN_PERMISSIONS_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TOKEN_PERMISSIONS_TYPESTRING\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/libraries/PermitHash.sol\":\"PermitHash\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "6080806040523461001a576105cb9081610020823930815050f35b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c9081633eb8b8fd146104dc57508063415e982d146104895780636302c3cf146104365780636e4f2775146103e357806378f168301461039057806384b8efbb146102a057806390bbf2f3146101b0578063c0c7fa7e146100db5763c5df4f031461008557600080fd5b817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08152f35b5080fd5b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d7578051906060820182811067ffffffffffffffff8211176101835761017f93508152602e82527f546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c7560208301527f696e7432353620616d6f756e742900000000000000000000000000000000000081830152519182918261052f565b0390f35b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d75780519060a0820182811067ffffffffffffffff8211176101835761017f93508152606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472818301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c0000000000000000000000000000000000000000006080830152519182918261052f565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d75780519060a0820182811067ffffffffffffffff8211176101835761017f93508152606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065818301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c000000000000000000000000000000000000000000000000000000006080830152519182918261052f565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068152f35b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b36788152f35b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638152f35b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18152f35b8390817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757807ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b76660209252f35b60208082528251818301819052939260005b858110610581575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b81810183015184820160400152820161054156fea2646970667358221220b725aab8e1a190945d1f0bdc31e098b85d8dd8b3acd933b0239f17439b85d61e64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x1A JUMPI PUSH2 0x5CB SWAP1 DUP2 PUSH2 0x20 DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x3EB8B8FD EQ PUSH2 0x4DC JUMPI POP DUP1 PUSH4 0x415E982D EQ PUSH2 0x489 JUMPI DUP1 PUSH4 0x6302C3CF EQ PUSH2 0x436 JUMPI DUP1 PUSH4 0x6E4F2775 EQ PUSH2 0x3E3 JUMPI DUP1 PUSH4 0x78F16830 EQ PUSH2 0x390 JUMPI DUP1 PUSH4 0x84B8EFBB EQ PUSH2 0x2A0 JUMPI DUP1 PUSH4 0x90BBF2F3 EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xC0C7FA7E EQ PUSH2 0xDB JUMPI PUSH4 0xC5DF4F03 EQ PUSH2 0x85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x60 DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x183 JUMPI PUSH2 0x17F SWAP4 POP DUP2 MSTORE PUSH1 0x2E DUP3 MSTORE PUSH32 0x546F6B656E5065726D697373696F6E73286164647265737320746F6B656E2C75 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x696E7432353620616D6F756E7429000000000000000000000000000000000000 DUP2 DUP4 ADD MSTORE MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x52F JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI DUP1 MLOAD SWAP1 PUSH1 0xA0 DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x183 JUMPI PUSH2 0x17F SWAP4 POP DUP2 MSTORE PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP2 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x52F JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI DUP1 MLOAD SWAP1 PUSH1 0xA0 DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x183 JUMPI PUSH2 0x17F SWAP4 POP DUP2 MSTORE PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP2 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x52F JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP2 MSTORE RETURN JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP2 MSTORE RETURN JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP2 MSTORE RETURN JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP2 MSTORE RETURN JUMPDEST DUP4 SWAP1 DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI DUP1 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 PUSH1 0x20 SWAP3 MSTORE RETURN JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0x581 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x541 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB7 0x25 0xAA 0xB8 0xE1 LOG1 SWAP1 SWAP5 0x5D 0x1F SIGNEXTEND 0xDC BALANCE 0xE0 SWAP9 0xB8 0x5D DUP14 0xD8 0xB3 0xAC 0xD9 CALLER 0xB0 0x23 SWAP16 OR NUMBER SWAP12 DUP6 0xD6 0x1E PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "205:5565:29:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_encode_string": { + "entryPoint": 1327, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + } + }, + "object": "60806040818152600436101561001457600080fd5b600091823560e01c9081633eb8b8fd146104dc57508063415e982d146104895780636302c3cf146104365780636e4f2775146103e357806378f168301461039057806384b8efbb146102a057806390bbf2f3146101b0578063c0c7fa7e146100db5763c5df4f031461008557600080fd5b817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08152f35b5080fd5b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d7578051906060820182811067ffffffffffffffff8211176101835761017f93508152602e82527f546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c7560208301527f696e7432353620616d6f756e742900000000000000000000000000000000000081830152519182918261052f565b0390f35b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d75780519060a0820182811067ffffffffffffffff8211176101835761017f93508152606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472818301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c0000000000000000000000000000000000000000006080830152519182918261052f565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d75780519060a0820182811067ffffffffffffffff8211176101835761017f93508152606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065818301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c000000000000000000000000000000000000000000000000000000006080830152519182918261052f565b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068152f35b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b36788152f35b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638152f35b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757602090517f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18152f35b8390817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d757807ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b76660209252f35b60208082528251818301819052939260005b858110610581575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b81810183015184820160400152820161054156fea2646970667358221220b725aab8e1a190945d1f0bdc31e098b85d8dd8b3acd933b0239f17439b85d61e64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x3EB8B8FD EQ PUSH2 0x4DC JUMPI POP DUP1 PUSH4 0x415E982D EQ PUSH2 0x489 JUMPI DUP1 PUSH4 0x6302C3CF EQ PUSH2 0x436 JUMPI DUP1 PUSH4 0x6E4F2775 EQ PUSH2 0x3E3 JUMPI DUP1 PUSH4 0x78F16830 EQ PUSH2 0x390 JUMPI DUP1 PUSH4 0x84B8EFBB EQ PUSH2 0x2A0 JUMPI DUP1 PUSH4 0x90BBF2F3 EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xC0C7FA7E EQ PUSH2 0xDB JUMPI PUSH4 0xC5DF4F03 EQ PUSH2 0x85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x60 DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x183 JUMPI PUSH2 0x17F SWAP4 POP DUP2 MSTORE PUSH1 0x2E DUP3 MSTORE PUSH32 0x546F6B656E5065726D697373696F6E73286164647265737320746F6B656E2C75 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x696E7432353620616D6F756E7429000000000000000000000000000000000000 DUP2 DUP4 ADD MSTORE MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x52F JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI DUP1 MLOAD SWAP1 PUSH1 0xA0 DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x183 JUMPI PUSH2 0x17F SWAP4 POP DUP2 MSTORE PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP2 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x52F JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI DUP1 MLOAD SWAP1 PUSH1 0xA0 DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x183 JUMPI PUSH2 0x17F SWAP4 POP DUP2 MSTORE PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP2 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x52F JUMP JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP2 MSTORE RETURN JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP2 MSTORE RETURN JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP2 MSTORE RETURN JUMPDEST POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP2 MSTORE RETURN JUMPDEST DUP4 SWAP1 DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xD7 JUMPI DUP1 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 PUSH1 0x20 SWAP3 MSTORE RETURN JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0x581 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x541 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB7 0x25 0xAA 0xB8 0xE1 LOG1 SWAP1 SWAP5 0x5D 0x1F SIGNEXTEND 0xDC BALANCE 0xE0 SWAP9 0xB8 0x5D DUP14 0xD8 0xB3 0xAC 0xD9 CALLER 0xB0 0x23 SWAP16 OR NUMBER SWAP12 DUP6 0xD6 0x1E PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "205:5565:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;433:172;205:5565;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1018:166;205:5565;;;;;;;;;;;;;;;289:87;205:5565;;;;;;;;;;;;;;;661:173;205:5565;;;;;;;;;;;;;;;895:59;205:5565;;;;;;;;;;;;;;1254:173;205:5565;;;;;;;;;;;;;;;;;;;-1:-1:-1;205:5565:29;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH()": "3eb8b8fd", + "_PERMIT_BATCH_TYPEHASH()": "6302c3cf", + "_PERMIT_BATCH_WITNESS_TRANSFER_FROM_TYPEHASH_STUB()": "90bbf2f3", + "_PERMIT_DETAILS_TYPEHASH()": "6e4f2775", + "_PERMIT_SINGLE_TYPEHASH()": "c5df4f03", + "_PERMIT_TRANSFER_FROM_TYPEHASH()": "78f16830", + "_PERMIT_TRANSFER_FROM_WITNESS_TYPEHASH_STUB()": "84b8efbb", + "_TOKEN_PERMISSIONS_TYPEHASH()": "415e982d", + "_TOKEN_PERMISSIONS_TYPESTRING()": "c0c7fa7e" + } + } + } + }, + "lib/permit2/src/libraries/SafeCast160.sol": { + "SafeCast160": { + "abi": [ + { + "type": "error", + "name": "UnsafeCast", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"UnsafeCast\",\"type\":\"error\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"UnsafeCast()\":[{\"notice\":\"Thrown when a valude greater than type(uint160).max is cast to uint160\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/libraries/SafeCast160.sol\":\"SafeCast160\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/libraries/SafeCast160.sol\":{\"keccak256\":\"0x8a34e2beac108d74f89510c949983212b5f09307a93ee9e17a9d50e93f6bc8e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://828697f9567ce617c5c1c8f76b6bcd250e93aea2c4f3ee188be6dff8443c19e7\",\"dweb:/ipfs/QmafxeSPhUc9gGtNDLAw26oZooC5XNLhDMxHxYhJxL5Nwi\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212204745f3caf58f79233fef016916bd2f84bcdf145c192ee5965cadb182d1a529cb64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SELFBALANCE GASLIMIT RETURN 0xCA CREATE2 DUP16 PUSH26 0x233FEF016916BD2F84BCDF145C192EE5965CADB182D1A529CB64 PUSH20 0x6F6C634300081100330000000000000000000000 ", + "sourceMap": "58:396:30:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea26469706673582212204745f3caf58f79233fef016916bd2f84bcdf145c192ee5965cadb182d1a529cb64736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SELFBALANCE GASLIMIT RETURN 0xCA CREATE2 DUP16 PUSH26 0x233FEF016916BD2F84BCDF145C192EE5965CADB182D1A529CB64 PUSH20 0x6F6C634300081100330000000000000000000000 ", + "sourceMap": "58:396:30:-:0;;", + "linkReferences": {} + } + } + } + }, + "lib/permit2/src/libraries/SignatureVerification.sol": { + "SignatureVerification": { + "abi": [ + { + "type": "error", + "name": "InvalidContractSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignature", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignatureLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSigner", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidContractSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSigner\",\"type\":\"error\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"InvalidContractSignature()\":[{\"notice\":\"Thrown when the recovered contract signature is incorrect\"}],\"InvalidSignature()\":[{\"notice\":\"Thrown when the recovered signer is equal to the zero address\"}],\"InvalidSignatureLength()\":[{\"notice\":\"Thrown when the passed in signature is not a valid length\"}],\"InvalidSigner()\":[{\"notice\":\"Thrown when the recovered signer does not equal the claimedSigner\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/permit2/src/libraries/SignatureVerification.sol\":\"SignatureVerification\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122006eb8b770484977c5f9eb8aaacff3be7c4a34a74851b2b1692689da9c9cc154664736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MOD 0xEB DUP12 PUSH24 0x484977C5F9EB8AAACFF3BE7C4A34A74851B2B1692689DA9 0xC9 0xCC ISZERO CHAINID PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "112:1699:31:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea264697066735822122006eb8b770484977c5f9eb8aaacff3be7c4a34a74851b2b1692689da9c9cc154664736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MOD 0xEB DUP12 PUSH24 0x484977C5F9EB8AAACFF3BE7C4A34A74851B2B1692689DA9 0xC9 0xCC ISZERO CHAINID PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "112:1699:31:-:0;;", + "linkReferences": {} + } + } + } + }, + "lib/solmate/src/test/utils/mocks/MockERC20.sol": { + "MockERC20": { + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "_name", + "type": "string", + "internalType": "string" + }, + { + "name": "_symbol", + "type": "string", + "internalType": "string" + }, + { + "name": "_decimals", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"}],\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/test/utils/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/solmate/src/test/utils/mocks/MockERC20.sol\":{\"keccak256\":\"0x525129ccb4103c9ecb8f235618d2ff4a8ffde4b8654f7c17766ad175d10ef466\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://45692a21807ba815c0cf0bfc7d633a14a6cb9ba863ab53f18fc639375a72125e\",\"dweb:/ipfs/QmSrqxyodjDtSU1Dc6G3ScnNc9CFjMnAeHpK8a8guM3nJu\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "functionDebugData": { + "abi_decode_string_fromMemory": { + "entryPoint": 1125, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 1244, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 1089, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + } + }, + "object": "60e0604090808252346200043c57620012bf803803809162000022828562000441565b833981016060828203126200043c5781516001600160401b0393908481116200043c57826200005391850162000465565b92602092838201518681116200043c5783916200007291840162000465565b91015160ff811681036200043c578451948686116200042657600095806200009b8854620004dc565b92601f93848111620003d5575b5087908483116001146200036d57899262000361575b50508160011b916000199060031b1c19161786555b8251908782116200034d578190600194620000ef8654620004dc565b828111620002f8575b50879183116001146200029457889262000288575b5050600019600383901b1c191690831b1782555b6080524660a052815184549181866200013a85620004dc565b92838352878301958882821691826000146200026857505060011462000228575b506200016a9250038262000441565b519020928151928301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8552828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401524660808401523060a084015260a0835260c08301948386109086111762000214575083905251902060c052610da590816200051a82396080518161077e015260a05181610b97015260c05181610bbe0152f35b634e487b7160e01b81526041600452602490fd5b8791508880528189209089915b8583106200024f5750506200016a9350820101386200015b565b8054838801850152869450899390920191810162000235565b60ff191688526200016a95151560051b85010192503891506200015b9050565b0151905038806200010d565b8589528789208694509190601f1984168a5b8a828210620002e15750508411620002c7575b505050811b01825562000121565b015160001960f88460031b161c19169055388080620002b9565b8385015186558997909501949384019301620002a6565b909192508589528789208380860160051c8201928a871062000343575b91869589929594930160051c01915b82811062000334575050620000f8565b8b815586955088910162000324565b9250819262000315565b634e487b7160e01b87526041600452602487fd5b015190503880620000be565b898052888a209250601f1984168a5b8a828210620003be575050908460019594939210620003a4575b505050811b018655620000d3565b015160001960f88460031b161c1916905538808062000396565b60018596829396860151815501950193016200037c565b9091508880528789208480850160051c8201928a86106200041c575b9085949392910160051c01905b8181106200040d5750620000a8565b8a8155849350600101620003fe565b92508192620003f1565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200042657604052565b919080601f840112156200043c578251906001600160401b038211620004265760405191602091620004a1601f8301601f191684018562000441565b8184528282870101116200043c5760005b818110620004c857508260009394955001015290565b8581018301518482018401528201620004b2565b90600182811c921680156200050e575b6020831014620004f857565b634e487b7160e01b600052602260045260246000fd5b91607f1691620004ec56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c63430008110033", + "opcodes": "PUSH1 0xE0 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH3 0x43C JUMPI PUSH3 0x12BF DUP1 CODESIZE SUB DUP1 SWAP2 PUSH3 0x22 DUP3 DUP6 PUSH3 0x441 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD PUSH1 0x60 DUP3 DUP3 SUB SLT PUSH3 0x43C JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP4 SWAP1 DUP5 DUP2 GT PUSH3 0x43C JUMPI DUP3 PUSH3 0x53 SWAP2 DUP6 ADD PUSH3 0x465 JUMP JUMPDEST SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP3 ADD MLOAD DUP7 DUP2 GT PUSH3 0x43C JUMPI DUP4 SWAP2 PUSH3 0x72 SWAP2 DUP5 ADD PUSH3 0x465 JUMP JUMPDEST SWAP2 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x43C JUMPI DUP5 MLOAD SWAP5 DUP7 DUP7 GT PUSH3 0x426 JUMPI PUSH1 0x0 SWAP6 DUP1 PUSH3 0x9B DUP9 SLOAD PUSH3 0x4DC JUMP JUMPDEST SWAP3 PUSH1 0x1F SWAP4 DUP5 DUP2 GT PUSH3 0x3D5 JUMPI JUMPDEST POP DUP8 SWAP1 DUP5 DUP4 GT PUSH1 0x1 EQ PUSH3 0x36D JUMPI DUP10 SWAP3 PUSH3 0x361 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR DUP7 SSTORE JUMPDEST DUP3 MLOAD SWAP1 DUP8 DUP3 GT PUSH3 0x34D JUMPI DUP2 SWAP1 PUSH1 0x1 SWAP5 PUSH3 0xEF DUP7 SLOAD PUSH3 0x4DC JUMP JUMPDEST DUP3 DUP2 GT PUSH3 0x2F8 JUMPI JUMPDEST POP DUP8 SWAP2 DUP4 GT PUSH1 0x1 EQ PUSH3 0x294 JUMPI DUP9 SWAP3 PUSH3 0x288 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP4 SHL OR DUP3 SSTORE JUMPDEST PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE DUP2 MLOAD DUP5 SLOAD SWAP2 DUP2 DUP7 PUSH3 0x13A DUP6 PUSH3 0x4DC JUMP JUMPDEST SWAP3 DUP4 DUP4 MSTORE DUP8 DUP4 ADD SWAP6 DUP9 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH3 0x268 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0x228 JUMPI JUMPDEST POP PUSH3 0x16A SWAP3 POP SUB DUP3 PUSH3 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP2 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP6 MSTORE DUP3 DUP5 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP5 ADD MSTORE CHAINID PUSH1 0x80 DUP5 ADD MSTORE ADDRESS PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 MSTORE PUSH1 0xC0 DUP4 ADD SWAP5 DUP4 DUP7 LT SWAP1 DUP7 GT OR PUSH3 0x214 JUMPI POP DUP4 SWAP1 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0xC0 MSTORE PUSH2 0xDA5 SWAP1 DUP2 PUSH3 0x51A DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x77E ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xB97 ADD MSTORE PUSH1 0xC0 MLOAD DUP2 PUSH2 0xBBE ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP8 SWAP2 POP DUP9 DUP1 MSTORE DUP2 DUP10 KECCAK256 SWAP1 DUP10 SWAP2 JUMPDEST DUP6 DUP4 LT PUSH3 0x24F JUMPI POP POP PUSH3 0x16A SWAP4 POP DUP3 ADD ADD CODESIZE PUSH3 0x15B JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP10 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH3 0x235 JUMP JUMPDEST PUSH1 0xFF NOT AND DUP9 MSTORE PUSH3 0x16A SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH3 0x15B SWAP1 POP JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x10D JUMP JUMPDEST DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP7 SWAP5 POP SWAP2 SWAP1 PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x2E1 JUMPI POP POP DUP5 GT PUSH3 0x2C7 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP3 SSTORE PUSH3 0x121 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x2B9 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE DUP10 SWAP8 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH3 0x2A6 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 POP DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP4 DUP1 DUP7 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP8 LT PUSH3 0x343 JUMPI JUMPDEST SWAP2 DUP7 SWAP6 DUP10 SWAP3 SWAP6 SWAP5 SWAP4 ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x334 JUMPI POP POP PUSH3 0xF8 JUMP JUMPDEST DUP12 DUP2 SSTORE DUP7 SWAP6 POP DUP9 SWAP2 ADD PUSH3 0x324 JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x315 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xBE JUMP JUMPDEST DUP10 DUP1 MSTORE DUP9 DUP11 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x3BE JUMPI POP POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH3 0x3A4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP7 SSTORE PUSH3 0xD3 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x396 JUMP JUMPDEST PUSH1 0x1 DUP6 SWAP7 DUP3 SWAP4 SWAP7 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH3 0x37C JUMP JUMPDEST SWAP1 SWAP2 POP DUP9 DUP1 MSTORE DUP8 DUP10 KECCAK256 DUP5 DUP1 DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP7 LT PUSH3 0x41C JUMPI JUMPDEST SWAP1 DUP6 SWAP5 SWAP4 SWAP3 SWAP2 ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH3 0x40D JUMPI POP PUSH3 0xA8 JUMP JUMPDEST DUP11 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x3FE JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x3F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x426 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x43C JUMPI DUP3 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 SWAP2 PUSH3 0x4A1 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP5 ADD DUP6 PUSH3 0x441 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x43C JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x4C8 JUMPI POP DUP3 PUSH1 0x0 SWAP4 SWAP5 SWAP6 POP ADD ADD MSTORE SWAP1 JUMP JUMPDEST DUP6 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x4B2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x50E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F8 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4EC JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "118:368:32:-:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;118:368:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;118:368:32;;;;;;;;;;;;;;2142:20:33;;2192:13;2173:32;;118:368:32;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2116:16:33;;118:368:32;2116:16:33;;;118:368:32;;;;;;;;;;;;;;:::i;:::-;;5789:22:33;;118:368:32;;;5640:295:33;;;118:368:32;5672:95:33;118:368:32;;;;;;5833:14:33;118:368:32;;;;2192:13:33;2142:20;118:368:32;;;5912:4:33;2173:32;118:368:32;;;2173:32:33;5640:295;;118:368:32;;;;;;;;;;;;;;;;;;5613:336:33;;118:368:32;2215:51:33;118:368:32;;;;;;2142:20:33;118:368:32;;;;;2173:32:33;118:368:32;;;;;;;;;;;;;-1:-1:-1;;;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;;;;;-1:-1:-1;118:368:32;;-1:-1:-1;118:368:32;;-1:-1:-1;118:368:32;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;;;-1:-1:-1;118:368:32;;-1:-1:-1;;118:368:32;;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;;;-1:-1:-1;;;118:368:32;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;;-1:-1:-1;;;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;-1:-1:-1;118:368:32;;-1:-1:-1;118:368:32;;;;;;;-1:-1:-1;;118:368:32;;;;-1:-1:-1;;;;;118:368:32;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;118:368:32;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_address": { + "entryPoint": 2867, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_address_6623": { + "entryPoint": 2827, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_encode_string": { + "entryPoint": 2725, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_uint256": { + "entryPoint": 2902, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "extract_byte_array_length": { + "entryPoint": 2530, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 2613, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_DOMAIN_SEPARATOR": { + "entryPoint": 2962, + "id": 29850, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "object": "6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "118:368:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4057:15:33;4045:27;;118:368:32;;4428:18:33;;:::i;:::-;118:368:32;;;;;;;;;;;4873:6:33;118:368:32;;;;;;;;;;;;;;;;4511:449:33;;;;;118:368:32;4555:165:33;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;4511:449:33;;118:368:32;;;;;;;;;;;;;;;;;;;4472:514:33;;4350:658;;;118:368:32;;;;;;;;;;;;;4350:658:33;;118:368:32;;;;;;;;;;;;;;;;;4319:707:33;;118:368:32;;;;;;;;;;;;;;;;;;;4292:805:33;;;118:368:32;;;;;;;4292:805:33;;;;;;;118:368:32;5120:30:33;;;;:59;;;118:368:32;;;;;;5283:31:33;118:368:32;;;;;;;;;;;;;;;;;;;;;;;5283:31:33;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;5120:59:33;5154:25;;;;5120:59;;4292:805;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;:::i;:::-;;;;;2774:10:33;;118:368:32;;2764:9:33;118:368:32;;;;;2764:31:33;118:368:32;;;2764:31:33;:::i;:::-;118:368:32;;;;;;;2764:9:33;118:368:32;;;;;;;;;;;;;;2990:32:33;2774:10;;2990:32;;118:368:32;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;6768:34:33;118:368:32;;;:::i;:::-;;;;;;;;;;6553:9:33;118:368:32;;;;;6553:25:33;118:368:32;;;6553:25:33;:::i;:::-;118:368:32;;;6721:21:33;118:368:32;;6721:21:33;118:368:32;;;;;6768:34:33;118:368:32;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;1056:20:33;118:368:32;;;;;;:::i;:::-;;;;;;;;;1056:20:33;;;;118:368:32;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;;;:::i;:::-;;;;1751:41:33;118:368:32;;;;;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;;;:::i;:::-;;;;1337:44:33;118:368:32;;;;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;:::i;:::-;;;;6220:21:33;118:368:32;;;;;;;;;;;;;;6436:32:33;118:368:32;;;6220:21:33;118:368:32;;;;;;6387:9:33;118:368:32;;;;;;;;;;;;;;;6436:32:33;118:368:32;;;;;;;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;1083:31:33;118:368:32;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;:::i;:::-;3594:26:33;118:368:32;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3225:10:33;118:368:32;;;;;;;;3287:28:33;3298:17;3287:28;;3283:80;;118:368:32;;;;;;;3374:9:33;118:368:32;;;;;3374:25:33;118:368:32;;;3374:25:33;:::i;:::-;118:368:32;;;;;;;3374:9:33;118:368:32;;;;;;;;;;;;;;3594:26:33;118:368:32;;;;;3283:80:33;3347:16;;;:::i;:::-;118:368:32;;;;;;;;;3225:10:33;118:368:32;;;;;;;;3283:80:33;;;;;118:368:32;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;1304:26:33;118:368:32;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;:::i;:::-;;;;;2561:10:33;;;;118:368:32;;;;;;;;;;;;;;;;;;;;;;;2606:37:33;2561:10;;2606:37;;118:368:32;;;;;;;;;;;;;-1:-1:-1;;118:368:32;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;5327:177:33;-1:-1:-1;5410:13:33;5427:16;5410:33;5427:16;;5446:24;;5327:177;:::o;5410:87::-;118:368:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5789:22:33;;118:368:32;;;5640:295:33;;;118:368:32;5672:95:33;118:368:32;;;;;;5833:14:33;118:368:32;;;;5410:13:33;118:368:32;;;;5912:4:33;118:368:32;;;;;5640:295:33;;118:368:32;;;;;;;;;;;;;;;;;5613:336:33;;5327:177;:::o;118:368:32:-;;;;;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;118:368:32;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;118:368:32;;-1:-1:-1;118:368:32;;-1:-1:-1;118:368:32", + "linkReferences": {}, + "immutableReferences": { + "29574": [ + { + "start": 1918, + "length": 32 + } + ], + "29588": [ + { + "start": 2967, + "length": 32 + } + ], + "29590": [ + { + "start": 3006, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(address,uint256)": "9dc29fac", + "decimals()": "313ce567", + "mint(address,uint256)": "40c10f19", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + } + } + }, + "lib/solmate/src/tokens/ERC20.sol": { + "ERC20": { + "abi": [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"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\":[{\"internalType\":\"address\",\"name\":\"\",\"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\"}],\"devdoc\":{\"author\":\"Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\",\"details\":\"Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Modern and gas efficient ERC20 + EIP-2612 implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/tokens/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + } + } + }, + "lib/solmate/src/utils/ReentrancyGuard.sol": { + "ReentrancyGuard": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/ReentrancyGuard.sol)Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol)\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Gas optimized reentrancy protection for smart contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/utils/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/solmate/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb282dd78aa7375d6b200b9a5d8dd214b2e5df1004f8217a4b4c2b07f0c5bfd01\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5fca62eb8d3dbd2b3b7e4bb051f6da16f4d0ff9cee61c39cebb80f031f6a8800\",\"dweb:/ipfs/QmbrsXPK91iBFwHKwJs2HLRud2KzMoBDRiWYMUtyV5H57j\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + } + } + } + }, + "lib/solmate/src/utils/SafeTransferLib.sol": { + "SafeTransferLib": { + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)\",\"details\":\"Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer.Note that none of the functions in this library check that a token has code at all! That responsibility is delegated to the caller.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Safe ETH and ERC20 transfer library that gracefully handles missing return values.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/utils/SafeTransferLib.sol\":\"SafeTransferLib\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212209ecd79760bef49558c03c895e32a85e32f89631715e7c0e56a1a5ff16ed4115764736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 0xCD PUSH26 0x760BEF49558C03C895E32A85E32F89631715E7C0E56A1A5FF16E 0xD4 GT JUMPI PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "586:5368:35:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "600080fdfea26469706673582212209ecd79760bef49558c03c895e32a85e32f89631715e7c0e56a1a5ff16ed4115764736f6c63430008110033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 0xCD PUSH26 0x760BEF49558C03C895E32A85E32F89631715E7C0E56A1A5FF16E 0xD4 GT JUMPI PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "586:5368:35:-:0;;", + "linkReferences": {} + } + } + } + }, + "script/DeploymentUtils.sol": { + "DeploymentUtils": { + "abi": [ + { + "type": "function", + "name": "IS_SCRIPT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/DeploymentUtils.sol\":\"DeploymentUtils\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xd566affaba92598bcd059dcb3714a968aeedb365ec0d666815e8b38519e0f433\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2fb5f7a97d2a7a06e10c198b60f05e64176eb4ef306b72800c168e7a7ec51693\",\"dweb:/ipfs/Qmcep4r7YEU3BwFJNTTxZsdCVzBYdtcVp8oDtmwLoZGRzP\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"script/DeploymentUtils.sol\":{\"keccak256\":\"0xf878d82dd8dabb0073fa8cc4156ac085d405bbae267884025908f303a89925fd\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e2fccdff99c068e388f1cfe01df1f96de274f6183a730f54da400111f95fa075\",\"dweb:/ipfs/QmRu1GBbqf4ieicQNL98dtAwAVs435gfCdcWJMcRsYEzPL\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234602157600160ff19600c541617600c55609d90816100278239f35b600080fdfe6080806040526004361015601257600080fd5b600090813560e01c63f8ccbf4714602857600080fd5b34606357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260635760209060ff600c541615158152f35b5080fdfea26469706673582212205c20c82d62fe9d4712aa60b84447cf95d7e54990bd767a4f5ffb3a7e77c9be6464736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x21 JUMPI PUSH1 0x1 PUSH1 0xFF NOT PUSH1 0xC SLOAD AND OR PUSH1 0xC SSTORE PUSH1 0x9D SWAP1 DUP2 PUSH2 0x27 DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xF8CCBF47 EQ PUSH1 0x28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH1 0x63 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH1 0x63 JUMPI PUSH1 0x20 SWAP1 PUSH1 0xFF PUSH1 0xC SLOAD AND ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C KECCAK256 0xC8 0x2D PUSH3 0xFE9D47 SLT 0xAA PUSH1 0xB8 DIFFICULTY SELFBALANCE 0xCF SWAP6 0xD7 0xE5 0x49 SWAP1 0xBD PUSH23 0x7A4F5FFB3A7E77C9BE6464736F6C634300081100330000 ", + "sourceMap": "187:2218:36:-:0;;;;;;;782:4:2;187:2218:36;;782:4:2;187:2218:36;;;782:4:2;187:2218:36;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "6080806040526004361015601257600080fd5b600090813560e01c63f8ccbf4714602857600080fd5b34606357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260635760209060ff600c541615158152f35b5080fdfea26469706673582212205c20c82d62fe9d4712aa60b84447cf95d7e54990bd767a4f5ffb3a7e77c9be6464736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xF8CCBF47 EQ PUSH1 0x28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH1 0x63 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH1 0x63 JUMPI PUSH1 0x20 SWAP1 PUSH1 0xFF PUSH1 0xC SLOAD AND ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C KECCAK256 0xC8 0x2D PUSH3 0xFE9D47 SLT 0xAA PUSH1 0xB8 DIFFICULTY SELFBALANCE 0xCF SWAP6 0xD7 0xE5 0x49 SWAP1 0xBD PUSH23 0x7A4F5FFB3A7E77C9BE6464736F6C634300081100330000 ", + "sourceMap": "187:2218:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:28:2;187:2218:36;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_SCRIPT()": "f8ccbf47" + } + } + } + }, + "script/deploy.sol": { + "DeployStack": { + "abi": [ + { + "type": "function", + "name": "IS_SCRIPT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "run", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/deploy.sol\":\"DeployStack\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xd566affaba92598bcd059dcb3714a968aeedb365ec0d666815e8b38519e0f433\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2fb5f7a97d2a7a06e10c198b60f05e64176eb4ef306b72800c168e7a7ec51693\",\"dweb:/ipfs/Qmcep4r7YEU3BwFJNTTxZsdCVzBYdtcVp8oDtmwLoZGRzP\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/permit2/src/AllowanceTransfer.sol\":{\"keccak256\":\"0x83a47e7841f9d285eb7f0fd977fedb808640714cb9822a104bab99fe5cbb58ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f0de543f076f8556690f236dc431277acf9c91c04916a46040194b03ea9836\",\"dweb:/ipfs/QmQ5YLFHexR2WTNXDGu4y6WjRmLPzrdH92j7NDQzT8Jevp\"]},\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/Permit2.sol\":{\"keccak256\":\"0x934c0eb24a52eb5900f01f5c328374b670366adf995ba9ed49bcd3d7b87b159e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdfd05b3007726dc6dd2822c1dd9dc1b2471fbec507f30efa71a1a214c98bab6\",\"dweb:/ipfs/QmPq4hptCSUACQdynSa86bdEexE7RryzosrhUAZ9Xkqc5a\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/SignatureTransfer.sol\":{\"keccak256\":\"0xa821caa24d6231fa8befe24a34bfda2c3b05b56e67fb913c86b26a19b19b6bbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://584994a77e33aa2fe804b803ab302cb811ee945632b76f68d78db761b18a24a2\",\"dweb:/ipfs/QmVd67VRKX24tSaREBNwhzVfU6xxqRLNEoPY6CYgG3xU5W\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IDAIPermit.sol\":{\"keccak256\":\"0x089a4157ad58d4568cb7084836f9ee0280c01616b0cd15158d6deb93be754e8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8af89edc0f453dff61e4b67bc3188f090ba0e858f5f13723e526a8cb8a165535\",\"dweb:/ipfs/QmRVFHVFZg7fWhYdWdDD3JZHiWREHz5JiLEyDq7NYhQDfn\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]},\"lib/permit2/src/libraries/Permit2Lib.sol\":{\"keccak256\":\"0x202bc12462394f8a4cddc870344f4ac4b6d5d3f2eb5b4a2f4a5ba517dc484be4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5d82584a5fa2f0d8136d418c2a04974d157316713306dfa7b1d6fa865eb5d04\",\"dweb:/ipfs/QmSjpeNJDpvgAqGbVSG1wrFLzEac2dtmzRcR8PkdCMBbHF\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SafeCast160.sol\":{\"keccak256\":\"0x8a34e2beac108d74f89510c949983212b5f09307a93ee9e17a9d50e93f6bc8e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://828697f9567ce617c5c1c8f76b6bcd250e93aea2c4f3ee188be6dff8443c19e7\",\"dweb:/ipfs/QmafxeSPhUc9gGtNDLAw26oZooC5XNLhDMxHxYhJxL5Nwi\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/test/utils/mocks/MockERC20.sol\":{\"keccak256\":\"0x525129ccb4103c9ecb8f235618d2ff4a8ffde4b8654f7c17766ad175d10ef466\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://45692a21807ba815c0cf0bfc7d633a14a6cb9ba863ab53f18fc639375a72125e\",\"dweb:/ipfs/QmSrqxyodjDtSU1Dc6G3ScnNc9CFjMnAeHpK8a8guM3nJu\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb282dd78aa7375d6b200b9a5d8dd214b2e5df1004f8217a4b4c2b07f0c5bfd01\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5fca62eb8d3dbd2b3b7e4bb051f6da16f4d0ff9cee61c39cebb80f031f6a8800\",\"dweb:/ipfs/QmbrsXPK91iBFwHKwJs2HLRud2KzMoBDRiWYMUtyV5H57j\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]},\"script/DeploymentUtils.sol\":{\"keccak256\":\"0xf878d82dd8dabb0073fa8cc4156ac085d405bbae267884025908f303a89925fd\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e2fccdff99c068e388f1cfe01df1f96de274f6183a730f54da400111f95fa075\",\"dweb:/ipfs/QmRu1GBbqf4ieicQNL98dtAwAVs435gfCdcWJMcRsYEzPL\"]},\"script/deploy.sol\":{\"keccak256\":\"0x976555a0bd57b6824e1d65a0c51c66e3a746aa5d1ba797892919358c96800736\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://671a5b426ec9fb931e3f66cb297b79811673d9e3e589d8ef89017af31dc36bae\",\"dweb:/ipfs/QmYhVLADCkq5Yx8uSp7WRLAz84sLS6Jkoqaog4j7WAArh6\"]},\"src/Arbitrator.sol\":{\"keccak256\":\"0x54c2e29b4148ab2fb480e0fa2141f9e72289369a2cbbfb27518884be7b77094a\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6d470ecf768970634ae3f5e06a5582b44ac3b85e81eebeb63c7eb8f3db40a589\",\"dweb:/ipfs/Qma5aujWmZQsbrcehNdxRT9RyKuT7AHZDXQVwpUDmzyZ3o\"]},\"src/frameworks/AgreementFramework.sol\":{\"keccak256\":\"0x355d1e71990885d00cd752ab4772fc2ea7dcd6768de528c050f5ae01fb6c60bb\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dd60df522d691c3fc3c64db14a2c1cda0800852f97b8aeefde215ac74c2d6f99\",\"dweb:/ipfs/QmVDvovuBsNXFiJf25bUfxneK9fCnEPeVBJJm6PTyKpX3x\"]},\"src/frameworks/CollateralAgreement.sol\":{\"keccak256\":\"0xb209fdbf1c477a58513ea78d8fdeec31c70b95dda8cd40ad9807a3001b413fc1\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://fb9512ef4888f93fe767c0b8ab4c2aee2c5a828d891b4bb8c93cc788ae7ce4d3\",\"dweb:/ipfs/QmVxgyX4k8tWDDJxSRUGSLML4qZb1jNGRwfjEZ2us5DzCf\"]},\"src/interfaces/AgreementErrors.sol\":{\"keccak256\":\"0x4ec369a2068a36746fa978eb2bb2c994bce97310e9d5055bbfb52871c53dc310\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://35b76fff66b9ff0f1bba9e8992453b1f5cd5c7f291088e6359b580855adb4c3b\",\"dweb:/ipfs/QmRK1A1ECFDAfj6cEkggtbcHMer4pHkjao19Mjzq3NtZmS\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/ArbitrationErrors.sol\":{\"keccak256\":\"0x7ca6d9811f431eadd59e7544f6a5720564a678a3e2cfecd8e5454391f21a62f0\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://58793fc93f2d03eefaeb008a28dfedebe9059763b96c80ec31365ad8cf72fafd\",\"dweb:/ipfs/QmQvVUxPsg4JhSvT3QxKysgsiVBvuzBtFaAQMTuyeuxDWL\"]},\"src/interfaces/ArbitrationTypes.sol\":{\"keccak256\":\"0x07b042f3176966f9c0ffc47a07ac584c3a2de1c2e02180203a02458e3bee9563\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e7be1461e3ed7e2cc9bf3d0c694f3f3d1fb7ac761b6e3f06e36c86f151fe831c\",\"dweb:/ipfs/QmYvDYS7s92CxikdCZPbGPDK96uT5B28uDbYVEbNsFqb6p\"]},\"src/interfaces/CriteriaTypes.sol\":{\"keccak256\":\"0x8c8226c5aac09c8dada8f76dcb15bd55cd8bd871b22a4be3bc6b72db655b6306\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://eabc3ee411827a1060d1d16df120df7c8dcccce5d22625a259cb17aaaad9de32\",\"dweb:/ipfs/QmTLYMEJPjqbL5CPqLyM2UWyroVQzgPf2Wq4iPRAL4qu38\"]},\"src/interfaces/IAgreementFramework.sol\":{\"keccak256\":\"0x1e266838be99cead7ef79276f7183f9937e000a52b0222adde898f4594953608\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d893f37bf07db1f839da8bcdf30cf96c15a63bd7b29a53e2e1bb4e5fff219bb\",\"dweb:/ipfs/QmdvtHe3qCr8Cxw2jtMQFqgRwFoWD2E83thPMHSvKVgVcR\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]},\"src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0xbb88837c5e5a3dc5e37fb51a7f2a80ca1352fdd5de6234a60953cc01593d675e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c17fb922c53dcadcf751b3cbc1a50257e233aea15b1e3dd2c315b6cfa6836e54\",\"dweb:/ipfs/QmVBcv97Ad31wSw7S5o2yPQZsfJA5RJgRgFfH27PKVNTMw\"]},\"src/libraries/CriteriaResolution.sol\":{\"keccak256\":\"0xfec26b90f532c2fd64c07fb412bc62fcc6c048de33420b2d8729ae16f3290e0f\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://cbdbb33662075f9f4d38a93caba94b7ba0a1b771991ea35c196eca02d87a06e4\",\"dweb:/ipfs/QmSh8xieHporNXoB2zE6k8Hmf5CdaBnhemm3FqRDb3VAv7\"]},\"src/utils/Controlled.sol\":{\"keccak256\":\"0xcdd11a4bf16a63957ead6710218f33dc14340ccc2c90661d3a4cc3e5c8d45648\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://2e8daa3655b1f41679c9dea444e346b10057f15490fe72018c692c054a12a8da\",\"dweb:/ipfs/QmRA45JeMpSqD1peFWAGJos1MSfmvsAxaQpawMu9DN9wPx\"]},\"src/utils/Owned.sol\":{\"keccak256\":\"0x7734d8c9fefc0abb51af8a97bdd7e8a22418ae5e597a63c3ca7c9b1cbce0a23c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dcba4eaeadcabc6b2e330c290626c7fe8b93b0476b08114445f6520ff3ced50e\",\"dweb:/ipfs/QmRedpupiw3iQWCDEfG5yhmVytdQH1H59mqiVXcitzJPaF\"]},\"src/utils/Toggleable.sol\":{\"keccak256\":\"0x9b23cc19eab64386ea018e3c9475f5ba8e3a70b36f62066168f0f4a8281c33ce\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://020f36f1f22d843e262ec05e67d6876b1d24e641e198be5b8b499436e7645805\",\"dweb:/ipfs/QmQeRvQ5oG2vdyrcMYex8wMMSR4mVCE4CEbJR22xvn2rE6\"]},\"src/utils/interfaces/Deposits.sol\":{\"keccak256\":\"0x99d44ec7b071732a9dafb0eef9233ab49bd38b89585d31c97cfef2c7aeacdb86\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e6106a5fdf64814cd0b982a907e077083766bf3f2873da79255dda68fec0345a\",\"dweb:/ipfs/QmdV8iNdsphhVYoKD7uneA75AKvw5J9joFcPsuKAdbZ8LD\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "6080806040523461003357600160ff19600c541617600c5560006012556000601355613cf060145561767b90816100398239f35b600080fdfe608060408181526004803610156200001657600080fd5b600092833560e01c918263c0406226146200008357505063f8ccbf47146200003d57600080fd5b346200007f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200007f5760209060ff600c541690519015158152f35b5080fd5b8492503462000d1b57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000d1b5762000118936010928354620000cb8262000d80565b600a82526020917f41524249545241544f52000000000000000000000000000000000000000000008382015273ffffffffffffffffffffffffffffffffffffffff97889182841662001016565b167fffffffffffffffffffffffff00000000000000000000000000000000000000008092161785556011549087620001888551620001568162000d80565b601181527f4152424954524154494f4e5f544f4b454e0000000000000000000000000000008682015282851662001016565b16911617601155620001d3601254835190620001a48262000d80565b600c82527f444953505554455f434f535400000000000000000000000000000000000000008483015262000f66565b6012556200021a601354835190620001eb8262000d80565b600b82527f41505045414c5f434f53540000000000000000000000000000000000000000008483015262000f66565b60135562000261601454835190620002328262000d80565b601682527f5245534f4c5554494f4e5f4c4f434b5f504552494f44000000000000000000008483015262000f66565b601455737109709ecfa91a80626ff3989d68f67f5b1dd12d93843b15620009745782517f7fb5297f00000000000000000000000000000000000000000000000000000000815286818681838a5af1801562000d115762000cfb575b5060115487168062000cf4575082516112bf8082019082821067ffffffffffffffff83111762000cc85760e091839162001b79833960608152600b60608201527f436f75727420546f6b656e000000000000000000000000000000000000000000608082015260a086820152600260a08201527f435400000000000000000000000000000000000000000000000000000000000060c082015260128782015203019087f0801562000cbe578716803b1562000bd85783517f40c10f190000000000000000000000000000000000000000000000000000000081523286820152681105a0185b50a800006024820152878160448183865af1801562000bdc5790889162000ca6575b5050905b62000409845192620003d98462000d80565b8284527f4172626974726174696f6e546f6b656e0000000000000000000000000000000093848682015262001902565b8780825416801560001462000c89575060308551848152600e8482015220541684516117a28082019082821067ffffffffffffffff83111762000c5d57916200047581926103149462002e3884396e22d473030f116ddee9f6b43ac78ba3815232602082015260400190565b03908af5801562000bdc5789169060145490601354875191620004988362000d63565b8252868201523287820152823b1562000c595762000518908751927f410fa8e6000000000000000000000000000000000000000000000000000000008452898401526001602484015260448301906040908173ffffffffffffffffffffffffffffffffffffffff9182815116855260208101516020860152015116910152565b888160a48183865af1801562000c02578a949392918a9162000c38575b50506030929162000552600e926200054c620018c7565b62001902565b86519283528201522054169286602a84517f41726269747261746f72000000000000000000000000000000000000000000008152600e600a8201522054169683519761306c9889810167ffffffffffffffff9a8282108c83111762000c0c5791620005e0819261031494620045da84396e22d473030f116ddee9f6b43ac78ba3815232602082015260400190565b03908af5801562000bdc57821690601254865197620005ff8962000d63565b8852858801523286880152813b1562000982578551907faf0f9df30000000000000000000000000000000000000000000000000000000082528482015262000679602497888301906040908173ffffffffffffffffffffffffffffffffffffffff9182815116855260208101516020860152015116910152565b888160848183865af1801562000c025790899162000be6575b5050620006d5908551620006a68162000d80565b601c81527f436f6c6c61746572616c41677265656d656e744672616d65776f726b000000008682015262001902565b853b1562000bd85783517f76eadd3600000000000000000000000000000000000000000000000000000000815287818481838b5af1801562000bdc5790889162000bc0575b5050600d549085885b838110620009b357505050506200073962001495565b96835191838301918383109083111762000986578798828699989952878452620007b78651620007b17f6465706c6f796d656e74732f000000000000000000000000000000000000000096878984015251958287620007a0602c998a948585019062000efc565b810103600c81018452018262000d9d565b620011e4565b620007c1620010dd565b98620007f5848851809c888a830152620007e4815180928c868601910162000efc565b810103600c81018d52018b62000d9d565b803b156200098257620008399989809489519c8d95869485937f897e0a97000000000000000000000000000000000000000000000000000000008552840162001118565b03925af19687156200097857869762000954575b5062000940929162000885620009139262000867620010dd565b92875193849187830152620007a08151809289868601910162000efc565b845194620008938662000d63565b602186527f53746f726564206465706c6f796d656e74206d616e6966657374206174202573848701527f2e0000000000000000000000000000000000000000000000000000000000000081870152519485938401967f4b5c4277000000000000000000000000000000000000000000000000000000008852840162001118565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262000d9d565b51906a636f6e736f6c652e6c6f675afa5080f35b620009659096919693929362000d1f565b6200097457908594886200084d565b8580fd5b84513d88823e3d90fd5b8880fd5b604186917f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b8986620009c08362000e3c565b50620009cc8462000e3c565b508660018092015416918b805191620009e58362000d80565b60058084527f25733d2573000000000000000000000000000000000000000000000000000000878501528251948892805462000a218162000ea6565b8089529381841691821562000b7957505060011462000b20575b5050509362000ace8462000a9d62000b01958a999562000a6560609962000b189f9b038562000d9d565b519788968701997f95ed0195000000000000000000000000000000000000000000000000000000008b52870152608486019062000f21565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc85830301604486015262000f21565b906064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262000d9d565b51906a636f6e736f6c652e6c6f675afa5062000ddf565b869062000723565b8952878920979a978993505b82841062000b4d575096999650508301850162000ace8462000a9d62000a3b565b9195985093965083919598999250805483878a0101520193018f9592908d918f96938e9a999662000b2c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168b8a015293151590931b87018901935062000ace925086915062000a9d905062000a3b565b62000bcb9062000d1f565b62000bd85786896200071a565b8680fd5b85513d8a823e3d90fd5b62000bf19062000d1f565b62000bfe57878a62000692565b8780fd5b86513d8b823e3d90fd5b60248b6041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b62000c4891929394955062000d1f565b62000bfe5790889291888b62000535565b8980fd5b60248b60418b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60309262000ca0600e926200054c969496620018c7565b62000552565b62000cb19062000d1f565b62000bd8578689620003c3565b83513d88823e3d90fd5b6024896041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b90620003c7565b62000d099096919662000d1f565b9487620002bc565b84513d89823e3d90fd5b8280fd5b67ffffffffffffffff811162000d3457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff82111762000d3457604052565b6040810190811067ffffffffffffffff82111762000d3457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111762000d3457604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811462000e0d5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600d5481101562000e7757600d60005260011b7fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600182811c9216801562000ef1575b602083101462000ec257565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f169162000eb6565b60005b83811062000f105750506000910152565b818101518382015260200162000eff565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000f5f8151809281875287808801910162000efc565b0116010190565b602062000faa919392604051809381927fc1978d1f000000000000000000000000000000000000000000000000000000008352846004840152602483019062000f21565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa6000918162000fda575b5062000fd65750565b9150565b90916020823d82116200100d575b8162000ff76020938362000d9d565b810103126200100a575051903862000fcd565b80fd5b3d915062000fe8565b60206200105a919392604051809381927f350d56bf000000000000000000000000000000000000000000000000000000008352846004840152602483019062000f21565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa809160009162001088575b509062000fd65750565b6020813d8211620010d4575b81620010a36020938362000d9d565b810103126200007f57519073ffffffffffffffffffffffffffffffffffffffff821682036200100a5750386200107e565b3d915062001094565b60405190620010ec8262000d80565b600b82527f6c61746573742e6a736f6e0000000000000000000000000000000000000000006020830152565b909162001132620011419360408452604084019062000f21565b91602081840391015262000f21565b90565b80511562000e775760200190565b80516001101562000e775760400190565b80516002101562000e775760600190565b9092919267ffffffffffffffff811162000d345760405191620011c060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f850116018462000d9d565b829482845282820111620011df576020620011dd93019062000efc565b565b600080fd5b60409081519281519060ff6020958681818701956200120581838962000efc565b8101600f81520301902054166200148e57835191608083019367ffffffffffffffff948481108682111762000d345786526003845260005b606080821015620012565785820189015287016200123d565b50509195939490929481516200126c8162000d80565b600581527f6d6b64697200000000000000000000000000000000000000000000000000000086820152620012a08762001144565b52620012ac8662001144565b508151620012ba8162000d80565b600281527f2d7000000000000000000000000000000000000000000000000000000000000086820152620012ee8762001152565b52620012fa8662001152565b5082620013078762001163565b52620013138662001163565b508151957f891604670000000000000000000000000000000000000000000000000000000087528660248101876004830152825180915260448201908860448260051b8501019401916000905b8a8383106200144357505050505080600092038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200143857620013e5575b50620013b094505193849283925192839162000efc565b8101600f81520301902060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b3d806000883e620013f7818862000d9d565b8601958581880312620011df578051918211620011df570185601f82011215620011df57620013b0958186620014309351910162001174565b503862001399565b82513d6000823e3d90fd5b6200147e877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc83949698600196989a03018652885162000f21565b9601920192018a93919262001360565b9350505050565b600d54908115620018a05760408051906020937f7b0a000000000000000000000000000000000000000000000000000000000000858401526002908184528284019367ffffffffffffffff948181108682111762000d345784529360009291905b8184106200155a575050505062001141917f7d00000000000000000000000000000000000000000000000000000000000000939460219251948262001545879451809285808801910162000efc565b83019182015203600181018452018262000d9d565b90919294620015698662000e3c565b50620015758762000e3c565b509073ffffffffffffffffffffffffffffffffffffffff60018093015416918751907f56ca623e0000000000000000000000000000000000000000000000000000000082526004938483015260246000838281737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa92831562001895578d9060009462001841575b5050818b0190818c116200181557508c9291908803620017d8578951620016198162000d80565b8981527f220a00000000000000000000000000000000000000000000000000000000000084820152935b8a51966200165a8151809287808c01910162000efc565b87017f202200000000000000000000000000000000000000000000000000000000000085820152600092825492620016928462000ea6565b9382811690811562001789575060011462001747575b5050505092859492620017086200173e9793867f223a202200000000000000000000000000000000000000000000000000000000620017379852620016f682518093868a8501910162000efc565b01918351938491878501910162000efc565b01037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe481018452018262000d9d565b9562000ddf565b929190620014f6565b600090815286812093945091925b84831062001774575050500160220182620017088362001737620016a8565b80548484016022015291860191810162001755565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016602280860191909152851515909502909301909301935085925062001708915084905062001737620016a8565b8951620017e58162000d80565b600381527f222c0a0000000000000000000000000000000000000000000000000000000000848201529362001643565b6011867f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b939091933d8083833e62001856818362000d9d565b810192818403126200007f5780519089821162000d1b57019082601f830112156200100a575080516200188c92918f0162001174565b918c38620015f2565b8a513d6000823e3d90fd5b90506040516020810181811067ffffffffffffffff82111762000d34576040526000815290565b60405190620018d68262000d80565b600a82527f41726269747261746f72000000000000000000000000000000000000000000006020830152565b9190604051604081019367ffffffffffffffff948281108682111762000d34576040528082526020908183019373ffffffffffffffffffffffffffffffffffffffff80911693848652600d54906801000000000000000082101562000d345762001974600192838101600d5562000e3c565b91909162001b49575198895190811162000d345762001994825462000ea6565b601f811162001afb575b5085601f821160011462001a5157819062001a3298999a9b60009262001a45575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82851b9260031b1c19161781555b01955116947fffffffffffffffffffffffff00000000000000000000000000000000000000009586825416179055816040519382858094519384920162000efc565b8101600e81520301902091825416179055565b015190503880620019bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082169a83600052876000209b60005b81811062001ae557509162001a32999a9b9c91848795941062001aad575b505050811b018155620019f0565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c1916905538808062001a9f565b838301518e559c86019c92890192890162001a81565b6000838152878120601f840160051c81019289851062001b3e575b601f0160051c019185905b83811062001b32575050506200199e565b82815501859062001b21565b909250829062001b16565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fdfe60e0604090808252346200043c57620012bf803803809162000022828562000441565b833981016060828203126200043c5781516001600160401b0393908481116200043c57826200005391850162000465565b92602092838201518681116200043c5783916200007291840162000465565b91015160ff811681036200043c578451948686116200042657600095806200009b8854620004dc565b92601f93848111620003d5575b5087908483116001146200036d57899262000361575b50508160011b916000199060031b1c19161786555b8251908782116200034d578190600194620000ef8654620004dc565b828111620002f8575b50879183116001146200029457889262000288575b5050600019600383901b1c191690831b1782555b6080524660a052815184549181866200013a85620004dc565b92838352878301958882821691826000146200026857505060011462000228575b506200016a9250038262000441565b519020928151928301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8552828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401524660808401523060a084015260a0835260c08301948386109086111762000214575083905251902060c052610da590816200051a82396080518161077e015260a05181610b97015260c05181610bbe0152f35b634e487b7160e01b81526041600452602490fd5b8791508880528189209089915b8583106200024f5750506200016a9350820101386200015b565b8054838801850152869450899390920191810162000235565b60ff191688526200016a95151560051b85010192503891506200015b9050565b0151905038806200010d565b8589528789208694509190601f1984168a5b8a828210620002e15750508411620002c7575b505050811b01825562000121565b015160001960f88460031b161c19169055388080620002b9565b8385015186558997909501949384019301620002a6565b909192508589528789208380860160051c8201928a871062000343575b91869589929594930160051c01915b82811062000334575050620000f8565b8b815586955088910162000324565b9250819262000315565b634e487b7160e01b87526041600452602487fd5b015190503880620000be565b898052888a209250601f1984168a5b8a828210620003be575050908460019594939210620003a4575b505050811b018655620000d3565b015160001960f88460031b161c1916905538808062000396565b60018596829396860151815501950193016200037c565b9091508880528789208480850160051c8201928a86106200041c575b9085949392910160051c01905b8181106200040d5750620000a8565b8a8155849350600101620003fe565b92508192620003f1565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200042657604052565b919080601f840112156200043c578251906001600160401b038211620004265760405191602091620004a1601f8301601f191684018562000441565b8184528282870101116200043c5760005b818110620004c857508260009394955001015290565b8581018301518482018401528201620004b2565b90600182811c921680156200050e575b6020831014620004f857565b634e487b7160e01b600052602260045260246000fd5b91607f1691620004ec56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c6343000811003360a0346100ed57601f6117a238819003918201601f19168301916001600160401b038311848410176100f25780849260409485528339810103126100ed5780516001600160a01b039182821682036100ed57602001519182168092036100ed57600080546001600160a01b031990811684178255604051939190829081337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a360015416176001557fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f2339180a36080526116999081610109823960805181818161093501526110980152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b600090813560e01c90816302fd597d146110bc5750806312261ee71461106b578063238dafe0146110455780632f7f204e14610d42578063323a5e0b14610cf9578063328d8f7214610c925780633fd8b02f14610c74578063410fa8e614610b6a57806341bcf4dc1461060d5780638da5cb5b146105da578063e44cb37b1461046e578063e8ea054b146103e1578063ec67b8c8146101b2578063f2fde38b146100fc5763f77c4791146100c657600080fd5b346100f957806003193601126100f957602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b80fd5b50346100f95760206003193601126100f957610116611454565b815473ffffffffffffffffffffffffffffffffffffffff8082163303610188577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b50346100f9576020806003193601126103dd578160606040516101d481611551565b8281528284820152816040820152015260043582526006815260408220604051926101fe84611551565b60ff82541660058110156103b057845260018083015492848601938452600281016040519283918591815491610233836115ae565b928386528a838216918260001461036c57505060011461032f575b5050506003929161026091038461156d565b60408701928352015492606086019384526040519585875251600581101561030257858701525160408601525160806060860152805160a086018190529385939291825b8681106102eb57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f9260c080978701015251608085015201168101030190f35b81810183015188820160c0015287955082016102a4565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8752888720899350879291905b8284106103545750505082010181610260600361024e565b80548489018601528795508a9490930192810161033c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061026091506003905061024e565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b5080fd5b50346100f95760206003193601126100f9576103fb611454565b73ffffffffffffffffffffffffffffffffffffffff908183541633036101885716807fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155337fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f28380a380f35b50346100f95760406003193601126100f95760043560243573ffffffffffffffffffffffffffffffffffffffff8354163303610188578183526006602052604083209081549060ff821660058110156105ad57801561058357600414610559578060018401540361052f577fb6dc686a67a9620536a83f729428ef64a3e6529407d6b5e0df3426fe6b01a2609260037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060209416179055604051908152a280f35b60046040517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b60046040517f28b8b078000000000000000000000000000000000000000000000000000000008152fd5b60046040517faffbf64b000000000000000000000000000000000000000000000000000000008152fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346100f957806003193601126100f95773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346100f95760e06003193601126100f95767ffffffffffffffff906024358281116103dd576106419036906004016114a5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc36019360808512610b6657604080519561067b87611519565b12610b665760405161068c81611535565b60443573ffffffffffffffffffffffffffffffffffffffff8116810361088557815260643560208201528552608435602086015260a435604086015260c435908111610b66576106e0903690600401611477565b949060043585526006602052604085209586549160ff83166005811015610b39578015610583576004811461055957600314610b0f5760405161072281611519565b73ffffffffffffffffffffffffffffffffffffffff60025416808252600354602083015273ffffffffffffffffffffffffffffffffffffffff60045416604083015273ffffffffffffffffffffffffffffffffffffffff8651511603610ae5576040516020810190602082526107cc816107a0604082018b8d611601565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261156d565b519020948560018b01540361052f578899895b8b1580610adc575b156108b7578881101561088a578060061b8a013573ffffffffffffffffffffffffffffffffffffffff811680910361088557331461087c575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461084f576001016107df565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60019b50610820565b600080fd5b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b508997508a15610ab25760027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00899716179055602073ffffffffffffffffffffffffffffffffffffffff6040840151169201516040519261091784611535565b8352602083015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610aae578580946040927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f610a1d9986519a8b998a9889967f30f28b7a0000000000000000000000000000000000000000000000000000000088526109e46004890182516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60208181015160448a01529101516064880152815173ffffffffffffffffffffffffffffffffffffffff166084880152015160a4860152565b3360c485015261010060e48501528061010485015280610124958686013785858286010152011681010301925af18015610aa357610a8f575b50506040519081523360208201527f2a41d71ad20bb81193ade4a1c1c4796777ba30f92f48c41fce7eeb361e109b0e604060043592a280f35b610a98906114d6565b6103dd578183610a56565b6040513d84823e3d90fd5b8580fd5b60046040517f65268788000000000000000000000000000000000000000000000000000000008152fd5b508881106107e7565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60046040517ffd6f4120000000000000000000000000000000000000000000000000000000008152fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8380fd5b50346100f95760a06003193601126100f9576024358015158091036108855760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc3601126103dd5773ffffffffffffffffffffffffffffffffffffffff90818354163303610188576004356005557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b16911617600155604435818116809103610885577fffffffffffffffffffffffff00000000000000000000000000000000000000009081600254161760025560643560035560843591821680920361088557600454161760045580f35b50346100f957806003193601126100f9576020600554604051908152f35b50346100f95760206003193601126100f957600435801515809103610885577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b1691161760015580f35b50346100f957806003193601126100f957606073ffffffffffffffffffffffffffffffffffffffff80600254169060035490600454169060405192835260208301526040820152f35b50346100f95760606003193601126100f957610d5c611454565b6024359060443567ffffffffffffffff8111610b6657610d809036906004016114a5565b929060ff60015460a01c161561101b57604051906020820182610dd485878490917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b0392610e067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09485810183528261156d565b519020948587526006602052604087209283549060ff82166005811015610fee5760028114610fc45760048114610559576003141580610fb7575b610f8d57604051610e6f60208201926020845282610e6360408201888a611601565b0390810183528261156d565b519020958660018601540361052f57889460047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff94161790551690813b15610b665783610f0e95604051968795869485937f3d3e73d70000000000000000000000000000000000000000000000000000000085526004850152604060248501526044840191611601565b03925af18015610f8257610f4c575b5060207feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd491604051908152a280f35b7feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd49193610f7a6020926114d6565b939150610f1d565b6040513d86823e3d90fd5b60046040517ff268e9e3000000000000000000000000000000000000000000000000000000008152fd5b5060038501544210610e41565b60046040517fe4d068da000000000000000000000000000000000000000000000000000000008152fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60046040517f09131007000000000000000000000000000000000000000000000000000000008152fd5b50346100f957806003193601126100f957602060ff60015460a01c166040519015158152f35b50346100f957806003193601126100f957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346100f95760806003193601126100f9576110d6611454565b9167ffffffffffffffff916044358381116103dd576110f9903690600401611477565b606435858111610b66576111119036906004016114a5565b9290946001549060ff8260a01c161561142c575073ffffffffffffffffffffffffffffffffffffffff16330361018857604051606088901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020820190815260243560348301529061118881605481016107a0565b519020958685526006602052604085209384549660ff88166005811015610b3957600414610559576001916107a06111f47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00936040519283916020830195602087526040840191611601565b519020971617845585600185015582116113ff57819061121760028501546115ae565b601f81116113af575b508490601f83116001146113075785926112fc575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161760028201555b6005544201918242116112cf575091602094916003859401556040519081527f96eab3103fbd8c0266eca3e7a57929bc3bd66ef5223e2cb45f589f884ffcb9ae8573ffffffffffffffffffffffffffffffffffffffff602435941692a4604051908152f35b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b013590508780611235565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016916002850186526020862092865b818110611397575090846001959493921061135f575b505050811b01600282015561126a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905587808061134f565b91936020600181928787013581550195019201611339565b90915060028401855260208520601f840160051c8101602085106113f8575b90849392915b601f830160051c820181106113ea575050611220565b8781558594506001016113d4565b50806113ce565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b807f091310070000000000000000000000000000000000000000000000000000000060049252fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020838186019501011161088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020808501948460061b01011161088557565b67ffffffffffffffff81116114ea57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176114ea57604052565b6040810190811067ffffffffffffffff8211176114ea57604052565b6080810190811067ffffffffffffffff8211176114ea57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176114ea57604052565b90600182811c921680156115f7575b60208310146115c857565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916115bd565b918181526020809101929160009182905b82821061162157505050505090565b9091929394853573ffffffffffffffffffffffffffffffffffffffff8116809103610aae5781528582013582820152604090810195019392916001019061161256fea26469706673582212205e6b186204cb5b1a91903d6fed9eb15ed36361835d2b911aa9d576e0ea5387c864736f6c6343000811003360a034620000ce57601f6200306c38819003918201601f19168301916001600160401b03831184841017620000d3578084926040948552833981010312620000ce5780516001600160a01b03918282168203620000ce5760200151918216809203620000ce57600080546001600160a01b03191683178155604051929033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600255608052612f829081620000ea823960805181818161038901528181611f5c01526124be0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610013575b600080fd5b60003560e01c8063061ab0bc1461016757806312261ee71461015e578063186799a4146101555780631bd747a21461014c578063323a5e0b14610143578063330994051461013a5780633d3e73d7146101315780635541e684146101285780636cc6cde11461011f5780638135fe23146101165780638da5cb5b1461010d5780638f34a85914610104578063a37ee28c146100fb578063ab4f5678146100f2578063ac41b751146100e9578063af0f9df3146100e05763f2fde38b146100d857600080fd5b61000e6117f0565b5061000e6116ac565b5061000e61157f565b5061000e611425565b5061000e611307565b5061000e611129565b5061000e6110f4565b5061000e610f2c565b5061000e610ef7565b5061000e610e3c565b5061000e610b52565b5061000e610a5e565b5061000e610908565b5061000e6107fa565b5061000e6103ad565b5061000e61035b565b503461000e57602060031936011261000e57600435610190816000526006602052604060002090565b61019981612a4d565b6101aa6101a63383612b0e565b1590565b610326576001906102b96101bc61206c565b916101ea33600883019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9260006002850161022560068254950160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6102576003870160047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b556102b3604061029761027e845173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b92015173ffffffffffffffffffffffffffffffffffffffff1690565b90612717565b0154817ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806102fa3395826020600491939293604081019481520152565b0390a333907fb67e3ac5aa7b56d61e366985ea94be26db935eca5c55e0359fd36c5852b6fa39600080a3005b60046040517f3b278a7a000000000000000000000000000000000000000000000000000000008152fd5b600091031261000e57565b503461000e57600060031936011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461000e57602060031936011261000e576004356103d0600160025414611e01565b600280556103e8816000526006602052604060002090565b6103f061206c565b906103fd6101a682612af0565b6105245761040e6101a63383612b0e565b610326576104d7916104b561044633600885019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b600181019361048b60038654936000600282018181549a55550160037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6104b061027e60033393015473ffffffffffffffffffffffffffffffffffffffff1690565b612717565b6104b061027e33925173ffffffffffffffffffffffffffffffffffffffff1690565b604051907ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b63392806105158190600360206040840193600081520152565b0390a36105226001600255565b005b60046040517fa3b1c9de000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc606091011261000e57602490565b9081606091031261000e5790565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176105d757604052565b6105df61058b565b604052565b6060810190811067ffffffffffffffff8211176105d757604052565b60c0810190811067ffffffffffffffff8211176105d757604052565b6080810190811067ffffffffffffffff8211176105d757604052565b67ffffffffffffffff81116105d757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d757604052565b6040519061069a82610600565b565b6040519061069a826105bb565b6040519061069a8261061c565b60209067ffffffffffffffff81116106d0575b60051b0190565b6106d861058b565b6106c9565b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c604091011261000e5760405190610732826105bb565b8160643561073f816106dd565b81526020608435910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc604091011261000e5760405190610782826105bb565b8160243561078f816106dd565b81526020604435910152565b919082604091031261000e576040516107b3816105bb565b602080829480356107c3816106dd565b84520135910152565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020838186019501011161000e57565b503461000e5760031960808136011261000e5767ffffffffffffffff9060243582811161000e5761082f90369060040161057d565b6044359183831161000e57606090833603011261000e576040805192610854846105e4565b806004013585811161000e5781013660238201121561000e5760048101359061087c826106b6565b906108898551928361064c565b82825260209260248484019160061b8301019136831161000e576024879101915b8383106108ef5750505090865250602482013590850152604401359083015260643592831161000e576108e46105229336906004016107cc565b929091600435611e66565b85906108fb368561079b565b81520191019086906108aa565b503461000e57600060031936011261000e57606073ffffffffffffffffffffffffffffffffffffffff80600354169060045490600554169060405192835260208301526040820152f35b507f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90600482101561098f5752565b610997610952565b52565b602080825282518183015280830151604083015260408301519060c060608401528151918260e085015260005b838110610a4957505050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe091610a4260a0610100966000888589010152610a2d6060820151608089019073ffffffffffffffffffffffffffffffffffffffff169052565b608081015182880152015160c0860190610982565b0116010190565b818101830151858201610100015282016109c7565b503461000e57602060031936011261000e57600060a0604051610a8081610600565b828152826020820152606060408201528260608201528260808201520152610b4e610ab76004356000526006602052604060002090565b610b42815491600181015490610b34610ae7600383015473ffffffffffffffffffffffffffffffffffffffff1690565b610b126002600485015494610afb816127e6565b96610b0461068d565b998a5260208a0152016118d6565b604087015273ffffffffffffffffffffffffffffffffffffffff166060860152565b608084015260a08301611999565b6040519182918261099a565b0390f35b503461000e5760408060031936011261000e57600480359167ffffffffffffffff916024359183831161000e573660238401121561000e578282013593841161000e576024830192602436918660061b01011161000e57610bcb61027e60015473ffffffffffffffffffffffffffffffffffffffff1690565b3303610e1657610be5856000526006602052604060002090565b92610bf76101a6600686015460ff1690565b610def57610c0484612af0565b610dc857600090600785019081548703610d9f57825b878110610c80575050508284015403610c5a575050600501557fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b517f595fa923000000000000000000000000000000000000000000000000000000008152fd5b610cad610c8d8285611ac9565b905473ffffffffffffffffffffffffffffffffffffffff9160031b1c1690565b610cc361027e610cbe848c876127c8565b611ba3565b73ffffffffffffffffffffffffffffffffffffffff80921603610d775790888a7ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6610d7294610d24610d1e610d1987878b6127c8565b612696565b8d612da4565b610d3e6020998a610d3688888c6127c8565b01359061270a565b98610d5886610d51610cbe82898d6127c8565b968a6127c8565b8b51910135815260026020820152931692604090a3611a5f565b610c1a565b8686517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b505050517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b50517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b50517f4e16946c000000000000000000000000000000000000000000000000000000008152fd5b517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b503461000e5761010060031936011261000e5760407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261000e5760807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c36011261000e57604051610eaf816105e4565b610eb8366106fb565b815260a435602082015260c435604082015260e4359067ffffffffffffffff821161000e57610eee6105229236906004016107cc565b91600435612388565b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b503461000e57602060031936011261000e57600435610f55816000526006602052604060002090565b610f5e81612a4d565b610f6b6101a63383612b0e565b6103265760088101906002610fad6003610fa533869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b015460ff1690565b610fb6816114e0565b146110ca57600161105461109d9361101f6003610ff333849073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0160027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6005840161102d81546126fc565b90553373ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0154837ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806110953395826020600291939293604081019481520152565b0390a3612af0565b6110a357005b7fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b60046040517faf20ef4a000000000000000000000000000000000000000000000000000000008152fd5b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b503461000e576040600319818136011261000e576004359067ffffffffffffffff821161000e5760808260040191833603011261000e5760248201359081156112de5783513060208201908152823560408301819052602435606084015292916111be81608081015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261064c565b519020936111d6856000526006602052604060002090565b916001830180546112b5578361129861129088958895610b4e9c9a6112a4968d9b7ff7cbeac7c87f7e00fcf9440cf10b123fb3d766366a39eeb572c219c8eac3ab469b555561128b6064604484019361123c6112328686611bad565b9060028b01611c52565b0195600361124988611ba3565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b611bad565b919092611ba3565b91885195869586611dc0565b0390a2519081529081906020820190565b600488517fd8876c2d000000000000000000000000000000000000000000000000000000008152fd5b600484517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b503461000e57604060031936011261000e5760043560243567ffffffffffffffff811161000e5761133c90369060040161057d565b9061134b600160025414611e01565b600280558060005260066020526113f1604060002061136b33858361292f565b61137361206c565b80516113a19060209073ffffffffffffffffffffffffffffffffffffffff16920191825190309033906121e6565b6113d860206113ca61027e600386015473ffffffffffffffffffffffffffffffffffffffff1690565b9601358096309033906121e6565b6113e061069c565b338152908560208301525191612ca2565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf70908060208101610515565b503461000e57602060031936011261000e57600435611443816106dd565b73ffffffffffffffffffffffffffffffffffffffff90816000541633036114b65716807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b600511156114ea57565b61069a610952565b90600582101561098f5752565b60208082019080835283518092528060408094019401926000905b83821061152957505050505090565b9091929394836080600192611572895173ffffffffffffffffffffffffffffffffffffffff815116835284810151858401528681015187840152606080910151908301906114f2565b019601949392019061151a565b503461000e5760208060031936011261000e576115a86004356000526006602052604060002090565b60078101918254916115b9836119a5565b93600860009201915b8481106115d75760405180610b4e88826114ff565b806116196116146115ee610c8d6116a79587611ac9565b869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b611afb565b61168c61163a825173ffffffffffffffffffffffffffffffffffffffff1690565b9187810151906040808201519060608093015193611657856114e0565b61167e6116626106a9565b73ffffffffffffffffffffffffffffffffffffffff9098168852565b8b8701528501528301611aef565b6116968289611b72565b526116a18188611b72565b50611a5f565b6115c2565b503461000e57608060031936011261000e576004356116ca816106dd565b6116d33661054e565b9073ffffffffffffffffffffffffffffffffffffffff91826000541633036114b65760408161174a61179e9335611709816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b6020810135600455013561175d816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006005541617600555565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b503461000e57602060031936011261000e5760043561180e816106dd565b600090815473ffffffffffffffffffffffffffffffffffffffff80821633036114b6577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b90600182811c921680156118cc575b602083101461189d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611892565b90604051918260008254926118ea84611883565b9081845260019485811690816000146119575750600114611914575b505061069a9250038361064c565b9093915060005260209081600020936000915b81831061193f57505061069a93508201013880611906565b85548884018501529485019487945091830191611927565b905061069a9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611906565b600482101561098f5752565b906119af826106b6565b6040906119be8251918261064c565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06119ec82956106b6565b019160005b8381106119fe5750505050565b6020908251611a0c8161061c565b6000815282600081830152600085830152600060608301528286010152016119f1565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a8d570190565b611a95611a2f565b0190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015611ae2575b60005260206000200190600090565b611aea611a99565b611ad3565b600582101561098f5752565b9061069a604051611b0b8161061c565b606060ff6003839673ffffffffffffffffffffffffffffffffffffffff815416855260018101546020860152600281015460408601520154169101611aef565b602090805115611b59570190565b611a95611a99565b604090805160011015611b59570190565b6020918151811015611b87575b60051b010190565b611b8f611a99565b611b7f565b602435611ba0816106dd565b90565b35611ba0816106dd565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e5760200191813603831361000e57565b90601f8111611c0c57505050565b600091825260208220906020601f850160051c83019410611c48575b601f0160051c01915b828110611c3d57505050565b818155600101611c31565b9092508290611c28565b90929167ffffffffffffffff8111611d74575b611c7981611c738454611883565b84611bfe565b6000601f8211600114611cd05781929394600092611cc5575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916179055565b013590503880611c92565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0821694611d0384600052602060002090565b91805b878110611d5c575083600195969710611d24575b505050811b019055565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080611d1a565b90926020600181928686013581550194019101611d06565b611d7c61058b565b611c65565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b939260609373ffffffffffffffffffffffffffffffffffffffff93611dfa9398979887526020870152608060408701526080860191611d81565b9416910152565b15611e0857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152fd5b92939093611e78600160025414611e01565b60028055611e90846000526006602052604060002090565b91611e9c33878561292f565b611ea461206c565b95611ecd611eb28651611b4b565b515173ffffffffffffffffffffffffffffffffffffffff1690565b90611eef61027e895173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff8093160361204257611f19611eb28751611b61565b82611f3e61027e600389015473ffffffffffffffffffffffffffffffffffffffff1690565b91160361204257602080910135970192611f59845189612b70565b917f000000000000000000000000000000000000000000000000000000000000000016803b1561000e57611fdf9660008094611fc6604051978896879586947fedd9444b00000000000000000000000000000000000000000000000000000000865233916004870161210a565b03925af18015612035575b61201c575b506113e061069c565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf709080602081015b0390a361069a6001600255565b8061202961202f92610638565b80610350565b38611fd6565b61203d6121d9565b611fd1565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60405190612079826105e4565b81604073ffffffffffffffffffffffffffffffffffffffff80600354168352600454602084015260055416910152565b90815180825260208080930193019160005b8281106120c9575050505090565b90919293826040826120fe60019489516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019501939291016120bb565b9095949293916080825260e082019680519060606080850152815180995261010084019860208093019060005b818110612199575050509761218c928260408b61216d95611ba09c9d015160a0890152015160c0870152858303908601526120a9565b73ffffffffffffffffffffffffffffffffffffffff9095166040830152565b6060818503910152611d81565b90919a846040826121ce8f94600195516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019c01929101612137565b506040513d6000823e3d90fd5b9291906040519261226f6020808601957f23b872dd000000000000000000000000000000000000000000000000000000008752612257816111928689896024850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b60009687915190828a5af185516001143d1517161590565b61227b575b5050505050565b6122849061233d565b936e22d473030f116ddee9f6b43ac78ba391823b15612339576040517f36c7851600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152938116602485015294851660448401529093166064820152918290608490829084905af1801561232c575b612319575b80808080612274565b8061202961232692610638565b38612310565b6123346121d9565b61230b565b8480fd5b73ffffffffffffffffffffffffffffffffffffffff9081811161235e571690565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b919092612399600160025414611e01565b600280556123b1836000526006602052604060002090565b936123bb85612a4d565b6123cf6101a66123c9611b94565b87612b0e565b6103265761240a6116146123e1611b94565b600888019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9060608201916002835161241d816114e0565b612426816114e0565b146110ca57602001958651966044358098116125bb576124479051886125e5565b93612468835173ffffffffffffffffffffffffffffffffffffffff90511690565b9461248d61027e600385015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff80971603612042576124b261069c565b308152906020820152857f00000000000000000000000000000000000000000000000000000000000000001696873b1561000e577ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b697612577956000809461254b604051978896879586947f30f28b7a0000000000000000000000000000000000000000000000000000000086523391600487016125fa565b03925af180156125ae575b61259b575b50825190612568826114e0565b6125713661074b565b90612ebc565b61200f612582611b94565b915161258d816114e0565b6040519384931696836126a1565b806120296125a892610638565b3861255b565b6125b66121d9565b612556565b60046040517fc52e3eff000000000000000000000000000000000000000000000000000000008152fd5b919082039182116125f257565b61069a611a2f565b919261267f611ba09694604073ffffffffffffffffffffffffffffffffffffffff946126478782516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b602081810151888401529101516060870152815173ffffffffffffffffffffffffffffffffffffffff166080870152015160a0850152565b1660c0820152610100908160e08201520191611d81565b611ba090369061079b565b90815260408101929161069a91602001906114f2565b9060058110156126ef575b60ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116179055565b6126f7610952565b6126c2565b90600182018092116125f257565b919082018092116125f257565b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561276a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b91908110156127d9575b60061b0190565b6127e1611a99565b6127d2565b600781015480156128175760058201541015612811576006015460ff1661280c57600190565b600390565b50600290565b506001015461284a5760046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b600090565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161000e5760209260051b809284830137010190565b919082526040602083015273ffffffffffffffffffffffffffffffffffffffff81356128b7816106dd565b1660408301526020810135606083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561000e57016020813591019067ffffffffffffffff811161000e578060051b3603821361000e5760a08360606080611ba0960152019161284f565b9161293983612a4d565b6129438184612b0e565b612a235773ffffffffffffffffffffffffffffffffffffffff61296861027e84611ba3565b9116036129f95760017317c1e395fe81a90af2d0289a009317d5acb98f9f92015490823b1561000e576129cd926000926040518095819482937fba5d2c340000000000000000000000000000000000000000000000000000000084526004840161288c565b03915af480156129ec575b6129df5750565b8061202961069a92610638565b6129f46121d9565b6129d8565b60046040517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6d9bf6df000000000000000000000000000000000000000000000000000000008152fd5b600181015415612ac65760ff600682015416612a9c57612a6c90612af0565b612a7257565b60046040517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b60046040517f03144514000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b60078101548015159182612b0357505090565b600501541015919050565b90600782015415159182612b2157505090565b819250612b6860089273ffffffffffffffffffffffffffffffffffffffff938493019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b541691161490565b919091604090815191612b82836105e4565b600283526000805b828110612be8575050908291612be59395815190612ba7826105bb565b3082526020820152612bb884611b4b565b52612bc283611b4b565b505190612bce826105bb565b3082526020820152612bdf82611b61565b52611b61565b50565b6020908351612bf6816105bb565b838152828481830152828801015201612b8a565b6003606061069a93612c6e73ffffffffffffffffffffffffffffffffffffffff825116859073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60208101516001850155604081015160028501550151916005831015612c95575b016126b7565b612c9d610952565b612c8f565b91600490612d88612d93936007860173ffffffffffffffffffffffffffffffffffffffff90612cef828451169180549068010000000000000000821015612d97575b600182018155611ac9565b909283549160031b90811b9283911b16911916179055612d836123e1612d29835173ffffffffffffffffffffffffffffffffffffffff1690565b9260208101958651612d58612d3c6106a9565b73ffffffffffffffffffffffffffffffffffffffff9097168752565b60208601526040850152600160608501525173ffffffffffffffffffffffffffffffffffffffff1690565b612c0a565b51920191825461270a565b9055565b612d9f61058b565b612ce4565b906003600861069a93019173ffffffffffffffffffffffffffffffffffffffff92612df284835116829073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b612e9f8584511695612e5b600260208701519401549460405198612e158a61061c565b895260208901948552604089019586528260608a0197612e358960029052565b511673ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b965116869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b51600185015551600284015551916005831015612c9557016126b7565b61069a926008600392019273ffffffffffffffffffffffffffffffffffffffff612e9f612f0c82845116879073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b91612e5b81855116978260026020880151960154966040519a612f2e8c61061c565b8b5260208b0196875260408b01978852612e3560608c01998a611aef56fea2646970667358221220a130025eb7faee115b926ae2dacac846043b74762eabf218d7af687e916f583764736f6c63430008110033a2646970667358221220c2a25b1d7cdb9a897ff06735ba755c8e660d2ea9b3a918dd78b8284f2e57b40b64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x33 JUMPI PUSH1 0x1 PUSH1 0xFF NOT PUSH1 0xC SLOAD AND OR PUSH1 0xC SSTORE PUSH1 0x0 PUSH1 0x12 SSTORE PUSH1 0x0 PUSH1 0x13 SSTORE PUSH2 0x3CF0 PUSH1 0x14 SSTORE PUSH2 0x767B SWAP1 DUP2 PUSH2 0x39 DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH3 0x16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP2 DUP3 PUSH4 0xC0406226 EQ PUSH3 0x83 JUMPI POP POP PUSH4 0xF8CCBF47 EQ PUSH3 0x3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH3 0x7F JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0x7F JUMPI PUSH1 0x20 SWAP1 PUSH1 0xFF PUSH1 0xC SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST DUP5 SWAP3 POP CALLVALUE PUSH3 0xD1B JUMPI DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0xD1B JUMPI PUSH3 0x118 SWAP4 PUSH1 0x10 SWAP3 DUP4 SLOAD PUSH3 0xCB DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xA DUP3 MSTORE PUSH1 0x20 SWAP2 PUSH32 0x41524249545241544F5200000000000000000000000000000000000000000000 DUP4 DUP3 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP8 DUP9 SWAP2 DUP3 DUP5 AND PUSH3 0x1016 JUMP JUMPDEST AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP1 SWAP3 AND OR DUP6 SSTORE PUSH1 0x11 SLOAD SWAP1 DUP8 PUSH3 0x188 DUP6 MLOAD PUSH3 0x156 DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x11 DUP2 MSTORE PUSH32 0x4152424954524154494F4E5F544F4B454E000000000000000000000000000000 DUP7 DUP3 ADD MSTORE DUP3 DUP6 AND PUSH3 0x1016 JUMP JUMPDEST AND SWAP2 AND OR PUSH1 0x11 SSTORE PUSH3 0x1D3 PUSH1 0x12 SLOAD DUP4 MLOAD SWAP1 PUSH3 0x1A4 DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xC DUP3 MSTORE PUSH32 0x444953505554455F434F53540000000000000000000000000000000000000000 DUP5 DUP4 ADD MSTORE PUSH3 0xF66 JUMP JUMPDEST PUSH1 0x12 SSTORE PUSH3 0x21A PUSH1 0x13 SLOAD DUP4 MLOAD SWAP1 PUSH3 0x1EB DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xB DUP3 MSTORE PUSH32 0x41505045414C5F434F5354000000000000000000000000000000000000000000 DUP5 DUP4 ADD MSTORE PUSH3 0xF66 JUMP JUMPDEST PUSH1 0x13 SSTORE PUSH3 0x261 PUSH1 0x14 SLOAD DUP4 MLOAD SWAP1 PUSH3 0x232 DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x16 DUP3 MSTORE PUSH32 0x5245534F4C5554494F4E5F4C4F434B5F504552494F4400000000000000000000 DUP5 DUP4 ADD MSTORE PUSH3 0xF66 JUMP JUMPDEST PUSH1 0x14 SSTORE PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP4 DUP5 EXTCODESIZE ISZERO PUSH3 0x974 JUMPI DUP3 MLOAD PUSH32 0x7FB5297F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP7 DUP2 DUP7 DUP2 DUP4 DUP11 GAS CALL DUP1 ISZERO PUSH3 0xD11 JUMPI PUSH3 0xCFB JUMPI JUMPDEST POP PUSH1 0x11 SLOAD DUP8 AND DUP1 PUSH3 0xCF4 JUMPI POP DUP3 MLOAD PUSH2 0x12BF DUP1 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH3 0xCC8 JUMPI PUSH1 0xE0 SWAP2 DUP4 SWAP2 PUSH3 0x1B79 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xB PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x436F75727420546F6B656E000000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP7 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x4354000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP8 DUP3 ADD MSTORE SUB ADD SWAP1 DUP8 CREATE DUP1 ISZERO PUSH3 0xCBE JUMPI DUP8 AND DUP1 EXTCODESIZE ISZERO PUSH3 0xBD8 JUMPI DUP4 MLOAD PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ORIGIN DUP7 DUP3 ADD MSTORE PUSH9 0x1105A0185B50A80000 PUSH1 0x24 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x44 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0xBDC JUMPI SWAP1 DUP9 SWAP2 PUSH3 0xCA6 JUMPI JUMPDEST POP POP SWAP1 JUMPDEST PUSH3 0x409 DUP5 MLOAD SWAP3 PUSH3 0x3D9 DUP5 PUSH3 0xD80 JUMP JUMPDEST DUP3 DUP5 MSTORE PUSH32 0x4172626974726174696F6E546F6B656E00000000000000000000000000000000 SWAP4 DUP5 DUP7 DUP3 ADD MSTORE PUSH3 0x1902 JUMP JUMPDEST DUP8 DUP1 DUP3 SLOAD AND DUP1 ISZERO PUSH1 0x0 EQ PUSH3 0xC89 JUMPI POP PUSH1 0x30 DUP6 MLOAD DUP5 DUP2 MSTORE PUSH1 0xE DUP5 DUP3 ADD MSTORE KECCAK256 SLOAD AND DUP5 MLOAD PUSH2 0x17A2 DUP1 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH3 0xC5D JUMPI SWAP2 PUSH3 0x475 DUP2 SWAP3 PUSH2 0x314 SWAP5 PUSH3 0x2E38 DUP5 CODECOPY PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 DUP2 MSTORE ORIGIN PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 DUP11 CREATE2 DUP1 ISZERO PUSH3 0xBDC JUMPI DUP10 AND SWAP1 PUSH1 0x14 SLOAD SWAP1 PUSH1 0x13 SLOAD DUP8 MLOAD SWAP2 PUSH3 0x498 DUP4 PUSH3 0xD63 JUMP JUMPDEST DUP3 MSTORE DUP7 DUP3 ADD MSTORE ORIGIN DUP8 DUP3 ADD MSTORE DUP3 EXTCODESIZE ISZERO PUSH3 0xC59 JUMPI PUSH3 0x518 SWAP1 DUP8 MLOAD SWAP3 PUSH32 0x410FA8E600000000000000000000000000000000000000000000000000000000 DUP5 MSTORE DUP10 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD SWAP1 PUSH1 0x40 SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 DUP2 MLOAD AND DUP6 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x20 DUP7 ADD MSTORE ADD MLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST DUP9 DUP2 PUSH1 0xA4 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0xC02 JUMPI DUP11 SWAP5 SWAP4 SWAP3 SWAP2 DUP11 SWAP2 PUSH3 0xC38 JUMPI JUMPDEST POP POP PUSH1 0x30 SWAP3 SWAP2 PUSH3 0x552 PUSH1 0xE SWAP3 PUSH3 0x54C PUSH3 0x18C7 JUMP JUMPDEST PUSH3 0x1902 JUMP JUMPDEST DUP7 MLOAD SWAP3 DUP4 MSTORE DUP3 ADD MSTORE KECCAK256 SLOAD AND SWAP3 DUP7 PUSH1 0x2A DUP5 MLOAD PUSH32 0x41726269747261746F7200000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0xE PUSH1 0xA DUP3 ADD MSTORE KECCAK256 SLOAD AND SWAP7 DUP4 MLOAD SWAP8 PUSH2 0x306C SWAP9 DUP10 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP11 DUP3 DUP3 LT DUP13 DUP4 GT OR PUSH3 0xC0C JUMPI SWAP2 PUSH3 0x5E0 DUP2 SWAP3 PUSH2 0x314 SWAP5 PUSH3 0x45DA DUP5 CODECOPY PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 DUP2 MSTORE ORIGIN PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 DUP11 CREATE2 DUP1 ISZERO PUSH3 0xBDC JUMPI DUP3 AND SWAP1 PUSH1 0x12 SLOAD DUP7 MLOAD SWAP8 PUSH3 0x5FF DUP10 PUSH3 0xD63 JUMP JUMPDEST DUP9 MSTORE DUP6 DUP9 ADD MSTORE ORIGIN DUP7 DUP9 ADD MSTORE DUP2 EXTCODESIZE ISZERO PUSH3 0x982 JUMPI DUP6 MLOAD SWAP1 PUSH32 0xAF0F9DF300000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH3 0x679 PUSH1 0x24 SWAP8 DUP9 DUP4 ADD SWAP1 PUSH1 0x40 SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 DUP2 MLOAD AND DUP6 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x20 DUP7 ADD MSTORE ADD MLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST DUP9 DUP2 PUSH1 0x84 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0xC02 JUMPI SWAP1 DUP10 SWAP2 PUSH3 0xBE6 JUMPI JUMPDEST POP POP PUSH3 0x6D5 SWAP1 DUP6 MLOAD PUSH3 0x6A6 DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x1C DUP2 MSTORE PUSH32 0x436F6C6C61746572616C41677265656D656E744672616D65776F726B00000000 DUP7 DUP3 ADD MSTORE PUSH3 0x1902 JUMP JUMPDEST DUP6 EXTCODESIZE ISZERO PUSH3 0xBD8 JUMPI DUP4 MLOAD PUSH32 0x76EADD3600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP8 DUP2 DUP5 DUP2 DUP4 DUP12 GAS CALL DUP1 ISZERO PUSH3 0xBDC JUMPI SWAP1 DUP9 SWAP2 PUSH3 0xBC0 JUMPI JUMPDEST POP POP PUSH1 0xD SLOAD SWAP1 DUP6 DUP9 JUMPDEST DUP4 DUP2 LT PUSH3 0x9B3 JUMPI POP POP POP POP PUSH3 0x739 PUSH3 0x1495 JUMP JUMPDEST SWAP7 DUP4 MLOAD SWAP2 DUP4 DUP4 ADD SWAP2 DUP4 DUP4 LT SWAP1 DUP4 GT OR PUSH3 0x986 JUMPI DUP8 SWAP9 DUP3 DUP7 SWAP10 SWAP9 SWAP10 MSTORE DUP8 DUP5 MSTORE PUSH3 0x7B7 DUP7 MLOAD PUSH3 0x7B1 PUSH32 0x6465706C6F796D656E74732F0000000000000000000000000000000000000000 SWAP7 DUP8 DUP10 DUP5 ADD MSTORE MLOAD SWAP6 DUP3 DUP8 PUSH3 0x7A0 PUSH1 0x2C SWAP10 DUP11 SWAP5 DUP6 DUP6 ADD SWAP1 PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD SUB PUSH1 0xC DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0xD9D JUMP JUMPDEST PUSH3 0x11E4 JUMP JUMPDEST PUSH3 0x7C1 PUSH3 0x10DD JUMP JUMPDEST SWAP9 PUSH3 0x7F5 DUP5 DUP9 MLOAD DUP1 SWAP13 DUP9 DUP11 DUP4 ADD MSTORE PUSH3 0x7E4 DUP2 MLOAD DUP1 SWAP3 DUP13 DUP7 DUP7 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD SUB PUSH1 0xC DUP2 ADD DUP14 MSTORE ADD DUP12 PUSH3 0xD9D JUMP JUMPDEST DUP1 EXTCODESIZE ISZERO PUSH3 0x982 JUMPI PUSH3 0x839 SWAP10 DUP10 DUP1 SWAP5 DUP10 MLOAD SWAP13 DUP14 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x897E0A9700000000000000000000000000000000000000000000000000000000 DUP6 MSTORE DUP5 ADD PUSH3 0x1118 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP7 DUP8 ISZERO PUSH3 0x978 JUMPI DUP7 SWAP8 PUSH3 0x954 JUMPI JUMPDEST POP PUSH3 0x940 SWAP3 SWAP2 PUSH3 0x885 PUSH3 0x913 SWAP3 PUSH3 0x867 PUSH3 0x10DD JUMP JUMPDEST SWAP3 DUP8 MLOAD SWAP4 DUP5 SWAP2 DUP8 DUP4 ADD MSTORE PUSH3 0x7A0 DUP2 MLOAD DUP1 SWAP3 DUP10 DUP7 DUP7 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST DUP5 MLOAD SWAP5 PUSH3 0x893 DUP7 PUSH3 0xD63 JUMP JUMPDEST PUSH1 0x21 DUP7 MSTORE PUSH32 0x53746F726564206465706C6F796D656E74206D616E6966657374206174202573 DUP5 DUP8 ADD MSTORE PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 DUP2 DUP8 ADD MSTORE MLOAD SWAP5 DUP6 SWAP4 DUP5 ADD SWAP7 PUSH32 0x4B5C427700000000000000000000000000000000000000000000000000000000 DUP9 MSTORE DUP5 ADD PUSH3 0x1118 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0xD9D JUMP JUMPDEST MLOAD SWAP1 PUSH11 0x636F6E736F6C652E6C6F67 GAS STATICCALL POP DUP1 RETURN JUMPDEST PUSH3 0x965 SWAP1 SWAP7 SWAP2 SWAP7 SWAP4 SWAP3 SWAP4 PUSH3 0xD1F JUMP JUMPDEST PUSH3 0x974 JUMPI SWAP1 DUP6 SWAP5 DUP9 PUSH3 0x84D JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP9 DUP1 REVERT JUMPDEST PUSH1 0x41 DUP7 SWAP2 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST DUP10 DUP7 PUSH3 0x9C0 DUP4 PUSH3 0xE3C JUMP JUMPDEST POP PUSH3 0x9CC DUP5 PUSH3 0xE3C JUMP JUMPDEST POP DUP7 PUSH1 0x1 DUP1 SWAP3 ADD SLOAD AND SWAP2 DUP12 DUP1 MLOAD SWAP2 PUSH3 0x9E5 DUP4 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x5 DUP1 DUP5 MSTORE PUSH32 0x25733D2573000000000000000000000000000000000000000000000000000000 DUP8 DUP6 ADD MSTORE DUP3 MLOAD SWAP5 DUP9 SWAP3 DUP1 SLOAD PUSH3 0xA21 DUP2 PUSH3 0xEA6 JUMP JUMPDEST DUP1 DUP10 MSTORE SWAP4 DUP2 DUP5 AND SWAP2 DUP3 ISZERO PUSH3 0xB79 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0xB20 JUMPI JUMPDEST POP POP POP SWAP4 PUSH3 0xACE DUP5 PUSH3 0xA9D PUSH3 0xB01 SWAP6 DUP11 SWAP10 SWAP6 PUSH3 0xA65 PUSH1 0x60 SWAP10 PUSH3 0xB18 SWAP16 SWAP12 SUB DUP6 PUSH3 0xD9D JUMP JUMPDEST MLOAD SWAP8 DUP9 SWAP7 DUP8 ADD SWAP10 PUSH32 0x95ED019500000000000000000000000000000000000000000000000000000000 DUP12 MSTORE DUP8 ADD MSTORE PUSH1 0x84 DUP7 ADD SWAP1 PUSH3 0xF21 JUMP JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP6 DUP4 SUB ADD PUSH1 0x44 DUP7 ADD MSTORE PUSH3 0xF21 JUMP JUMPDEST SWAP1 PUSH1 0x64 DUP4 ADD MSTORE SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0xD9D JUMP JUMPDEST MLOAD SWAP1 PUSH11 0x636F6E736F6C652E6C6F67 GAS STATICCALL POP PUSH3 0xDDF JUMP JUMPDEST DUP7 SWAP1 PUSH3 0x723 JUMP JUMPDEST DUP10 MSTORE DUP8 DUP10 KECCAK256 SWAP8 SWAP11 SWAP8 DUP10 SWAP4 POP JUMPDEST DUP3 DUP5 LT PUSH3 0xB4D JUMPI POP SWAP7 SWAP10 SWAP7 POP POP DUP4 ADD DUP6 ADD PUSH3 0xACE DUP5 PUSH3 0xA9D PUSH3 0xA3B JUMP JUMPDEST SWAP2 SWAP6 SWAP9 POP SWAP4 SWAP7 POP DUP4 SWAP2 SWAP6 SWAP9 SWAP10 SWAP3 POP DUP1 SLOAD DUP4 DUP8 DUP11 ADD ADD MSTORE ADD SWAP4 ADD DUP16 SWAP6 SWAP3 SWAP1 DUP14 SWAP2 DUP16 SWAP7 SWAP4 DUP15 SWAP11 SWAP10 SWAP7 PUSH3 0xB2C JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP12 DUP11 ADD MSTORE SWAP4 ISZERO ISZERO SWAP1 SWAP4 SHL DUP8 ADD DUP10 ADD SWAP4 POP PUSH3 0xACE SWAP3 POP DUP7 SWAP2 POP PUSH3 0xA9D SWAP1 POP PUSH3 0xA3B JUMP JUMPDEST PUSH3 0xBCB SWAP1 PUSH3 0xD1F JUMP JUMPDEST PUSH3 0xBD8 JUMPI DUP7 DUP10 PUSH3 0x71A JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0xBF1 SWAP1 PUSH3 0xD1F JUMP JUMPDEST PUSH3 0xBFE JUMPI DUP8 DUP11 PUSH3 0x692 JUMP JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH1 0x41 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0xC48 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 POP PUSH3 0xD1F JUMP JUMPDEST PUSH3 0xBFE JUMPI SWAP1 DUP9 SWAP3 SWAP2 DUP9 DUP12 PUSH3 0x535 JUMP JUMPDEST DUP10 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH1 0x41 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x30 SWAP3 PUSH3 0xCA0 PUSH1 0xE SWAP3 PUSH3 0x54C SWAP7 SWAP5 SWAP7 PUSH3 0x18C7 JUMP JUMPDEST PUSH3 0x552 JUMP JUMPDEST PUSH3 0xCB1 SWAP1 PUSH3 0xD1F JUMP JUMPDEST PUSH3 0xBD8 JUMPI DUP7 DUP10 PUSH3 0x3C3 JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP10 PUSH1 0x41 DUP10 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST SWAP1 PUSH3 0x3C7 JUMP JUMPDEST PUSH3 0xD09 SWAP1 SWAP7 SWAP2 SWAP7 PUSH3 0xD1F JUMP JUMPDEST SWAP5 DUP8 PUSH3 0x2BC JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH3 0xE0D JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xD SLOAD DUP2 LT ISZERO PUSH3 0xE77 JUMPI PUSH1 0xD PUSH1 0x0 MSTORE PUSH1 0x1 SHL PUSH32 0xD7B6990105719101DABEB77144F2A3385C8033ACD3AF97E9423A695E81AD1EB5 ADD SWAP1 PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0xEF1 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0xEC2 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0xEB6 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH3 0xF10 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0xEFF JUMP JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x20 SWAP4 PUSH3 0xF5F DUP2 MLOAD DUP1 SWAP3 DUP2 DUP8 MSTORE DUP8 DUP1 DUP9 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH3 0xFAA SWAP2 SWAP4 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP3 PUSH32 0xC1978D1F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP5 PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP1 PUSH3 0xF21 JUMP JUMPDEST SUB DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL PUSH1 0x0 SWAP2 DUP2 PUSH3 0xFDA JUMPI JUMPDEST POP PUSH3 0xFD6 JUMPI POP JUMP JUMPDEST SWAP2 POP JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x20 DUP3 RETURNDATASIZE DUP3 GT PUSH3 0x100D JUMPI JUMPDEST DUP2 PUSH3 0xFF7 PUSH1 0x20 SWAP4 DUP4 PUSH3 0xD9D JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x100A JUMPI POP MLOAD SWAP1 CODESIZE PUSH3 0xFCD JUMP JUMPDEST DUP1 REVERT JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0xFE8 JUMP JUMPDEST PUSH1 0x20 PUSH3 0x105A SWAP2 SWAP4 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP3 PUSH32 0x350D56BF00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP5 PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP1 PUSH3 0xF21 JUMP JUMPDEST SUB DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL DUP1 SWAP2 PUSH1 0x0 SWAP2 PUSH3 0x1088 JUMPI JUMPDEST POP SWAP1 PUSH3 0xFD6 JUMPI POP JUMP JUMPDEST PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH3 0x10D4 JUMPI JUMPDEST DUP2 PUSH3 0x10A3 PUSH1 0x20 SWAP4 DUP4 PUSH3 0xD9D JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x7F JUMPI MLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH3 0x100A JUMPI POP CODESIZE PUSH3 0x107E JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0x1094 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH3 0x10EC DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xB DUP3 MSTORE PUSH32 0x6C61746573742E6A736F6E000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 PUSH3 0x1132 PUSH3 0x1141 SWAP4 PUSH1 0x40 DUP5 MSTORE PUSH1 0x40 DUP5 ADD SWAP1 PUSH3 0xF21 JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH3 0xF21 JUMP JUMPDEST SWAP1 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH3 0xE77 JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH3 0xE77 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x2 LT ISZERO PUSH3 0xE77 JUMPI PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0xD34 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH3 0x11C0 PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP6 ADD AND ADD DUP5 PUSH3 0xD9D JUMP JUMPDEST DUP3 SWAP5 DUP3 DUP5 MSTORE DUP3 DUP3 ADD GT PUSH3 0x11DF JUMPI PUSH1 0x20 PUSH3 0x11DD SWAP4 ADD SWAP1 PUSH3 0xEFC JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP3 DUP2 MLOAD SWAP1 PUSH1 0xFF PUSH1 0x20 SWAP6 DUP7 DUP2 DUP2 DUP8 ADD SWAP6 PUSH3 0x1205 DUP2 DUP4 DUP10 PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD PUSH1 0xF DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SLOAD AND PUSH3 0x148E JUMPI DUP4 MLOAD SWAP2 PUSH1 0x80 DUP4 ADD SWAP4 PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP2 LT DUP7 DUP3 GT OR PUSH3 0xD34 JUMPI DUP7 MSTORE PUSH1 0x3 DUP5 MSTORE PUSH1 0x0 JUMPDEST PUSH1 0x60 DUP1 DUP3 LT ISZERO PUSH3 0x1256 JUMPI DUP6 DUP3 ADD DUP10 ADD MSTORE DUP8 ADD PUSH3 0x123D JUMP JUMPDEST POP POP SWAP2 SWAP6 SWAP4 SWAP5 SWAP1 SWAP3 SWAP5 DUP2 MLOAD PUSH3 0x126C DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x5 DUP2 MSTORE PUSH32 0x6D6B646972000000000000000000000000000000000000000000000000000000 DUP7 DUP3 ADD MSTORE PUSH3 0x12A0 DUP8 PUSH3 0x1144 JUMP JUMPDEST MSTORE PUSH3 0x12AC DUP7 PUSH3 0x1144 JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0x12BA DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x2 DUP2 MSTORE PUSH32 0x2D70000000000000000000000000000000000000000000000000000000000000 DUP7 DUP3 ADD MSTORE PUSH3 0x12EE DUP8 PUSH3 0x1152 JUMP JUMPDEST MSTORE PUSH3 0x12FA DUP7 PUSH3 0x1152 JUMP JUMPDEST POP DUP3 PUSH3 0x1307 DUP8 PUSH3 0x1163 JUMP JUMPDEST MSTORE PUSH3 0x1313 DUP7 PUSH3 0x1163 JUMP JUMPDEST POP DUP2 MLOAD SWAP6 PUSH32 0x8916046700000000000000000000000000000000000000000000000000000000 DUP8 MSTORE DUP7 PUSH1 0x24 DUP2 ADD DUP8 PUSH1 0x4 DUP4 ADD MSTORE DUP3 MLOAD DUP1 SWAP2 MSTORE PUSH1 0x44 DUP3 ADD SWAP1 DUP9 PUSH1 0x44 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD SWAP5 ADD SWAP2 PUSH1 0x0 SWAP1 JUMPDEST DUP11 DUP4 DUP4 LT PUSH3 0x1443 JUMPI POP POP POP POP POP DUP1 PUSH1 0x0 SWAP3 SUB DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x1438 JUMPI PUSH3 0x13E5 JUMPI JUMPDEST POP PUSH3 0x13B0 SWAP5 POP MLOAD SWAP4 DUP5 SWAP3 DUP4 SWAP3 MLOAD SWAP3 DUP4 SWAP2 PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD PUSH1 0xF DUP2 MSTORE SUB ADD SWAP1 KECCAK256 PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST RETURNDATASIZE DUP1 PUSH1 0x0 DUP9 RETURNDATACOPY PUSH3 0x13F7 DUP2 DUP9 PUSH3 0xD9D JUMP JUMPDEST DUP7 ADD SWAP6 DUP6 DUP2 DUP9 SUB SLT PUSH3 0x11DF JUMPI DUP1 MLOAD SWAP2 DUP3 GT PUSH3 0x11DF JUMPI ADD DUP6 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH3 0x11DF JUMPI PUSH3 0x13B0 SWAP6 DUP2 DUP7 PUSH3 0x1430 SWAP4 MLOAD SWAP2 ADD PUSH3 0x1174 JUMP JUMPDEST POP CODESIZE PUSH3 0x1399 JUMP JUMPDEST DUP3 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x147E DUP8 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC DUP4 SWAP5 SWAP7 SWAP9 PUSH1 0x1 SWAP7 SWAP9 SWAP11 SUB ADD DUP7 MSTORE DUP9 MLOAD PUSH3 0xF21 JUMP JUMPDEST SWAP7 ADD SWAP3 ADD SWAP3 ADD DUP11 SWAP4 SWAP2 SWAP3 PUSH3 0x1360 JUMP JUMPDEST SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xD SLOAD SWAP1 DUP2 ISZERO PUSH3 0x18A0 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH1 0x20 SWAP4 PUSH32 0x7B0A000000000000000000000000000000000000000000000000000000000000 DUP6 DUP5 ADD MSTORE PUSH1 0x2 SWAP1 DUP2 DUP5 MSTORE DUP3 DUP5 ADD SWAP4 PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP2 DUP2 LT DUP7 DUP3 GT OR PUSH3 0xD34 JUMPI DUP5 MSTORE SWAP4 PUSH1 0x0 SWAP3 SWAP2 SWAP1 JUMPDEST DUP2 DUP5 LT PUSH3 0x155A JUMPI POP POP POP POP PUSH3 0x1141 SWAP2 PUSH32 0x7D00000000000000000000000000000000000000000000000000000000000000 SWAP4 SWAP5 PUSH1 0x21 SWAP3 MLOAD SWAP5 DUP3 PUSH3 0x1545 DUP8 SWAP5 MLOAD DUP1 SWAP3 DUP6 DUP1 DUP9 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST DUP4 ADD SWAP2 DUP3 ADD MSTORE SUB PUSH1 0x1 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0xD9D JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP5 PUSH3 0x1569 DUP7 PUSH3 0xE3C JUMP JUMPDEST POP PUSH3 0x1575 DUP8 PUSH3 0xE3C JUMP JUMPDEST POP SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 DUP1 SWAP4 ADD SLOAD AND SWAP2 DUP8 MLOAD SWAP1 PUSH32 0x56CA623E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 SWAP4 DUP5 DUP4 ADD MSTORE PUSH1 0x24 PUSH1 0x0 DUP4 DUP3 DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL SWAP3 DUP4 ISZERO PUSH3 0x1895 JUMPI DUP14 SWAP1 PUSH1 0x0 SWAP5 PUSH3 0x1841 JUMPI JUMPDEST POP POP DUP2 DUP12 ADD SWAP1 DUP2 DUP13 GT PUSH3 0x1815 JUMPI POP DUP13 SWAP3 SWAP2 SWAP1 DUP9 SUB PUSH3 0x17D8 JUMPI DUP10 MLOAD PUSH3 0x1619 DUP2 PUSH3 0xD80 JUMP JUMPDEST DUP10 DUP2 MSTORE PUSH32 0x220A000000000000000000000000000000000000000000000000000000000000 DUP5 DUP3 ADD MSTORE SWAP4 JUMPDEST DUP11 MLOAD SWAP7 PUSH3 0x165A DUP2 MLOAD DUP1 SWAP3 DUP8 DUP1 DUP13 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST DUP8 ADD PUSH32 0x2022000000000000000000000000000000000000000000000000000000000000 DUP6 DUP3 ADD MSTORE PUSH1 0x0 SWAP3 DUP3 SLOAD SWAP3 PUSH3 0x1692 DUP5 PUSH3 0xEA6 JUMP JUMPDEST SWAP4 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH3 0x1789 JUMPI POP PUSH1 0x1 EQ PUSH3 0x1747 JUMPI JUMPDEST POP POP POP POP SWAP3 DUP6 SWAP5 SWAP3 PUSH3 0x1708 PUSH3 0x173E SWAP8 SWAP4 DUP7 PUSH32 0x223A202200000000000000000000000000000000000000000000000000000000 PUSH3 0x1737 SWAP9 MSTORE PUSH3 0x16F6 DUP3 MLOAD DUP1 SWAP4 DUP7 DUP11 DUP6 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST ADD SWAP2 DUP4 MLOAD SWAP4 DUP5 SWAP2 DUP8 DUP6 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST ADD SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0xD9D JUMP JUMPDEST SWAP6 PUSH3 0xDDF JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH3 0x14F6 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE DUP7 DUP2 KECCAK256 SWAP4 SWAP5 POP SWAP2 SWAP3 JUMPDEST DUP5 DUP4 LT PUSH3 0x1774 JUMPI POP POP POP ADD PUSH1 0x22 ADD DUP3 PUSH3 0x1708 DUP4 PUSH3 0x1737 PUSH3 0x16A8 JUMP JUMPDEST DUP1 SLOAD DUP5 DUP5 ADD PUSH1 0x22 ADD MSTORE SWAP2 DUP7 ADD SWAP2 DUP2 ADD PUSH3 0x1755 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND PUSH1 0x22 DUP1 DUP7 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP6 ISZERO ISZERO SWAP1 SWAP6 MUL SWAP1 SWAP4 ADD SWAP1 SWAP4 ADD SWAP4 POP DUP6 SWAP3 POP PUSH3 0x1708 SWAP2 POP DUP5 SWAP1 POP PUSH3 0x1737 PUSH3 0x16A8 JUMP JUMPDEST DUP10 MLOAD PUSH3 0x17E5 DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x3 DUP2 MSTORE PUSH32 0x222C0A0000000000000000000000000000000000000000000000000000000000 DUP5 DUP3 ADD MSTORE SWAP4 PUSH3 0x1643 JUMP JUMPDEST PUSH1 0x11 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST SWAP4 SWAP1 SWAP2 SWAP4 RETURNDATASIZE DUP1 DUP4 DUP4 RETURNDATACOPY PUSH3 0x1856 DUP2 DUP4 PUSH3 0xD9D JUMP JUMPDEST DUP2 ADD SWAP3 DUP2 DUP5 SUB SLT PUSH3 0x7F JUMPI DUP1 MLOAD SWAP1 DUP10 DUP3 GT PUSH3 0xD1B JUMPI ADD SWAP1 DUP3 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH3 0x100A JUMPI POP DUP1 MLOAD PUSH3 0x188C SWAP3 SWAP2 DUP16 ADD PUSH3 0x1174 JUMP JUMPDEST SWAP2 DUP13 CODESIZE PUSH3 0x15F2 JUMP JUMPDEST DUP11 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH3 0x18D6 DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xA DUP3 MSTORE PUSH32 0x41726269747261746F7200000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x40 MLOAD PUSH1 0x40 DUP2 ADD SWAP4 PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP3 DUP2 LT DUP7 DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE DUP1 DUP3 MSTORE PUSH1 0x20 SWAP1 DUP2 DUP4 ADD SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0xD SLOAD SWAP1 PUSH9 0x10000000000000000 DUP3 LT ISZERO PUSH3 0xD34 JUMPI PUSH3 0x1974 PUSH1 0x1 SWAP3 DUP4 DUP2 ADD PUSH1 0xD SSTORE PUSH3 0xE3C JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH3 0x1B49 JUMPI MLOAD SWAP9 DUP10 MLOAD SWAP1 DUP2 GT PUSH3 0xD34 JUMPI PUSH3 0x1994 DUP3 SLOAD PUSH3 0xEA6 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0x1AFB JUMPI JUMPDEST POP DUP6 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0x1A51 JUMPI DUP2 SWAP1 PUSH3 0x1A32 SWAP9 SWAP10 SWAP11 SWAP12 PUSH1 0x0 SWAP3 PUSH3 0x1A45 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP6 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR DUP2 SSTORE JUMPDEST ADD SWAP6 MLOAD AND SWAP5 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP6 DUP7 DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD PUSH1 0xE DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP2 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x19BF JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP11 DUP4 PUSH1 0x0 MSTORE DUP8 PUSH1 0x0 KECCAK256 SWAP12 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x1AE5 JUMPI POP SWAP2 PUSH3 0x1A32 SWAP10 SWAP11 SWAP12 SWAP13 SWAP2 DUP5 DUP8 SWAP6 SWAP5 LT PUSH3 0x1AAD JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP2 SSTORE PUSH3 0x19F0 JUMP JUMPDEST ADD MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x1A9F JUMP JUMPDEST DUP4 DUP4 ADD MLOAD DUP15 SSTORE SWAP13 DUP7 ADD SWAP13 SWAP3 DUP10 ADD SWAP3 DUP10 ADD PUSH3 0x1A81 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE DUP8 DUP2 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP3 DUP10 DUP6 LT PUSH3 0x1B3E JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 DUP6 SWAP1 JUMPDEST DUP4 DUP2 LT PUSH3 0x1B32 JUMPI POP POP POP PUSH3 0x199E JUMP JUMPDEST DUP3 DUP2 SSTORE ADD DUP6 SWAP1 PUSH3 0x1B21 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH3 0x1B16 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0xE0 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH3 0x43C JUMPI PUSH3 0x12BF DUP1 CODESIZE SUB DUP1 SWAP2 PUSH3 0x22 DUP3 DUP6 PUSH3 0x441 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD PUSH1 0x60 DUP3 DUP3 SUB SLT PUSH3 0x43C JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP4 SWAP1 DUP5 DUP2 GT PUSH3 0x43C JUMPI DUP3 PUSH3 0x53 SWAP2 DUP6 ADD PUSH3 0x465 JUMP JUMPDEST SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP3 ADD MLOAD DUP7 DUP2 GT PUSH3 0x43C JUMPI DUP4 SWAP2 PUSH3 0x72 SWAP2 DUP5 ADD PUSH3 0x465 JUMP JUMPDEST SWAP2 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x43C JUMPI DUP5 MLOAD SWAP5 DUP7 DUP7 GT PUSH3 0x426 JUMPI PUSH1 0x0 SWAP6 DUP1 PUSH3 0x9B DUP9 SLOAD PUSH3 0x4DC JUMP JUMPDEST SWAP3 PUSH1 0x1F SWAP4 DUP5 DUP2 GT PUSH3 0x3D5 JUMPI JUMPDEST POP DUP8 SWAP1 DUP5 DUP4 GT PUSH1 0x1 EQ PUSH3 0x36D JUMPI DUP10 SWAP3 PUSH3 0x361 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR DUP7 SSTORE JUMPDEST DUP3 MLOAD SWAP1 DUP8 DUP3 GT PUSH3 0x34D JUMPI DUP2 SWAP1 PUSH1 0x1 SWAP5 PUSH3 0xEF DUP7 SLOAD PUSH3 0x4DC JUMP JUMPDEST DUP3 DUP2 GT PUSH3 0x2F8 JUMPI JUMPDEST POP DUP8 SWAP2 DUP4 GT PUSH1 0x1 EQ PUSH3 0x294 JUMPI DUP9 SWAP3 PUSH3 0x288 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP4 SHL OR DUP3 SSTORE JUMPDEST PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE DUP2 MLOAD DUP5 SLOAD SWAP2 DUP2 DUP7 PUSH3 0x13A DUP6 PUSH3 0x4DC JUMP JUMPDEST SWAP3 DUP4 DUP4 MSTORE DUP8 DUP4 ADD SWAP6 DUP9 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH3 0x268 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0x228 JUMPI JUMPDEST POP PUSH3 0x16A SWAP3 POP SUB DUP3 PUSH3 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP2 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP6 MSTORE DUP3 DUP5 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP5 ADD MSTORE CHAINID PUSH1 0x80 DUP5 ADD MSTORE ADDRESS PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 MSTORE PUSH1 0xC0 DUP4 ADD SWAP5 DUP4 DUP7 LT SWAP1 DUP7 GT OR PUSH3 0x214 JUMPI POP DUP4 SWAP1 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0xC0 MSTORE PUSH2 0xDA5 SWAP1 DUP2 PUSH3 0x51A DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x77E ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xB97 ADD MSTORE PUSH1 0xC0 MLOAD DUP2 PUSH2 0xBBE ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP8 SWAP2 POP DUP9 DUP1 MSTORE DUP2 DUP10 KECCAK256 SWAP1 DUP10 SWAP2 JUMPDEST DUP6 DUP4 LT PUSH3 0x24F JUMPI POP POP PUSH3 0x16A SWAP4 POP DUP3 ADD ADD CODESIZE PUSH3 0x15B JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP10 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH3 0x235 JUMP JUMPDEST PUSH1 0xFF NOT AND DUP9 MSTORE PUSH3 0x16A SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH3 0x15B SWAP1 POP JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x10D JUMP JUMPDEST DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP7 SWAP5 POP SWAP2 SWAP1 PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x2E1 JUMPI POP POP DUP5 GT PUSH3 0x2C7 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP3 SSTORE PUSH3 0x121 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x2B9 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE DUP10 SWAP8 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH3 0x2A6 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 POP DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP4 DUP1 DUP7 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP8 LT PUSH3 0x343 JUMPI JUMPDEST SWAP2 DUP7 SWAP6 DUP10 SWAP3 SWAP6 SWAP5 SWAP4 ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x334 JUMPI POP POP PUSH3 0xF8 JUMP JUMPDEST DUP12 DUP2 SSTORE DUP7 SWAP6 POP DUP9 SWAP2 ADD PUSH3 0x324 JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x315 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xBE JUMP JUMPDEST DUP10 DUP1 MSTORE DUP9 DUP11 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x3BE JUMPI POP POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH3 0x3A4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP7 SSTORE PUSH3 0xD3 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x396 JUMP JUMPDEST PUSH1 0x1 DUP6 SWAP7 DUP3 SWAP4 SWAP7 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH3 0x37C JUMP JUMPDEST SWAP1 SWAP2 POP DUP9 DUP1 MSTORE DUP8 DUP10 KECCAK256 DUP5 DUP1 DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP7 LT PUSH3 0x41C JUMPI JUMPDEST SWAP1 DUP6 SWAP5 SWAP4 SWAP3 SWAP2 ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH3 0x40D JUMPI POP PUSH3 0xA8 JUMP JUMPDEST DUP11 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x3FE JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x3F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x426 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x43C JUMPI DUP3 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 SWAP2 PUSH3 0x4A1 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP5 ADD DUP6 PUSH3 0x441 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x43C JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x4C8 JUMPI POP DUP3 PUSH1 0x0 SWAP4 SWAP5 SWAP6 POP ADD ADD MSTORE SWAP1 JUMP JUMPDEST DUP6 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x4B2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x50E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F8 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4EC JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER PUSH1 0xA0 CALLVALUE PUSH2 0xED JUMPI PUSH1 0x1F PUSH2 0x17A2 CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH2 0xF2 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0xED JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH2 0xED JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0xED JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND DUP5 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP4 SWAP2 SWAP1 DUP3 SWAP1 DUP2 CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP6 DUP1 LOG3 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 CALLER SWAP2 DUP1 LOG3 PUSH1 0x80 MSTORE PUSH2 0x1699 SWAP1 DUP2 PUSH2 0x109 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x935 ADD MSTORE PUSH2 0x1098 ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2FD597D EQ PUSH2 0x10BC JUMPI POP DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x106B JUMPI DUP1 PUSH4 0x238DAFE0 EQ PUSH2 0x1045 JUMPI DUP1 PUSH4 0x2F7F204E EQ PUSH2 0xD42 JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0xCF9 JUMPI DUP1 PUSH4 0x328D8F72 EQ PUSH2 0xC92 JUMPI DUP1 PUSH4 0x3FD8B02F EQ PUSH2 0xC74 JUMPI DUP1 PUSH4 0x410FA8E6 EQ PUSH2 0xB6A JUMPI DUP1 PUSH4 0x41BCF4DC EQ PUSH2 0x60D JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x5DA JUMPI DUP1 PUSH4 0xE44CB37B EQ PUSH2 0x46E JUMPI DUP1 PUSH4 0xE8EA054B EQ PUSH2 0x3E1 JUMPI DUP1 PUSH4 0xEC67B8C8 EQ PUSH2 0x1B2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFC JUMPI PUSH4 0xF77C4791 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x116 PUSH2 0x1454 JUMP JUMPDEST DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x188 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD PUSH2 0x1D4 DUP2 PUSH2 0x1551 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 DUP5 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x4 CALLDATALOAD DUP3 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x1FE DUP5 PUSH2 0x1551 JUMP JUMPDEST PUSH1 0xFF DUP3 SLOAD AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x3B0 JUMPI DUP5 MSTORE PUSH1 0x1 DUP1 DUP4 ADD SLOAD SWAP3 DUP5 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x2 DUP2 ADD PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 DUP6 SWAP2 DUP2 SLOAD SWAP2 PUSH2 0x233 DUP4 PUSH2 0x15AE JUMP JUMPDEST SWAP3 DUP4 DUP7 MSTORE DUP11 DUP4 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0x36C JUMPI POP POP PUSH1 0x1 EQ PUSH2 0x32F JUMPI JUMPDEST POP POP POP PUSH1 0x3 SWAP3 SWAP2 PUSH2 0x260 SWAP2 SUB DUP5 PUSH2 0x156D JUMP JUMPDEST PUSH1 0x40 DUP8 ADD SWAP3 DUP4 MSTORE ADD SLOAD SWAP3 PUSH1 0x60 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x40 MLOAD SWAP6 DUP6 DUP8 MSTORE MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x302 JUMPI DUP6 DUP8 ADD MSTORE MLOAD PUSH1 0x40 DUP7 ADD MSTORE MLOAD PUSH1 0x80 PUSH1 0x60 DUP7 ADD MSTORE DUP1 MLOAD PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE SWAP4 DUP6 SWAP4 SWAP3 SWAP2 DUP3 JUMPDEST DUP7 DUP2 LT PUSH2 0x2EB JUMPI POP POP POP DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP3 PUSH1 0x1F SWAP3 PUSH1 0xC0 DUP1 SWAP8 DUP8 ADD ADD MSTORE MLOAD PUSH1 0x80 DUP6 ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP9 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP8 SWAP6 POP DUP3 ADD PUSH2 0x2A4 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 MSTORE DUP9 DUP8 KECCAK256 DUP10 SWAP4 POP DUP8 SWAP3 SWAP2 SWAP1 JUMPDEST DUP3 DUP5 LT PUSH2 0x354 JUMPI POP POP POP DUP3 ADD ADD DUP2 PUSH2 0x260 PUSH1 0x3 PUSH2 0x24E JUMP JUMPDEST DUP1 SLOAD DUP5 DUP10 ADD DUP7 ADD MSTORE DUP8 SWAP6 POP DUP11 SWAP5 SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x33C JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP8 DUP3 ADD MSTORE SWAP4 ISZERO ISZERO PUSH1 0x5 SHL DUP7 ADD SWAP1 SWAP4 ADD SWAP4 POP DUP5 SWAP3 POP PUSH2 0x260 SWAP2 POP PUSH1 0x3 SWAP1 POP PUSH2 0x24E JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x3FB PUSH2 0x1454 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE CALLER PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI DUP2 DUP4 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP1 DUP2 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x5AD JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI DUP1 PUSH1 0x1 DUP5 ADD SLOAD SUB PUSH2 0x52F JUMPI PUSH32 0xB6DC686A67A9620536A83F729428EF64A3E6529407D6B5E0DF3426FE6B01A260 SWAP3 PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH1 0x20 SWAP5 AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAFFBF64B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x641 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SWAP4 PUSH1 0x80 DUP6 SLT PUSH2 0xB66 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP6 PUSH2 0x67B DUP8 PUSH2 0x1519 JUMP JUMPDEST SLT PUSH2 0xB66 JUMPI PUSH1 0x40 MLOAD PUSH2 0x68C DUP2 PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x885 JUMPI DUP2 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP6 MSTORE PUSH1 0x84 CALLDATALOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x40 DUP7 ADD MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x6E0 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST SWAP5 SWAP1 PUSH1 0x4 CALLDATALOAD DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP6 DUP7 SLOAD SWAP2 PUSH1 0xFF DUP4 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ PUSH2 0xB0F JUMPI PUSH1 0x40 MLOAD PUSH2 0x722 DUP2 PUSH2 0x1519 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND DUP1 DUP3 MSTORE PUSH1 0x3 SLOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 SLOAD AND PUSH1 0x40 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 MLOAD MLOAD AND SUB PUSH2 0xAE5 JUMPI PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH2 0x7CC DUP2 PUSH2 0x7A0 PUSH1 0x40 DUP3 ADD DUP12 DUP14 PUSH2 0x1601 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 PUSH1 0x1 DUP12 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP10 DUP10 JUMPDEST DUP12 ISZERO DUP1 PUSH2 0xADC JUMPI JUMPDEST ISZERO PUSH2 0x8B7 JUMPI DUP9 DUP2 LT ISZERO PUSH2 0x88A JUMPI DUP1 PUSH1 0x6 SHL DUP11 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI CALLER EQ PUSH2 0x87C JUMPI JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x84F JUMPI PUSH1 0x1 ADD PUSH2 0x7DF JUMP JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x1 SWAP12 POP PUSH2 0x820 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP10 SWAP8 POP DUP11 ISZERO PUSH2 0xAB2 JUMPI PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP10 SWAP8 AND OR SWAP1 SSTORE PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP5 ADD MLOAD AND SWAP3 ADD MLOAD PUSH1 0x40 MLOAD SWAP3 PUSH2 0x917 DUP5 PUSH2 0x1535 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xAAE JUMPI DUP6 DUP1 SWAP5 PUSH1 0x40 SWAP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH2 0xA1D SWAP10 DUP7 MLOAD SWAP11 DUP12 SWAP10 DUP11 SWAP9 DUP10 SWAP7 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP9 MSTORE PUSH2 0x9E4 PUSH1 0x4 DUP10 ADD DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x44 DUP11 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x64 DUP9 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x84 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xA4 DUP7 ADD MSTORE JUMP JUMPDEST CALLER PUSH1 0xC4 DUP6 ADD MSTORE PUSH2 0x100 PUSH1 0xE4 DUP6 ADD MSTORE DUP1 PUSH2 0x104 DUP6 ADD MSTORE DUP1 PUSH2 0x124 SWAP6 DUP7 DUP7 ADD CALLDATACOPY DUP6 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xAA3 JUMPI PUSH2 0xA8F JUMPI JUMPDEST POP POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2A41D71AD20BB81193ADE4A1C1C4796777BA30F92F48C41FCE7EEB361E109B0E PUSH1 0x40 PUSH1 0x4 CALLDATALOAD SWAP3 LOG2 DUP1 RETURN JUMPDEST PUSH2 0xA98 SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x3DD JUMPI DUP2 DUP4 PUSH2 0xA56 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6526878800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP9 DUP2 LT PUSH2 0x7E7 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xFD6F412000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xA0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x5 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 DUP2 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x3 SSTORE PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0x885 JUMPI PUSH1 0x4 SLOAD AND OR PUSH1 0x4 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x2 SLOAD AND SWAP1 PUSH1 0x3 SLOAD SWAP1 PUSH1 0x4 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0xD5C PUSH2 0x1454 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x44 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0xD80 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND ISZERO PUSH2 0x101B JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD DUP3 PUSH2 0xDD4 DUP6 DUP8 DUP5 SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x34 SWAP4 PUSH1 0x60 SHL AND DUP3 MSTORE PUSH1 0x14 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SUB SWAP3 PUSH2 0xE06 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP5 DUP6 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 DUP8 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP8 KECCAK256 SWAP3 DUP4 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xFEE JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0xFC4 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ ISZERO DUP1 PUSH2 0xFB7 JUMPI JUMPDEST PUSH2 0xF8D JUMPI PUSH1 0x40 MLOAD PUSH2 0xE6F PUSH1 0x20 DUP3 ADD SWAP3 PUSH1 0x20 DUP5 MSTORE DUP3 PUSH2 0xE63 PUSH1 0x40 DUP3 ADD DUP9 DUP11 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 PUSH1 0x1 DUP7 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP5 PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 AND OR SWAP1 SSTORE AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xB66 JUMPI DUP4 PUSH2 0xF0E SWAP6 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xF82 JUMPI PUSH2 0xF4C JUMPI JUMPDEST POP PUSH1 0x20 PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 SWAP4 PUSH2 0xF7A PUSH1 0x20 SWAP3 PUSH2 0x14D6 JUMP JUMPDEST SWAP4 SWAP2 POP PUSH2 0xF1D JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xF268E9E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP PUSH1 0x3 DUP6 ADD SLOAD TIMESTAMP LT PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xE4D068DA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x10D6 PUSH2 0x1454 JUMP JUMPDEST SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x44 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x10F9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD DUP6 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x1111 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 SWAP5 PUSH1 0x1 SLOAD SWAP1 PUSH1 0xFF DUP3 PUSH1 0xA0 SHR AND ISZERO PUSH2 0x142C JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x40 MLOAD PUSH1 0x60 DUP9 SWAP1 SHL PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 AND PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x34 DUP4 ADD MSTORE SWAP1 PUSH2 0x1188 DUP2 PUSH1 0x54 DUP2 ADD PUSH2 0x7A0 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP4 DUP5 SLOAD SWAP7 PUSH1 0xFF DUP9 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI PUSH1 0x1 SWAP2 PUSH2 0x7A0 PUSH2 0x11F4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP4 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP6 PUSH1 0x20 DUP8 MSTORE PUSH1 0x40 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP8 AND OR DUP5 SSTORE DUP6 PUSH1 0x1 DUP6 ADD SSTORE DUP3 GT PUSH2 0x13FF JUMPI DUP2 SWAP1 PUSH2 0x1217 PUSH1 0x2 DUP6 ADD SLOAD PUSH2 0x15AE JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x13AF JUMPI JUMPDEST POP DUP5 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x1307 JUMPI DUP6 SWAP3 PUSH2 0x12FC JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x2 DUP3 ADD SSTORE JUMPDEST PUSH1 0x5 SLOAD TIMESTAMP ADD SWAP2 DUP3 TIMESTAMP GT PUSH2 0x12CF JUMPI POP SWAP2 PUSH1 0x20 SWAP5 SWAP2 PUSH1 0x3 DUP6 SWAP5 ADD SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x96EAB3103FBD8C0266ECA3E7A57929BC3BD66EF5223E2CB45F589F884FFCB9AE DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP5 AND SWAP3 LOG4 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST ADD CALLDATALOAD SWAP1 POP DUP8 DUP1 PUSH2 0x1235 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP2 PUSH1 0x2 DUP6 ADD DUP7 MSTORE PUSH1 0x20 DUP7 KECCAK256 SWAP3 DUP7 JUMPDEST DUP2 DUP2 LT PUSH2 0x1397 JUMPI POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH2 0x135F JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x2 DUP3 ADD SSTORE PUSH2 0x126A JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE DUP8 DUP1 DUP1 PUSH2 0x134F JUMP JUMPDEST SWAP2 SWAP4 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP8 DUP8 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP6 ADD SWAP3 ADD PUSH2 0x1339 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x2 DUP5 ADD DUP6 MSTORE PUSH1 0x20 DUP6 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x13F8 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x13EA JUMPI POP POP PUSH2 0x1220 JUMP JUMPDEST DUP8 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x13D4 JUMP JUMPDEST POP DUP1 PUSH2 0x13CE JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 PUSH1 0x4 SWAP3 MSTORE REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x15F7 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x15C8 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x15BD JUMP JUMPDEST SWAP2 DUP2 DUP2 MSTORE PUSH1 0x20 DUP1 SWAP2 ADD SWAP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x1621 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP6 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0xAAE JUMPI DUP2 MSTORE DUP6 DUP3 ADD CALLDATALOAD DUP3 DUP3 ADD MSTORE PUSH1 0x40 SWAP1 DUP2 ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 PUSH1 0x1 ADD SWAP1 PUSH2 0x1612 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E PUSH12 0x186204CB5B1A91903D6FED9E 0xB1 0x5E 0xD3 PUSH4 0x61835D2B SWAP2 BYTE 0xA9 0xD5 PUSH23 0xE0EA5387C864736F6C6343000811003360A034620000CE JUMPI PUSH1 0x1F PUSH3 0x306C CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH3 0xD3 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH3 0xCE JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH3 0xCE JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH3 0xCE JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP4 OR DUP2 SSTORE PUSH1 0x40 MLOAD SWAP3 SWAP1 CALLER SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP1 LOG3 PUSH1 0x1 PUSH1 0x2 SSTORE PUSH1 0x80 MSTORE PUSH2 0x2F82 SWAP1 DUP2 PUSH3 0xEA DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x389 ADD MSTORE DUP2 DUP2 PUSH2 0x1F5C ADD MSTORE PUSH2 0x24BE ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x61AB0BC EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0x186799A4 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0x1BD747A2 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0x33099405 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x5541E684 EQ PUSH2 0x128 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x8135FE23 EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x8F34A859 EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0xA37EE28C EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xAB4F5678 EQ PUSH2 0xF2 JUMPI DUP1 PUSH4 0xAC41B751 EQ PUSH2 0xE9 JUMPI DUP1 PUSH4 0xAF0F9DF3 EQ PUSH2 0xE0 JUMPI PUSH4 0xF2FDE38B EQ PUSH2 0xD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x17F0 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x16AC JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x157F JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1425 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1307 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1129 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x10F4 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xF2C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xEF7 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xE3C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xB52 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xA5E JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x908 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x7FA JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x3AD JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x35B JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x190 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x199 DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x1AA PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x1 SWAP1 PUSH2 0x2B9 PUSH2 0x1BC PUSH2 0x206C JUMP JUMPDEST SWAP2 PUSH2 0x1EA CALLER PUSH1 0x8 DUP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x0 PUSH1 0x2 DUP6 ADD PUSH2 0x225 PUSH1 0x6 DUP3 SLOAD SWAP6 ADD PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x257 PUSH1 0x3 DUP8 ADD PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST SSTORE PUSH2 0x2B3 PUSH1 0x40 PUSH2 0x297 PUSH2 0x27E DUP5 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x2717 JUMP JUMPDEST ADD SLOAD DUP2 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x2FA CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x4 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 CALLER SWAP1 PUSH32 0xB67E3AC5AA7B56D61E366985EA94BE26DB935ECA5C55E0359FD36C5852B6FA39 PUSH1 0x0 DUP1 LOG3 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP2 SUB SLT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x3D0 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x3E8 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x3F0 PUSH2 0x206C JUMP JUMPDEST SWAP1 PUSH2 0x3FD PUSH2 0x1A6 DUP3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x524 JUMPI PUSH2 0x40E PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x4D7 SWAP2 PUSH2 0x4B5 PUSH2 0x446 CALLER PUSH1 0x8 DUP6 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP4 PUSH2 0x48B PUSH1 0x3 DUP7 SLOAD SWAP4 PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 DUP2 SLOAD SWAP11 SSTORE SSTORE ADD PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E PUSH1 0x3 CALLER SWAP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2717 JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E CALLER SWAP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 CALLER SWAP3 DUP1 PUSH2 0x515 DUP2 SWAP1 PUSH1 0x3 PUSH1 0x20 PUSH1 0x40 DUP5 ADD SWAP4 PUSH1 0x0 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x522 PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xA3B1C9DE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x60 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x60 SWAP2 SUB SLT PUSH2 0xE JUMPI SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x5DF PUSH2 0x58B JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x600 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x6D0 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x6D8 PUSH2 0x58B JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SUB PUSH2 0xE JUMPI JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x732 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x64 CALLDATALOAD PUSH2 0x73F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x84 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x782 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x24 CALLDATALOAD PUSH2 0x78F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x44 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0x7B3 DUP2 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 SWAP5 DUP1 CALLDATALOAD PUSH2 0x7C3 DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP5 MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x3 NOT PUSH1 0x80 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xE JUMPI PUSH2 0x82F SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI PUSH1 0x60 SWAP1 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 DUP1 MLOAD SWAP3 PUSH2 0x854 DUP5 PUSH2 0x5E4 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD CALLDATALOAD DUP6 DUP2 GT PUSH2 0xE JUMPI DUP2 ADD CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xE JUMPI PUSH1 0x4 DUP2 ADD CALLDATALOAD SWAP1 PUSH2 0x87C DUP3 PUSH2 0x6B6 JUMP JUMPDEST SWAP1 PUSH2 0x889 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x64C JUMP JUMPDEST DUP3 DUP3 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x24 DUP5 DUP5 ADD SWAP2 PUSH1 0x6 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP8 SWAP2 ADD SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x8EF JUMPI POP POP POP SWAP1 DUP7 MSTORE POP PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE PUSH1 0x44 ADD CALLDATALOAD SWAP1 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP3 DUP4 GT PUSH2 0xE JUMPI PUSH2 0x8E4 PUSH2 0x522 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP1 SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x1E66 JUMP JUMPDEST DUP6 SWAP1 PUSH2 0x8FB CALLDATASIZE DUP6 PUSH2 0x79B JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 DUP7 SWAP1 PUSH2 0x8AA JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND SWAP1 PUSH1 0x4 SLOAD SWAP1 PUSH1 0x5 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH2 0x997 PUSH2 0x952 JUMP JUMPDEST MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD MSTORE DUP1 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 PUSH1 0xC0 PUSH1 0x60 DUP5 ADD MSTORE DUP2 MLOAD SWAP2 DUP3 PUSH1 0xE0 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA49 JUMPI POP POP POP PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 PUSH2 0xA42 PUSH1 0xA0 PUSH2 0x100 SWAP7 PUSH1 0x0 DUP9 DUP6 DUP10 ADD ADD MSTORE PUSH2 0xA2D PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x80 DUP10 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD MLOAD DUP3 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP7 ADD SWAP1 PUSH2 0x982 JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH2 0x100 ADD MSTORE DUP3 ADD PUSH2 0x9C7 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0xA0 PUSH1 0x40 MLOAD PUSH2 0xA80 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE DUP3 PUSH1 0x80 DUP3 ADD MSTORE ADD MSTORE PUSH2 0xB4E PUSH2 0xAB7 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xB42 DUP2 SLOAD SWAP2 PUSH1 0x1 DUP2 ADD SLOAD SWAP1 PUSH2 0xB34 PUSH2 0xAE7 PUSH1 0x3 DUP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0xB12 PUSH1 0x2 PUSH1 0x4 DUP6 ADD SLOAD SWAP5 PUSH2 0xAFB DUP2 PUSH2 0x27E6 JUMP JUMPDEST SWAP7 PUSH2 0xB04 PUSH2 0x68D JUMP JUMPDEST SWAP10 DUP11 MSTORE PUSH1 0x20 DUP11 ADD MSTORE ADD PUSH2 0x18D6 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 DUP7 ADD MSTORE JUMP JUMPDEST PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x99A JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 DUP1 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI CALLDATASIZE PUSH1 0x23 DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 DUP3 ADD CALLDATALOAD SWAP4 DUP5 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP4 ADD SWAP3 PUSH1 0x24 CALLDATASIZE SWAP2 DUP7 PUSH1 0x6 SHL ADD ADD GT PUSH2 0xE JUMPI PUSH2 0xBCB PUSH2 0x27E PUSH1 0x1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST CALLER SUB PUSH2 0xE16 JUMPI PUSH2 0xBE5 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH2 0xBF7 PUSH2 0x1A6 PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xDEF JUMPI PUSH2 0xC04 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0xDC8 JUMPI PUSH1 0x0 SWAP1 PUSH1 0x7 DUP6 ADD SWAP1 DUP2 SLOAD DUP8 SUB PUSH2 0xD9F JUMPI DUP3 JUMPDEST DUP8 DUP2 LT PUSH2 0xC80 JUMPI POP POP POP DUP3 DUP5 ADD SLOAD SUB PUSH2 0xC5A JUMPI POP POP PUSH1 0x5 ADD SSTORE PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST MLOAD PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH2 0xCAD PUSH2 0xC8D DUP3 DUP6 PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x3 SHL SHR AND SWAP1 JUMP JUMPDEST PUSH2 0xCC3 PUSH2 0x27E PUSH2 0xCBE DUP5 DUP13 DUP8 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x1BA3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SUB PUSH2 0xD77 JUMPI SWAP1 DUP9 DUP11 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH2 0xD72 SWAP5 PUSH2 0xD24 PUSH2 0xD1E PUSH2 0xD19 DUP8 DUP8 DUP12 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x2696 JUMP JUMPDEST DUP14 PUSH2 0x2DA4 JUMP JUMPDEST PUSH2 0xD3E PUSH1 0x20 SWAP10 DUP11 PUSH2 0xD36 DUP9 DUP9 DUP13 PUSH2 0x27C8 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 PUSH2 0x270A JUMP JUMPDEST SWAP9 PUSH2 0xD58 DUP7 PUSH2 0xD51 PUSH2 0xCBE DUP3 DUP10 DUP14 PUSH2 0x27C8 JUMP JUMPDEST SWAP7 DUP11 PUSH2 0x27C8 JUMP JUMPDEST DUP12 MLOAD SWAP2 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP3 ADD MSTORE SWAP4 AND SWAP3 PUSH1 0x40 SWAP1 LOG3 PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0xC1A JUMP JUMPDEST DUP7 DUP7 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP POP POP MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x4E16946C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0xEAF DUP2 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0xEB8 CALLDATASIZE PUSH2 0x6FB JUMP JUMPDEST DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0xE4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH2 0xEEE PUSH2 0x522 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x2388 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xF55 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xF5E DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0xF6B PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x8 DUP2 ADD SWAP1 PUSH1 0x2 PUSH2 0xFAD PUSH1 0x3 PUSH2 0xFA5 CALLER DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xFB6 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x1 PUSH2 0x1054 PUSH2 0x109D SWAP4 PUSH2 0x101F PUSH1 0x3 PUSH2 0xFF3 CALLER DUP5 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x5 DUP5 ADD PUSH2 0x102D DUP2 SLOAD PUSH2 0x26FC JUMP JUMPDEST SWAP1 SSTORE CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD DUP4 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x1095 CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x2 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x10A3 JUMPI STOP JUMPDEST PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAF20EF4A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x0 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT DUP2 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x80 DUP3 PUSH1 0x4 ADD SWAP2 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP2 ISZERO PUSH2 0x12DE JUMPI DUP4 MLOAD ADDRESS PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP3 CALLDATALOAD PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x60 DUP5 ADD MSTORE SWAP3 SWAP2 PUSH2 0x11BE DUP2 PUSH1 0x80 DUP2 ADD JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x64C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x11D6 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x1 DUP4 ADD DUP1 SLOAD PUSH2 0x12B5 JUMPI DUP4 PUSH2 0x1298 PUSH2 0x1290 DUP9 SWAP6 DUP9 SWAP6 PUSH2 0xB4E SWAP13 SWAP11 PUSH2 0x12A4 SWAP7 DUP14 SWAP12 PUSH32 0xF7CBEAC7C87F7E00FCF9440CF10B123FB3D766366A39EEB572C219C8EAC3AB46 SWAP12 SSTORE SSTORE PUSH2 0x128B PUSH1 0x64 PUSH1 0x44 DUP5 ADD SWAP4 PUSH2 0x123C PUSH2 0x1232 DUP7 DUP7 PUSH2 0x1BAD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP12 ADD PUSH2 0x1C52 JUMP JUMPDEST ADD SWAP6 PUSH1 0x3 PUSH2 0x1249 DUP9 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1BAD JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 DUP9 MLOAD SWAP6 DUP7 SWAP6 DUP7 PUSH2 0x1DC0 JUMP JUMPDEST SUB SWAP1 LOG2 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST PUSH1 0x4 DUP9 MLOAD PUSH32 0xD8876C2D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x133C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST SWAP1 PUSH2 0x134B PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH2 0x13F1 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x136B CALLER DUP6 DUP4 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1373 PUSH2 0x206C JUMP JUMPDEST DUP1 MLOAD PUSH2 0x13A1 SWAP1 PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 ADD SWAP2 DUP3 MLOAD SWAP1 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13D8 PUSH1 0x20 PUSH2 0x13CA PUSH2 0x27E PUSH1 0x3 DUP7 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP7 ADD CALLDATALOAD DUP1 SWAP7 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST CALLER DUP2 MSTORE SWAP1 DUP6 PUSH1 0x20 DUP4 ADD MSTORE MLOAD SWAP2 PUSH2 0x2CA2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD PUSH2 0x515 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x1443 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x5 GT ISZERO PUSH2 0x14EA JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x952 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 ADD SWAP1 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 SWAP3 MSTORE DUP1 PUSH1 0x40 DUP1 SWAP5 ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1529 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP4 PUSH1 0x80 PUSH1 0x1 SWAP3 PUSH2 0x1572 DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP4 MSTORE DUP5 DUP2 ADD MLOAD DUP6 DUP5 ADD MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP5 ADD MSTORE PUSH1 0x60 DUP1 SWAP2 ADD MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST ADD SWAP7 ADD SWAP5 SWAP4 SWAP3 ADD SWAP1 PUSH2 0x151A JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH2 0x15A8 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SWAP2 DUP3 SLOAD SWAP2 PUSH2 0x15B9 DUP4 PUSH2 0x19A5 JUMP JUMPDEST SWAP4 PUSH1 0x8 PUSH1 0x0 SWAP3 ADD SWAP2 JUMPDEST DUP5 DUP2 LT PUSH2 0x15D7 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH2 0xB4E DUP9 DUP3 PUSH2 0x14FF JUMP JUMPDEST DUP1 PUSH2 0x1619 PUSH2 0x1614 PUSH2 0x15EE PUSH2 0xC8D PUSH2 0x16A7 SWAP6 DUP8 PUSH2 0x1AC9 JUMP JUMPDEST DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1AFB JUMP JUMPDEST PUSH2 0x168C PUSH2 0x163A DUP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 DUP8 DUP2 ADD MLOAD SWAP1 PUSH1 0x40 DUP1 DUP3 ADD MLOAD SWAP1 PUSH1 0x60 DUP1 SWAP4 ADD MLOAD SWAP4 PUSH2 0x1657 DUP6 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x167E PUSH2 0x1662 PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP9 AND DUP9 MSTORE JUMP JUMPDEST DUP12 DUP8 ADD MSTORE DUP6 ADD MSTORE DUP4 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH2 0x1696 DUP3 DUP10 PUSH2 0x1B72 JUMP JUMPDEST MSTORE PUSH2 0x16A1 DUP2 DUP9 PUSH2 0x1B72 JUMP JUMPDEST POP PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0x15C2 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x16CA DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH2 0x16D3 CALLDATASIZE PUSH2 0x54E JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH1 0x40 DUP2 PUSH2 0x174A PUSH2 0x179E SWAP4 CALLDATALOAD PUSH2 0x1709 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x3 SLOAD AND OR PUSH1 0x3 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x4 SSTORE ADD CALLDATALOAD PUSH2 0x175D DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x5 SLOAD AND OR PUSH1 0x5 SSTORE JUMP JUMPDEST AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x180E DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x18CC JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x189D JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1892 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x18EA DUP5 PUSH2 0x1883 JUMP JUMPDEST SWAP1 DUP2 DUP5 MSTORE PUSH1 0x1 SWAP5 DUP6 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x1957 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1914 JUMPI JUMPDEST POP POP PUSH2 0x69A SWAP3 POP SUB DUP4 PUSH2 0x64C JUMP JUMPDEST SWAP1 SWAP4 SWAP2 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 DUP2 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x193F JUMPI POP POP PUSH2 0x69A SWAP4 POP DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST DUP6 SLOAD DUP9 DUP5 ADD DUP6 ADD MSTORE SWAP5 DUP6 ADD SWAP5 DUP8 SWAP5 POP SWAP2 DUP4 ADD SWAP2 PUSH2 0x1927 JUMP JUMPDEST SWAP1 POP PUSH2 0x69A SWAP6 POP PUSH1 0x20 SWAP4 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP2 POP AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x19AF DUP3 PUSH2 0x6B6 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH2 0x19BE DUP3 MLOAD SWAP2 DUP3 PUSH2 0x64C JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x19EC DUP3 SWAP6 PUSH2 0x6B6 JUMP JUMPDEST ADD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x19FE JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 MLOAD PUSH2 0x1A0C DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE PUSH1 0x0 DUP6 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x60 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH2 0x19F1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1A8D JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A2F JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 SLOAD DUP3 LT ISZERO PUSH2 0x1AE2 JUMPI JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SWAP1 PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1AEA PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1AD3 JUMP JUMPDEST PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x69A PUSH1 0x40 MLOAD PUSH2 0x1B0B DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x60 PUSH1 0xFF PUSH1 0x3 DUP4 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 SLOAD AND DUP6 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 DUP7 ADD MSTORE ADD SLOAD AND SWAP2 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP1 MLOAD ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A99 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP2 DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B87 JUMPI JUMPDEST PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x1B8F PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1B7F JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0xE JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0xE JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x1C0C JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP4 ADD SWAP5 LT PUSH2 0x1C48 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH2 0x1C3D JUMPI POP POP POP JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1C31 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x1C28 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1D74 JUMPI JUMPDEST PUSH2 0x1C79 DUP2 PUSH2 0x1C73 DUP5 SLOAD PUSH2 0x1883 JUMP JUMPDEST DUP5 PUSH2 0x1BFE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1CD0 JUMPI DUP2 SWAP3 SWAP4 SWAP5 PUSH1 0x0 SWAP3 PUSH2 0x1CC5 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE JUMP JUMPDEST ADD CALLDATALOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x1C92 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP5 PUSH2 0x1D03 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 DUP1 JUMPDEST DUP8 DUP2 LT PUSH2 0x1D5C JUMPI POP DUP4 PUSH1 0x1 SWAP6 SWAP7 SWAP8 LT PUSH2 0x1D24 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x1D1A JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP7 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP5 ADD SWAP2 ADD PUSH2 0x1D06 JUMP JUMPDEST PUSH2 0x1D7C PUSH2 0x58B JUMP JUMPDEST PUSH2 0x1C65 JUMP JUMPDEST PUSH1 0x1F DUP3 PUSH1 0x20 SWAP5 SWAP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP4 DUP2 DUP7 MSTORE DUP7 DUP7 ADD CALLDATACOPY PUSH1 0x0 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST SWAP4 SWAP3 PUSH1 0x60 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 PUSH2 0x1DFA SWAP4 SWAP9 SWAP8 SWAP9 DUP8 MSTORE PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x80 PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x80 DUP7 ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST SWAP5 AND SWAP2 ADD MSTORE JUMP JUMPDEST ISZERO PUSH2 0x1E08 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5245454E5452414E435900000000000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP1 SWAP4 PUSH2 0x1E78 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x1E90 DUP5 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x1E9C CALLER DUP8 DUP6 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1EA4 PUSH2 0x206C JUMP JUMPDEST SWAP6 PUSH2 0x1ECD PUSH2 0x1EB2 DUP7 MLOAD PUSH2 0x1B4B JUMP JUMPDEST MLOAD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x1EEF PUSH2 0x27E DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x1F19 PUSH2 0x1EB2 DUP8 MLOAD PUSH2 0x1B61 JUMP JUMPDEST DUP3 PUSH2 0x1F3E PUSH2 0x27E PUSH1 0x3 DUP10 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x2042 JUMPI PUSH1 0x20 DUP1 SWAP2 ADD CALLDATALOAD SWAP8 ADD SWAP3 PUSH2 0x1F59 DUP5 MLOAD DUP10 PUSH2 0x2B70 JUMP JUMPDEST SWAP2 PUSH32 0x0 AND DUP1 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x1FDF SWAP7 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x1FC6 PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0xEDD9444B00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x210A JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x2035 JUMPI JUMPDEST PUSH2 0x201C JUMPI JUMPDEST POP PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD JUMPDEST SUB SWAP1 LOG3 PUSH2 0x69A PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x202F SWAP3 PUSH2 0x638 JUMP JUMPDEST DUP1 PUSH2 0x350 JUMP JUMPDEST CODESIZE PUSH2 0x1FD6 JUMP JUMPDEST PUSH2 0x203D PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x1FD1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x2079 DUP3 PUSH2 0x5E4 JUMP JUMPDEST DUP2 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND DUP4 MSTORE PUSH1 0x4 SLOAD PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x5 SLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x20C9 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 DUP3 PUSH1 0x40 DUP3 PUSH2 0x20FE PUSH1 0x1 SWAP5 DUP10 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 ADD PUSH2 0x20BB JUMP JUMPDEST SWAP1 SWAP6 SWAP5 SWAP3 SWAP4 SWAP2 PUSH1 0x80 DUP3 MSTORE PUSH1 0xE0 DUP3 ADD SWAP7 DUP1 MLOAD SWAP1 PUSH1 0x60 PUSH1 0x80 DUP6 ADD MSTORE DUP2 MLOAD DUP1 SWAP10 MSTORE PUSH2 0x100 DUP5 ADD SWAP9 PUSH1 0x20 DUP1 SWAP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x2199 JUMPI POP POP POP SWAP8 PUSH2 0x218C SWAP3 DUP3 PUSH1 0x40 DUP12 PUSH2 0x216D SWAP6 PUSH2 0x1BA0 SWAP13 SWAP14 ADD MLOAD PUSH1 0xA0 DUP10 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP8 ADD MSTORE DUP6 DUP4 SUB SWAP1 DUP7 ADD MSTORE PUSH2 0x20A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP6 AND PUSH1 0x40 DUP4 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 DUP6 SUB SWAP2 ADD MSTORE PUSH2 0x1D81 JUMP JUMPDEST SWAP1 SWAP2 SWAP11 DUP5 PUSH1 0x40 DUP3 PUSH2 0x21CE DUP16 SWAP5 PUSH1 0x1 SWAP6 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP13 ADD SWAP3 SWAP2 ADD PUSH2 0x2137 JUMP JUMPDEST POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x226F PUSH1 0x20 DUP1 DUP7 ADD SWAP6 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH2 0x2257 DUP2 PUSH2 0x1192 DUP7 DUP10 DUP10 PUSH1 0x24 DUP6 ADD PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 SWAP5 PUSH1 0x60 DUP3 ADD SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP4 MSTORE AND PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x0 SWAP7 DUP8 SWAP2 MLOAD SWAP1 DUP3 DUP11 GAS CALL DUP6 MLOAD PUSH1 0x1 EQ RETURNDATASIZE ISZERO OR AND ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x227B JUMPI JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2284 SWAP1 PUSH2 0x233D JUMP JUMPDEST SWAP4 PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 SWAP2 DUP3 EXTCODESIZE ISZERO PUSH2 0x2339 JUMPI PUSH1 0x40 MLOAD PUSH32 0x36C7851600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP4 DUP2 AND PUSH1 0x24 DUP6 ADD MSTORE SWAP5 DUP6 AND PUSH1 0x44 DUP5 ADD MSTORE SWAP1 SWAP4 AND PUSH1 0x64 DUP3 ADD MSTORE SWAP2 DUP3 SWAP1 PUSH1 0x84 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x232C JUMPI JUMPDEST PUSH2 0x2319 JUMPI JUMPDEST DUP1 DUP1 DUP1 DUP1 PUSH2 0x2274 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x2326 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x2310 JUMP JUMPDEST PUSH2 0x2334 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x230B JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x235E JUMPI AND SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC4BD89A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x2399 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x23B1 DUP4 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP4 PUSH2 0x23BB DUP6 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x23CF PUSH2 0x1A6 PUSH2 0x23C9 PUSH2 0x1B94 JUMP JUMPDEST DUP8 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x240A PUSH2 0x1614 PUSH2 0x23E1 PUSH2 0x1B94 JUMP JUMPDEST PUSH1 0x8 DUP9 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 DUP3 ADD SWAP2 PUSH1 0x2 DUP4 MLOAD PUSH2 0x241D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2426 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x20 ADD SWAP6 DUP7 MLOAD SWAP7 PUSH1 0x44 CALLDATALOAD DUP1 SWAP9 GT PUSH2 0x25BB JUMPI PUSH2 0x2447 SWAP1 MLOAD DUP9 PUSH2 0x25E5 JUMP JUMPDEST SWAP4 PUSH2 0x2468 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 MLOAD AND SWAP1 JUMP JUMPDEST SWAP5 PUSH2 0x248D PUSH2 0x27E PUSH1 0x3 DUP6 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP8 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x24B2 PUSH2 0x69C JUMP JUMPDEST ADDRESS DUP2 MSTORE SWAP1 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH32 0x0 AND SWAP7 DUP8 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 SWAP8 PUSH2 0x2577 SWAP6 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x254B PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x25FA JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x25AE JUMPI JUMPDEST PUSH2 0x259B JUMPI JUMPDEST POP DUP3 MLOAD SWAP1 PUSH2 0x2568 DUP3 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2571 CALLDATASIZE PUSH2 0x74B JUMP JUMPDEST SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH2 0x200F PUSH2 0x2582 PUSH2 0x1B94 JUMP JUMPDEST SWAP2 MLOAD PUSH2 0x258D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 AND SWAP7 DUP4 PUSH2 0x26A1 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x25A8 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x255B JUMP JUMPDEST PUSH2 0x25B6 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x2556 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC52E3EFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x1A2F JUMP JUMPDEST SWAP2 SWAP3 PUSH2 0x267F PUSH2 0x1BA0 SWAP7 SWAP5 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 PUSH2 0x2647 DUP8 DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD DUP9 DUP5 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x60 DUP8 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP8 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE JUMP JUMPDEST AND PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x100 SWAP1 DUP2 PUSH1 0xE0 DUP3 ADD MSTORE ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST PUSH2 0x1BA0 SWAP1 CALLDATASIZE SWAP1 PUSH2 0x79B JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP2 ADD SWAP3 SWAP2 PUSH2 0x69A SWAP2 PUSH1 0x20 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x26EF JUMPI JUMPDEST PUSH1 0xFF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP4 SLOAD AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x26F7 PUSH2 0x952 JUMP JUMPDEST PUSH2 0x26C2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 PUSH1 0x44 SWAP3 PUSH1 0x20 SWAP6 PUSH1 0x40 MLOAD SWAP4 PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x276A JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F4641494C45440000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x27D9 JUMPI JUMPDEST PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x27E1 PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x27D2 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO PUSH2 0x2817 JUMPI PUSH1 0x5 DUP3 ADD SLOAD LT ISZERO PUSH2 0x2811 JUMPI PUSH1 0x6 ADD SLOAD PUSH1 0xFF AND PUSH2 0x280C JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST POP PUSH1 0x2 SWAP1 JUMP JUMPDEST POP PUSH1 0x1 ADD SLOAD PUSH2 0x284A JUMPI PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 SWAP2 DUP3 DUP2 MSTORE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 SWAP3 PUSH1 0x5 SHL DUP1 SWAP3 DUP5 DUP4 ADD CALLDATACOPY ADD ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 MSTORE PUSH1 0x40 PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD PUSH2 0x28B7 DUP2 PUSH2 0x6DD JUMP JUMPDEST AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP3 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0xE JUMPI ADD PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI DUP1 PUSH1 0x5 SHL CALLDATASIZE SUB DUP3 SGT PUSH2 0xE JUMPI PUSH1 0xA0 DUP4 PUSH1 0x60 PUSH1 0x80 PUSH2 0x1BA0 SWAP7 ADD MSTORE ADD SWAP2 PUSH2 0x284F JUMP JUMPDEST SWAP2 PUSH2 0x2939 DUP4 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x2943 DUP2 DUP5 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x2A23 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2968 PUSH2 0x27E DUP5 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x29F9 JUMPI PUSH1 0x1 PUSH20 0x17C1E395FE81A90AF2D0289A009317D5ACB98F9F SWAP3 ADD SLOAD SWAP1 DUP3 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x29CD SWAP3 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP6 DUP2 SWAP5 DUP3 SWAP4 PUSH32 0xBA5D2C3400000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH2 0x288C JUMP JUMPDEST SUB SWAP2 GAS DELEGATECALL DUP1 ISZERO PUSH2 0x29EC JUMPI JUMPDEST PUSH2 0x29DF JUMPI POP JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x69A SWAP3 PUSH2 0x638 JUMP JUMPDEST PUSH2 0x29F4 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x29D8 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6D9BF6DF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD ISZERO PUSH2 0x2AC6 JUMPI PUSH1 0xFF PUSH1 0x6 DUP3 ADD SLOAD AND PUSH2 0x2A9C JUMPI PUSH2 0x2A6C SWAP1 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x2A72 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B03 JUMPI POP POP SWAP1 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD LT ISZERO SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 PUSH1 0x7 DUP3 ADD SLOAD ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B21 JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH2 0x2B68 PUSH1 0x8 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 SWAP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SLOAD AND SWAP2 AND EQ SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x2B82 DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT PUSH2 0x2BE8 JUMPI POP POP SWAP1 DUP3 SWAP2 PUSH2 0x2BE5 SWAP4 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x2BA7 DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BB8 DUP5 PUSH2 0x1B4B JUMP JUMPDEST MSTORE PUSH2 0x2BC2 DUP4 PUSH2 0x1B4B JUMP JUMPDEST POP MLOAD SWAP1 PUSH2 0x2BCE DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BDF DUP3 PUSH2 0x1B61 JUMP JUMPDEST MSTORE PUSH2 0x1B61 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH2 0x2BF6 DUP2 PUSH2 0x5BB JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH2 0x2B8A JUMP JUMPDEST PUSH1 0x3 PUSH1 0x60 PUSH2 0x69A SWAP4 PUSH2 0x2C6E PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 MLOAD AND DUP6 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 DUP6 ADD SSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x2 DUP6 ADD SSTORE ADD MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI JUMPDEST ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x2C9D PUSH2 0x952 JUMP JUMPDEST PUSH2 0x2C8F JUMP JUMPDEST SWAP2 PUSH1 0x4 SWAP1 PUSH2 0x2D88 PUSH2 0x2D93 SWAP4 PUSH1 0x7 DUP7 ADD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 PUSH2 0x2CEF DUP3 DUP5 MLOAD AND SWAP2 DUP1 SLOAD SWAP1 PUSH9 0x10000000000000000 DUP3 LT ISZERO PUSH2 0x2D97 JUMPI JUMPDEST PUSH1 0x1 DUP3 ADD DUP2 SSTORE PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SWAP3 DUP4 SLOAD SWAP2 PUSH1 0x3 SHL SWAP1 DUP2 SHL SWAP3 DUP4 SWAP2 SHL AND SWAP2 NOT AND OR SWAP1 SSTORE PUSH2 0x2D83 PUSH2 0x23E1 PUSH2 0x2D29 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x20 DUP2 ADD SWAP6 DUP7 MLOAD PUSH2 0x2D58 PUSH2 0x2D3C PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP8 AND DUP8 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP6 ADD MSTORE MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2C0A JUMP JUMPDEST MLOAD SWAP3 ADD SWAP2 DUP3 SLOAD PUSH2 0x270A JUMP JUMPDEST SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x2D9F PUSH2 0x58B JUMP JUMPDEST PUSH2 0x2CE4 JUMP JUMPDEST SWAP1 PUSH1 0x3 PUSH1 0x8 PUSH2 0x69A SWAP4 ADD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 PUSH2 0x2DF2 DUP5 DUP4 MLOAD AND DUP3 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x2E9F DUP6 DUP5 MLOAD AND SWAP6 PUSH2 0x2E5B PUSH1 0x2 PUSH1 0x20 DUP8 ADD MLOAD SWAP5 ADD SLOAD SWAP5 PUSH1 0x40 MLOAD SWAP9 PUSH2 0x2E15 DUP11 PUSH2 0x61C JUMP JUMPDEST DUP10 MSTORE PUSH1 0x20 DUP10 ADD SWAP5 DUP6 MSTORE PUSH1 0x40 DUP10 ADD SWAP6 DUP7 MSTORE DUP3 PUSH1 0x60 DUP11 ADD SWAP8 PUSH2 0x2E35 DUP10 PUSH1 0x2 SWAP1 MSTORE JUMP JUMPDEST MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP7 MLOAD AND DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST MLOAD PUSH1 0x1 DUP6 ADD SSTORE MLOAD PUSH1 0x2 DUP5 ADD SSTORE MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x69A SWAP3 PUSH1 0x8 PUSH1 0x3 SWAP3 ADD SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2E9F PUSH2 0x2F0C DUP3 DUP5 MLOAD AND DUP8 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x2E5B DUP2 DUP6 MLOAD AND SWAP8 DUP3 PUSH1 0x2 PUSH1 0x20 DUP9 ADD MLOAD SWAP7 ADD SLOAD SWAP7 PUSH1 0x40 MLOAD SWAP11 PUSH2 0x2F2E DUP13 PUSH2 0x61C JUMP JUMPDEST DUP12 MSTORE PUSH1 0x20 DUP12 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP12 ADD SWAP8 DUP9 MSTORE PUSH2 0x2E35 PUSH1 0x60 DUP13 ADD SWAP10 DUP11 PUSH2 0x1AEF JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 ADDRESS MUL 0x5E 0xB7 STATICCALL 0xEE GT JUMPDEST SWAP3 PUSH11 0xE2DACAC846043B74762EAB CALLCODE XOR 0xD7 0xAF PUSH9 0x7E916F583764736F6C PUSH4 0x43000811 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 LOG2 JUMPDEST SAR PUSH29 0xDB9A897FF06735BA755C8E660D2EA9B3A918DD78B8284F2E57B40B6473 PUSH16 0x6C634300081100330000000000000000 ", + "sourceMap": "526:3027:37:-:0;;;;;;;782:4:2;526:3027:37;;782:4:2;526:3027:37;;;782:4:2;526:3027:37;;817:1;526:3027;;846:1;526:3027;886:20;;526:3027;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_available_length_bytes_fromMemory": { + "entryPoint": 4468, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_contract_Permit2_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_string": { + "entryPoint": 3873, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_string_string": { + "entryPoint": 4376, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_struct_DepositConfig": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_literal_to_memory_8f423b6c3d78cca2f68bec7b5c05ee96c00e66d21e47351c53047793ab009322": { + "entryPoint": 6343, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "copy_literal_to_memory_b8d7262bda9546e529c706fef0341e7f1d2c48dd364ad92b56942bac368e0d7b": { + "entryPoint": 4317, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 3836, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 3750, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 3485, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_12625": { + "entryPoint": 3359, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_12629": { + "entryPoint": 3427, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_17848": { + "entryPoint": 3456, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_generateRegisteredContractsJson": { + "entryPoint": 5269, + "id": 30234, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_loadEnvAddress": { + "entryPoint": 4118, + "id": 30324, + "parameterSlots": 2, + "returnSlots": 1 + }, + "fun_loadEnvUint": { + "entryPoint": 3942, + "id": 30294, + "parameterSlots": 2, + "returnSlots": 1 + }, + "fun_mkdir": { + "entryPoint": 4580, + "id": 30162, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_registerContract": { + "entryPoint": 6402, + "id": 30110, + "parameterSlots": 2, + "returnSlots": 0 + }, + "increment_uint256": { + "entryPoint": 3551, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_string_dyn": { + "entryPoint": 4451, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_string_dyn_12710": { + "entryPoint": 4420, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_string_dyn_12713": { + "entryPoint": 4434, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "storage_array_index_access_struct_ContractData_dyn": { + "entryPoint": 3644, + "id": null, + "parameterSlots": 1, + "returnSlots": 2 + } + }, + "object": "608060408181526004803610156200001657600080fd5b600092833560e01c918263c0406226146200008357505063f8ccbf47146200003d57600080fd5b346200007f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200007f5760209060ff600c541690519015158152f35b5080fd5b8492503462000d1b57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000d1b5762000118936010928354620000cb8262000d80565b600a82526020917f41524249545241544f52000000000000000000000000000000000000000000008382015273ffffffffffffffffffffffffffffffffffffffff97889182841662001016565b167fffffffffffffffffffffffff00000000000000000000000000000000000000008092161785556011549087620001888551620001568162000d80565b601181527f4152424954524154494f4e5f544f4b454e0000000000000000000000000000008682015282851662001016565b16911617601155620001d3601254835190620001a48262000d80565b600c82527f444953505554455f434f535400000000000000000000000000000000000000008483015262000f66565b6012556200021a601354835190620001eb8262000d80565b600b82527f41505045414c5f434f53540000000000000000000000000000000000000000008483015262000f66565b60135562000261601454835190620002328262000d80565b601682527f5245534f4c5554494f4e5f4c4f434b5f504552494f44000000000000000000008483015262000f66565b601455737109709ecfa91a80626ff3989d68f67f5b1dd12d93843b15620009745782517f7fb5297f00000000000000000000000000000000000000000000000000000000815286818681838a5af1801562000d115762000cfb575b5060115487168062000cf4575082516112bf8082019082821067ffffffffffffffff83111762000cc85760e091839162001b79833960608152600b60608201527f436f75727420546f6b656e000000000000000000000000000000000000000000608082015260a086820152600260a08201527f435400000000000000000000000000000000000000000000000000000000000060c082015260128782015203019087f0801562000cbe578716803b1562000bd85783517f40c10f190000000000000000000000000000000000000000000000000000000081523286820152681105a0185b50a800006024820152878160448183865af1801562000bdc5790889162000ca6575b5050905b62000409845192620003d98462000d80565b8284527f4172626974726174696f6e546f6b656e0000000000000000000000000000000093848682015262001902565b8780825416801560001462000c89575060308551848152600e8482015220541684516117a28082019082821067ffffffffffffffff83111762000c5d57916200047581926103149462002e3884396e22d473030f116ddee9f6b43ac78ba3815232602082015260400190565b03908af5801562000bdc5789169060145490601354875191620004988362000d63565b8252868201523287820152823b1562000c595762000518908751927f410fa8e6000000000000000000000000000000000000000000000000000000008452898401526001602484015260448301906040908173ffffffffffffffffffffffffffffffffffffffff9182815116855260208101516020860152015116910152565b888160a48183865af1801562000c02578a949392918a9162000c38575b50506030929162000552600e926200054c620018c7565b62001902565b86519283528201522054169286602a84517f41726269747261746f72000000000000000000000000000000000000000000008152600e600a8201522054169683519761306c9889810167ffffffffffffffff9a8282108c83111762000c0c5791620005e0819261031494620045da84396e22d473030f116ddee9f6b43ac78ba3815232602082015260400190565b03908af5801562000bdc57821690601254865197620005ff8962000d63565b8852858801523286880152813b1562000982578551907faf0f9df30000000000000000000000000000000000000000000000000000000082528482015262000679602497888301906040908173ffffffffffffffffffffffffffffffffffffffff9182815116855260208101516020860152015116910152565b888160848183865af1801562000c025790899162000be6575b5050620006d5908551620006a68162000d80565b601c81527f436f6c6c61746572616c41677265656d656e744672616d65776f726b000000008682015262001902565b853b1562000bd85783517f76eadd3600000000000000000000000000000000000000000000000000000000815287818481838b5af1801562000bdc5790889162000bc0575b5050600d549085885b838110620009b357505050506200073962001495565b96835191838301918383109083111762000986578798828699989952878452620007b78651620007b17f6465706c6f796d656e74732f000000000000000000000000000000000000000096878984015251958287620007a0602c998a948585019062000efc565b810103600c81018452018262000d9d565b620011e4565b620007c1620010dd565b98620007f5848851809c888a830152620007e4815180928c868601910162000efc565b810103600c81018d52018b62000d9d565b803b156200098257620008399989809489519c8d95869485937f897e0a97000000000000000000000000000000000000000000000000000000008552840162001118565b03925af19687156200097857869762000954575b5062000940929162000885620009139262000867620010dd565b92875193849187830152620007a08151809289868601910162000efc565b845194620008938662000d63565b602186527f53746f726564206465706c6f796d656e74206d616e6966657374206174202573848701527f2e0000000000000000000000000000000000000000000000000000000000000081870152519485938401967f4b5c4277000000000000000000000000000000000000000000000000000000008852840162001118565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262000d9d565b51906a636f6e736f6c652e6c6f675afa5080f35b620009659096919693929362000d1f565b6200097457908594886200084d565b8580fd5b84513d88823e3d90fd5b8880fd5b604186917f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b8986620009c08362000e3c565b50620009cc8462000e3c565b508660018092015416918b805191620009e58362000d80565b60058084527f25733d2573000000000000000000000000000000000000000000000000000000878501528251948892805462000a218162000ea6565b8089529381841691821562000b7957505060011462000b20575b5050509362000ace8462000a9d62000b01958a999562000a6560609962000b189f9b038562000d9d565b519788968701997f95ed0195000000000000000000000000000000000000000000000000000000008b52870152608486019062000f21565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc85830301604486015262000f21565b906064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262000d9d565b51906a636f6e736f6c652e6c6f675afa5062000ddf565b869062000723565b8952878920979a978993505b82841062000b4d575096999650508301850162000ace8462000a9d62000a3b565b9195985093965083919598999250805483878a0101520193018f9592908d918f96938e9a999662000b2c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168b8a015293151590931b87018901935062000ace925086915062000a9d905062000a3b565b62000bcb9062000d1f565b62000bd85786896200071a565b8680fd5b85513d8a823e3d90fd5b62000bf19062000d1f565b62000bfe57878a62000692565b8780fd5b86513d8b823e3d90fd5b60248b6041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b62000c4891929394955062000d1f565b62000bfe5790889291888b62000535565b8980fd5b60248b60418b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60309262000ca0600e926200054c969496620018c7565b62000552565b62000cb19062000d1f565b62000bd8578689620003c3565b83513d88823e3d90fd5b6024896041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b90620003c7565b62000d099096919662000d1f565b9487620002bc565b84513d89823e3d90fd5b8280fd5b67ffffffffffffffff811162000d3457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff82111762000d3457604052565b6040810190811067ffffffffffffffff82111762000d3457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111762000d3457604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811462000e0d5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600d5481101562000e7757600d60005260011b7fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600182811c9216801562000ef1575b602083101462000ec257565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f169162000eb6565b60005b83811062000f105750506000910152565b818101518382015260200162000eff565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000f5f8151809281875287808801910162000efc565b0116010190565b602062000faa919392604051809381927fc1978d1f000000000000000000000000000000000000000000000000000000008352846004840152602483019062000f21565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa6000918162000fda575b5062000fd65750565b9150565b90916020823d82116200100d575b8162000ff76020938362000d9d565b810103126200100a575051903862000fcd565b80fd5b3d915062000fe8565b60206200105a919392604051809381927f350d56bf000000000000000000000000000000000000000000000000000000008352846004840152602483019062000f21565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa809160009162001088575b509062000fd65750565b6020813d8211620010d4575b81620010a36020938362000d9d565b810103126200007f57519073ffffffffffffffffffffffffffffffffffffffff821682036200100a5750386200107e565b3d915062001094565b60405190620010ec8262000d80565b600b82527f6c61746573742e6a736f6e0000000000000000000000000000000000000000006020830152565b909162001132620011419360408452604084019062000f21565b91602081840391015262000f21565b90565b80511562000e775760200190565b80516001101562000e775760400190565b80516002101562000e775760600190565b9092919267ffffffffffffffff811162000d345760405191620011c060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f850116018462000d9d565b829482845282820111620011df576020620011dd93019062000efc565b565b600080fd5b60409081519281519060ff6020958681818701956200120581838962000efc565b8101600f81520301902054166200148e57835191608083019367ffffffffffffffff948481108682111762000d345786526003845260005b606080821015620012565785820189015287016200123d565b50509195939490929481516200126c8162000d80565b600581527f6d6b64697200000000000000000000000000000000000000000000000000000086820152620012a08762001144565b52620012ac8662001144565b508151620012ba8162000d80565b600281527f2d7000000000000000000000000000000000000000000000000000000000000086820152620012ee8762001152565b52620012fa8662001152565b5082620013078762001163565b52620013138662001163565b508151957f891604670000000000000000000000000000000000000000000000000000000087528660248101876004830152825180915260448201908860448260051b8501019401916000905b8a8383106200144357505050505080600092038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200143857620013e5575b50620013b094505193849283925192839162000efc565b8101600f81520301902060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b3d806000883e620013f7818862000d9d565b8601958581880312620011df578051918211620011df570185601f82011215620011df57620013b0958186620014309351910162001174565b503862001399565b82513d6000823e3d90fd5b6200147e877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc83949698600196989a03018652885162000f21565b9601920192018a93919262001360565b9350505050565b600d54908115620018a05760408051906020937f7b0a000000000000000000000000000000000000000000000000000000000000858401526002908184528284019367ffffffffffffffff948181108682111762000d345784529360009291905b8184106200155a575050505062001141917f7d00000000000000000000000000000000000000000000000000000000000000939460219251948262001545879451809285808801910162000efc565b83019182015203600181018452018262000d9d565b90919294620015698662000e3c565b50620015758762000e3c565b509073ffffffffffffffffffffffffffffffffffffffff60018093015416918751907f56ca623e0000000000000000000000000000000000000000000000000000000082526004938483015260246000838281737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa92831562001895578d9060009462001841575b5050818b0190818c116200181557508c9291908803620017d8578951620016198162000d80565b8981527f220a00000000000000000000000000000000000000000000000000000000000084820152935b8a51966200165a8151809287808c01910162000efc565b87017f202200000000000000000000000000000000000000000000000000000000000085820152600092825492620016928462000ea6565b9382811690811562001789575060011462001747575b5050505092859492620017086200173e9793867f223a202200000000000000000000000000000000000000000000000000000000620017379852620016f682518093868a8501910162000efc565b01918351938491878501910162000efc565b01037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe481018452018262000d9d565b9562000ddf565b929190620014f6565b600090815286812093945091925b84831062001774575050500160220182620017088362001737620016a8565b80548484016022015291860191810162001755565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016602280860191909152851515909502909301909301935085925062001708915084905062001737620016a8565b8951620017e58162000d80565b600381527f222c0a0000000000000000000000000000000000000000000000000000000000848201529362001643565b6011867f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b939091933d8083833e62001856818362000d9d565b810192818403126200007f5780519089821162000d1b57019082601f830112156200100a575080516200188c92918f0162001174565b918c38620015f2565b8a513d6000823e3d90fd5b90506040516020810181811067ffffffffffffffff82111762000d34576040526000815290565b60405190620018d68262000d80565b600a82527f41726269747261746f72000000000000000000000000000000000000000000006020830152565b9190604051604081019367ffffffffffffffff948281108682111762000d34576040528082526020908183019373ffffffffffffffffffffffffffffffffffffffff80911693848652600d54906801000000000000000082101562000d345762001974600192838101600d5562000e3c565b91909162001b49575198895190811162000d345762001994825462000ea6565b601f811162001afb575b5085601f821160011462001a5157819062001a3298999a9b60009262001a45575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82851b9260031b1c19161781555b01955116947fffffffffffffffffffffffff00000000000000000000000000000000000000009586825416179055816040519382858094519384920162000efc565b8101600e81520301902091825416179055565b015190503880620019bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082169a83600052876000209b60005b81811062001ae557509162001a32999a9b9c91848795941062001aad575b505050811b018155620019f0565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c1916905538808062001a9f565b838301518e559c86019c92890192890162001a81565b6000838152878120601f840160051c81019289851062001b3e575b601f0160051c019185905b83811062001b32575050506200199e565b82815501859062001b21565b909250829062001b16565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fdfe60e0604090808252346200043c57620012bf803803809162000022828562000441565b833981016060828203126200043c5781516001600160401b0393908481116200043c57826200005391850162000465565b92602092838201518681116200043c5783916200007291840162000465565b91015160ff811681036200043c578451948686116200042657600095806200009b8854620004dc565b92601f93848111620003d5575b5087908483116001146200036d57899262000361575b50508160011b916000199060031b1c19161786555b8251908782116200034d578190600194620000ef8654620004dc565b828111620002f8575b50879183116001146200029457889262000288575b5050600019600383901b1c191690831b1782555b6080524660a052815184549181866200013a85620004dc565b92838352878301958882821691826000146200026857505060011462000228575b506200016a9250038262000441565b519020928151928301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8552828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401524660808401523060a084015260a0835260c08301948386109086111762000214575083905251902060c052610da590816200051a82396080518161077e015260a05181610b97015260c05181610bbe0152f35b634e487b7160e01b81526041600452602490fd5b8791508880528189209089915b8583106200024f5750506200016a9350820101386200015b565b8054838801850152869450899390920191810162000235565b60ff191688526200016a95151560051b85010192503891506200015b9050565b0151905038806200010d565b8589528789208694509190601f1984168a5b8a828210620002e15750508411620002c7575b505050811b01825562000121565b015160001960f88460031b161c19169055388080620002b9565b8385015186558997909501949384019301620002a6565b909192508589528789208380860160051c8201928a871062000343575b91869589929594930160051c01915b82811062000334575050620000f8565b8b815586955088910162000324565b9250819262000315565b634e487b7160e01b87526041600452602487fd5b015190503880620000be565b898052888a209250601f1984168a5b8a828210620003be575050908460019594939210620003a4575b505050811b018655620000d3565b015160001960f88460031b161c1916905538808062000396565b60018596829396860151815501950193016200037c565b9091508880528789208480850160051c8201928a86106200041c575b9085949392910160051c01905b8181106200040d5750620000a8565b8a8155849350600101620003fe565b92508192620003f1565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200042657604052565b919080601f840112156200043c578251906001600160401b038211620004265760405191602091620004a1601f8301601f191684018562000441565b8184528282870101116200043c5760005b818110620004c857508260009394955001015290565b8581018301518482018401528201620004b2565b90600182811c921680156200050e575b6020831014620004f857565b634e487b7160e01b600052602260045260246000fd5b91607f1691620004ec56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c6343000811003360a0346100ed57601f6117a238819003918201601f19168301916001600160401b038311848410176100f25780849260409485528339810103126100ed5780516001600160a01b039182821682036100ed57602001519182168092036100ed57600080546001600160a01b031990811684178255604051939190829081337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a360015416176001557fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f2339180a36080526116999081610109823960805181818161093501526110980152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b600090813560e01c90816302fd597d146110bc5750806312261ee71461106b578063238dafe0146110455780632f7f204e14610d42578063323a5e0b14610cf9578063328d8f7214610c925780633fd8b02f14610c74578063410fa8e614610b6a57806341bcf4dc1461060d5780638da5cb5b146105da578063e44cb37b1461046e578063e8ea054b146103e1578063ec67b8c8146101b2578063f2fde38b146100fc5763f77c4791146100c657600080fd5b346100f957806003193601126100f957602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b80fd5b50346100f95760206003193601126100f957610116611454565b815473ffffffffffffffffffffffffffffffffffffffff8082163303610188577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b50346100f9576020806003193601126103dd578160606040516101d481611551565b8281528284820152816040820152015260043582526006815260408220604051926101fe84611551565b60ff82541660058110156103b057845260018083015492848601938452600281016040519283918591815491610233836115ae565b928386528a838216918260001461036c57505060011461032f575b5050506003929161026091038461156d565b60408701928352015492606086019384526040519585875251600581101561030257858701525160408601525160806060860152805160a086018190529385939291825b8681106102eb57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f9260c080978701015251608085015201168101030190f35b81810183015188820160c0015287955082016102a4565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8752888720899350879291905b8284106103545750505082010181610260600361024e565b80548489018601528795508a9490930192810161033c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061026091506003905061024e565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b5080fd5b50346100f95760206003193601126100f9576103fb611454565b73ffffffffffffffffffffffffffffffffffffffff908183541633036101885716807fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155337fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f28380a380f35b50346100f95760406003193601126100f95760043560243573ffffffffffffffffffffffffffffffffffffffff8354163303610188578183526006602052604083209081549060ff821660058110156105ad57801561058357600414610559578060018401540361052f577fb6dc686a67a9620536a83f729428ef64a3e6529407d6b5e0df3426fe6b01a2609260037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060209416179055604051908152a280f35b60046040517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b60046040517f28b8b078000000000000000000000000000000000000000000000000000000008152fd5b60046040517faffbf64b000000000000000000000000000000000000000000000000000000008152fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346100f957806003193601126100f95773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346100f95760e06003193601126100f95767ffffffffffffffff906024358281116103dd576106419036906004016114a5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc36019360808512610b6657604080519561067b87611519565b12610b665760405161068c81611535565b60443573ffffffffffffffffffffffffffffffffffffffff8116810361088557815260643560208201528552608435602086015260a435604086015260c435908111610b66576106e0903690600401611477565b949060043585526006602052604085209586549160ff83166005811015610b39578015610583576004811461055957600314610b0f5760405161072281611519565b73ffffffffffffffffffffffffffffffffffffffff60025416808252600354602083015273ffffffffffffffffffffffffffffffffffffffff60045416604083015273ffffffffffffffffffffffffffffffffffffffff8651511603610ae5576040516020810190602082526107cc816107a0604082018b8d611601565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261156d565b519020948560018b01540361052f578899895b8b1580610adc575b156108b7578881101561088a578060061b8a013573ffffffffffffffffffffffffffffffffffffffff811680910361088557331461087c575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461084f576001016107df565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60019b50610820565b600080fd5b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b508997508a15610ab25760027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00899716179055602073ffffffffffffffffffffffffffffffffffffffff6040840151169201516040519261091784611535565b8352602083015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610aae578580946040927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f610a1d9986519a8b998a9889967f30f28b7a0000000000000000000000000000000000000000000000000000000088526109e46004890182516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60208181015160448a01529101516064880152815173ffffffffffffffffffffffffffffffffffffffff166084880152015160a4860152565b3360c485015261010060e48501528061010485015280610124958686013785858286010152011681010301925af18015610aa357610a8f575b50506040519081523360208201527f2a41d71ad20bb81193ade4a1c1c4796777ba30f92f48c41fce7eeb361e109b0e604060043592a280f35b610a98906114d6565b6103dd578183610a56565b6040513d84823e3d90fd5b8580fd5b60046040517f65268788000000000000000000000000000000000000000000000000000000008152fd5b508881106107e7565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60046040517ffd6f4120000000000000000000000000000000000000000000000000000000008152fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8380fd5b50346100f95760a06003193601126100f9576024358015158091036108855760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc3601126103dd5773ffffffffffffffffffffffffffffffffffffffff90818354163303610188576004356005557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b16911617600155604435818116809103610885577fffffffffffffffffffffffff00000000000000000000000000000000000000009081600254161760025560643560035560843591821680920361088557600454161760045580f35b50346100f957806003193601126100f9576020600554604051908152f35b50346100f95760206003193601126100f957600435801515809103610885577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b1691161760015580f35b50346100f957806003193601126100f957606073ffffffffffffffffffffffffffffffffffffffff80600254169060035490600454169060405192835260208301526040820152f35b50346100f95760606003193601126100f957610d5c611454565b6024359060443567ffffffffffffffff8111610b6657610d809036906004016114a5565b929060ff60015460a01c161561101b57604051906020820182610dd485878490917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b0392610e067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09485810183528261156d565b519020948587526006602052604087209283549060ff82166005811015610fee5760028114610fc45760048114610559576003141580610fb7575b610f8d57604051610e6f60208201926020845282610e6360408201888a611601565b0390810183528261156d565b519020958660018601540361052f57889460047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff94161790551690813b15610b665783610f0e95604051968795869485937f3d3e73d70000000000000000000000000000000000000000000000000000000085526004850152604060248501526044840191611601565b03925af18015610f8257610f4c575b5060207feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd491604051908152a280f35b7feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd49193610f7a6020926114d6565b939150610f1d565b6040513d86823e3d90fd5b60046040517ff268e9e3000000000000000000000000000000000000000000000000000000008152fd5b5060038501544210610e41565b60046040517fe4d068da000000000000000000000000000000000000000000000000000000008152fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60046040517f09131007000000000000000000000000000000000000000000000000000000008152fd5b50346100f957806003193601126100f957602060ff60015460a01c166040519015158152f35b50346100f957806003193601126100f957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346100f95760806003193601126100f9576110d6611454565b9167ffffffffffffffff916044358381116103dd576110f9903690600401611477565b606435858111610b66576111119036906004016114a5565b9290946001549060ff8260a01c161561142c575073ffffffffffffffffffffffffffffffffffffffff16330361018857604051606088901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020820190815260243560348301529061118881605481016107a0565b519020958685526006602052604085209384549660ff88166005811015610b3957600414610559576001916107a06111f47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00936040519283916020830195602087526040840191611601565b519020971617845585600185015582116113ff57819061121760028501546115ae565b601f81116113af575b508490601f83116001146113075785926112fc575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161760028201555b6005544201918242116112cf575091602094916003859401556040519081527f96eab3103fbd8c0266eca3e7a57929bc3bd66ef5223e2cb45f589f884ffcb9ae8573ffffffffffffffffffffffffffffffffffffffff602435941692a4604051908152f35b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b013590508780611235565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016916002850186526020862092865b818110611397575090846001959493921061135f575b505050811b01600282015561126a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905587808061134f565b91936020600181928787013581550195019201611339565b90915060028401855260208520601f840160051c8101602085106113f8575b90849392915b601f830160051c820181106113ea575050611220565b8781558594506001016113d4565b50806113ce565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b807f091310070000000000000000000000000000000000000000000000000000000060049252fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020838186019501011161088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020808501948460061b01011161088557565b67ffffffffffffffff81116114ea57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176114ea57604052565b6040810190811067ffffffffffffffff8211176114ea57604052565b6080810190811067ffffffffffffffff8211176114ea57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176114ea57604052565b90600182811c921680156115f7575b60208310146115c857565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916115bd565b918181526020809101929160009182905b82821061162157505050505090565b9091929394853573ffffffffffffffffffffffffffffffffffffffff8116809103610aae5781528582013582820152604090810195019392916001019061161256fea26469706673582212205e6b186204cb5b1a91903d6fed9eb15ed36361835d2b911aa9d576e0ea5387c864736f6c6343000811003360a034620000ce57601f6200306c38819003918201601f19168301916001600160401b03831184841017620000d3578084926040948552833981010312620000ce5780516001600160a01b03918282168203620000ce5760200151918216809203620000ce57600080546001600160a01b03191683178155604051929033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600255608052612f829081620000ea823960805181818161038901528181611f5c01526124be0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610013575b600080fd5b60003560e01c8063061ab0bc1461016757806312261ee71461015e578063186799a4146101555780631bd747a21461014c578063323a5e0b14610143578063330994051461013a5780633d3e73d7146101315780635541e684146101285780636cc6cde11461011f5780638135fe23146101165780638da5cb5b1461010d5780638f34a85914610104578063a37ee28c146100fb578063ab4f5678146100f2578063ac41b751146100e9578063af0f9df3146100e05763f2fde38b146100d857600080fd5b61000e6117f0565b5061000e6116ac565b5061000e61157f565b5061000e611425565b5061000e611307565b5061000e611129565b5061000e6110f4565b5061000e610f2c565b5061000e610ef7565b5061000e610e3c565b5061000e610b52565b5061000e610a5e565b5061000e610908565b5061000e6107fa565b5061000e6103ad565b5061000e61035b565b503461000e57602060031936011261000e57600435610190816000526006602052604060002090565b61019981612a4d565b6101aa6101a63383612b0e565b1590565b610326576001906102b96101bc61206c565b916101ea33600883019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9260006002850161022560068254950160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6102576003870160047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b556102b3604061029761027e845173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b92015173ffffffffffffffffffffffffffffffffffffffff1690565b90612717565b0154817ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806102fa3395826020600491939293604081019481520152565b0390a333907fb67e3ac5aa7b56d61e366985ea94be26db935eca5c55e0359fd36c5852b6fa39600080a3005b60046040517f3b278a7a000000000000000000000000000000000000000000000000000000008152fd5b600091031261000e57565b503461000e57600060031936011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461000e57602060031936011261000e576004356103d0600160025414611e01565b600280556103e8816000526006602052604060002090565b6103f061206c565b906103fd6101a682612af0565b6105245761040e6101a63383612b0e565b610326576104d7916104b561044633600885019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b600181019361048b60038654936000600282018181549a55550160037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6104b061027e60033393015473ffffffffffffffffffffffffffffffffffffffff1690565b612717565b6104b061027e33925173ffffffffffffffffffffffffffffffffffffffff1690565b604051907ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b63392806105158190600360206040840193600081520152565b0390a36105226001600255565b005b60046040517fa3b1c9de000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc606091011261000e57602490565b9081606091031261000e5790565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176105d757604052565b6105df61058b565b604052565b6060810190811067ffffffffffffffff8211176105d757604052565b60c0810190811067ffffffffffffffff8211176105d757604052565b6080810190811067ffffffffffffffff8211176105d757604052565b67ffffffffffffffff81116105d757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d757604052565b6040519061069a82610600565b565b6040519061069a826105bb565b6040519061069a8261061c565b60209067ffffffffffffffff81116106d0575b60051b0190565b6106d861058b565b6106c9565b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c604091011261000e5760405190610732826105bb565b8160643561073f816106dd565b81526020608435910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc604091011261000e5760405190610782826105bb565b8160243561078f816106dd565b81526020604435910152565b919082604091031261000e576040516107b3816105bb565b602080829480356107c3816106dd565b84520135910152565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020838186019501011161000e57565b503461000e5760031960808136011261000e5767ffffffffffffffff9060243582811161000e5761082f90369060040161057d565b6044359183831161000e57606090833603011261000e576040805192610854846105e4565b806004013585811161000e5781013660238201121561000e5760048101359061087c826106b6565b906108898551928361064c565b82825260209260248484019160061b8301019136831161000e576024879101915b8383106108ef5750505090865250602482013590850152604401359083015260643592831161000e576108e46105229336906004016107cc565b929091600435611e66565b85906108fb368561079b565b81520191019086906108aa565b503461000e57600060031936011261000e57606073ffffffffffffffffffffffffffffffffffffffff80600354169060045490600554169060405192835260208301526040820152f35b507f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90600482101561098f5752565b610997610952565b52565b602080825282518183015280830151604083015260408301519060c060608401528151918260e085015260005b838110610a4957505050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe091610a4260a0610100966000888589010152610a2d6060820151608089019073ffffffffffffffffffffffffffffffffffffffff169052565b608081015182880152015160c0860190610982565b0116010190565b818101830151858201610100015282016109c7565b503461000e57602060031936011261000e57600060a0604051610a8081610600565b828152826020820152606060408201528260608201528260808201520152610b4e610ab76004356000526006602052604060002090565b610b42815491600181015490610b34610ae7600383015473ffffffffffffffffffffffffffffffffffffffff1690565b610b126002600485015494610afb816127e6565b96610b0461068d565b998a5260208a0152016118d6565b604087015273ffffffffffffffffffffffffffffffffffffffff166060860152565b608084015260a08301611999565b6040519182918261099a565b0390f35b503461000e5760408060031936011261000e57600480359167ffffffffffffffff916024359183831161000e573660238401121561000e578282013593841161000e576024830192602436918660061b01011161000e57610bcb61027e60015473ffffffffffffffffffffffffffffffffffffffff1690565b3303610e1657610be5856000526006602052604060002090565b92610bf76101a6600686015460ff1690565b610def57610c0484612af0565b610dc857600090600785019081548703610d9f57825b878110610c80575050508284015403610c5a575050600501557fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b517f595fa923000000000000000000000000000000000000000000000000000000008152fd5b610cad610c8d8285611ac9565b905473ffffffffffffffffffffffffffffffffffffffff9160031b1c1690565b610cc361027e610cbe848c876127c8565b611ba3565b73ffffffffffffffffffffffffffffffffffffffff80921603610d775790888a7ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6610d7294610d24610d1e610d1987878b6127c8565b612696565b8d612da4565b610d3e6020998a610d3688888c6127c8565b01359061270a565b98610d5886610d51610cbe82898d6127c8565b968a6127c8565b8b51910135815260026020820152931692604090a3611a5f565b610c1a565b8686517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b505050517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b50517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b50517f4e16946c000000000000000000000000000000000000000000000000000000008152fd5b517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b503461000e5761010060031936011261000e5760407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261000e5760807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c36011261000e57604051610eaf816105e4565b610eb8366106fb565b815260a435602082015260c435604082015260e4359067ffffffffffffffff821161000e57610eee6105229236906004016107cc565b91600435612388565b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b503461000e57602060031936011261000e57600435610f55816000526006602052604060002090565b610f5e81612a4d565b610f6b6101a63383612b0e565b6103265760088101906002610fad6003610fa533869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b015460ff1690565b610fb6816114e0565b146110ca57600161105461109d9361101f6003610ff333849073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0160027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6005840161102d81546126fc565b90553373ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0154837ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806110953395826020600291939293604081019481520152565b0390a3612af0565b6110a357005b7fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b60046040517faf20ef4a000000000000000000000000000000000000000000000000000000008152fd5b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b503461000e576040600319818136011261000e576004359067ffffffffffffffff821161000e5760808260040191833603011261000e5760248201359081156112de5783513060208201908152823560408301819052602435606084015292916111be81608081015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261064c565b519020936111d6856000526006602052604060002090565b916001830180546112b5578361129861129088958895610b4e9c9a6112a4968d9b7ff7cbeac7c87f7e00fcf9440cf10b123fb3d766366a39eeb572c219c8eac3ab469b555561128b6064604484019361123c6112328686611bad565b9060028b01611c52565b0195600361124988611ba3565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b611bad565b919092611ba3565b91885195869586611dc0565b0390a2519081529081906020820190565b600488517fd8876c2d000000000000000000000000000000000000000000000000000000008152fd5b600484517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b503461000e57604060031936011261000e5760043560243567ffffffffffffffff811161000e5761133c90369060040161057d565b9061134b600160025414611e01565b600280558060005260066020526113f1604060002061136b33858361292f565b61137361206c565b80516113a19060209073ffffffffffffffffffffffffffffffffffffffff16920191825190309033906121e6565b6113d860206113ca61027e600386015473ffffffffffffffffffffffffffffffffffffffff1690565b9601358096309033906121e6565b6113e061069c565b338152908560208301525191612ca2565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf70908060208101610515565b503461000e57602060031936011261000e57600435611443816106dd565b73ffffffffffffffffffffffffffffffffffffffff90816000541633036114b65716807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b600511156114ea57565b61069a610952565b90600582101561098f5752565b60208082019080835283518092528060408094019401926000905b83821061152957505050505090565b9091929394836080600192611572895173ffffffffffffffffffffffffffffffffffffffff815116835284810151858401528681015187840152606080910151908301906114f2565b019601949392019061151a565b503461000e5760208060031936011261000e576115a86004356000526006602052604060002090565b60078101918254916115b9836119a5565b93600860009201915b8481106115d75760405180610b4e88826114ff565b806116196116146115ee610c8d6116a79587611ac9565b869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b611afb565b61168c61163a825173ffffffffffffffffffffffffffffffffffffffff1690565b9187810151906040808201519060608093015193611657856114e0565b61167e6116626106a9565b73ffffffffffffffffffffffffffffffffffffffff9098168852565b8b8701528501528301611aef565b6116968289611b72565b526116a18188611b72565b50611a5f565b6115c2565b503461000e57608060031936011261000e576004356116ca816106dd565b6116d33661054e565b9073ffffffffffffffffffffffffffffffffffffffff91826000541633036114b65760408161174a61179e9335611709816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b6020810135600455013561175d816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006005541617600555565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b503461000e57602060031936011261000e5760043561180e816106dd565b600090815473ffffffffffffffffffffffffffffffffffffffff80821633036114b6577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b90600182811c921680156118cc575b602083101461189d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611892565b90604051918260008254926118ea84611883565b9081845260019485811690816000146119575750600114611914575b505061069a9250038361064c565b9093915060005260209081600020936000915b81831061193f57505061069a93508201013880611906565b85548884018501529485019487945091830191611927565b905061069a9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611906565b600482101561098f5752565b906119af826106b6565b6040906119be8251918261064c565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06119ec82956106b6565b019160005b8381106119fe5750505050565b6020908251611a0c8161061c565b6000815282600081830152600085830152600060608301528286010152016119f1565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a8d570190565b611a95611a2f565b0190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015611ae2575b60005260206000200190600090565b611aea611a99565b611ad3565b600582101561098f5752565b9061069a604051611b0b8161061c565b606060ff6003839673ffffffffffffffffffffffffffffffffffffffff815416855260018101546020860152600281015460408601520154169101611aef565b602090805115611b59570190565b611a95611a99565b604090805160011015611b59570190565b6020918151811015611b87575b60051b010190565b611b8f611a99565b611b7f565b602435611ba0816106dd565b90565b35611ba0816106dd565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e5760200191813603831361000e57565b90601f8111611c0c57505050565b600091825260208220906020601f850160051c83019410611c48575b601f0160051c01915b828110611c3d57505050565b818155600101611c31565b9092508290611c28565b90929167ffffffffffffffff8111611d74575b611c7981611c738454611883565b84611bfe565b6000601f8211600114611cd05781929394600092611cc5575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916179055565b013590503880611c92565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0821694611d0384600052602060002090565b91805b878110611d5c575083600195969710611d24575b505050811b019055565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080611d1a565b90926020600181928686013581550194019101611d06565b611d7c61058b565b611c65565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b939260609373ffffffffffffffffffffffffffffffffffffffff93611dfa9398979887526020870152608060408701526080860191611d81565b9416910152565b15611e0857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152fd5b92939093611e78600160025414611e01565b60028055611e90846000526006602052604060002090565b91611e9c33878561292f565b611ea461206c565b95611ecd611eb28651611b4b565b515173ffffffffffffffffffffffffffffffffffffffff1690565b90611eef61027e895173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff8093160361204257611f19611eb28751611b61565b82611f3e61027e600389015473ffffffffffffffffffffffffffffffffffffffff1690565b91160361204257602080910135970192611f59845189612b70565b917f000000000000000000000000000000000000000000000000000000000000000016803b1561000e57611fdf9660008094611fc6604051978896879586947fedd9444b00000000000000000000000000000000000000000000000000000000865233916004870161210a565b03925af18015612035575b61201c575b506113e061069c565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf709080602081015b0390a361069a6001600255565b8061202961202f92610638565b80610350565b38611fd6565b61203d6121d9565b611fd1565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60405190612079826105e4565b81604073ffffffffffffffffffffffffffffffffffffffff80600354168352600454602084015260055416910152565b90815180825260208080930193019160005b8281106120c9575050505090565b90919293826040826120fe60019489516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019501939291016120bb565b9095949293916080825260e082019680519060606080850152815180995261010084019860208093019060005b818110612199575050509761218c928260408b61216d95611ba09c9d015160a0890152015160c0870152858303908601526120a9565b73ffffffffffffffffffffffffffffffffffffffff9095166040830152565b6060818503910152611d81565b90919a846040826121ce8f94600195516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019c01929101612137565b506040513d6000823e3d90fd5b9291906040519261226f6020808601957f23b872dd000000000000000000000000000000000000000000000000000000008752612257816111928689896024850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b60009687915190828a5af185516001143d1517161590565b61227b575b5050505050565b6122849061233d565b936e22d473030f116ddee9f6b43ac78ba391823b15612339576040517f36c7851600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152938116602485015294851660448401529093166064820152918290608490829084905af1801561232c575b612319575b80808080612274565b8061202961232692610638565b38612310565b6123346121d9565b61230b565b8480fd5b73ffffffffffffffffffffffffffffffffffffffff9081811161235e571690565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b919092612399600160025414611e01565b600280556123b1836000526006602052604060002090565b936123bb85612a4d565b6123cf6101a66123c9611b94565b87612b0e565b6103265761240a6116146123e1611b94565b600888019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9060608201916002835161241d816114e0565b612426816114e0565b146110ca57602001958651966044358098116125bb576124479051886125e5565b93612468835173ffffffffffffffffffffffffffffffffffffffff90511690565b9461248d61027e600385015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff80971603612042576124b261069c565b308152906020820152857f00000000000000000000000000000000000000000000000000000000000000001696873b1561000e577ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b697612577956000809461254b604051978896879586947f30f28b7a0000000000000000000000000000000000000000000000000000000086523391600487016125fa565b03925af180156125ae575b61259b575b50825190612568826114e0565b6125713661074b565b90612ebc565b61200f612582611b94565b915161258d816114e0565b6040519384931696836126a1565b806120296125a892610638565b3861255b565b6125b66121d9565b612556565b60046040517fc52e3eff000000000000000000000000000000000000000000000000000000008152fd5b919082039182116125f257565b61069a611a2f565b919261267f611ba09694604073ffffffffffffffffffffffffffffffffffffffff946126478782516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b602081810151888401529101516060870152815173ffffffffffffffffffffffffffffffffffffffff166080870152015160a0850152565b1660c0820152610100908160e08201520191611d81565b611ba090369061079b565b90815260408101929161069a91602001906114f2565b9060058110156126ef575b60ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116179055565b6126f7610952565b6126c2565b90600182018092116125f257565b919082018092116125f257565b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561276a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b91908110156127d9575b60061b0190565b6127e1611a99565b6127d2565b600781015480156128175760058201541015612811576006015460ff1661280c57600190565b600390565b50600290565b506001015461284a5760046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b600090565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161000e5760209260051b809284830137010190565b919082526040602083015273ffffffffffffffffffffffffffffffffffffffff81356128b7816106dd565b1660408301526020810135606083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561000e57016020813591019067ffffffffffffffff811161000e578060051b3603821361000e5760a08360606080611ba0960152019161284f565b9161293983612a4d565b6129438184612b0e565b612a235773ffffffffffffffffffffffffffffffffffffffff61296861027e84611ba3565b9116036129f95760017317c1e395fe81a90af2d0289a009317d5acb98f9f92015490823b1561000e576129cd926000926040518095819482937fba5d2c340000000000000000000000000000000000000000000000000000000084526004840161288c565b03915af480156129ec575b6129df5750565b8061202961069a92610638565b6129f46121d9565b6129d8565b60046040517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6d9bf6df000000000000000000000000000000000000000000000000000000008152fd5b600181015415612ac65760ff600682015416612a9c57612a6c90612af0565b612a7257565b60046040517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b60046040517f03144514000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b60078101548015159182612b0357505090565b600501541015919050565b90600782015415159182612b2157505090565b819250612b6860089273ffffffffffffffffffffffffffffffffffffffff938493019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b541691161490565b919091604090815191612b82836105e4565b600283526000805b828110612be8575050908291612be59395815190612ba7826105bb565b3082526020820152612bb884611b4b565b52612bc283611b4b565b505190612bce826105bb565b3082526020820152612bdf82611b61565b52611b61565b50565b6020908351612bf6816105bb565b838152828481830152828801015201612b8a565b6003606061069a93612c6e73ffffffffffffffffffffffffffffffffffffffff825116859073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60208101516001850155604081015160028501550151916005831015612c95575b016126b7565b612c9d610952565b612c8f565b91600490612d88612d93936007860173ffffffffffffffffffffffffffffffffffffffff90612cef828451169180549068010000000000000000821015612d97575b600182018155611ac9565b909283549160031b90811b9283911b16911916179055612d836123e1612d29835173ffffffffffffffffffffffffffffffffffffffff1690565b9260208101958651612d58612d3c6106a9565b73ffffffffffffffffffffffffffffffffffffffff9097168752565b60208601526040850152600160608501525173ffffffffffffffffffffffffffffffffffffffff1690565b612c0a565b51920191825461270a565b9055565b612d9f61058b565b612ce4565b906003600861069a93019173ffffffffffffffffffffffffffffffffffffffff92612df284835116829073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b612e9f8584511695612e5b600260208701519401549460405198612e158a61061c565b895260208901948552604089019586528260608a0197612e358960029052565b511673ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b965116869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b51600185015551600284015551916005831015612c9557016126b7565b61069a926008600392019273ffffffffffffffffffffffffffffffffffffffff612e9f612f0c82845116879073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b91612e5b81855116978260026020880151960154966040519a612f2e8c61061c565b8b5260208b0196875260408b01978852612e3560608c01998a611aef56fea2646970667358221220a130025eb7faee115b926ae2dacac846043b74762eabf218d7af687e916f583764736f6c63430008110033a2646970667358221220c2a25b1d7cdb9a897ff06735ba755c8e660d2ea9b3a918dd78b8284f2e57b40b64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH3 0x16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP2 DUP3 PUSH4 0xC0406226 EQ PUSH3 0x83 JUMPI POP POP PUSH4 0xF8CCBF47 EQ PUSH3 0x3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH3 0x7F JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0x7F JUMPI PUSH1 0x20 SWAP1 PUSH1 0xFF PUSH1 0xC SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST DUP5 SWAP3 POP CALLVALUE PUSH3 0xD1B JUMPI DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0xD1B JUMPI PUSH3 0x118 SWAP4 PUSH1 0x10 SWAP3 DUP4 SLOAD PUSH3 0xCB DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xA DUP3 MSTORE PUSH1 0x20 SWAP2 PUSH32 0x41524249545241544F5200000000000000000000000000000000000000000000 DUP4 DUP3 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP8 DUP9 SWAP2 DUP3 DUP5 AND PUSH3 0x1016 JUMP JUMPDEST AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP1 SWAP3 AND OR DUP6 SSTORE PUSH1 0x11 SLOAD SWAP1 DUP8 PUSH3 0x188 DUP6 MLOAD PUSH3 0x156 DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x11 DUP2 MSTORE PUSH32 0x4152424954524154494F4E5F544F4B454E000000000000000000000000000000 DUP7 DUP3 ADD MSTORE DUP3 DUP6 AND PUSH3 0x1016 JUMP JUMPDEST AND SWAP2 AND OR PUSH1 0x11 SSTORE PUSH3 0x1D3 PUSH1 0x12 SLOAD DUP4 MLOAD SWAP1 PUSH3 0x1A4 DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xC DUP3 MSTORE PUSH32 0x444953505554455F434F53540000000000000000000000000000000000000000 DUP5 DUP4 ADD MSTORE PUSH3 0xF66 JUMP JUMPDEST PUSH1 0x12 SSTORE PUSH3 0x21A PUSH1 0x13 SLOAD DUP4 MLOAD SWAP1 PUSH3 0x1EB DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xB DUP3 MSTORE PUSH32 0x41505045414C5F434F5354000000000000000000000000000000000000000000 DUP5 DUP4 ADD MSTORE PUSH3 0xF66 JUMP JUMPDEST PUSH1 0x13 SSTORE PUSH3 0x261 PUSH1 0x14 SLOAD DUP4 MLOAD SWAP1 PUSH3 0x232 DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x16 DUP3 MSTORE PUSH32 0x5245534F4C5554494F4E5F4C4F434B5F504552494F4400000000000000000000 DUP5 DUP4 ADD MSTORE PUSH3 0xF66 JUMP JUMPDEST PUSH1 0x14 SSTORE PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP4 DUP5 EXTCODESIZE ISZERO PUSH3 0x974 JUMPI DUP3 MLOAD PUSH32 0x7FB5297F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP7 DUP2 DUP7 DUP2 DUP4 DUP11 GAS CALL DUP1 ISZERO PUSH3 0xD11 JUMPI PUSH3 0xCFB JUMPI JUMPDEST POP PUSH1 0x11 SLOAD DUP8 AND DUP1 PUSH3 0xCF4 JUMPI POP DUP3 MLOAD PUSH2 0x12BF DUP1 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH3 0xCC8 JUMPI PUSH1 0xE0 SWAP2 DUP4 SWAP2 PUSH3 0x1B79 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xB PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x436F75727420546F6B656E000000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP7 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x4354000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP8 DUP3 ADD MSTORE SUB ADD SWAP1 DUP8 CREATE DUP1 ISZERO PUSH3 0xCBE JUMPI DUP8 AND DUP1 EXTCODESIZE ISZERO PUSH3 0xBD8 JUMPI DUP4 MLOAD PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ORIGIN DUP7 DUP3 ADD MSTORE PUSH9 0x1105A0185B50A80000 PUSH1 0x24 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x44 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0xBDC JUMPI SWAP1 DUP9 SWAP2 PUSH3 0xCA6 JUMPI JUMPDEST POP POP SWAP1 JUMPDEST PUSH3 0x409 DUP5 MLOAD SWAP3 PUSH3 0x3D9 DUP5 PUSH3 0xD80 JUMP JUMPDEST DUP3 DUP5 MSTORE PUSH32 0x4172626974726174696F6E546F6B656E00000000000000000000000000000000 SWAP4 DUP5 DUP7 DUP3 ADD MSTORE PUSH3 0x1902 JUMP JUMPDEST DUP8 DUP1 DUP3 SLOAD AND DUP1 ISZERO PUSH1 0x0 EQ PUSH3 0xC89 JUMPI POP PUSH1 0x30 DUP6 MLOAD DUP5 DUP2 MSTORE PUSH1 0xE DUP5 DUP3 ADD MSTORE KECCAK256 SLOAD AND DUP5 MLOAD PUSH2 0x17A2 DUP1 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH3 0xC5D JUMPI SWAP2 PUSH3 0x475 DUP2 SWAP3 PUSH2 0x314 SWAP5 PUSH3 0x2E38 DUP5 CODECOPY PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 DUP2 MSTORE ORIGIN PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 DUP11 CREATE2 DUP1 ISZERO PUSH3 0xBDC JUMPI DUP10 AND SWAP1 PUSH1 0x14 SLOAD SWAP1 PUSH1 0x13 SLOAD DUP8 MLOAD SWAP2 PUSH3 0x498 DUP4 PUSH3 0xD63 JUMP JUMPDEST DUP3 MSTORE DUP7 DUP3 ADD MSTORE ORIGIN DUP8 DUP3 ADD MSTORE DUP3 EXTCODESIZE ISZERO PUSH3 0xC59 JUMPI PUSH3 0x518 SWAP1 DUP8 MLOAD SWAP3 PUSH32 0x410FA8E600000000000000000000000000000000000000000000000000000000 DUP5 MSTORE DUP10 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD SWAP1 PUSH1 0x40 SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 DUP2 MLOAD AND DUP6 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x20 DUP7 ADD MSTORE ADD MLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST DUP9 DUP2 PUSH1 0xA4 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0xC02 JUMPI DUP11 SWAP5 SWAP4 SWAP3 SWAP2 DUP11 SWAP2 PUSH3 0xC38 JUMPI JUMPDEST POP POP PUSH1 0x30 SWAP3 SWAP2 PUSH3 0x552 PUSH1 0xE SWAP3 PUSH3 0x54C PUSH3 0x18C7 JUMP JUMPDEST PUSH3 0x1902 JUMP JUMPDEST DUP7 MLOAD SWAP3 DUP4 MSTORE DUP3 ADD MSTORE KECCAK256 SLOAD AND SWAP3 DUP7 PUSH1 0x2A DUP5 MLOAD PUSH32 0x41726269747261746F7200000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0xE PUSH1 0xA DUP3 ADD MSTORE KECCAK256 SLOAD AND SWAP7 DUP4 MLOAD SWAP8 PUSH2 0x306C SWAP9 DUP10 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP11 DUP3 DUP3 LT DUP13 DUP4 GT OR PUSH3 0xC0C JUMPI SWAP2 PUSH3 0x5E0 DUP2 SWAP3 PUSH2 0x314 SWAP5 PUSH3 0x45DA DUP5 CODECOPY PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 DUP2 MSTORE ORIGIN PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 DUP11 CREATE2 DUP1 ISZERO PUSH3 0xBDC JUMPI DUP3 AND SWAP1 PUSH1 0x12 SLOAD DUP7 MLOAD SWAP8 PUSH3 0x5FF DUP10 PUSH3 0xD63 JUMP JUMPDEST DUP9 MSTORE DUP6 DUP9 ADD MSTORE ORIGIN DUP7 DUP9 ADD MSTORE DUP2 EXTCODESIZE ISZERO PUSH3 0x982 JUMPI DUP6 MLOAD SWAP1 PUSH32 0xAF0F9DF300000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH3 0x679 PUSH1 0x24 SWAP8 DUP9 DUP4 ADD SWAP1 PUSH1 0x40 SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 DUP2 MLOAD AND DUP6 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x20 DUP7 ADD MSTORE ADD MLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST DUP9 DUP2 PUSH1 0x84 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0xC02 JUMPI SWAP1 DUP10 SWAP2 PUSH3 0xBE6 JUMPI JUMPDEST POP POP PUSH3 0x6D5 SWAP1 DUP6 MLOAD PUSH3 0x6A6 DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x1C DUP2 MSTORE PUSH32 0x436F6C6C61746572616C41677265656D656E744672616D65776F726B00000000 DUP7 DUP3 ADD MSTORE PUSH3 0x1902 JUMP JUMPDEST DUP6 EXTCODESIZE ISZERO PUSH3 0xBD8 JUMPI DUP4 MLOAD PUSH32 0x76EADD3600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP8 DUP2 DUP5 DUP2 DUP4 DUP12 GAS CALL DUP1 ISZERO PUSH3 0xBDC JUMPI SWAP1 DUP9 SWAP2 PUSH3 0xBC0 JUMPI JUMPDEST POP POP PUSH1 0xD SLOAD SWAP1 DUP6 DUP9 JUMPDEST DUP4 DUP2 LT PUSH3 0x9B3 JUMPI POP POP POP POP PUSH3 0x739 PUSH3 0x1495 JUMP JUMPDEST SWAP7 DUP4 MLOAD SWAP2 DUP4 DUP4 ADD SWAP2 DUP4 DUP4 LT SWAP1 DUP4 GT OR PUSH3 0x986 JUMPI DUP8 SWAP9 DUP3 DUP7 SWAP10 SWAP9 SWAP10 MSTORE DUP8 DUP5 MSTORE PUSH3 0x7B7 DUP7 MLOAD PUSH3 0x7B1 PUSH32 0x6465706C6F796D656E74732F0000000000000000000000000000000000000000 SWAP7 DUP8 DUP10 DUP5 ADD MSTORE MLOAD SWAP6 DUP3 DUP8 PUSH3 0x7A0 PUSH1 0x2C SWAP10 DUP11 SWAP5 DUP6 DUP6 ADD SWAP1 PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD SUB PUSH1 0xC DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0xD9D JUMP JUMPDEST PUSH3 0x11E4 JUMP JUMPDEST PUSH3 0x7C1 PUSH3 0x10DD JUMP JUMPDEST SWAP9 PUSH3 0x7F5 DUP5 DUP9 MLOAD DUP1 SWAP13 DUP9 DUP11 DUP4 ADD MSTORE PUSH3 0x7E4 DUP2 MLOAD DUP1 SWAP3 DUP13 DUP7 DUP7 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD SUB PUSH1 0xC DUP2 ADD DUP14 MSTORE ADD DUP12 PUSH3 0xD9D JUMP JUMPDEST DUP1 EXTCODESIZE ISZERO PUSH3 0x982 JUMPI PUSH3 0x839 SWAP10 DUP10 DUP1 SWAP5 DUP10 MLOAD SWAP13 DUP14 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x897E0A9700000000000000000000000000000000000000000000000000000000 DUP6 MSTORE DUP5 ADD PUSH3 0x1118 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP7 DUP8 ISZERO PUSH3 0x978 JUMPI DUP7 SWAP8 PUSH3 0x954 JUMPI JUMPDEST POP PUSH3 0x940 SWAP3 SWAP2 PUSH3 0x885 PUSH3 0x913 SWAP3 PUSH3 0x867 PUSH3 0x10DD JUMP JUMPDEST SWAP3 DUP8 MLOAD SWAP4 DUP5 SWAP2 DUP8 DUP4 ADD MSTORE PUSH3 0x7A0 DUP2 MLOAD DUP1 SWAP3 DUP10 DUP7 DUP7 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST DUP5 MLOAD SWAP5 PUSH3 0x893 DUP7 PUSH3 0xD63 JUMP JUMPDEST PUSH1 0x21 DUP7 MSTORE PUSH32 0x53746F726564206465706C6F796D656E74206D616E6966657374206174202573 DUP5 DUP8 ADD MSTORE PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 DUP2 DUP8 ADD MSTORE MLOAD SWAP5 DUP6 SWAP4 DUP5 ADD SWAP7 PUSH32 0x4B5C427700000000000000000000000000000000000000000000000000000000 DUP9 MSTORE DUP5 ADD PUSH3 0x1118 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0xD9D JUMP JUMPDEST MLOAD SWAP1 PUSH11 0x636F6E736F6C652E6C6F67 GAS STATICCALL POP DUP1 RETURN JUMPDEST PUSH3 0x965 SWAP1 SWAP7 SWAP2 SWAP7 SWAP4 SWAP3 SWAP4 PUSH3 0xD1F JUMP JUMPDEST PUSH3 0x974 JUMPI SWAP1 DUP6 SWAP5 DUP9 PUSH3 0x84D JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP9 DUP1 REVERT JUMPDEST PUSH1 0x41 DUP7 SWAP2 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST DUP10 DUP7 PUSH3 0x9C0 DUP4 PUSH3 0xE3C JUMP JUMPDEST POP PUSH3 0x9CC DUP5 PUSH3 0xE3C JUMP JUMPDEST POP DUP7 PUSH1 0x1 DUP1 SWAP3 ADD SLOAD AND SWAP2 DUP12 DUP1 MLOAD SWAP2 PUSH3 0x9E5 DUP4 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x5 DUP1 DUP5 MSTORE PUSH32 0x25733D2573000000000000000000000000000000000000000000000000000000 DUP8 DUP6 ADD MSTORE DUP3 MLOAD SWAP5 DUP9 SWAP3 DUP1 SLOAD PUSH3 0xA21 DUP2 PUSH3 0xEA6 JUMP JUMPDEST DUP1 DUP10 MSTORE SWAP4 DUP2 DUP5 AND SWAP2 DUP3 ISZERO PUSH3 0xB79 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0xB20 JUMPI JUMPDEST POP POP POP SWAP4 PUSH3 0xACE DUP5 PUSH3 0xA9D PUSH3 0xB01 SWAP6 DUP11 SWAP10 SWAP6 PUSH3 0xA65 PUSH1 0x60 SWAP10 PUSH3 0xB18 SWAP16 SWAP12 SUB DUP6 PUSH3 0xD9D JUMP JUMPDEST MLOAD SWAP8 DUP9 SWAP7 DUP8 ADD SWAP10 PUSH32 0x95ED019500000000000000000000000000000000000000000000000000000000 DUP12 MSTORE DUP8 ADD MSTORE PUSH1 0x84 DUP7 ADD SWAP1 PUSH3 0xF21 JUMP JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP6 DUP4 SUB ADD PUSH1 0x44 DUP7 ADD MSTORE PUSH3 0xF21 JUMP JUMPDEST SWAP1 PUSH1 0x64 DUP4 ADD MSTORE SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0xD9D JUMP JUMPDEST MLOAD SWAP1 PUSH11 0x636F6E736F6C652E6C6F67 GAS STATICCALL POP PUSH3 0xDDF JUMP JUMPDEST DUP7 SWAP1 PUSH3 0x723 JUMP JUMPDEST DUP10 MSTORE DUP8 DUP10 KECCAK256 SWAP8 SWAP11 SWAP8 DUP10 SWAP4 POP JUMPDEST DUP3 DUP5 LT PUSH3 0xB4D JUMPI POP SWAP7 SWAP10 SWAP7 POP POP DUP4 ADD DUP6 ADD PUSH3 0xACE DUP5 PUSH3 0xA9D PUSH3 0xA3B JUMP JUMPDEST SWAP2 SWAP6 SWAP9 POP SWAP4 SWAP7 POP DUP4 SWAP2 SWAP6 SWAP9 SWAP10 SWAP3 POP DUP1 SLOAD DUP4 DUP8 DUP11 ADD ADD MSTORE ADD SWAP4 ADD DUP16 SWAP6 SWAP3 SWAP1 DUP14 SWAP2 DUP16 SWAP7 SWAP4 DUP15 SWAP11 SWAP10 SWAP7 PUSH3 0xB2C JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP12 DUP11 ADD MSTORE SWAP4 ISZERO ISZERO SWAP1 SWAP4 SHL DUP8 ADD DUP10 ADD SWAP4 POP PUSH3 0xACE SWAP3 POP DUP7 SWAP2 POP PUSH3 0xA9D SWAP1 POP PUSH3 0xA3B JUMP JUMPDEST PUSH3 0xBCB SWAP1 PUSH3 0xD1F JUMP JUMPDEST PUSH3 0xBD8 JUMPI DUP7 DUP10 PUSH3 0x71A JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0xBF1 SWAP1 PUSH3 0xD1F JUMP JUMPDEST PUSH3 0xBFE JUMPI DUP8 DUP11 PUSH3 0x692 JUMP JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH1 0x41 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0xC48 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 POP PUSH3 0xD1F JUMP JUMPDEST PUSH3 0xBFE JUMPI SWAP1 DUP9 SWAP3 SWAP2 DUP9 DUP12 PUSH3 0x535 JUMP JUMPDEST DUP10 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH1 0x41 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x30 SWAP3 PUSH3 0xCA0 PUSH1 0xE SWAP3 PUSH3 0x54C SWAP7 SWAP5 SWAP7 PUSH3 0x18C7 JUMP JUMPDEST PUSH3 0x552 JUMP JUMPDEST PUSH3 0xCB1 SWAP1 PUSH3 0xD1F JUMP JUMPDEST PUSH3 0xBD8 JUMPI DUP7 DUP10 PUSH3 0x3C3 JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP10 PUSH1 0x41 DUP10 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST SWAP1 PUSH3 0x3C7 JUMP JUMPDEST PUSH3 0xD09 SWAP1 SWAP7 SWAP2 SWAP7 PUSH3 0xD1F JUMP JUMPDEST SWAP5 DUP8 PUSH3 0x2BC JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH3 0xE0D JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xD SLOAD DUP2 LT ISZERO PUSH3 0xE77 JUMPI PUSH1 0xD PUSH1 0x0 MSTORE PUSH1 0x1 SHL PUSH32 0xD7B6990105719101DABEB77144F2A3385C8033ACD3AF97E9423A695E81AD1EB5 ADD SWAP1 PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0xEF1 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0xEC2 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0xEB6 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH3 0xF10 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0xEFF JUMP JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x20 SWAP4 PUSH3 0xF5F DUP2 MLOAD DUP1 SWAP3 DUP2 DUP8 MSTORE DUP8 DUP1 DUP9 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH3 0xFAA SWAP2 SWAP4 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP3 PUSH32 0xC1978D1F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP5 PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP1 PUSH3 0xF21 JUMP JUMPDEST SUB DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL PUSH1 0x0 SWAP2 DUP2 PUSH3 0xFDA JUMPI JUMPDEST POP PUSH3 0xFD6 JUMPI POP JUMP JUMPDEST SWAP2 POP JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x20 DUP3 RETURNDATASIZE DUP3 GT PUSH3 0x100D JUMPI JUMPDEST DUP2 PUSH3 0xFF7 PUSH1 0x20 SWAP4 DUP4 PUSH3 0xD9D JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x100A JUMPI POP MLOAD SWAP1 CODESIZE PUSH3 0xFCD JUMP JUMPDEST DUP1 REVERT JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0xFE8 JUMP JUMPDEST PUSH1 0x20 PUSH3 0x105A SWAP2 SWAP4 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP3 PUSH32 0x350D56BF00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP5 PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP1 PUSH3 0xF21 JUMP JUMPDEST SUB DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL DUP1 SWAP2 PUSH1 0x0 SWAP2 PUSH3 0x1088 JUMPI JUMPDEST POP SWAP1 PUSH3 0xFD6 JUMPI POP JUMP JUMPDEST PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH3 0x10D4 JUMPI JUMPDEST DUP2 PUSH3 0x10A3 PUSH1 0x20 SWAP4 DUP4 PUSH3 0xD9D JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x7F JUMPI MLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH3 0x100A JUMPI POP CODESIZE PUSH3 0x107E JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0x1094 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH3 0x10EC DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xB DUP3 MSTORE PUSH32 0x6C61746573742E6A736F6E000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 PUSH3 0x1132 PUSH3 0x1141 SWAP4 PUSH1 0x40 DUP5 MSTORE PUSH1 0x40 DUP5 ADD SWAP1 PUSH3 0xF21 JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH3 0xF21 JUMP JUMPDEST SWAP1 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH3 0xE77 JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH3 0xE77 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x2 LT ISZERO PUSH3 0xE77 JUMPI PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0xD34 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH3 0x11C0 PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP6 ADD AND ADD DUP5 PUSH3 0xD9D JUMP JUMPDEST DUP3 SWAP5 DUP3 DUP5 MSTORE DUP3 DUP3 ADD GT PUSH3 0x11DF JUMPI PUSH1 0x20 PUSH3 0x11DD SWAP4 ADD SWAP1 PUSH3 0xEFC JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP3 DUP2 MLOAD SWAP1 PUSH1 0xFF PUSH1 0x20 SWAP6 DUP7 DUP2 DUP2 DUP8 ADD SWAP6 PUSH3 0x1205 DUP2 DUP4 DUP10 PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD PUSH1 0xF DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SLOAD AND PUSH3 0x148E JUMPI DUP4 MLOAD SWAP2 PUSH1 0x80 DUP4 ADD SWAP4 PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP2 LT DUP7 DUP3 GT OR PUSH3 0xD34 JUMPI DUP7 MSTORE PUSH1 0x3 DUP5 MSTORE PUSH1 0x0 JUMPDEST PUSH1 0x60 DUP1 DUP3 LT ISZERO PUSH3 0x1256 JUMPI DUP6 DUP3 ADD DUP10 ADD MSTORE DUP8 ADD PUSH3 0x123D JUMP JUMPDEST POP POP SWAP2 SWAP6 SWAP4 SWAP5 SWAP1 SWAP3 SWAP5 DUP2 MLOAD PUSH3 0x126C DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x5 DUP2 MSTORE PUSH32 0x6D6B646972000000000000000000000000000000000000000000000000000000 DUP7 DUP3 ADD MSTORE PUSH3 0x12A0 DUP8 PUSH3 0x1144 JUMP JUMPDEST MSTORE PUSH3 0x12AC DUP7 PUSH3 0x1144 JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0x12BA DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x2 DUP2 MSTORE PUSH32 0x2D70000000000000000000000000000000000000000000000000000000000000 DUP7 DUP3 ADD MSTORE PUSH3 0x12EE DUP8 PUSH3 0x1152 JUMP JUMPDEST MSTORE PUSH3 0x12FA DUP7 PUSH3 0x1152 JUMP JUMPDEST POP DUP3 PUSH3 0x1307 DUP8 PUSH3 0x1163 JUMP JUMPDEST MSTORE PUSH3 0x1313 DUP7 PUSH3 0x1163 JUMP JUMPDEST POP DUP2 MLOAD SWAP6 PUSH32 0x8916046700000000000000000000000000000000000000000000000000000000 DUP8 MSTORE DUP7 PUSH1 0x24 DUP2 ADD DUP8 PUSH1 0x4 DUP4 ADD MSTORE DUP3 MLOAD DUP1 SWAP2 MSTORE PUSH1 0x44 DUP3 ADD SWAP1 DUP9 PUSH1 0x44 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD SWAP5 ADD SWAP2 PUSH1 0x0 SWAP1 JUMPDEST DUP11 DUP4 DUP4 LT PUSH3 0x1443 JUMPI POP POP POP POP POP DUP1 PUSH1 0x0 SWAP3 SUB DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x1438 JUMPI PUSH3 0x13E5 JUMPI JUMPDEST POP PUSH3 0x13B0 SWAP5 POP MLOAD SWAP4 DUP5 SWAP3 DUP4 SWAP3 MLOAD SWAP3 DUP4 SWAP2 PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD PUSH1 0xF DUP2 MSTORE SUB ADD SWAP1 KECCAK256 PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST RETURNDATASIZE DUP1 PUSH1 0x0 DUP9 RETURNDATACOPY PUSH3 0x13F7 DUP2 DUP9 PUSH3 0xD9D JUMP JUMPDEST DUP7 ADD SWAP6 DUP6 DUP2 DUP9 SUB SLT PUSH3 0x11DF JUMPI DUP1 MLOAD SWAP2 DUP3 GT PUSH3 0x11DF JUMPI ADD DUP6 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH3 0x11DF JUMPI PUSH3 0x13B0 SWAP6 DUP2 DUP7 PUSH3 0x1430 SWAP4 MLOAD SWAP2 ADD PUSH3 0x1174 JUMP JUMPDEST POP CODESIZE PUSH3 0x1399 JUMP JUMPDEST DUP3 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x147E DUP8 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC DUP4 SWAP5 SWAP7 SWAP9 PUSH1 0x1 SWAP7 SWAP9 SWAP11 SUB ADD DUP7 MSTORE DUP9 MLOAD PUSH3 0xF21 JUMP JUMPDEST SWAP7 ADD SWAP3 ADD SWAP3 ADD DUP11 SWAP4 SWAP2 SWAP3 PUSH3 0x1360 JUMP JUMPDEST SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xD SLOAD SWAP1 DUP2 ISZERO PUSH3 0x18A0 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH1 0x20 SWAP4 PUSH32 0x7B0A000000000000000000000000000000000000000000000000000000000000 DUP6 DUP5 ADD MSTORE PUSH1 0x2 SWAP1 DUP2 DUP5 MSTORE DUP3 DUP5 ADD SWAP4 PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP2 DUP2 LT DUP7 DUP3 GT OR PUSH3 0xD34 JUMPI DUP5 MSTORE SWAP4 PUSH1 0x0 SWAP3 SWAP2 SWAP1 JUMPDEST DUP2 DUP5 LT PUSH3 0x155A JUMPI POP POP POP POP PUSH3 0x1141 SWAP2 PUSH32 0x7D00000000000000000000000000000000000000000000000000000000000000 SWAP4 SWAP5 PUSH1 0x21 SWAP3 MLOAD SWAP5 DUP3 PUSH3 0x1545 DUP8 SWAP5 MLOAD DUP1 SWAP3 DUP6 DUP1 DUP9 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST DUP4 ADD SWAP2 DUP3 ADD MSTORE SUB PUSH1 0x1 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0xD9D JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP5 PUSH3 0x1569 DUP7 PUSH3 0xE3C JUMP JUMPDEST POP PUSH3 0x1575 DUP8 PUSH3 0xE3C JUMP JUMPDEST POP SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 DUP1 SWAP4 ADD SLOAD AND SWAP2 DUP8 MLOAD SWAP1 PUSH32 0x56CA623E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 SWAP4 DUP5 DUP4 ADD MSTORE PUSH1 0x24 PUSH1 0x0 DUP4 DUP3 DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL SWAP3 DUP4 ISZERO PUSH3 0x1895 JUMPI DUP14 SWAP1 PUSH1 0x0 SWAP5 PUSH3 0x1841 JUMPI JUMPDEST POP POP DUP2 DUP12 ADD SWAP1 DUP2 DUP13 GT PUSH3 0x1815 JUMPI POP DUP13 SWAP3 SWAP2 SWAP1 DUP9 SUB PUSH3 0x17D8 JUMPI DUP10 MLOAD PUSH3 0x1619 DUP2 PUSH3 0xD80 JUMP JUMPDEST DUP10 DUP2 MSTORE PUSH32 0x220A000000000000000000000000000000000000000000000000000000000000 DUP5 DUP3 ADD MSTORE SWAP4 JUMPDEST DUP11 MLOAD SWAP7 PUSH3 0x165A DUP2 MLOAD DUP1 SWAP3 DUP8 DUP1 DUP13 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST DUP8 ADD PUSH32 0x2022000000000000000000000000000000000000000000000000000000000000 DUP6 DUP3 ADD MSTORE PUSH1 0x0 SWAP3 DUP3 SLOAD SWAP3 PUSH3 0x1692 DUP5 PUSH3 0xEA6 JUMP JUMPDEST SWAP4 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH3 0x1789 JUMPI POP PUSH1 0x1 EQ PUSH3 0x1747 JUMPI JUMPDEST POP POP POP POP SWAP3 DUP6 SWAP5 SWAP3 PUSH3 0x1708 PUSH3 0x173E SWAP8 SWAP4 DUP7 PUSH32 0x223A202200000000000000000000000000000000000000000000000000000000 PUSH3 0x1737 SWAP9 MSTORE PUSH3 0x16F6 DUP3 MLOAD DUP1 SWAP4 DUP7 DUP11 DUP6 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST ADD SWAP2 DUP4 MLOAD SWAP4 DUP5 SWAP2 DUP8 DUP6 ADD SWAP2 ADD PUSH3 0xEFC JUMP JUMPDEST ADD SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0xD9D JUMP JUMPDEST SWAP6 PUSH3 0xDDF JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH3 0x14F6 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE DUP7 DUP2 KECCAK256 SWAP4 SWAP5 POP SWAP2 SWAP3 JUMPDEST DUP5 DUP4 LT PUSH3 0x1774 JUMPI POP POP POP ADD PUSH1 0x22 ADD DUP3 PUSH3 0x1708 DUP4 PUSH3 0x1737 PUSH3 0x16A8 JUMP JUMPDEST DUP1 SLOAD DUP5 DUP5 ADD PUSH1 0x22 ADD MSTORE SWAP2 DUP7 ADD SWAP2 DUP2 ADD PUSH3 0x1755 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND PUSH1 0x22 DUP1 DUP7 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP6 ISZERO ISZERO SWAP1 SWAP6 MUL SWAP1 SWAP4 ADD SWAP1 SWAP4 ADD SWAP4 POP DUP6 SWAP3 POP PUSH3 0x1708 SWAP2 POP DUP5 SWAP1 POP PUSH3 0x1737 PUSH3 0x16A8 JUMP JUMPDEST DUP10 MLOAD PUSH3 0x17E5 DUP2 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0x3 DUP2 MSTORE PUSH32 0x222C0A0000000000000000000000000000000000000000000000000000000000 DUP5 DUP3 ADD MSTORE SWAP4 PUSH3 0x1643 JUMP JUMPDEST PUSH1 0x11 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST SWAP4 SWAP1 SWAP2 SWAP4 RETURNDATASIZE DUP1 DUP4 DUP4 RETURNDATACOPY PUSH3 0x1856 DUP2 DUP4 PUSH3 0xD9D JUMP JUMPDEST DUP2 ADD SWAP3 DUP2 DUP5 SUB SLT PUSH3 0x7F JUMPI DUP1 MLOAD SWAP1 DUP10 DUP3 GT PUSH3 0xD1B JUMPI ADD SWAP1 DUP3 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH3 0x100A JUMPI POP DUP1 MLOAD PUSH3 0x188C SWAP3 SWAP2 DUP16 ADD PUSH3 0x1174 JUMP JUMPDEST SWAP2 DUP13 CODESIZE PUSH3 0x15F2 JUMP JUMPDEST DUP11 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH3 0x18D6 DUP3 PUSH3 0xD80 JUMP JUMPDEST PUSH1 0xA DUP3 MSTORE PUSH32 0x41726269747261746F7200000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x40 MLOAD PUSH1 0x40 DUP2 ADD SWAP4 PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP3 DUP2 LT DUP7 DUP3 GT OR PUSH3 0xD34 JUMPI PUSH1 0x40 MSTORE DUP1 DUP3 MSTORE PUSH1 0x20 SWAP1 DUP2 DUP4 ADD SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0xD SLOAD SWAP1 PUSH9 0x10000000000000000 DUP3 LT ISZERO PUSH3 0xD34 JUMPI PUSH3 0x1974 PUSH1 0x1 SWAP3 DUP4 DUP2 ADD PUSH1 0xD SSTORE PUSH3 0xE3C JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH3 0x1B49 JUMPI MLOAD SWAP9 DUP10 MLOAD SWAP1 DUP2 GT PUSH3 0xD34 JUMPI PUSH3 0x1994 DUP3 SLOAD PUSH3 0xEA6 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0x1AFB JUMPI JUMPDEST POP DUP6 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0x1A51 JUMPI DUP2 SWAP1 PUSH3 0x1A32 SWAP9 SWAP10 SWAP11 SWAP12 PUSH1 0x0 SWAP3 PUSH3 0x1A45 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP6 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR DUP2 SSTORE JUMPDEST ADD SWAP6 MLOAD AND SWAP5 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP6 DUP7 DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH3 0xEFC JUMP JUMPDEST DUP2 ADD PUSH1 0xE DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP2 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x19BF JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP11 DUP4 PUSH1 0x0 MSTORE DUP8 PUSH1 0x0 KECCAK256 SWAP12 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x1AE5 JUMPI POP SWAP2 PUSH3 0x1A32 SWAP10 SWAP11 SWAP12 SWAP13 SWAP2 DUP5 DUP8 SWAP6 SWAP5 LT PUSH3 0x1AAD JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP2 SSTORE PUSH3 0x19F0 JUMP JUMPDEST ADD MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x1A9F JUMP JUMPDEST DUP4 DUP4 ADD MLOAD DUP15 SSTORE SWAP13 DUP7 ADD SWAP13 SWAP3 DUP10 ADD SWAP3 DUP10 ADD PUSH3 0x1A81 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE DUP8 DUP2 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP3 DUP10 DUP6 LT PUSH3 0x1B3E JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 DUP6 SWAP1 JUMPDEST DUP4 DUP2 LT PUSH3 0x1B32 JUMPI POP POP POP PUSH3 0x199E JUMP JUMPDEST DUP3 DUP2 SSTORE ADD DUP6 SWAP1 PUSH3 0x1B21 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH3 0x1B16 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0xE0 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH3 0x43C JUMPI PUSH3 0x12BF DUP1 CODESIZE SUB DUP1 SWAP2 PUSH3 0x22 DUP3 DUP6 PUSH3 0x441 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD PUSH1 0x60 DUP3 DUP3 SUB SLT PUSH3 0x43C JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP4 SWAP1 DUP5 DUP2 GT PUSH3 0x43C JUMPI DUP3 PUSH3 0x53 SWAP2 DUP6 ADD PUSH3 0x465 JUMP JUMPDEST SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP3 ADD MLOAD DUP7 DUP2 GT PUSH3 0x43C JUMPI DUP4 SWAP2 PUSH3 0x72 SWAP2 DUP5 ADD PUSH3 0x465 JUMP JUMPDEST SWAP2 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x43C JUMPI DUP5 MLOAD SWAP5 DUP7 DUP7 GT PUSH3 0x426 JUMPI PUSH1 0x0 SWAP6 DUP1 PUSH3 0x9B DUP9 SLOAD PUSH3 0x4DC JUMP JUMPDEST SWAP3 PUSH1 0x1F SWAP4 DUP5 DUP2 GT PUSH3 0x3D5 JUMPI JUMPDEST POP DUP8 SWAP1 DUP5 DUP4 GT PUSH1 0x1 EQ PUSH3 0x36D JUMPI DUP10 SWAP3 PUSH3 0x361 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR DUP7 SSTORE JUMPDEST DUP3 MLOAD SWAP1 DUP8 DUP3 GT PUSH3 0x34D JUMPI DUP2 SWAP1 PUSH1 0x1 SWAP5 PUSH3 0xEF DUP7 SLOAD PUSH3 0x4DC JUMP JUMPDEST DUP3 DUP2 GT PUSH3 0x2F8 JUMPI JUMPDEST POP DUP8 SWAP2 DUP4 GT PUSH1 0x1 EQ PUSH3 0x294 JUMPI DUP9 SWAP3 PUSH3 0x288 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP4 SHL OR DUP3 SSTORE JUMPDEST PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE DUP2 MLOAD DUP5 SLOAD SWAP2 DUP2 DUP7 PUSH3 0x13A DUP6 PUSH3 0x4DC JUMP JUMPDEST SWAP3 DUP4 DUP4 MSTORE DUP8 DUP4 ADD SWAP6 DUP9 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH3 0x268 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0x228 JUMPI JUMPDEST POP PUSH3 0x16A SWAP3 POP SUB DUP3 PUSH3 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP2 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP6 MSTORE DUP3 DUP5 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP5 ADD MSTORE CHAINID PUSH1 0x80 DUP5 ADD MSTORE ADDRESS PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 MSTORE PUSH1 0xC0 DUP4 ADD SWAP5 DUP4 DUP7 LT SWAP1 DUP7 GT OR PUSH3 0x214 JUMPI POP DUP4 SWAP1 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0xC0 MSTORE PUSH2 0xDA5 SWAP1 DUP2 PUSH3 0x51A DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x77E ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xB97 ADD MSTORE PUSH1 0xC0 MLOAD DUP2 PUSH2 0xBBE ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP8 SWAP2 POP DUP9 DUP1 MSTORE DUP2 DUP10 KECCAK256 SWAP1 DUP10 SWAP2 JUMPDEST DUP6 DUP4 LT PUSH3 0x24F JUMPI POP POP PUSH3 0x16A SWAP4 POP DUP3 ADD ADD CODESIZE PUSH3 0x15B JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP10 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH3 0x235 JUMP JUMPDEST PUSH1 0xFF NOT AND DUP9 MSTORE PUSH3 0x16A SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH3 0x15B SWAP1 POP JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x10D JUMP JUMPDEST DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP7 SWAP5 POP SWAP2 SWAP1 PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x2E1 JUMPI POP POP DUP5 GT PUSH3 0x2C7 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP3 SSTORE PUSH3 0x121 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x2B9 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE DUP10 SWAP8 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH3 0x2A6 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 POP DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP4 DUP1 DUP7 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP8 LT PUSH3 0x343 JUMPI JUMPDEST SWAP2 DUP7 SWAP6 DUP10 SWAP3 SWAP6 SWAP5 SWAP4 ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x334 JUMPI POP POP PUSH3 0xF8 JUMP JUMPDEST DUP12 DUP2 SSTORE DUP7 SWAP6 POP DUP9 SWAP2 ADD PUSH3 0x324 JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x315 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xBE JUMP JUMPDEST DUP10 DUP1 MSTORE DUP9 DUP11 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x3BE JUMPI POP POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH3 0x3A4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP7 SSTORE PUSH3 0xD3 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x396 JUMP JUMPDEST PUSH1 0x1 DUP6 SWAP7 DUP3 SWAP4 SWAP7 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH3 0x37C JUMP JUMPDEST SWAP1 SWAP2 POP DUP9 DUP1 MSTORE DUP8 DUP10 KECCAK256 DUP5 DUP1 DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP7 LT PUSH3 0x41C JUMPI JUMPDEST SWAP1 DUP6 SWAP5 SWAP4 SWAP3 SWAP2 ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH3 0x40D JUMPI POP PUSH3 0xA8 JUMP JUMPDEST DUP11 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x3FE JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x3F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x426 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x43C JUMPI DUP3 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 SWAP2 PUSH3 0x4A1 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP5 ADD DUP6 PUSH3 0x441 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x43C JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x4C8 JUMPI POP DUP3 PUSH1 0x0 SWAP4 SWAP5 SWAP6 POP ADD ADD MSTORE SWAP1 JUMP JUMPDEST DUP6 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x4B2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x50E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F8 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4EC JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER PUSH1 0xA0 CALLVALUE PUSH2 0xED JUMPI PUSH1 0x1F PUSH2 0x17A2 CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH2 0xF2 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0xED JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH2 0xED JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0xED JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND DUP5 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP4 SWAP2 SWAP1 DUP3 SWAP1 DUP2 CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP6 DUP1 LOG3 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 CALLER SWAP2 DUP1 LOG3 PUSH1 0x80 MSTORE PUSH2 0x1699 SWAP1 DUP2 PUSH2 0x109 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x935 ADD MSTORE PUSH2 0x1098 ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2FD597D EQ PUSH2 0x10BC JUMPI POP DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x106B JUMPI DUP1 PUSH4 0x238DAFE0 EQ PUSH2 0x1045 JUMPI DUP1 PUSH4 0x2F7F204E EQ PUSH2 0xD42 JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0xCF9 JUMPI DUP1 PUSH4 0x328D8F72 EQ PUSH2 0xC92 JUMPI DUP1 PUSH4 0x3FD8B02F EQ PUSH2 0xC74 JUMPI DUP1 PUSH4 0x410FA8E6 EQ PUSH2 0xB6A JUMPI DUP1 PUSH4 0x41BCF4DC EQ PUSH2 0x60D JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x5DA JUMPI DUP1 PUSH4 0xE44CB37B EQ PUSH2 0x46E JUMPI DUP1 PUSH4 0xE8EA054B EQ PUSH2 0x3E1 JUMPI DUP1 PUSH4 0xEC67B8C8 EQ PUSH2 0x1B2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFC JUMPI PUSH4 0xF77C4791 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x116 PUSH2 0x1454 JUMP JUMPDEST DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x188 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD PUSH2 0x1D4 DUP2 PUSH2 0x1551 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 DUP5 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x4 CALLDATALOAD DUP3 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x1FE DUP5 PUSH2 0x1551 JUMP JUMPDEST PUSH1 0xFF DUP3 SLOAD AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x3B0 JUMPI DUP5 MSTORE PUSH1 0x1 DUP1 DUP4 ADD SLOAD SWAP3 DUP5 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x2 DUP2 ADD PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 DUP6 SWAP2 DUP2 SLOAD SWAP2 PUSH2 0x233 DUP4 PUSH2 0x15AE JUMP JUMPDEST SWAP3 DUP4 DUP7 MSTORE DUP11 DUP4 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0x36C JUMPI POP POP PUSH1 0x1 EQ PUSH2 0x32F JUMPI JUMPDEST POP POP POP PUSH1 0x3 SWAP3 SWAP2 PUSH2 0x260 SWAP2 SUB DUP5 PUSH2 0x156D JUMP JUMPDEST PUSH1 0x40 DUP8 ADD SWAP3 DUP4 MSTORE ADD SLOAD SWAP3 PUSH1 0x60 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x40 MLOAD SWAP6 DUP6 DUP8 MSTORE MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x302 JUMPI DUP6 DUP8 ADD MSTORE MLOAD PUSH1 0x40 DUP7 ADD MSTORE MLOAD PUSH1 0x80 PUSH1 0x60 DUP7 ADD MSTORE DUP1 MLOAD PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE SWAP4 DUP6 SWAP4 SWAP3 SWAP2 DUP3 JUMPDEST DUP7 DUP2 LT PUSH2 0x2EB JUMPI POP POP POP DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP3 PUSH1 0x1F SWAP3 PUSH1 0xC0 DUP1 SWAP8 DUP8 ADD ADD MSTORE MLOAD PUSH1 0x80 DUP6 ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP9 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP8 SWAP6 POP DUP3 ADD PUSH2 0x2A4 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 MSTORE DUP9 DUP8 KECCAK256 DUP10 SWAP4 POP DUP8 SWAP3 SWAP2 SWAP1 JUMPDEST DUP3 DUP5 LT PUSH2 0x354 JUMPI POP POP POP DUP3 ADD ADD DUP2 PUSH2 0x260 PUSH1 0x3 PUSH2 0x24E JUMP JUMPDEST DUP1 SLOAD DUP5 DUP10 ADD DUP7 ADD MSTORE DUP8 SWAP6 POP DUP11 SWAP5 SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x33C JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP8 DUP3 ADD MSTORE SWAP4 ISZERO ISZERO PUSH1 0x5 SHL DUP7 ADD SWAP1 SWAP4 ADD SWAP4 POP DUP5 SWAP3 POP PUSH2 0x260 SWAP2 POP PUSH1 0x3 SWAP1 POP PUSH2 0x24E JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x3FB PUSH2 0x1454 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE CALLER PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI DUP2 DUP4 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP1 DUP2 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x5AD JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI DUP1 PUSH1 0x1 DUP5 ADD SLOAD SUB PUSH2 0x52F JUMPI PUSH32 0xB6DC686A67A9620536A83F729428EF64A3E6529407D6B5E0DF3426FE6B01A260 SWAP3 PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH1 0x20 SWAP5 AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAFFBF64B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x641 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SWAP4 PUSH1 0x80 DUP6 SLT PUSH2 0xB66 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP6 PUSH2 0x67B DUP8 PUSH2 0x1519 JUMP JUMPDEST SLT PUSH2 0xB66 JUMPI PUSH1 0x40 MLOAD PUSH2 0x68C DUP2 PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x885 JUMPI DUP2 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP6 MSTORE PUSH1 0x84 CALLDATALOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x40 DUP7 ADD MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x6E0 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST SWAP5 SWAP1 PUSH1 0x4 CALLDATALOAD DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP6 DUP7 SLOAD SWAP2 PUSH1 0xFF DUP4 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ PUSH2 0xB0F JUMPI PUSH1 0x40 MLOAD PUSH2 0x722 DUP2 PUSH2 0x1519 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND DUP1 DUP3 MSTORE PUSH1 0x3 SLOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 SLOAD AND PUSH1 0x40 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 MLOAD MLOAD AND SUB PUSH2 0xAE5 JUMPI PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH2 0x7CC DUP2 PUSH2 0x7A0 PUSH1 0x40 DUP3 ADD DUP12 DUP14 PUSH2 0x1601 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 PUSH1 0x1 DUP12 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP10 DUP10 JUMPDEST DUP12 ISZERO DUP1 PUSH2 0xADC JUMPI JUMPDEST ISZERO PUSH2 0x8B7 JUMPI DUP9 DUP2 LT ISZERO PUSH2 0x88A JUMPI DUP1 PUSH1 0x6 SHL DUP11 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI CALLER EQ PUSH2 0x87C JUMPI JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x84F JUMPI PUSH1 0x1 ADD PUSH2 0x7DF JUMP JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x1 SWAP12 POP PUSH2 0x820 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP10 SWAP8 POP DUP11 ISZERO PUSH2 0xAB2 JUMPI PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP10 SWAP8 AND OR SWAP1 SSTORE PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP5 ADD MLOAD AND SWAP3 ADD MLOAD PUSH1 0x40 MLOAD SWAP3 PUSH2 0x917 DUP5 PUSH2 0x1535 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xAAE JUMPI DUP6 DUP1 SWAP5 PUSH1 0x40 SWAP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH2 0xA1D SWAP10 DUP7 MLOAD SWAP11 DUP12 SWAP10 DUP11 SWAP9 DUP10 SWAP7 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP9 MSTORE PUSH2 0x9E4 PUSH1 0x4 DUP10 ADD DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x44 DUP11 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x64 DUP9 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x84 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xA4 DUP7 ADD MSTORE JUMP JUMPDEST CALLER PUSH1 0xC4 DUP6 ADD MSTORE PUSH2 0x100 PUSH1 0xE4 DUP6 ADD MSTORE DUP1 PUSH2 0x104 DUP6 ADD MSTORE DUP1 PUSH2 0x124 SWAP6 DUP7 DUP7 ADD CALLDATACOPY DUP6 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xAA3 JUMPI PUSH2 0xA8F JUMPI JUMPDEST POP POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2A41D71AD20BB81193ADE4A1C1C4796777BA30F92F48C41FCE7EEB361E109B0E PUSH1 0x40 PUSH1 0x4 CALLDATALOAD SWAP3 LOG2 DUP1 RETURN JUMPDEST PUSH2 0xA98 SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x3DD JUMPI DUP2 DUP4 PUSH2 0xA56 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6526878800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP9 DUP2 LT PUSH2 0x7E7 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xFD6F412000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xA0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x5 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 DUP2 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x3 SSTORE PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0x885 JUMPI PUSH1 0x4 SLOAD AND OR PUSH1 0x4 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x2 SLOAD AND SWAP1 PUSH1 0x3 SLOAD SWAP1 PUSH1 0x4 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0xD5C PUSH2 0x1454 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x44 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0xD80 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND ISZERO PUSH2 0x101B JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD DUP3 PUSH2 0xDD4 DUP6 DUP8 DUP5 SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x34 SWAP4 PUSH1 0x60 SHL AND DUP3 MSTORE PUSH1 0x14 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SUB SWAP3 PUSH2 0xE06 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP5 DUP6 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 DUP8 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP8 KECCAK256 SWAP3 DUP4 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xFEE JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0xFC4 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ ISZERO DUP1 PUSH2 0xFB7 JUMPI JUMPDEST PUSH2 0xF8D JUMPI PUSH1 0x40 MLOAD PUSH2 0xE6F PUSH1 0x20 DUP3 ADD SWAP3 PUSH1 0x20 DUP5 MSTORE DUP3 PUSH2 0xE63 PUSH1 0x40 DUP3 ADD DUP9 DUP11 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 PUSH1 0x1 DUP7 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP5 PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 AND OR SWAP1 SSTORE AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xB66 JUMPI DUP4 PUSH2 0xF0E SWAP6 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xF82 JUMPI PUSH2 0xF4C JUMPI JUMPDEST POP PUSH1 0x20 PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 SWAP4 PUSH2 0xF7A PUSH1 0x20 SWAP3 PUSH2 0x14D6 JUMP JUMPDEST SWAP4 SWAP2 POP PUSH2 0xF1D JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xF268E9E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP PUSH1 0x3 DUP6 ADD SLOAD TIMESTAMP LT PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xE4D068DA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x10D6 PUSH2 0x1454 JUMP JUMPDEST SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x44 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x10F9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD DUP6 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x1111 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 SWAP5 PUSH1 0x1 SLOAD SWAP1 PUSH1 0xFF DUP3 PUSH1 0xA0 SHR AND ISZERO PUSH2 0x142C JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x40 MLOAD PUSH1 0x60 DUP9 SWAP1 SHL PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 AND PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x34 DUP4 ADD MSTORE SWAP1 PUSH2 0x1188 DUP2 PUSH1 0x54 DUP2 ADD PUSH2 0x7A0 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP4 DUP5 SLOAD SWAP7 PUSH1 0xFF DUP9 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI PUSH1 0x1 SWAP2 PUSH2 0x7A0 PUSH2 0x11F4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP4 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP6 PUSH1 0x20 DUP8 MSTORE PUSH1 0x40 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP8 AND OR DUP5 SSTORE DUP6 PUSH1 0x1 DUP6 ADD SSTORE DUP3 GT PUSH2 0x13FF JUMPI DUP2 SWAP1 PUSH2 0x1217 PUSH1 0x2 DUP6 ADD SLOAD PUSH2 0x15AE JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x13AF JUMPI JUMPDEST POP DUP5 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x1307 JUMPI DUP6 SWAP3 PUSH2 0x12FC JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x2 DUP3 ADD SSTORE JUMPDEST PUSH1 0x5 SLOAD TIMESTAMP ADD SWAP2 DUP3 TIMESTAMP GT PUSH2 0x12CF JUMPI POP SWAP2 PUSH1 0x20 SWAP5 SWAP2 PUSH1 0x3 DUP6 SWAP5 ADD SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x96EAB3103FBD8C0266ECA3E7A57929BC3BD66EF5223E2CB45F589F884FFCB9AE DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP5 AND SWAP3 LOG4 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST ADD CALLDATALOAD SWAP1 POP DUP8 DUP1 PUSH2 0x1235 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP2 PUSH1 0x2 DUP6 ADD DUP7 MSTORE PUSH1 0x20 DUP7 KECCAK256 SWAP3 DUP7 JUMPDEST DUP2 DUP2 LT PUSH2 0x1397 JUMPI POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH2 0x135F JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x2 DUP3 ADD SSTORE PUSH2 0x126A JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE DUP8 DUP1 DUP1 PUSH2 0x134F JUMP JUMPDEST SWAP2 SWAP4 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP8 DUP8 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP6 ADD SWAP3 ADD PUSH2 0x1339 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x2 DUP5 ADD DUP6 MSTORE PUSH1 0x20 DUP6 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x13F8 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x13EA JUMPI POP POP PUSH2 0x1220 JUMP JUMPDEST DUP8 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x13D4 JUMP JUMPDEST POP DUP1 PUSH2 0x13CE JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 PUSH1 0x4 SWAP3 MSTORE REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x15F7 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x15C8 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x15BD JUMP JUMPDEST SWAP2 DUP2 DUP2 MSTORE PUSH1 0x20 DUP1 SWAP2 ADD SWAP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x1621 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP6 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0xAAE JUMPI DUP2 MSTORE DUP6 DUP3 ADD CALLDATALOAD DUP3 DUP3 ADD MSTORE PUSH1 0x40 SWAP1 DUP2 ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 PUSH1 0x1 ADD SWAP1 PUSH2 0x1612 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E PUSH12 0x186204CB5B1A91903D6FED9E 0xB1 0x5E 0xD3 PUSH4 0x61835D2B SWAP2 BYTE 0xA9 0xD5 PUSH23 0xE0EA5387C864736F6C6343000811003360A034620000CE JUMPI PUSH1 0x1F PUSH3 0x306C CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH3 0xD3 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH3 0xCE JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH3 0xCE JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH3 0xCE JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP4 OR DUP2 SSTORE PUSH1 0x40 MLOAD SWAP3 SWAP1 CALLER SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP1 LOG3 PUSH1 0x1 PUSH1 0x2 SSTORE PUSH1 0x80 MSTORE PUSH2 0x2F82 SWAP1 DUP2 PUSH3 0xEA DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x389 ADD MSTORE DUP2 DUP2 PUSH2 0x1F5C ADD MSTORE PUSH2 0x24BE ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x61AB0BC EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0x186799A4 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0x1BD747A2 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0x33099405 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x5541E684 EQ PUSH2 0x128 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x8135FE23 EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x8F34A859 EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0xA37EE28C EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xAB4F5678 EQ PUSH2 0xF2 JUMPI DUP1 PUSH4 0xAC41B751 EQ PUSH2 0xE9 JUMPI DUP1 PUSH4 0xAF0F9DF3 EQ PUSH2 0xE0 JUMPI PUSH4 0xF2FDE38B EQ PUSH2 0xD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x17F0 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x16AC JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x157F JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1425 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1307 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1129 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x10F4 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xF2C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xEF7 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xE3C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xB52 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xA5E JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x908 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x7FA JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x3AD JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x35B JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x190 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x199 DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x1AA PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x1 SWAP1 PUSH2 0x2B9 PUSH2 0x1BC PUSH2 0x206C JUMP JUMPDEST SWAP2 PUSH2 0x1EA CALLER PUSH1 0x8 DUP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x0 PUSH1 0x2 DUP6 ADD PUSH2 0x225 PUSH1 0x6 DUP3 SLOAD SWAP6 ADD PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x257 PUSH1 0x3 DUP8 ADD PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST SSTORE PUSH2 0x2B3 PUSH1 0x40 PUSH2 0x297 PUSH2 0x27E DUP5 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x2717 JUMP JUMPDEST ADD SLOAD DUP2 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x2FA CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x4 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 CALLER SWAP1 PUSH32 0xB67E3AC5AA7B56D61E366985EA94BE26DB935ECA5C55E0359FD36C5852B6FA39 PUSH1 0x0 DUP1 LOG3 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP2 SUB SLT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x3D0 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x3E8 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x3F0 PUSH2 0x206C JUMP JUMPDEST SWAP1 PUSH2 0x3FD PUSH2 0x1A6 DUP3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x524 JUMPI PUSH2 0x40E PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x4D7 SWAP2 PUSH2 0x4B5 PUSH2 0x446 CALLER PUSH1 0x8 DUP6 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP4 PUSH2 0x48B PUSH1 0x3 DUP7 SLOAD SWAP4 PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 DUP2 SLOAD SWAP11 SSTORE SSTORE ADD PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E PUSH1 0x3 CALLER SWAP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2717 JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E CALLER SWAP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 CALLER SWAP3 DUP1 PUSH2 0x515 DUP2 SWAP1 PUSH1 0x3 PUSH1 0x20 PUSH1 0x40 DUP5 ADD SWAP4 PUSH1 0x0 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x522 PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xA3B1C9DE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x60 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x60 SWAP2 SUB SLT PUSH2 0xE JUMPI SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x5DF PUSH2 0x58B JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x600 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x6D0 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x6D8 PUSH2 0x58B JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SUB PUSH2 0xE JUMPI JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x732 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x64 CALLDATALOAD PUSH2 0x73F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x84 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x782 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x24 CALLDATALOAD PUSH2 0x78F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x44 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0x7B3 DUP2 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 SWAP5 DUP1 CALLDATALOAD PUSH2 0x7C3 DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP5 MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x3 NOT PUSH1 0x80 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xE JUMPI PUSH2 0x82F SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI PUSH1 0x60 SWAP1 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 DUP1 MLOAD SWAP3 PUSH2 0x854 DUP5 PUSH2 0x5E4 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD CALLDATALOAD DUP6 DUP2 GT PUSH2 0xE JUMPI DUP2 ADD CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xE JUMPI PUSH1 0x4 DUP2 ADD CALLDATALOAD SWAP1 PUSH2 0x87C DUP3 PUSH2 0x6B6 JUMP JUMPDEST SWAP1 PUSH2 0x889 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x64C JUMP JUMPDEST DUP3 DUP3 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x24 DUP5 DUP5 ADD SWAP2 PUSH1 0x6 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP8 SWAP2 ADD SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x8EF JUMPI POP POP POP SWAP1 DUP7 MSTORE POP PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE PUSH1 0x44 ADD CALLDATALOAD SWAP1 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP3 DUP4 GT PUSH2 0xE JUMPI PUSH2 0x8E4 PUSH2 0x522 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP1 SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x1E66 JUMP JUMPDEST DUP6 SWAP1 PUSH2 0x8FB CALLDATASIZE DUP6 PUSH2 0x79B JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 DUP7 SWAP1 PUSH2 0x8AA JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND SWAP1 PUSH1 0x4 SLOAD SWAP1 PUSH1 0x5 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH2 0x997 PUSH2 0x952 JUMP JUMPDEST MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD MSTORE DUP1 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 PUSH1 0xC0 PUSH1 0x60 DUP5 ADD MSTORE DUP2 MLOAD SWAP2 DUP3 PUSH1 0xE0 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA49 JUMPI POP POP POP PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 PUSH2 0xA42 PUSH1 0xA0 PUSH2 0x100 SWAP7 PUSH1 0x0 DUP9 DUP6 DUP10 ADD ADD MSTORE PUSH2 0xA2D PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x80 DUP10 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD MLOAD DUP3 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP7 ADD SWAP1 PUSH2 0x982 JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH2 0x100 ADD MSTORE DUP3 ADD PUSH2 0x9C7 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0xA0 PUSH1 0x40 MLOAD PUSH2 0xA80 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE DUP3 PUSH1 0x80 DUP3 ADD MSTORE ADD MSTORE PUSH2 0xB4E PUSH2 0xAB7 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xB42 DUP2 SLOAD SWAP2 PUSH1 0x1 DUP2 ADD SLOAD SWAP1 PUSH2 0xB34 PUSH2 0xAE7 PUSH1 0x3 DUP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0xB12 PUSH1 0x2 PUSH1 0x4 DUP6 ADD SLOAD SWAP5 PUSH2 0xAFB DUP2 PUSH2 0x27E6 JUMP JUMPDEST SWAP7 PUSH2 0xB04 PUSH2 0x68D JUMP JUMPDEST SWAP10 DUP11 MSTORE PUSH1 0x20 DUP11 ADD MSTORE ADD PUSH2 0x18D6 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 DUP7 ADD MSTORE JUMP JUMPDEST PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x99A JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 DUP1 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI CALLDATASIZE PUSH1 0x23 DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 DUP3 ADD CALLDATALOAD SWAP4 DUP5 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP4 ADD SWAP3 PUSH1 0x24 CALLDATASIZE SWAP2 DUP7 PUSH1 0x6 SHL ADD ADD GT PUSH2 0xE JUMPI PUSH2 0xBCB PUSH2 0x27E PUSH1 0x1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST CALLER SUB PUSH2 0xE16 JUMPI PUSH2 0xBE5 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH2 0xBF7 PUSH2 0x1A6 PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xDEF JUMPI PUSH2 0xC04 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0xDC8 JUMPI PUSH1 0x0 SWAP1 PUSH1 0x7 DUP6 ADD SWAP1 DUP2 SLOAD DUP8 SUB PUSH2 0xD9F JUMPI DUP3 JUMPDEST DUP8 DUP2 LT PUSH2 0xC80 JUMPI POP POP POP DUP3 DUP5 ADD SLOAD SUB PUSH2 0xC5A JUMPI POP POP PUSH1 0x5 ADD SSTORE PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST MLOAD PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH2 0xCAD PUSH2 0xC8D DUP3 DUP6 PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x3 SHL SHR AND SWAP1 JUMP JUMPDEST PUSH2 0xCC3 PUSH2 0x27E PUSH2 0xCBE DUP5 DUP13 DUP8 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x1BA3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SUB PUSH2 0xD77 JUMPI SWAP1 DUP9 DUP11 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH2 0xD72 SWAP5 PUSH2 0xD24 PUSH2 0xD1E PUSH2 0xD19 DUP8 DUP8 DUP12 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x2696 JUMP JUMPDEST DUP14 PUSH2 0x2DA4 JUMP JUMPDEST PUSH2 0xD3E PUSH1 0x20 SWAP10 DUP11 PUSH2 0xD36 DUP9 DUP9 DUP13 PUSH2 0x27C8 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 PUSH2 0x270A JUMP JUMPDEST SWAP9 PUSH2 0xD58 DUP7 PUSH2 0xD51 PUSH2 0xCBE DUP3 DUP10 DUP14 PUSH2 0x27C8 JUMP JUMPDEST SWAP7 DUP11 PUSH2 0x27C8 JUMP JUMPDEST DUP12 MLOAD SWAP2 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP3 ADD MSTORE SWAP4 AND SWAP3 PUSH1 0x40 SWAP1 LOG3 PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0xC1A JUMP JUMPDEST DUP7 DUP7 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP POP POP MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x4E16946C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0xEAF DUP2 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0xEB8 CALLDATASIZE PUSH2 0x6FB JUMP JUMPDEST DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0xE4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH2 0xEEE PUSH2 0x522 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x2388 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xF55 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xF5E DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0xF6B PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x8 DUP2 ADD SWAP1 PUSH1 0x2 PUSH2 0xFAD PUSH1 0x3 PUSH2 0xFA5 CALLER DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xFB6 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x1 PUSH2 0x1054 PUSH2 0x109D SWAP4 PUSH2 0x101F PUSH1 0x3 PUSH2 0xFF3 CALLER DUP5 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x5 DUP5 ADD PUSH2 0x102D DUP2 SLOAD PUSH2 0x26FC JUMP JUMPDEST SWAP1 SSTORE CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD DUP4 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x1095 CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x2 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x10A3 JUMPI STOP JUMPDEST PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAF20EF4A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x0 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT DUP2 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x80 DUP3 PUSH1 0x4 ADD SWAP2 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP2 ISZERO PUSH2 0x12DE JUMPI DUP4 MLOAD ADDRESS PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP3 CALLDATALOAD PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x60 DUP5 ADD MSTORE SWAP3 SWAP2 PUSH2 0x11BE DUP2 PUSH1 0x80 DUP2 ADD JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x64C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x11D6 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x1 DUP4 ADD DUP1 SLOAD PUSH2 0x12B5 JUMPI DUP4 PUSH2 0x1298 PUSH2 0x1290 DUP9 SWAP6 DUP9 SWAP6 PUSH2 0xB4E SWAP13 SWAP11 PUSH2 0x12A4 SWAP7 DUP14 SWAP12 PUSH32 0xF7CBEAC7C87F7E00FCF9440CF10B123FB3D766366A39EEB572C219C8EAC3AB46 SWAP12 SSTORE SSTORE PUSH2 0x128B PUSH1 0x64 PUSH1 0x44 DUP5 ADD SWAP4 PUSH2 0x123C PUSH2 0x1232 DUP7 DUP7 PUSH2 0x1BAD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP12 ADD PUSH2 0x1C52 JUMP JUMPDEST ADD SWAP6 PUSH1 0x3 PUSH2 0x1249 DUP9 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1BAD JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 DUP9 MLOAD SWAP6 DUP7 SWAP6 DUP7 PUSH2 0x1DC0 JUMP JUMPDEST SUB SWAP1 LOG2 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST PUSH1 0x4 DUP9 MLOAD PUSH32 0xD8876C2D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x133C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST SWAP1 PUSH2 0x134B PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH2 0x13F1 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x136B CALLER DUP6 DUP4 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1373 PUSH2 0x206C JUMP JUMPDEST DUP1 MLOAD PUSH2 0x13A1 SWAP1 PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 ADD SWAP2 DUP3 MLOAD SWAP1 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13D8 PUSH1 0x20 PUSH2 0x13CA PUSH2 0x27E PUSH1 0x3 DUP7 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP7 ADD CALLDATALOAD DUP1 SWAP7 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST CALLER DUP2 MSTORE SWAP1 DUP6 PUSH1 0x20 DUP4 ADD MSTORE MLOAD SWAP2 PUSH2 0x2CA2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD PUSH2 0x515 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x1443 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x5 GT ISZERO PUSH2 0x14EA JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x952 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 ADD SWAP1 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 SWAP3 MSTORE DUP1 PUSH1 0x40 DUP1 SWAP5 ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1529 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP4 PUSH1 0x80 PUSH1 0x1 SWAP3 PUSH2 0x1572 DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP4 MSTORE DUP5 DUP2 ADD MLOAD DUP6 DUP5 ADD MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP5 ADD MSTORE PUSH1 0x60 DUP1 SWAP2 ADD MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST ADD SWAP7 ADD SWAP5 SWAP4 SWAP3 ADD SWAP1 PUSH2 0x151A JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH2 0x15A8 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SWAP2 DUP3 SLOAD SWAP2 PUSH2 0x15B9 DUP4 PUSH2 0x19A5 JUMP JUMPDEST SWAP4 PUSH1 0x8 PUSH1 0x0 SWAP3 ADD SWAP2 JUMPDEST DUP5 DUP2 LT PUSH2 0x15D7 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH2 0xB4E DUP9 DUP3 PUSH2 0x14FF JUMP JUMPDEST DUP1 PUSH2 0x1619 PUSH2 0x1614 PUSH2 0x15EE PUSH2 0xC8D PUSH2 0x16A7 SWAP6 DUP8 PUSH2 0x1AC9 JUMP JUMPDEST DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1AFB JUMP JUMPDEST PUSH2 0x168C PUSH2 0x163A DUP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 DUP8 DUP2 ADD MLOAD SWAP1 PUSH1 0x40 DUP1 DUP3 ADD MLOAD SWAP1 PUSH1 0x60 DUP1 SWAP4 ADD MLOAD SWAP4 PUSH2 0x1657 DUP6 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x167E PUSH2 0x1662 PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP9 AND DUP9 MSTORE JUMP JUMPDEST DUP12 DUP8 ADD MSTORE DUP6 ADD MSTORE DUP4 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH2 0x1696 DUP3 DUP10 PUSH2 0x1B72 JUMP JUMPDEST MSTORE PUSH2 0x16A1 DUP2 DUP9 PUSH2 0x1B72 JUMP JUMPDEST POP PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0x15C2 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x16CA DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH2 0x16D3 CALLDATASIZE PUSH2 0x54E JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH1 0x40 DUP2 PUSH2 0x174A PUSH2 0x179E SWAP4 CALLDATALOAD PUSH2 0x1709 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x3 SLOAD AND OR PUSH1 0x3 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x4 SSTORE ADD CALLDATALOAD PUSH2 0x175D DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x5 SLOAD AND OR PUSH1 0x5 SSTORE JUMP JUMPDEST AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x180E DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x18CC JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x189D JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1892 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x18EA DUP5 PUSH2 0x1883 JUMP JUMPDEST SWAP1 DUP2 DUP5 MSTORE PUSH1 0x1 SWAP5 DUP6 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x1957 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1914 JUMPI JUMPDEST POP POP PUSH2 0x69A SWAP3 POP SUB DUP4 PUSH2 0x64C JUMP JUMPDEST SWAP1 SWAP4 SWAP2 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 DUP2 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x193F JUMPI POP POP PUSH2 0x69A SWAP4 POP DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST DUP6 SLOAD DUP9 DUP5 ADD DUP6 ADD MSTORE SWAP5 DUP6 ADD SWAP5 DUP8 SWAP5 POP SWAP2 DUP4 ADD SWAP2 PUSH2 0x1927 JUMP JUMPDEST SWAP1 POP PUSH2 0x69A SWAP6 POP PUSH1 0x20 SWAP4 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP2 POP AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x19AF DUP3 PUSH2 0x6B6 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH2 0x19BE DUP3 MLOAD SWAP2 DUP3 PUSH2 0x64C JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x19EC DUP3 SWAP6 PUSH2 0x6B6 JUMP JUMPDEST ADD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x19FE JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 MLOAD PUSH2 0x1A0C DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE PUSH1 0x0 DUP6 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x60 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH2 0x19F1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1A8D JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A2F JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 SLOAD DUP3 LT ISZERO PUSH2 0x1AE2 JUMPI JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SWAP1 PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1AEA PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1AD3 JUMP JUMPDEST PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x69A PUSH1 0x40 MLOAD PUSH2 0x1B0B DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x60 PUSH1 0xFF PUSH1 0x3 DUP4 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 SLOAD AND DUP6 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 DUP7 ADD MSTORE ADD SLOAD AND SWAP2 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP1 MLOAD ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A99 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP2 DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B87 JUMPI JUMPDEST PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x1B8F PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1B7F JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0xE JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0xE JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x1C0C JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP4 ADD SWAP5 LT PUSH2 0x1C48 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH2 0x1C3D JUMPI POP POP POP JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1C31 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x1C28 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1D74 JUMPI JUMPDEST PUSH2 0x1C79 DUP2 PUSH2 0x1C73 DUP5 SLOAD PUSH2 0x1883 JUMP JUMPDEST DUP5 PUSH2 0x1BFE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1CD0 JUMPI DUP2 SWAP3 SWAP4 SWAP5 PUSH1 0x0 SWAP3 PUSH2 0x1CC5 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE JUMP JUMPDEST ADD CALLDATALOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x1C92 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP5 PUSH2 0x1D03 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 DUP1 JUMPDEST DUP8 DUP2 LT PUSH2 0x1D5C JUMPI POP DUP4 PUSH1 0x1 SWAP6 SWAP7 SWAP8 LT PUSH2 0x1D24 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x1D1A JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP7 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP5 ADD SWAP2 ADD PUSH2 0x1D06 JUMP JUMPDEST PUSH2 0x1D7C PUSH2 0x58B JUMP JUMPDEST PUSH2 0x1C65 JUMP JUMPDEST PUSH1 0x1F DUP3 PUSH1 0x20 SWAP5 SWAP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP4 DUP2 DUP7 MSTORE DUP7 DUP7 ADD CALLDATACOPY PUSH1 0x0 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST SWAP4 SWAP3 PUSH1 0x60 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 PUSH2 0x1DFA SWAP4 SWAP9 SWAP8 SWAP9 DUP8 MSTORE PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x80 PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x80 DUP7 ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST SWAP5 AND SWAP2 ADD MSTORE JUMP JUMPDEST ISZERO PUSH2 0x1E08 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5245454E5452414E435900000000000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP1 SWAP4 PUSH2 0x1E78 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x1E90 DUP5 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x1E9C CALLER DUP8 DUP6 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1EA4 PUSH2 0x206C JUMP JUMPDEST SWAP6 PUSH2 0x1ECD PUSH2 0x1EB2 DUP7 MLOAD PUSH2 0x1B4B JUMP JUMPDEST MLOAD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x1EEF PUSH2 0x27E DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x1F19 PUSH2 0x1EB2 DUP8 MLOAD PUSH2 0x1B61 JUMP JUMPDEST DUP3 PUSH2 0x1F3E PUSH2 0x27E PUSH1 0x3 DUP10 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x2042 JUMPI PUSH1 0x20 DUP1 SWAP2 ADD CALLDATALOAD SWAP8 ADD SWAP3 PUSH2 0x1F59 DUP5 MLOAD DUP10 PUSH2 0x2B70 JUMP JUMPDEST SWAP2 PUSH32 0x0 AND DUP1 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x1FDF SWAP7 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x1FC6 PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0xEDD9444B00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x210A JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x2035 JUMPI JUMPDEST PUSH2 0x201C JUMPI JUMPDEST POP PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD JUMPDEST SUB SWAP1 LOG3 PUSH2 0x69A PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x202F SWAP3 PUSH2 0x638 JUMP JUMPDEST DUP1 PUSH2 0x350 JUMP JUMPDEST CODESIZE PUSH2 0x1FD6 JUMP JUMPDEST PUSH2 0x203D PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x1FD1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x2079 DUP3 PUSH2 0x5E4 JUMP JUMPDEST DUP2 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND DUP4 MSTORE PUSH1 0x4 SLOAD PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x5 SLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x20C9 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 DUP3 PUSH1 0x40 DUP3 PUSH2 0x20FE PUSH1 0x1 SWAP5 DUP10 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 ADD PUSH2 0x20BB JUMP JUMPDEST SWAP1 SWAP6 SWAP5 SWAP3 SWAP4 SWAP2 PUSH1 0x80 DUP3 MSTORE PUSH1 0xE0 DUP3 ADD SWAP7 DUP1 MLOAD SWAP1 PUSH1 0x60 PUSH1 0x80 DUP6 ADD MSTORE DUP2 MLOAD DUP1 SWAP10 MSTORE PUSH2 0x100 DUP5 ADD SWAP9 PUSH1 0x20 DUP1 SWAP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x2199 JUMPI POP POP POP SWAP8 PUSH2 0x218C SWAP3 DUP3 PUSH1 0x40 DUP12 PUSH2 0x216D SWAP6 PUSH2 0x1BA0 SWAP13 SWAP14 ADD MLOAD PUSH1 0xA0 DUP10 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP8 ADD MSTORE DUP6 DUP4 SUB SWAP1 DUP7 ADD MSTORE PUSH2 0x20A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP6 AND PUSH1 0x40 DUP4 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 DUP6 SUB SWAP2 ADD MSTORE PUSH2 0x1D81 JUMP JUMPDEST SWAP1 SWAP2 SWAP11 DUP5 PUSH1 0x40 DUP3 PUSH2 0x21CE DUP16 SWAP5 PUSH1 0x1 SWAP6 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP13 ADD SWAP3 SWAP2 ADD PUSH2 0x2137 JUMP JUMPDEST POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x226F PUSH1 0x20 DUP1 DUP7 ADD SWAP6 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH2 0x2257 DUP2 PUSH2 0x1192 DUP7 DUP10 DUP10 PUSH1 0x24 DUP6 ADD PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 SWAP5 PUSH1 0x60 DUP3 ADD SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP4 MSTORE AND PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x0 SWAP7 DUP8 SWAP2 MLOAD SWAP1 DUP3 DUP11 GAS CALL DUP6 MLOAD PUSH1 0x1 EQ RETURNDATASIZE ISZERO OR AND ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x227B JUMPI JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2284 SWAP1 PUSH2 0x233D JUMP JUMPDEST SWAP4 PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 SWAP2 DUP3 EXTCODESIZE ISZERO PUSH2 0x2339 JUMPI PUSH1 0x40 MLOAD PUSH32 0x36C7851600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP4 DUP2 AND PUSH1 0x24 DUP6 ADD MSTORE SWAP5 DUP6 AND PUSH1 0x44 DUP5 ADD MSTORE SWAP1 SWAP4 AND PUSH1 0x64 DUP3 ADD MSTORE SWAP2 DUP3 SWAP1 PUSH1 0x84 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x232C JUMPI JUMPDEST PUSH2 0x2319 JUMPI JUMPDEST DUP1 DUP1 DUP1 DUP1 PUSH2 0x2274 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x2326 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x2310 JUMP JUMPDEST PUSH2 0x2334 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x230B JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x235E JUMPI AND SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC4BD89A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x2399 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x23B1 DUP4 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP4 PUSH2 0x23BB DUP6 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x23CF PUSH2 0x1A6 PUSH2 0x23C9 PUSH2 0x1B94 JUMP JUMPDEST DUP8 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x240A PUSH2 0x1614 PUSH2 0x23E1 PUSH2 0x1B94 JUMP JUMPDEST PUSH1 0x8 DUP9 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 DUP3 ADD SWAP2 PUSH1 0x2 DUP4 MLOAD PUSH2 0x241D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2426 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x20 ADD SWAP6 DUP7 MLOAD SWAP7 PUSH1 0x44 CALLDATALOAD DUP1 SWAP9 GT PUSH2 0x25BB JUMPI PUSH2 0x2447 SWAP1 MLOAD DUP9 PUSH2 0x25E5 JUMP JUMPDEST SWAP4 PUSH2 0x2468 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 MLOAD AND SWAP1 JUMP JUMPDEST SWAP5 PUSH2 0x248D PUSH2 0x27E PUSH1 0x3 DUP6 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP8 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x24B2 PUSH2 0x69C JUMP JUMPDEST ADDRESS DUP2 MSTORE SWAP1 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH32 0x0 AND SWAP7 DUP8 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 SWAP8 PUSH2 0x2577 SWAP6 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x254B PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x25FA JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x25AE JUMPI JUMPDEST PUSH2 0x259B JUMPI JUMPDEST POP DUP3 MLOAD SWAP1 PUSH2 0x2568 DUP3 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2571 CALLDATASIZE PUSH2 0x74B JUMP JUMPDEST SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH2 0x200F PUSH2 0x2582 PUSH2 0x1B94 JUMP JUMPDEST SWAP2 MLOAD PUSH2 0x258D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 AND SWAP7 DUP4 PUSH2 0x26A1 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x25A8 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x255B JUMP JUMPDEST PUSH2 0x25B6 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x2556 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC52E3EFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x1A2F JUMP JUMPDEST SWAP2 SWAP3 PUSH2 0x267F PUSH2 0x1BA0 SWAP7 SWAP5 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 PUSH2 0x2647 DUP8 DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD DUP9 DUP5 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x60 DUP8 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP8 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE JUMP JUMPDEST AND PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x100 SWAP1 DUP2 PUSH1 0xE0 DUP3 ADD MSTORE ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST PUSH2 0x1BA0 SWAP1 CALLDATASIZE SWAP1 PUSH2 0x79B JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP2 ADD SWAP3 SWAP2 PUSH2 0x69A SWAP2 PUSH1 0x20 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x26EF JUMPI JUMPDEST PUSH1 0xFF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP4 SLOAD AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x26F7 PUSH2 0x952 JUMP JUMPDEST PUSH2 0x26C2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 PUSH1 0x44 SWAP3 PUSH1 0x20 SWAP6 PUSH1 0x40 MLOAD SWAP4 PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x276A JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F4641494C45440000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x27D9 JUMPI JUMPDEST PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x27E1 PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x27D2 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO PUSH2 0x2817 JUMPI PUSH1 0x5 DUP3 ADD SLOAD LT ISZERO PUSH2 0x2811 JUMPI PUSH1 0x6 ADD SLOAD PUSH1 0xFF AND PUSH2 0x280C JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST POP PUSH1 0x2 SWAP1 JUMP JUMPDEST POP PUSH1 0x1 ADD SLOAD PUSH2 0x284A JUMPI PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 SWAP2 DUP3 DUP2 MSTORE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 SWAP3 PUSH1 0x5 SHL DUP1 SWAP3 DUP5 DUP4 ADD CALLDATACOPY ADD ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 MSTORE PUSH1 0x40 PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD PUSH2 0x28B7 DUP2 PUSH2 0x6DD JUMP JUMPDEST AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP3 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0xE JUMPI ADD PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI DUP1 PUSH1 0x5 SHL CALLDATASIZE SUB DUP3 SGT PUSH2 0xE JUMPI PUSH1 0xA0 DUP4 PUSH1 0x60 PUSH1 0x80 PUSH2 0x1BA0 SWAP7 ADD MSTORE ADD SWAP2 PUSH2 0x284F JUMP JUMPDEST SWAP2 PUSH2 0x2939 DUP4 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x2943 DUP2 DUP5 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x2A23 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2968 PUSH2 0x27E DUP5 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x29F9 JUMPI PUSH1 0x1 PUSH20 0x17C1E395FE81A90AF2D0289A009317D5ACB98F9F SWAP3 ADD SLOAD SWAP1 DUP3 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x29CD SWAP3 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP6 DUP2 SWAP5 DUP3 SWAP4 PUSH32 0xBA5D2C3400000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH2 0x288C JUMP JUMPDEST SUB SWAP2 GAS DELEGATECALL DUP1 ISZERO PUSH2 0x29EC JUMPI JUMPDEST PUSH2 0x29DF JUMPI POP JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x69A SWAP3 PUSH2 0x638 JUMP JUMPDEST PUSH2 0x29F4 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x29D8 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6D9BF6DF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD ISZERO PUSH2 0x2AC6 JUMPI PUSH1 0xFF PUSH1 0x6 DUP3 ADD SLOAD AND PUSH2 0x2A9C JUMPI PUSH2 0x2A6C SWAP1 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x2A72 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B03 JUMPI POP POP SWAP1 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD LT ISZERO SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 PUSH1 0x7 DUP3 ADD SLOAD ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B21 JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH2 0x2B68 PUSH1 0x8 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 SWAP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SLOAD AND SWAP2 AND EQ SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x2B82 DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT PUSH2 0x2BE8 JUMPI POP POP SWAP1 DUP3 SWAP2 PUSH2 0x2BE5 SWAP4 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x2BA7 DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BB8 DUP5 PUSH2 0x1B4B JUMP JUMPDEST MSTORE PUSH2 0x2BC2 DUP4 PUSH2 0x1B4B JUMP JUMPDEST POP MLOAD SWAP1 PUSH2 0x2BCE DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BDF DUP3 PUSH2 0x1B61 JUMP JUMPDEST MSTORE PUSH2 0x1B61 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH2 0x2BF6 DUP2 PUSH2 0x5BB JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH2 0x2B8A JUMP JUMPDEST PUSH1 0x3 PUSH1 0x60 PUSH2 0x69A SWAP4 PUSH2 0x2C6E PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 MLOAD AND DUP6 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 DUP6 ADD SSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x2 DUP6 ADD SSTORE ADD MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI JUMPDEST ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x2C9D PUSH2 0x952 JUMP JUMPDEST PUSH2 0x2C8F JUMP JUMPDEST SWAP2 PUSH1 0x4 SWAP1 PUSH2 0x2D88 PUSH2 0x2D93 SWAP4 PUSH1 0x7 DUP7 ADD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 PUSH2 0x2CEF DUP3 DUP5 MLOAD AND SWAP2 DUP1 SLOAD SWAP1 PUSH9 0x10000000000000000 DUP3 LT ISZERO PUSH2 0x2D97 JUMPI JUMPDEST PUSH1 0x1 DUP3 ADD DUP2 SSTORE PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SWAP3 DUP4 SLOAD SWAP2 PUSH1 0x3 SHL SWAP1 DUP2 SHL SWAP3 DUP4 SWAP2 SHL AND SWAP2 NOT AND OR SWAP1 SSTORE PUSH2 0x2D83 PUSH2 0x23E1 PUSH2 0x2D29 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x20 DUP2 ADD SWAP6 DUP7 MLOAD PUSH2 0x2D58 PUSH2 0x2D3C PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP8 AND DUP8 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP6 ADD MSTORE MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2C0A JUMP JUMPDEST MLOAD SWAP3 ADD SWAP2 DUP3 SLOAD PUSH2 0x270A JUMP JUMPDEST SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x2D9F PUSH2 0x58B JUMP JUMPDEST PUSH2 0x2CE4 JUMP JUMPDEST SWAP1 PUSH1 0x3 PUSH1 0x8 PUSH2 0x69A SWAP4 ADD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 PUSH2 0x2DF2 DUP5 DUP4 MLOAD AND DUP3 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x2E9F DUP6 DUP5 MLOAD AND SWAP6 PUSH2 0x2E5B PUSH1 0x2 PUSH1 0x20 DUP8 ADD MLOAD SWAP5 ADD SLOAD SWAP5 PUSH1 0x40 MLOAD SWAP9 PUSH2 0x2E15 DUP11 PUSH2 0x61C JUMP JUMPDEST DUP10 MSTORE PUSH1 0x20 DUP10 ADD SWAP5 DUP6 MSTORE PUSH1 0x40 DUP10 ADD SWAP6 DUP7 MSTORE DUP3 PUSH1 0x60 DUP11 ADD SWAP8 PUSH2 0x2E35 DUP10 PUSH1 0x2 SWAP1 MSTORE JUMP JUMPDEST MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP7 MLOAD AND DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST MLOAD PUSH1 0x1 DUP6 ADD SSTORE MLOAD PUSH1 0x2 DUP5 ADD SSTORE MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x69A SWAP3 PUSH1 0x8 PUSH1 0x3 SWAP3 ADD SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2E9F PUSH2 0x2F0C DUP3 DUP5 MLOAD AND DUP8 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x2E5B DUP2 DUP6 MLOAD AND SWAP8 DUP3 PUSH1 0x2 PUSH1 0x20 DUP9 ADD MLOAD SWAP7 ADD SLOAD SWAP7 PUSH1 0x40 MLOAD SWAP11 PUSH2 0x2F2E DUP13 PUSH2 0x61C JUMP JUMPDEST DUP12 MSTORE PUSH1 0x20 DUP12 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP12 ADD SWAP8 DUP9 MSTORE PUSH2 0x2E35 PUSH1 0x60 DUP13 ADD SWAP10 DUP11 PUSH2 0x1AEF JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 ADDRESS MUL 0x5E 0xB7 STATICCALL 0xEE GT JUMPDEST SWAP3 PUSH11 0xE2DACAC846043B74762EAB CALLCODE XOR 0xD7 0xAF PUSH9 0x7E916F583764736F6C PUSH4 0x43000811 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 LOG2 JUMPDEST SAR PUSH29 0xDB9A897FF06735BA755C8E660D2EA9B3A918DD78B8284F2E57B40B6473 PUSH16 0x6C634300081100330000000000000000 ", + "sourceMap": "526:3027:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:28:2;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;2105:40;2120:10;;526:3027;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2105:40;:::i;:::-;526:3027;;;;;;;;2190:17;526:3027;;;2175:54;526:3027;;;;;:::i;:::-;2190:17;526:3027;;;;;;;;;;2175:54;:::i;:::-;526:3027;;;;2190:17;526:3027;2254:41;2266:12;526:3027;;;;;;;:::i;:::-;;;;;;;;;2254:41;:::i;:::-;2266:12;526:3027;2319:39;2331:11;526:3027;;;;;;;:::i;:::-;;;;;;;;;2319:39;:::i;:::-;2331:11;526:3027;2393:61;2405:22;526:3027;;;;;;;:::i;:::-;;;;;;;;;2393:61;:::i;:::-;2405:22;526:3027;;3406:19;;;;;;526:3027;;1220:14:1;3406:19:37;;;;;;;;;;;;;;;;526:3027;-1:-1:-1;2190:17:37;526:3027;;;2865:31;526:3027;;;;;2933:38;;;;;;;;;;;;;;526:3027;2933:38;;;;;;526:3027;;;;;;;;;;;;;;;;;;;;;;;;;;;;2266:12;526:3027;;;;2933:38;;;;;;;;;526:3027;;2985:36;;;;;526:3027;;1220:14:1;2985:36:37;;2999:9;2985:36;;;526:3027;3010:10;526:3027;;;;2985:36;;526:3027;2985:36;;;;;;;;;;;;;;2861:288;3035:36;;2861:288;;3159:54;526:3027;;;;;;:::i;:::-;;;;;;;;;;;3159:54;:::i;:::-;526:3027;;;;;963:24;;959:542;526:3027;;;;;;;;;;1030:26;526:3027;;;;;;;;;1115:57;;;;;;;;;;;;;;;;;;725:5;1115:57;;;;526:3027;637:42;;1162:9;637:42;;;526:3027;637:42;;;;1115:57;;;;;;;;;526:3027;;;2405:22;526:3027;;2331:11;526:3027;;;;;;;:::i;:::-;637:42;;1282:55;;;526:3027;1162:9;1282:55;;;637:42;1186:165;;;;;637:42;526:3027;;;1186:165;1220:14:1;1186:165:37;;;;;526:3027;1260:4;637:42;;;526:3027;637:42;;;;;;526:3027;;637:42;;;;526:3027;;;637:42;;;;;;;526:3027;637:42;;526:3027;637:42;;526:3027;637:42;;1186:165;;637:42;1186:165;;;;;;;;;;;;;;;;;;959:542;526:3027;;;;;1366:51;1585:26;526:3027;;;:::i;:::-;1366:51;:::i;:::-;526:3027;;;;;;;;;;;;;;;;;;;1585:26;526:3027;;;;;;;;;;1754:109;;;;;;;;;;;;;;;;;;;;;725:5;1754:109;;;;526:3027;637:42;;1844:9;637:42;;;526:3027;637:42;;;;1754:109;;;;;;;;;526:3027;;;2266:12;526:3027;;;;;;;:::i;:::-;637:42;;1901:56;;;526:3027;1844:9;1901:56;;;637:42;1873:85;;;;;526:3027;;1873:85;1220:14:1;1873:85:37;;;;;526:3027;;;;;;;;637:42;;526:3027;;637:42;;;;526:3027;;;637:42;;;;;;;526:3027;637:42;;526:3027;637:42;;526:3027;637:42;526:3027;1873:85;;526:3027;1873:85;;;;;;;;;;;;;;959:542;526:3027;;1969:68;526:3027;;;;;;:::i;:::-;;;;;;;;;1969:68;:::i;:::-;3463:18;;;;;526:3027;;1220:14:1;3463:18:37;;;;;;;;;;;;;;;;;;;959:542;-1:-1:-1;;1690:19:36;526:3027:37;;;1675:9:36;1686:30;;;;;;2546:33:37;;;;;;:::i;:::-;526:3027;;;1220:14:1;;;;;;;;;;;;;;;;;;;;;;526:3027:37;;;2596:19;526:3027;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;2596:19;:::i;:::-;526:3027;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;2627:54;;;;;;526:3027;;;;;;2627:54;;;;;;;1220:14:1;2627:54:37;;;;;:::i;:::-;;;;;;;;;;;;;;1670:155:36;526:3027:37;6782:53:13;526:3027:37;;;6782:53:13;526:3027:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6782:53:13;;;;;;;;;;;;:::i;:::-;;12146:65;6782:53;;;;;;:::i;:::-;526:3027:37;392:159:13;131:42;392:159;;;526:3027:37;;2627:54;;;;;;;;;;:::i;:::-;526:3027;;2627:54;;;;;;526:3027;;;;2627:54;526:3027;;1220:14:1;526:3027:37;;1220:14:1;;;;2627:54:37;526:3027;;;1220:14:1;;;;;526:3027:37;1220:14:1;;526:3027:37;1220:14:1;1718:3:36;1758:22;;;;;:::i;:::-;1786;;;;:::i;:::-;:27;;;;;;526:3027:37;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;1786:27:36;;;;526:3027:37;;;;;;;;;;;;;;12146:65:13;526:3027:37;;;;;637:42;526:3027;1718:3:36;526:3027:37;;;;;:::i;:::-;;12146:65:13;;;;;;;;;;;526:3027:37;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;12146:65:13;;;;;;;;:::i;:::-;526:3027:37;392:159:13;131:42;392:159;;;1718:3:36;:::i;:::-;1675:9;;;;526:3027:37;;;;;;;;;;;-1:-1:-1;526:3027:37;;;;;;-1:-1:-1;526:3027:37;;;-1:-1:-1;;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;526:3027:37;;-1:-1:-1;526:3027:37;;-1:-1:-1;526:3027:37;;-1:-1:-1;526:3027:37;;3463:18;;;;:::i;:::-;526:3027;;3463:18;;;;526:3027;;;;3463:18;526:3027;;1220:14:1;526:3027:37;;1220:14:1;;;;1873:85:37;;;;:::i;:::-;526:3027;;1873:85;;;;526:3027;;;;1873:85;526:3027;;1220:14:1;526:3027:37;;1220:14:1;;;;1754:109:37;1220:14:1;;;;;;;;;1186:165:37;;;;;;;;;:::i;:::-;526:3027;;1186:165;;;;;;;;;526:3027;;;1115:57;1220:14:1;;;;;;;;;959:542:37;526:3027;;1448:42;1585:26;526:3027;;;;;;:::i;1448:42::-;959:542;;2985:36;;;;:::i;:::-;526:3027;;2985:36;;;;2933:38;526:3027;;1220:14:1;526:3027:37;;1220:14:1;;;;2933:38:37;1220:14:1;;;;;;;;;2861:288:37;;;;3406:19;;;;;;;:::i;:::-;;;;;;526:3027;;1220:14:1;526:3027:37;;1220:14:1;;;;526:3027:37;;;;1220:14:1;;;;;;;;:::o;:::-;;;;;;;;;;;637:42:37;1220:14:1;;;;;;;;;;;;;:::o;:::-;526:3027:37;1220:14:1;;;;;;;;;;;526:3027:37;1220:14:1;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;526:3027:37:-;;;;;;;;;:::o;:::-;;;;;;;;;;;1690:19:36;526:3027:37;;;;;;1690:19:36;-1:-1:-1;526:3027:37;;;;;;-1:-1:-1;526:3027:37;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;526:3027:37;;;;:::o;:::-;;;;;;;;;;;;;;;1220:14:1;;526:3027:37;;;;;;;;;;;;;;;;;:::i;:::-;1220:14:1;;526:3027:37;;;:::o;1837:277:36:-;2011:19;526:3027:37;1837:277:36;;;526:3027:37;;2011:19:36;;;;1220:14:1;2011:19:36;;;;;;526:3027:37;;;;;;:::i;:::-;2011:19:36;;526:3027:37;2011:19:36;;-1:-1:-1;;2011:19:36;;;1837:277;2007:101;;;1837:277;:::o;2007:101::-;2072:16;-1:-1:-1;1837:277:36:o;2011:19::-;;;;;;;;;;;;;;;;;:::i;:::-;;;526:3027:37;;;;;;2011:19:36;;;;526:3027:37;;;2011:19:36;;;-1:-1:-1;2011:19:36;;2120:283;2297:22;526:3027:37;2120:283:36;;;526:3027:37;;2297:22:36;;;;1220:14:1;2297:22:36;;;;;;526:3027:37;;;;;;:::i;:::-;2297:22:36;;526:3027:37;2297:22:36;;;;-1:-1:-1;2297:22:36;;;2120:283;2293:104;;;;2120:283;:::o;2297:22::-;;;;;;;;;;;;;;;:::i;:::-;;;526:3027:37;;;;;;;;;;;;;2297:22:36;;;;;;;-1:-1:-1;2297:22:36;;526:3027:37;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;:::o;:::-;;;906:1:36;526:3027:37;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1220:14:1;526:3027:37;;1220:14:1;;;;;526:3027:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;526:3027:37;;720:286:36;526:3027:37;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;786:9:36;526:3027:37;;;;;;;;782:28:36;;526:3027:37;;1220:14:1;526:3027:37;1220:14:1;;;;;;;;;;;;;;;;858:1:36;526:3027:37;;-1:-1:-1;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;870:19:36;;;:::i;:::-;526:3027:37;870:19:36;;;:::i;:::-;;526:3027:37;;;;;:::i;:::-;;;;;;;;;899:16:36;;;:::i;:::-;526:3027:37;899:16:36;;;:::i;:::-;;925;;;;:::i;:::-;;;;;:::i;:::-;;526:3027:37;;952:14:36;1220::1;952::36;;526:3027:37;;;;952:14:36;;;;526:3027:37;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;526:3027:37;;;;;;;;952:14:36;;;;;;-1:-1:-1;952:14:36;;;;526:3027:37;952:14:36;;;;;;;;526:3027:37;;;;;;;;;;;;;;;;:::i;:::-;;;786:9:36;526:3027:37;;;;;;906:1:36;526:3027:37;;;;;;;720:286:36:o;952:14::-;;;-1:-1:-1;952:14:36;;;;;;:::i;:::-;;;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;952:14:36;;;;526:3027:37;;1220:14:1;-1:-1:-1;1220:14:1;;;;;526:3027:37;;;;;;;;906:1:36;526:3027:37;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;782:28:36;803:7;;;;;:::o;1012:594::-;1115:19;526:3027:37;1115:31:36;;;1111:46;;526:3027:37;;;;;;;;;;;;;;;;1220:14:1;;;;;;;;;;;;;;;;;1211:9:36;1145:1;;1220:14:1;;1222:30:36;;;;;;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1435:27:36;526:3027:37;;;;;;;:::i;1254:3:36:-;1355:22;;;;;;;:::i;:::-;1435;;;;:::i;:::-;:27;;526:3027:37;1435:27:36;;;;526:3027:37;;;;;1423:40:36;1220:14:1;1423:40:36;;;;;;;526:3027:37;;1145:1:36;1423:40;;;526:3027:37;1423:40:36;;;;;;;;;1145:1;1423:40;;;1254:3;526:3027:37;;;;;;;;;;;-1:-1:-1;1481:52:36;;;;:35;;;;526:3027:37;;;;;:::i;:::-;;;;;;;;;1481:52:36;;526:3027:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1145:1:36;526:3027:37;;;;;;;:::i;:::-;;;;;;1435:27:36;;;;526:3027:37;;;;;;;;;;;;;;;1254:3:36;526:3027:37;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;1254:3:36;;:::i;:::-;1211:9;;;;;526:3027:37;1145:1:36;526:3027:37;;;;;;;;-1:-1:-1;526:3027:37;;;;;;;;-1:-1:-1;;;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;526:3027:37;;-1:-1:-1;526:3027:37;;-1:-1:-1;526:3027:37;;-1:-1:-1;526:3027:37;;;1481:52:36;526:3027:37;;;;;:::i;:::-;;;;;;;;;1481:52:36;;;526:3027:37;;;;1145:1:36;526:3027:37;;1145:1:36;526:3027:37;1423:40:36;;;;;;;;;;;;;;:::i;:::-;;;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;526:3027:37;;;;;;;;:::i;:::-;1423:40:36;;;;;;526:3027:37;;1220:14:1;1145:1:36;1220:14:1;;;;;1111:46:36;526:3027:37;;;;;1220:14:1;;;;;;;;;;;526:3027:37;1220:14:1;1145:1:36;526:3027:37;;1148:9:36;:::o;526:3027:37:-;;;;;;;:::i;:::-;;;;;;;;;:::o;524:190:36:-;;;526:3027:37;;;1220:14:1;;;;;;;;;;;;;;526:3027:37;1220:14:1;526:3027:37;;;635:23:36;;;;;526:3027:37;;;;;637:42;;;;610:19:36;526:3027:37;;;;;;;;;;;;;;610:19:36;526:3027:37;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;524:190:36;526:3027:37;;;;;;;;;;;;;;;;-1:-1:-1;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;669:26:36;526:3027:37;;;;;;;;;;;;;524:190:36:o;526:3027:37:-;;;;-1:-1:-1;526:3027:37;;;;;;;;;;-1:-1:-1;526:3027:37;;-1:-1:-1;526:3027:37;;-1:-1:-1;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;526:3027:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;526:3027:37;;;;;;-1:-1:-1;526:3027:37;-1:-1:-1;526:3027:37;;;-1:-1:-1;526:3027:37", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_SCRIPT()": "f8ccbf47", + "run()": "c0406226" + } + } + } + }, + "src/Arbitrator.sol": { + "Arbitrator": { + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "permit2_", + "type": "address", + "internalType": "contract Permit2" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "appealResolution", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "controller", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deposits", + "inputs": [], + "outputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "enabled", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "endorseResolution", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "executeResolution", + "inputs": [ + { + "name": "framework", + "type": "address", + "internalType": "contract IArbitrable" + }, + { + "name": "dispute", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "lockPeriod", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Permit2" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "resolutionDetails", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "details", + "type": "tuple", + "internalType": "struct Resolution", + "components": [ + { + "name": "status", + "type": "uint8", + "internalType": "enum ResolutionStatus" + }, + { + "name": "settlement", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "metadataURI", + "type": "string", + "internalType": "string" + }, + { + "name": "unlockTime", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setEnabled", + "inputs": [ + { + "name": "status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUp", + "inputs": [ + { + "name": "lockPeriod_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "enabled_", + "type": "bool", + "internalType": "bool" + }, + { + "name": "deposits_", + "type": "tuple", + "internalType": "struct DepositConfig", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "submitResolution", + "inputs": [ + { + "name": "framework", + "type": "address", + "internalType": "contract IArbitrable" + }, + { + "name": "dispute", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "metadataURI", + "type": "string", + "internalType": "string" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferController", + "inputs": [ + { + "name": "newController", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "ControlTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newController", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResolutionAppealed", + "inputs": [ + { + "name": "resolution", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResolutionEndorsed", + "inputs": [ + { + "name": "resolution", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResolutionExecuted", + "inputs": [ + { + "name": "resolution", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResolutionSubmitted", + "inputs": [ + { + "name": "framework", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "dispute", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "resolution", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "InvalidPermit", + "inputs": [] + }, + { + "type": "error", + "name": "IsDisabled", + "inputs": [] + }, + { + "type": "error", + "name": "NoPartOfSettlement", + "inputs": [] + }, + { + "type": "error", + "name": "NonExistentResolution", + "inputs": [] + }, + { + "type": "error", + "name": "ResolutionIsAppealed", + "inputs": [] + }, + { + "type": "error", + "name": "ResolutionIsEndorsed", + "inputs": [] + }, + { + "type": "error", + "name": "ResolutionIsExecuted", + "inputs": [] + }, + { + "type": "error", + "name": "ResolutionIsLocked", + "inputs": [] + }, + { + "type": "error", + "name": "SettlementPositionsMustMatch", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract Permit2\",\"name\":\"permit2_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IsDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPartOfSettlement\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonExistentResolution\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ResolutionIsAppealed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ResolutionIsEndorsed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ResolutionIsExecuted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ResolutionIsLocked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SettlementPositionsMustMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newController\",\"type\":\"address\"}],\"name\":\"ControlTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"resolution\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"ResolutionAppealed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"resolution\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"}],\"name\":\"ResolutionEndorsed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"resolution\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"}],\"name\":\"ResolutionExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"framework\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"dispute\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"resolution\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"}],\"name\":\"ResolutionSubmitted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"appealResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"controller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"}],\"name\":\"endorseResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"framework\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"dispute\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"}],\"name\":\"executeResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"permit2\",\"outputs\":[{\"internalType\":\"contract Permit2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"resolutionDetails\",\"outputs\":[{\"components\":[{\"internalType\":\"enum ResolutionStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"unlockTime\",\"type\":\"uint256\"}],\"internalType\":\"struct Resolution\",\"name\":\"details\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setEnabled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"lockPeriod_\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"enabled_\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"struct DepositConfig\",\"name\":\"deposits_\",\"type\":\"tuple\"}],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"framework\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"dispute\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"}],\"name\":\"submitResolution\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newController\",\"type\":\"address\"}],\"name\":\"transferController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"NoPartOfSettlement()\":[{\"details\":\"Thrown when an account that is not part of a settlement tries to access a function restricted to the parties of a settlement.\"}],\"NonExistentResolution()\":[{\"details\":\"Thrown when trying to access an agreement that doesn't exist.\"}],\"ResolutionIsAppealed()\":[{\"details\":\"Thrown when trying to actuate a resolution that is appealed.\"}],\"ResolutionIsEndorsed()\":[{\"details\":\"Thrown when trying to appeal a resolution that is endorsed.\"}],\"ResolutionIsExecuted()\":[{\"details\":\"Thrown when trying to actuate a resolution that is already executed.\"}],\"ResolutionIsLocked()\":[{\"details\":\"Thrown when trying to execute a resolution that is locked.\"}],\"SettlementPositionsMustMatch()\":[{\"details\":\"Thrown when the positions on a settlement don't match the ones in the dispute.\"}]},\"kind\":\"dev\",\"methods\":{\"appealResolution(bytes32,(address,uint256)[],((address,uint256),uint256,uint256),bytes)\":{\"params\":{\"id\":\"Identifier of the resolution to appeal.\",\"permit\":\"Permit2 permit to allow the required token transfer.\",\"settlement\":\"Array of final positions in the resolution.\",\"signature\":\"Signature of the permit.\"}},\"endorseResolution(bytes32,bytes32)\":{\"params\":{\"id\":\"Identifier of the resolution to endorse.\",\"settlement\":\"Encoding of the settlement to endorse.\"}},\"executeResolution(address,bytes32,(address,uint256)[])\":{\"params\":{\"dispute\":\"Identifier of the agreement in dispute.\",\"framework\":\"address of the framework of the agreement in dispute.\",\"settlement\":\"Array of final positions in the resolution.\"}},\"resolutionDetails(bytes32)\":{\"params\":{\"id\":\"Id of the resolution to return data from.\"},\"returns\":{\"details\":\"Data struct of the resolution.\"}},\"setEnabled(bool)\":{\"params\":{\"status\":\"New enabled status.\"}},\"setUp(uint256,bool,(address,uint256,address))\":{\"params\":{\"deposits_\":\"Configuration of the appeal's deposits in DepositConfig format.\",\"enabled_\":\"Status of the arbitrator.\",\"lockPeriod_\":\"Duration of the resolution lock period.\"}},\"submitResolution(address,bytes32,string,(address,uint256)[])\":{\"details\":\"Only controller is able to submit resolutions.\",\"params\":{\"dispute\":\"Identifier of the agreement in dispute.\",\"framework\":\"address of the framework of the agreement in dispute.\",\"settlement\":\"Array of final positions in the resolution.\"},\"returns\":{\"id\":\"Identifier of the resolution submitted.\"}},\"transferController(address)\":{\"params\":{\"newController\":\"Address of the new controller.\"}},\"transferOwnership(address)\":{\"params\":{\"newOwner\":\"Address of the new owner.\"}}},\"stateVariables\":{\"resolution\":{\"details\":\"Resolution data by resolution id.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"InvalidPermit()\":[{\"notice\":\"Thrown when the provided permit doesn't match the agreement token requirements.\"}]},\"events\":{\"ControlTransferred(address,address)\":{\"notice\":\"Raised when the control is transferred.\"},\"OwnershipTransferred(address,address)\":{\"notice\":\"Raised when the ownership is transferred.\"}},\"kind\":\"user\",\"methods\":{\"appealResolution(bytes32,(address,uint256)[],((address,uint256),uint256,uint256),bytes)\":{\"notice\":\"Appeal a submitted resolution.\"},\"controller()\":{\"notice\":\"Address that controls the contract.\"},\"deposits()\":{\"notice\":\"Appeals deposits configuration.\"},\"enabled()\":{\"notice\":\"Indicates if the contract is enabled.\"},\"endorseResolution(bytes32,bytes32)\":{\"notice\":\"Endorse a submitted resolution, it overrides any appeal.\"},\"executeResolution(address,bytes32,(address,uint256)[])\":{\"notice\":\"Execute a submitted resolution.\"},\"lockPeriod()\":{\"notice\":\"Time (in seconds) between when a resolution is submitted and it's executable.\"},\"owner()\":{\"notice\":\"Address that owns the contract.\"},\"permit2()\":{\"notice\":\"Address of the Permit2 contract deployment.\"},\"resolutionDetails(bytes32)\":{\"notice\":\"Retrieve resolution details.\"},\"setEnabled(bool)\":{\"notice\":\"Enable / disable a contract.\"},\"setUp(uint256,bool,(address,uint256,address))\":{\"notice\":\"Setup arbitrator variables.\"},\"submitResolution(address,bytes32,string,(address,uint256)[])\":{\"notice\":\"Submit a resolution for a dispute.\"},\"transferController(address)\":{\"notice\":\"Transfer the control of the contract.\"},\"transferOwnership(address)\":{\"notice\":\"Transfer the ownership of the contract.\"}},\"notice\":\"Contract with the power to arbitrate Nation3 arbitrable contracts. The DAO owns this contract and set a controller to operate it. The owner sets the working parameters. The owner can disable submissions and executions at any time. The owner can replace the controller at any time. The execution of a resolution is locked during a period after submission. Any of the parties of a settlement can appeal a resolution before is executed. The owner can override appeals by endorsing resolutions. Anyone can execute resolutions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Arbitrator.sol\":\"Arbitrator\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/AllowanceTransfer.sol\":{\"keccak256\":\"0x83a47e7841f9d285eb7f0fd977fedb808640714cb9822a104bab99fe5cbb58ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f0de543f076f8556690f236dc431277acf9c91c04916a46040194b03ea9836\",\"dweb:/ipfs/QmQ5YLFHexR2WTNXDGu4y6WjRmLPzrdH92j7NDQzT8Jevp\"]},\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/Permit2.sol\":{\"keccak256\":\"0x934c0eb24a52eb5900f01f5c328374b670366adf995ba9ed49bcd3d7b87b159e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdfd05b3007726dc6dd2822c1dd9dc1b2471fbec507f30efa71a1a214c98bab6\",\"dweb:/ipfs/QmPq4hptCSUACQdynSa86bdEexE7RryzosrhUAZ9Xkqc5a\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/SignatureTransfer.sol\":{\"keccak256\":\"0xa821caa24d6231fa8befe24a34bfda2c3b05b56e67fb913c86b26a19b19b6bbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://584994a77e33aa2fe804b803ab302cb811ee945632b76f68d78db761b18a24a2\",\"dweb:/ipfs/QmVd67VRKX24tSaREBNwhzVfU6xxqRLNEoPY6CYgG3xU5W\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]},\"src/Arbitrator.sol\":{\"keccak256\":\"0x54c2e29b4148ab2fb480e0fa2141f9e72289369a2cbbfb27518884be7b77094a\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6d470ecf768970634ae3f5e06a5582b44ac3b85e81eebeb63c7eb8f3db40a589\",\"dweb:/ipfs/Qma5aujWmZQsbrcehNdxRT9RyKuT7AHZDXQVwpUDmzyZ3o\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/ArbitrationErrors.sol\":{\"keccak256\":\"0x7ca6d9811f431eadd59e7544f6a5720564a678a3e2cfecd8e5454391f21a62f0\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://58793fc93f2d03eefaeb008a28dfedebe9059763b96c80ec31365ad8cf72fafd\",\"dweb:/ipfs/QmQvVUxPsg4JhSvT3QxKysgsiVBvuzBtFaAQMTuyeuxDWL\"]},\"src/interfaces/ArbitrationTypes.sol\":{\"keccak256\":\"0x07b042f3176966f9c0ffc47a07ac584c3a2de1c2e02180203a02458e3bee9563\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e7be1461e3ed7e2cc9bf3d0c694f3f3d1fb7ac761b6e3f06e36c86f151fe831c\",\"dweb:/ipfs/QmYvDYS7s92CxikdCZPbGPDK96uT5B28uDbYVEbNsFqb6p\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]},\"src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0xbb88837c5e5a3dc5e37fb51a7f2a80ca1352fdd5de6234a60953cc01593d675e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c17fb922c53dcadcf751b3cbc1a50257e233aea15b1e3dd2c315b6cfa6836e54\",\"dweb:/ipfs/QmVBcv97Ad31wSw7S5o2yPQZsfJA5RJgRgFfH27PKVNTMw\"]},\"src/utils/Controlled.sol\":{\"keccak256\":\"0xcdd11a4bf16a63957ead6710218f33dc14340ccc2c90661d3a4cc3e5c8d45648\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://2e8daa3655b1f41679c9dea444e346b10057f15490fe72018c692c054a12a8da\",\"dweb:/ipfs/QmRA45JeMpSqD1peFWAGJos1MSfmvsAxaQpawMu9DN9wPx\"]},\"src/utils/Owned.sol\":{\"keccak256\":\"0x7734d8c9fefc0abb51af8a97bdd7e8a22418ae5e597a63c3ca7c9b1cbce0a23c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dcba4eaeadcabc6b2e330c290626c7fe8b93b0476b08114445f6520ff3ced50e\",\"dweb:/ipfs/QmRedpupiw3iQWCDEfG5yhmVytdQH1H59mqiVXcitzJPaF\"]},\"src/utils/Toggleable.sol\":{\"keccak256\":\"0x9b23cc19eab64386ea018e3c9475f5ba8e3a70b36f62066168f0f4a8281c33ce\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://020f36f1f22d843e262ec05e67d6876b1d24e641e198be5b8b499436e7645805\",\"dweb:/ipfs/QmQeRvQ5oG2vdyrcMYex8wMMSR4mVCE4CEbJR22xvn2rE6\"]},\"src/utils/interfaces/Deposits.sol\":{\"keccak256\":\"0x99d44ec7b071732a9dafb0eef9233ab49bd38b89585d31c97cfef2c7aeacdb86\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e6106a5fdf64814cd0b982a907e077083766bf3f2873da79255dda68fec0345a\",\"dweb:/ipfs/QmdV8iNdsphhVYoKD7uneA75AKvw5J9joFcPsuKAdbZ8LD\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60a0346100ed57601f6117a238819003918201601f19168301916001600160401b038311848410176100f25780849260409485528339810103126100ed5780516001600160a01b039182821682036100ed57602001519182168092036100ed57600080546001600160a01b031990811684178255604051939190829081337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a360015416176001557fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f2339180a36080526116999081610109823960805181818161093501526110980152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b600090813560e01c90816302fd597d146110bc5750806312261ee71461106b578063238dafe0146110455780632f7f204e14610d42578063323a5e0b14610cf9578063328d8f7214610c925780633fd8b02f14610c74578063410fa8e614610b6a57806341bcf4dc1461060d5780638da5cb5b146105da578063e44cb37b1461046e578063e8ea054b146103e1578063ec67b8c8146101b2578063f2fde38b146100fc5763f77c4791146100c657600080fd5b346100f957806003193601126100f957602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b80fd5b50346100f95760206003193601126100f957610116611454565b815473ffffffffffffffffffffffffffffffffffffffff8082163303610188577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b50346100f9576020806003193601126103dd578160606040516101d481611551565b8281528284820152816040820152015260043582526006815260408220604051926101fe84611551565b60ff82541660058110156103b057845260018083015492848601938452600281016040519283918591815491610233836115ae565b928386528a838216918260001461036c57505060011461032f575b5050506003929161026091038461156d565b60408701928352015492606086019384526040519585875251600581101561030257858701525160408601525160806060860152805160a086018190529385939291825b8681106102eb57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f9260c080978701015251608085015201168101030190f35b81810183015188820160c0015287955082016102a4565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8752888720899350879291905b8284106103545750505082010181610260600361024e565b80548489018601528795508a9490930192810161033c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061026091506003905061024e565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b5080fd5b50346100f95760206003193601126100f9576103fb611454565b73ffffffffffffffffffffffffffffffffffffffff908183541633036101885716807fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155337fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f28380a380f35b50346100f95760406003193601126100f95760043560243573ffffffffffffffffffffffffffffffffffffffff8354163303610188578183526006602052604083209081549060ff821660058110156105ad57801561058357600414610559578060018401540361052f577fb6dc686a67a9620536a83f729428ef64a3e6529407d6b5e0df3426fe6b01a2609260037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060209416179055604051908152a280f35b60046040517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b60046040517f28b8b078000000000000000000000000000000000000000000000000000000008152fd5b60046040517faffbf64b000000000000000000000000000000000000000000000000000000008152fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346100f957806003193601126100f95773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346100f95760e06003193601126100f95767ffffffffffffffff906024358281116103dd576106419036906004016114a5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc36019360808512610b6657604080519561067b87611519565b12610b665760405161068c81611535565b60443573ffffffffffffffffffffffffffffffffffffffff8116810361088557815260643560208201528552608435602086015260a435604086015260c435908111610b66576106e0903690600401611477565b949060043585526006602052604085209586549160ff83166005811015610b39578015610583576004811461055957600314610b0f5760405161072281611519565b73ffffffffffffffffffffffffffffffffffffffff60025416808252600354602083015273ffffffffffffffffffffffffffffffffffffffff60045416604083015273ffffffffffffffffffffffffffffffffffffffff8651511603610ae5576040516020810190602082526107cc816107a0604082018b8d611601565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261156d565b519020948560018b01540361052f578899895b8b1580610adc575b156108b7578881101561088a578060061b8a013573ffffffffffffffffffffffffffffffffffffffff811680910361088557331461087c575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461084f576001016107df565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60019b50610820565b600080fd5b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b508997508a15610ab25760027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00899716179055602073ffffffffffffffffffffffffffffffffffffffff6040840151169201516040519261091784611535565b8352602083015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610aae578580946040927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f610a1d9986519a8b998a9889967f30f28b7a0000000000000000000000000000000000000000000000000000000088526109e46004890182516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60208181015160448a01529101516064880152815173ffffffffffffffffffffffffffffffffffffffff166084880152015160a4860152565b3360c485015261010060e48501528061010485015280610124958686013785858286010152011681010301925af18015610aa357610a8f575b50506040519081523360208201527f2a41d71ad20bb81193ade4a1c1c4796777ba30f92f48c41fce7eeb361e109b0e604060043592a280f35b610a98906114d6565b6103dd578183610a56565b6040513d84823e3d90fd5b8580fd5b60046040517f65268788000000000000000000000000000000000000000000000000000000008152fd5b508881106107e7565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60046040517ffd6f4120000000000000000000000000000000000000000000000000000000008152fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8380fd5b50346100f95760a06003193601126100f9576024358015158091036108855760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc3601126103dd5773ffffffffffffffffffffffffffffffffffffffff90818354163303610188576004356005557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b16911617600155604435818116809103610885577fffffffffffffffffffffffff00000000000000000000000000000000000000009081600254161760025560643560035560843591821680920361088557600454161760045580f35b50346100f957806003193601126100f9576020600554604051908152f35b50346100f95760206003193601126100f957600435801515809103610885577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b1691161760015580f35b50346100f957806003193601126100f957606073ffffffffffffffffffffffffffffffffffffffff80600254169060035490600454169060405192835260208301526040820152f35b50346100f95760606003193601126100f957610d5c611454565b6024359060443567ffffffffffffffff8111610b6657610d809036906004016114a5565b929060ff60015460a01c161561101b57604051906020820182610dd485878490917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b0392610e067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09485810183528261156d565b519020948587526006602052604087209283549060ff82166005811015610fee5760028114610fc45760048114610559576003141580610fb7575b610f8d57604051610e6f60208201926020845282610e6360408201888a611601565b0390810183528261156d565b519020958660018601540361052f57889460047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff94161790551690813b15610b665783610f0e95604051968795869485937f3d3e73d70000000000000000000000000000000000000000000000000000000085526004850152604060248501526044840191611601565b03925af18015610f8257610f4c575b5060207feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd491604051908152a280f35b7feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd49193610f7a6020926114d6565b939150610f1d565b6040513d86823e3d90fd5b60046040517ff268e9e3000000000000000000000000000000000000000000000000000000008152fd5b5060038501544210610e41565b60046040517fe4d068da000000000000000000000000000000000000000000000000000000008152fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60046040517f09131007000000000000000000000000000000000000000000000000000000008152fd5b50346100f957806003193601126100f957602060ff60015460a01c166040519015158152f35b50346100f957806003193601126100f957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346100f95760806003193601126100f9576110d6611454565b9167ffffffffffffffff916044358381116103dd576110f9903690600401611477565b606435858111610b66576111119036906004016114a5565b9290946001549060ff8260a01c161561142c575073ffffffffffffffffffffffffffffffffffffffff16330361018857604051606088901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020820190815260243560348301529061118881605481016107a0565b519020958685526006602052604085209384549660ff88166005811015610b3957600414610559576001916107a06111f47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00936040519283916020830195602087526040840191611601565b519020971617845585600185015582116113ff57819061121760028501546115ae565b601f81116113af575b508490601f83116001146113075785926112fc575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161760028201555b6005544201918242116112cf575091602094916003859401556040519081527f96eab3103fbd8c0266eca3e7a57929bc3bd66ef5223e2cb45f589f884ffcb9ae8573ffffffffffffffffffffffffffffffffffffffff602435941692a4604051908152f35b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b013590508780611235565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016916002850186526020862092865b818110611397575090846001959493921061135f575b505050811b01600282015561126a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905587808061134f565b91936020600181928787013581550195019201611339565b90915060028401855260208520601f840160051c8101602085106113f8575b90849392915b601f830160051c820181106113ea575050611220565b8781558594506001016113d4565b50806113ce565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b807f091310070000000000000000000000000000000000000000000000000000000060049252fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020838186019501011161088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020808501948460061b01011161088557565b67ffffffffffffffff81116114ea57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176114ea57604052565b6040810190811067ffffffffffffffff8211176114ea57604052565b6080810190811067ffffffffffffffff8211176114ea57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176114ea57604052565b90600182811c921680156115f7575b60208310146115c857565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916115bd565b918181526020809101929160009182905b82821061162157505050505090565b9091929394853573ffffffffffffffffffffffffffffffffffffffff8116809103610aae5781528582013582820152604090810195019392916001019061161256fea26469706673582212205e6b186204cb5b1a91903d6fed9eb15ed36361835d2b911aa9d576e0ea5387c864736f6c63430008110033", + "opcodes": "PUSH1 0xA0 CALLVALUE PUSH2 0xED JUMPI PUSH1 0x1F PUSH2 0x17A2 CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH2 0xF2 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0xED JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH2 0xED JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0xED JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND DUP5 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP4 SWAP2 SWAP1 DUP3 SWAP1 DUP2 CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP6 DUP1 LOG3 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 CALLER SWAP2 DUP1 LOG3 PUSH1 0x80 MSTORE PUSH2 0x1699 SWAP1 DUP2 PUSH2 0x109 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x935 ADD MSTORE PUSH2 0x1098 ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2FD597D EQ PUSH2 0x10BC JUMPI POP DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x106B JUMPI DUP1 PUSH4 0x238DAFE0 EQ PUSH2 0x1045 JUMPI DUP1 PUSH4 0x2F7F204E EQ PUSH2 0xD42 JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0xCF9 JUMPI DUP1 PUSH4 0x328D8F72 EQ PUSH2 0xC92 JUMPI DUP1 PUSH4 0x3FD8B02F EQ PUSH2 0xC74 JUMPI DUP1 PUSH4 0x410FA8E6 EQ PUSH2 0xB6A JUMPI DUP1 PUSH4 0x41BCF4DC EQ PUSH2 0x60D JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x5DA JUMPI DUP1 PUSH4 0xE44CB37B EQ PUSH2 0x46E JUMPI DUP1 PUSH4 0xE8EA054B EQ PUSH2 0x3E1 JUMPI DUP1 PUSH4 0xEC67B8C8 EQ PUSH2 0x1B2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFC JUMPI PUSH4 0xF77C4791 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x116 PUSH2 0x1454 JUMP JUMPDEST DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x188 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD PUSH2 0x1D4 DUP2 PUSH2 0x1551 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 DUP5 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x4 CALLDATALOAD DUP3 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x1FE DUP5 PUSH2 0x1551 JUMP JUMPDEST PUSH1 0xFF DUP3 SLOAD AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x3B0 JUMPI DUP5 MSTORE PUSH1 0x1 DUP1 DUP4 ADD SLOAD SWAP3 DUP5 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x2 DUP2 ADD PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 DUP6 SWAP2 DUP2 SLOAD SWAP2 PUSH2 0x233 DUP4 PUSH2 0x15AE JUMP JUMPDEST SWAP3 DUP4 DUP7 MSTORE DUP11 DUP4 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0x36C JUMPI POP POP PUSH1 0x1 EQ PUSH2 0x32F JUMPI JUMPDEST POP POP POP PUSH1 0x3 SWAP3 SWAP2 PUSH2 0x260 SWAP2 SUB DUP5 PUSH2 0x156D JUMP JUMPDEST PUSH1 0x40 DUP8 ADD SWAP3 DUP4 MSTORE ADD SLOAD SWAP3 PUSH1 0x60 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x40 MLOAD SWAP6 DUP6 DUP8 MSTORE MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x302 JUMPI DUP6 DUP8 ADD MSTORE MLOAD PUSH1 0x40 DUP7 ADD MSTORE MLOAD PUSH1 0x80 PUSH1 0x60 DUP7 ADD MSTORE DUP1 MLOAD PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE SWAP4 DUP6 SWAP4 SWAP3 SWAP2 DUP3 JUMPDEST DUP7 DUP2 LT PUSH2 0x2EB JUMPI POP POP POP DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP3 PUSH1 0x1F SWAP3 PUSH1 0xC0 DUP1 SWAP8 DUP8 ADD ADD MSTORE MLOAD PUSH1 0x80 DUP6 ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP9 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP8 SWAP6 POP DUP3 ADD PUSH2 0x2A4 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 MSTORE DUP9 DUP8 KECCAK256 DUP10 SWAP4 POP DUP8 SWAP3 SWAP2 SWAP1 JUMPDEST DUP3 DUP5 LT PUSH2 0x354 JUMPI POP POP POP DUP3 ADD ADD DUP2 PUSH2 0x260 PUSH1 0x3 PUSH2 0x24E JUMP JUMPDEST DUP1 SLOAD DUP5 DUP10 ADD DUP7 ADD MSTORE DUP8 SWAP6 POP DUP11 SWAP5 SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x33C JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP8 DUP3 ADD MSTORE SWAP4 ISZERO ISZERO PUSH1 0x5 SHL DUP7 ADD SWAP1 SWAP4 ADD SWAP4 POP DUP5 SWAP3 POP PUSH2 0x260 SWAP2 POP PUSH1 0x3 SWAP1 POP PUSH2 0x24E JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x3FB PUSH2 0x1454 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE CALLER PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI DUP2 DUP4 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP1 DUP2 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x5AD JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI DUP1 PUSH1 0x1 DUP5 ADD SLOAD SUB PUSH2 0x52F JUMPI PUSH32 0xB6DC686A67A9620536A83F729428EF64A3E6529407D6B5E0DF3426FE6B01A260 SWAP3 PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH1 0x20 SWAP5 AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAFFBF64B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x641 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SWAP4 PUSH1 0x80 DUP6 SLT PUSH2 0xB66 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP6 PUSH2 0x67B DUP8 PUSH2 0x1519 JUMP JUMPDEST SLT PUSH2 0xB66 JUMPI PUSH1 0x40 MLOAD PUSH2 0x68C DUP2 PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x885 JUMPI DUP2 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP6 MSTORE PUSH1 0x84 CALLDATALOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x40 DUP7 ADD MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x6E0 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST SWAP5 SWAP1 PUSH1 0x4 CALLDATALOAD DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP6 DUP7 SLOAD SWAP2 PUSH1 0xFF DUP4 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ PUSH2 0xB0F JUMPI PUSH1 0x40 MLOAD PUSH2 0x722 DUP2 PUSH2 0x1519 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND DUP1 DUP3 MSTORE PUSH1 0x3 SLOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 SLOAD AND PUSH1 0x40 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 MLOAD MLOAD AND SUB PUSH2 0xAE5 JUMPI PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH2 0x7CC DUP2 PUSH2 0x7A0 PUSH1 0x40 DUP3 ADD DUP12 DUP14 PUSH2 0x1601 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 PUSH1 0x1 DUP12 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP10 DUP10 JUMPDEST DUP12 ISZERO DUP1 PUSH2 0xADC JUMPI JUMPDEST ISZERO PUSH2 0x8B7 JUMPI DUP9 DUP2 LT ISZERO PUSH2 0x88A JUMPI DUP1 PUSH1 0x6 SHL DUP11 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI CALLER EQ PUSH2 0x87C JUMPI JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x84F JUMPI PUSH1 0x1 ADD PUSH2 0x7DF JUMP JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x1 SWAP12 POP PUSH2 0x820 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP10 SWAP8 POP DUP11 ISZERO PUSH2 0xAB2 JUMPI PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP10 SWAP8 AND OR SWAP1 SSTORE PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP5 ADD MLOAD AND SWAP3 ADD MLOAD PUSH1 0x40 MLOAD SWAP3 PUSH2 0x917 DUP5 PUSH2 0x1535 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xAAE JUMPI DUP6 DUP1 SWAP5 PUSH1 0x40 SWAP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH2 0xA1D SWAP10 DUP7 MLOAD SWAP11 DUP12 SWAP10 DUP11 SWAP9 DUP10 SWAP7 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP9 MSTORE PUSH2 0x9E4 PUSH1 0x4 DUP10 ADD DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x44 DUP11 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x64 DUP9 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x84 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xA4 DUP7 ADD MSTORE JUMP JUMPDEST CALLER PUSH1 0xC4 DUP6 ADD MSTORE PUSH2 0x100 PUSH1 0xE4 DUP6 ADD MSTORE DUP1 PUSH2 0x104 DUP6 ADD MSTORE DUP1 PUSH2 0x124 SWAP6 DUP7 DUP7 ADD CALLDATACOPY DUP6 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xAA3 JUMPI PUSH2 0xA8F JUMPI JUMPDEST POP POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2A41D71AD20BB81193ADE4A1C1C4796777BA30F92F48C41FCE7EEB361E109B0E PUSH1 0x40 PUSH1 0x4 CALLDATALOAD SWAP3 LOG2 DUP1 RETURN JUMPDEST PUSH2 0xA98 SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x3DD JUMPI DUP2 DUP4 PUSH2 0xA56 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6526878800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP9 DUP2 LT PUSH2 0x7E7 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xFD6F412000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xA0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x5 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 DUP2 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x3 SSTORE PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0x885 JUMPI PUSH1 0x4 SLOAD AND OR PUSH1 0x4 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x2 SLOAD AND SWAP1 PUSH1 0x3 SLOAD SWAP1 PUSH1 0x4 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0xD5C PUSH2 0x1454 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x44 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0xD80 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND ISZERO PUSH2 0x101B JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD DUP3 PUSH2 0xDD4 DUP6 DUP8 DUP5 SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x34 SWAP4 PUSH1 0x60 SHL AND DUP3 MSTORE PUSH1 0x14 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SUB SWAP3 PUSH2 0xE06 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP5 DUP6 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 DUP8 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP8 KECCAK256 SWAP3 DUP4 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xFEE JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0xFC4 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ ISZERO DUP1 PUSH2 0xFB7 JUMPI JUMPDEST PUSH2 0xF8D JUMPI PUSH1 0x40 MLOAD PUSH2 0xE6F PUSH1 0x20 DUP3 ADD SWAP3 PUSH1 0x20 DUP5 MSTORE DUP3 PUSH2 0xE63 PUSH1 0x40 DUP3 ADD DUP9 DUP11 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 PUSH1 0x1 DUP7 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP5 PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 AND OR SWAP1 SSTORE AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xB66 JUMPI DUP4 PUSH2 0xF0E SWAP6 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xF82 JUMPI PUSH2 0xF4C JUMPI JUMPDEST POP PUSH1 0x20 PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 SWAP4 PUSH2 0xF7A PUSH1 0x20 SWAP3 PUSH2 0x14D6 JUMP JUMPDEST SWAP4 SWAP2 POP PUSH2 0xF1D JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xF268E9E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP PUSH1 0x3 DUP6 ADD SLOAD TIMESTAMP LT PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xE4D068DA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x10D6 PUSH2 0x1454 JUMP JUMPDEST SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x44 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x10F9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD DUP6 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x1111 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 SWAP5 PUSH1 0x1 SLOAD SWAP1 PUSH1 0xFF DUP3 PUSH1 0xA0 SHR AND ISZERO PUSH2 0x142C JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x40 MLOAD PUSH1 0x60 DUP9 SWAP1 SHL PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 AND PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x34 DUP4 ADD MSTORE SWAP1 PUSH2 0x1188 DUP2 PUSH1 0x54 DUP2 ADD PUSH2 0x7A0 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP4 DUP5 SLOAD SWAP7 PUSH1 0xFF DUP9 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI PUSH1 0x1 SWAP2 PUSH2 0x7A0 PUSH2 0x11F4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP4 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP6 PUSH1 0x20 DUP8 MSTORE PUSH1 0x40 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP8 AND OR DUP5 SSTORE DUP6 PUSH1 0x1 DUP6 ADD SSTORE DUP3 GT PUSH2 0x13FF JUMPI DUP2 SWAP1 PUSH2 0x1217 PUSH1 0x2 DUP6 ADD SLOAD PUSH2 0x15AE JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x13AF JUMPI JUMPDEST POP DUP5 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x1307 JUMPI DUP6 SWAP3 PUSH2 0x12FC JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x2 DUP3 ADD SSTORE JUMPDEST PUSH1 0x5 SLOAD TIMESTAMP ADD SWAP2 DUP3 TIMESTAMP GT PUSH2 0x12CF JUMPI POP SWAP2 PUSH1 0x20 SWAP5 SWAP2 PUSH1 0x3 DUP6 SWAP5 ADD SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x96EAB3103FBD8C0266ECA3E7A57929BC3BD66EF5223E2CB45F589F884FFCB9AE DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP5 AND SWAP3 LOG4 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST ADD CALLDATALOAD SWAP1 POP DUP8 DUP1 PUSH2 0x1235 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP2 PUSH1 0x2 DUP6 ADD DUP7 MSTORE PUSH1 0x20 DUP7 KECCAK256 SWAP3 DUP7 JUMPDEST DUP2 DUP2 LT PUSH2 0x1397 JUMPI POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH2 0x135F JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x2 DUP3 ADD SSTORE PUSH2 0x126A JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE DUP8 DUP1 DUP1 PUSH2 0x134F JUMP JUMPDEST SWAP2 SWAP4 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP8 DUP8 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP6 ADD SWAP3 ADD PUSH2 0x1339 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x2 DUP5 ADD DUP6 MSTORE PUSH1 0x20 DUP6 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x13F8 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x13EA JUMPI POP POP PUSH2 0x1220 JUMP JUMPDEST DUP8 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x13D4 JUMP JUMPDEST POP DUP1 PUSH2 0x13CE JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 PUSH1 0x4 SWAP3 MSTORE REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x15F7 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x15C8 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x15BD JUMP JUMPDEST SWAP2 DUP2 DUP2 MSTORE PUSH1 0x20 DUP1 SWAP2 ADD SWAP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x1621 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP6 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0xAAE JUMPI DUP2 MSTORE DUP6 DUP3 ADD CALLDATALOAD DUP3 DUP3 ADD MSTORE PUSH1 0x40 SWAP1 DUP2 ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 PUSH1 0x1 ADD SWAP1 PUSH2 0x1612 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E PUSH12 0x186204CB5B1A91903D6FED9E 0xB1 0x5E 0xD3 PUSH4 0x61835D2B SWAP2 BYTE 0xA9 0xD5 PUSH23 0xE0EA5387C864736F6C6343000811003300000000000000 ", + "sourceMap": "1277:6125:38:-:0;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;-1:-1:-1;;;;;1277:6125:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1277:6125:38;;;;;;;;;;;;;;;;;;;-1:-1:-1;1277:6125:38;;-1:-1:-1;;;;;;1277:6125:38;;;;;;;;;;-1:-1:-1;;;;;818:10:51;797:40;-1:-1:-1;;797:40:51;1277:6125:38;;;;;;970:43:50;818:10:51;970:43:50;;;2128:18:38;;1277:6125;;;;;;2128:18;1277:6125;;;;;;;;;;;;-1:-1:-1;1277:6125:38;;;;;;-1:-1:-1;1277:6125:38;;;;;-1:-1:-1;1277:6125:38", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_array_struct_PositionParams_calldata_dyn_calldata": { + "entryPoint": 5285, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_contract_IArbitrable": { + "entryPoint": 5204, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_string_calldata": { + "entryPoint": 5239, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_encode_array_struct_PositionParams_calldata_dyn_calldata": { + "entryPoint": 5633, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_packed_contract_IArbitrable_bytes32": { + "entryPoint": null, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_struct_TokenPermissions": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 5550, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 5485, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_14653": { + "entryPoint": 5334, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_14660": { + "entryPoint": 5401, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_14661": { + "entryPoint": 5429, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_14669": { + "entryPoint": 5457, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "object": "608080604052600436101561001357600080fd5b600090813560e01c90816302fd597d146110bc5750806312261ee71461106b578063238dafe0146110455780632f7f204e14610d42578063323a5e0b14610cf9578063328d8f7214610c925780633fd8b02f14610c74578063410fa8e614610b6a57806341bcf4dc1461060d5780638da5cb5b146105da578063e44cb37b1461046e578063e8ea054b146103e1578063ec67b8c8146101b2578063f2fde38b146100fc5763f77c4791146100c657600080fd5b346100f957806003193601126100f957602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b80fd5b50346100f95760206003193601126100f957610116611454565b815473ffffffffffffffffffffffffffffffffffffffff8082163303610188577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b50346100f9576020806003193601126103dd578160606040516101d481611551565b8281528284820152816040820152015260043582526006815260408220604051926101fe84611551565b60ff82541660058110156103b057845260018083015492848601938452600281016040519283918591815491610233836115ae565b928386528a838216918260001461036c57505060011461032f575b5050506003929161026091038461156d565b60408701928352015492606086019384526040519585875251600581101561030257858701525160408601525160806060860152805160a086018190529385939291825b8681106102eb57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f9260c080978701015251608085015201168101030190f35b81810183015188820160c0015287955082016102a4565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8752888720899350879291905b8284106103545750505082010181610260600361024e565b80548489018601528795508a9490930192810161033c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061026091506003905061024e565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b5080fd5b50346100f95760206003193601126100f9576103fb611454565b73ffffffffffffffffffffffffffffffffffffffff908183541633036101885716807fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155337fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f28380a380f35b50346100f95760406003193601126100f95760043560243573ffffffffffffffffffffffffffffffffffffffff8354163303610188578183526006602052604083209081549060ff821660058110156105ad57801561058357600414610559578060018401540361052f577fb6dc686a67a9620536a83f729428ef64a3e6529407d6b5e0df3426fe6b01a2609260037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060209416179055604051908152a280f35b60046040517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b60046040517f28b8b078000000000000000000000000000000000000000000000000000000008152fd5b60046040517faffbf64b000000000000000000000000000000000000000000000000000000008152fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346100f957806003193601126100f95773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346100f95760e06003193601126100f95767ffffffffffffffff906024358281116103dd576106419036906004016114a5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc36019360808512610b6657604080519561067b87611519565b12610b665760405161068c81611535565b60443573ffffffffffffffffffffffffffffffffffffffff8116810361088557815260643560208201528552608435602086015260a435604086015260c435908111610b66576106e0903690600401611477565b949060043585526006602052604085209586549160ff83166005811015610b39578015610583576004811461055957600314610b0f5760405161072281611519565b73ffffffffffffffffffffffffffffffffffffffff60025416808252600354602083015273ffffffffffffffffffffffffffffffffffffffff60045416604083015273ffffffffffffffffffffffffffffffffffffffff8651511603610ae5576040516020810190602082526107cc816107a0604082018b8d611601565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261156d565b519020948560018b01540361052f578899895b8b1580610adc575b156108b7578881101561088a578060061b8a013573ffffffffffffffffffffffffffffffffffffffff811680910361088557331461087c575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461084f576001016107df565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60019b50610820565b600080fd5b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b508997508a15610ab25760027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00899716179055602073ffffffffffffffffffffffffffffffffffffffff6040840151169201516040519261091784611535565b8352602083015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610aae578580946040927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f610a1d9986519a8b998a9889967f30f28b7a0000000000000000000000000000000000000000000000000000000088526109e46004890182516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60208181015160448a01529101516064880152815173ffffffffffffffffffffffffffffffffffffffff166084880152015160a4860152565b3360c485015261010060e48501528061010485015280610124958686013785858286010152011681010301925af18015610aa357610a8f575b50506040519081523360208201527f2a41d71ad20bb81193ade4a1c1c4796777ba30f92f48c41fce7eeb361e109b0e604060043592a280f35b610a98906114d6565b6103dd578183610a56565b6040513d84823e3d90fd5b8580fd5b60046040517f65268788000000000000000000000000000000000000000000000000000000008152fd5b508881106107e7565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60046040517ffd6f4120000000000000000000000000000000000000000000000000000000008152fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8380fd5b50346100f95760a06003193601126100f9576024358015158091036108855760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc3601126103dd5773ffffffffffffffffffffffffffffffffffffffff90818354163303610188576004356005557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b16911617600155604435818116809103610885577fffffffffffffffffffffffff00000000000000000000000000000000000000009081600254161760025560643560035560843591821680920361088557600454161760045580f35b50346100f957806003193601126100f9576020600554604051908152f35b50346100f95760206003193601126100f957600435801515809103610885577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b1691161760015580f35b50346100f957806003193601126100f957606073ffffffffffffffffffffffffffffffffffffffff80600254169060035490600454169060405192835260208301526040820152f35b50346100f95760606003193601126100f957610d5c611454565b6024359060443567ffffffffffffffff8111610b6657610d809036906004016114a5565b929060ff60015460a01c161561101b57604051906020820182610dd485878490917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b0392610e067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09485810183528261156d565b519020948587526006602052604087209283549060ff82166005811015610fee5760028114610fc45760048114610559576003141580610fb7575b610f8d57604051610e6f60208201926020845282610e6360408201888a611601565b0390810183528261156d565b519020958660018601540361052f57889460047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff94161790551690813b15610b665783610f0e95604051968795869485937f3d3e73d70000000000000000000000000000000000000000000000000000000085526004850152604060248501526044840191611601565b03925af18015610f8257610f4c575b5060207feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd491604051908152a280f35b7feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd49193610f7a6020926114d6565b939150610f1d565b6040513d86823e3d90fd5b60046040517ff268e9e3000000000000000000000000000000000000000000000000000000008152fd5b5060038501544210610e41565b60046040517fe4d068da000000000000000000000000000000000000000000000000000000008152fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60046040517f09131007000000000000000000000000000000000000000000000000000000008152fd5b50346100f957806003193601126100f957602060ff60015460a01c166040519015158152f35b50346100f957806003193601126100f957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346100f95760806003193601126100f9576110d6611454565b9167ffffffffffffffff916044358381116103dd576110f9903690600401611477565b606435858111610b66576111119036906004016114a5565b9290946001549060ff8260a01c161561142c575073ffffffffffffffffffffffffffffffffffffffff16330361018857604051606088901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020820190815260243560348301529061118881605481016107a0565b519020958685526006602052604085209384549660ff88166005811015610b3957600414610559576001916107a06111f47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00936040519283916020830195602087526040840191611601565b519020971617845585600185015582116113ff57819061121760028501546115ae565b601f81116113af575b508490601f83116001146113075785926112fc575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161760028201555b6005544201918242116112cf575091602094916003859401556040519081527f96eab3103fbd8c0266eca3e7a57929bc3bd66ef5223e2cb45f589f884ffcb9ae8573ffffffffffffffffffffffffffffffffffffffff602435941692a4604051908152f35b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b013590508780611235565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016916002850186526020862092865b818110611397575090846001959493921061135f575b505050811b01600282015561126a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905587808061134f565b91936020600181928787013581550195019201611339565b90915060028401855260208520601f840160051c8101602085106113f8575b90849392915b601f830160051c820181106113ea575050611220565b8781558594506001016113d4565b50806113ce565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b807f091310070000000000000000000000000000000000000000000000000000000060049252fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020838186019501011161088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020808501948460061b01011161088557565b67ffffffffffffffff81116114ea57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176114ea57604052565b6040810190811067ffffffffffffffff8211176114ea57604052565b6080810190811067ffffffffffffffff8211176114ea57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176114ea57604052565b90600182811c921680156115f7575b60208310146115c857565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916115bd565b918181526020809101929160009182905b82821061162157505050505090565b9091929394853573ffffffffffffffffffffffffffffffffffffffff8116809103610aae5781528582013582820152604090810195019392916001019061161256fea26469706673582212205e6b186204cb5b1a91903d6fed9eb15ed36361835d2b911aa9d576e0ea5387c864736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2FD597D EQ PUSH2 0x10BC JUMPI POP DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x106B JUMPI DUP1 PUSH4 0x238DAFE0 EQ PUSH2 0x1045 JUMPI DUP1 PUSH4 0x2F7F204E EQ PUSH2 0xD42 JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0xCF9 JUMPI DUP1 PUSH4 0x328D8F72 EQ PUSH2 0xC92 JUMPI DUP1 PUSH4 0x3FD8B02F EQ PUSH2 0xC74 JUMPI DUP1 PUSH4 0x410FA8E6 EQ PUSH2 0xB6A JUMPI DUP1 PUSH4 0x41BCF4DC EQ PUSH2 0x60D JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x5DA JUMPI DUP1 PUSH4 0xE44CB37B EQ PUSH2 0x46E JUMPI DUP1 PUSH4 0xE8EA054B EQ PUSH2 0x3E1 JUMPI DUP1 PUSH4 0xEC67B8C8 EQ PUSH2 0x1B2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFC JUMPI PUSH4 0xF77C4791 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x116 PUSH2 0x1454 JUMP JUMPDEST DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x188 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD PUSH2 0x1D4 DUP2 PUSH2 0x1551 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 DUP5 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x4 CALLDATALOAD DUP3 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x1FE DUP5 PUSH2 0x1551 JUMP JUMPDEST PUSH1 0xFF DUP3 SLOAD AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x3B0 JUMPI DUP5 MSTORE PUSH1 0x1 DUP1 DUP4 ADD SLOAD SWAP3 DUP5 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x2 DUP2 ADD PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 DUP6 SWAP2 DUP2 SLOAD SWAP2 PUSH2 0x233 DUP4 PUSH2 0x15AE JUMP JUMPDEST SWAP3 DUP4 DUP7 MSTORE DUP11 DUP4 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0x36C JUMPI POP POP PUSH1 0x1 EQ PUSH2 0x32F JUMPI JUMPDEST POP POP POP PUSH1 0x3 SWAP3 SWAP2 PUSH2 0x260 SWAP2 SUB DUP5 PUSH2 0x156D JUMP JUMPDEST PUSH1 0x40 DUP8 ADD SWAP3 DUP4 MSTORE ADD SLOAD SWAP3 PUSH1 0x60 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x40 MLOAD SWAP6 DUP6 DUP8 MSTORE MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x302 JUMPI DUP6 DUP8 ADD MSTORE MLOAD PUSH1 0x40 DUP7 ADD MSTORE MLOAD PUSH1 0x80 PUSH1 0x60 DUP7 ADD MSTORE DUP1 MLOAD PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE SWAP4 DUP6 SWAP4 SWAP3 SWAP2 DUP3 JUMPDEST DUP7 DUP2 LT PUSH2 0x2EB JUMPI POP POP POP DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP3 PUSH1 0x1F SWAP3 PUSH1 0xC0 DUP1 SWAP8 DUP8 ADD ADD MSTORE MLOAD PUSH1 0x80 DUP6 ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP9 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP8 SWAP6 POP DUP3 ADD PUSH2 0x2A4 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 MSTORE DUP9 DUP8 KECCAK256 DUP10 SWAP4 POP DUP8 SWAP3 SWAP2 SWAP1 JUMPDEST DUP3 DUP5 LT PUSH2 0x354 JUMPI POP POP POP DUP3 ADD ADD DUP2 PUSH2 0x260 PUSH1 0x3 PUSH2 0x24E JUMP JUMPDEST DUP1 SLOAD DUP5 DUP10 ADD DUP7 ADD MSTORE DUP8 SWAP6 POP DUP11 SWAP5 SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x33C JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP8 DUP3 ADD MSTORE SWAP4 ISZERO ISZERO PUSH1 0x5 SHL DUP7 ADD SWAP1 SWAP4 ADD SWAP4 POP DUP5 SWAP3 POP PUSH2 0x260 SWAP2 POP PUSH1 0x3 SWAP1 POP PUSH2 0x24E JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x3FB PUSH2 0x1454 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE CALLER PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI DUP2 DUP4 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP1 DUP2 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x5AD JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI DUP1 PUSH1 0x1 DUP5 ADD SLOAD SUB PUSH2 0x52F JUMPI PUSH32 0xB6DC686A67A9620536A83F729428EF64A3E6529407D6B5E0DF3426FE6B01A260 SWAP3 PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH1 0x20 SWAP5 AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAFFBF64B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x641 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SWAP4 PUSH1 0x80 DUP6 SLT PUSH2 0xB66 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP6 PUSH2 0x67B DUP8 PUSH2 0x1519 JUMP JUMPDEST SLT PUSH2 0xB66 JUMPI PUSH1 0x40 MLOAD PUSH2 0x68C DUP2 PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x885 JUMPI DUP2 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP6 MSTORE PUSH1 0x84 CALLDATALOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x40 DUP7 ADD MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x6E0 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST SWAP5 SWAP1 PUSH1 0x4 CALLDATALOAD DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP6 DUP7 SLOAD SWAP2 PUSH1 0xFF DUP4 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ PUSH2 0xB0F JUMPI PUSH1 0x40 MLOAD PUSH2 0x722 DUP2 PUSH2 0x1519 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND DUP1 DUP3 MSTORE PUSH1 0x3 SLOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 SLOAD AND PUSH1 0x40 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 MLOAD MLOAD AND SUB PUSH2 0xAE5 JUMPI PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH2 0x7CC DUP2 PUSH2 0x7A0 PUSH1 0x40 DUP3 ADD DUP12 DUP14 PUSH2 0x1601 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 PUSH1 0x1 DUP12 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP10 DUP10 JUMPDEST DUP12 ISZERO DUP1 PUSH2 0xADC JUMPI JUMPDEST ISZERO PUSH2 0x8B7 JUMPI DUP9 DUP2 LT ISZERO PUSH2 0x88A JUMPI DUP1 PUSH1 0x6 SHL DUP11 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI CALLER EQ PUSH2 0x87C JUMPI JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x84F JUMPI PUSH1 0x1 ADD PUSH2 0x7DF JUMP JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x1 SWAP12 POP PUSH2 0x820 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP10 SWAP8 POP DUP11 ISZERO PUSH2 0xAB2 JUMPI PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP10 SWAP8 AND OR SWAP1 SSTORE PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP5 ADD MLOAD AND SWAP3 ADD MLOAD PUSH1 0x40 MLOAD SWAP3 PUSH2 0x917 DUP5 PUSH2 0x1535 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xAAE JUMPI DUP6 DUP1 SWAP5 PUSH1 0x40 SWAP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH2 0xA1D SWAP10 DUP7 MLOAD SWAP11 DUP12 SWAP10 DUP11 SWAP9 DUP10 SWAP7 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP9 MSTORE PUSH2 0x9E4 PUSH1 0x4 DUP10 ADD DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x44 DUP11 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x64 DUP9 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x84 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xA4 DUP7 ADD MSTORE JUMP JUMPDEST CALLER PUSH1 0xC4 DUP6 ADD MSTORE PUSH2 0x100 PUSH1 0xE4 DUP6 ADD MSTORE DUP1 PUSH2 0x104 DUP6 ADD MSTORE DUP1 PUSH2 0x124 SWAP6 DUP7 DUP7 ADD CALLDATACOPY DUP6 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xAA3 JUMPI PUSH2 0xA8F JUMPI JUMPDEST POP POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2A41D71AD20BB81193ADE4A1C1C4796777BA30F92F48C41FCE7EEB361E109B0E PUSH1 0x40 PUSH1 0x4 CALLDATALOAD SWAP3 LOG2 DUP1 RETURN JUMPDEST PUSH2 0xA98 SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x3DD JUMPI DUP2 DUP4 PUSH2 0xA56 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6526878800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP9 DUP2 LT PUSH2 0x7E7 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xFD6F412000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xA0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x5 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 DUP2 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x3 SSTORE PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0x885 JUMPI PUSH1 0x4 SLOAD AND OR PUSH1 0x4 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x2 SLOAD AND SWAP1 PUSH1 0x3 SLOAD SWAP1 PUSH1 0x4 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0xD5C PUSH2 0x1454 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x44 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0xD80 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND ISZERO PUSH2 0x101B JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD DUP3 PUSH2 0xDD4 DUP6 DUP8 DUP5 SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x34 SWAP4 PUSH1 0x60 SHL AND DUP3 MSTORE PUSH1 0x14 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SUB SWAP3 PUSH2 0xE06 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP5 DUP6 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 DUP8 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP8 KECCAK256 SWAP3 DUP4 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xFEE JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0xFC4 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ ISZERO DUP1 PUSH2 0xFB7 JUMPI JUMPDEST PUSH2 0xF8D JUMPI PUSH1 0x40 MLOAD PUSH2 0xE6F PUSH1 0x20 DUP3 ADD SWAP3 PUSH1 0x20 DUP5 MSTORE DUP3 PUSH2 0xE63 PUSH1 0x40 DUP3 ADD DUP9 DUP11 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 PUSH1 0x1 DUP7 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP5 PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 AND OR SWAP1 SSTORE AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xB66 JUMPI DUP4 PUSH2 0xF0E SWAP6 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xF82 JUMPI PUSH2 0xF4C JUMPI JUMPDEST POP PUSH1 0x20 PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 SWAP4 PUSH2 0xF7A PUSH1 0x20 SWAP3 PUSH2 0x14D6 JUMP JUMPDEST SWAP4 SWAP2 POP PUSH2 0xF1D JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xF268E9E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP PUSH1 0x3 DUP6 ADD SLOAD TIMESTAMP LT PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xE4D068DA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x10D6 PUSH2 0x1454 JUMP JUMPDEST SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x44 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x10F9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD DUP6 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x1111 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 SWAP5 PUSH1 0x1 SLOAD SWAP1 PUSH1 0xFF DUP3 PUSH1 0xA0 SHR AND ISZERO PUSH2 0x142C JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x40 MLOAD PUSH1 0x60 DUP9 SWAP1 SHL PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 AND PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x34 DUP4 ADD MSTORE SWAP1 PUSH2 0x1188 DUP2 PUSH1 0x54 DUP2 ADD PUSH2 0x7A0 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP4 DUP5 SLOAD SWAP7 PUSH1 0xFF DUP9 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI PUSH1 0x1 SWAP2 PUSH2 0x7A0 PUSH2 0x11F4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP4 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP6 PUSH1 0x20 DUP8 MSTORE PUSH1 0x40 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP8 AND OR DUP5 SSTORE DUP6 PUSH1 0x1 DUP6 ADD SSTORE DUP3 GT PUSH2 0x13FF JUMPI DUP2 SWAP1 PUSH2 0x1217 PUSH1 0x2 DUP6 ADD SLOAD PUSH2 0x15AE JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x13AF JUMPI JUMPDEST POP DUP5 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x1307 JUMPI DUP6 SWAP3 PUSH2 0x12FC JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x2 DUP3 ADD SSTORE JUMPDEST PUSH1 0x5 SLOAD TIMESTAMP ADD SWAP2 DUP3 TIMESTAMP GT PUSH2 0x12CF JUMPI POP SWAP2 PUSH1 0x20 SWAP5 SWAP2 PUSH1 0x3 DUP6 SWAP5 ADD SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x96EAB3103FBD8C0266ECA3E7A57929BC3BD66EF5223E2CB45F589F884FFCB9AE DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP5 AND SWAP3 LOG4 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST ADD CALLDATALOAD SWAP1 POP DUP8 DUP1 PUSH2 0x1235 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP2 PUSH1 0x2 DUP6 ADD DUP7 MSTORE PUSH1 0x20 DUP7 KECCAK256 SWAP3 DUP7 JUMPDEST DUP2 DUP2 LT PUSH2 0x1397 JUMPI POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH2 0x135F JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x2 DUP3 ADD SSTORE PUSH2 0x126A JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE DUP8 DUP1 DUP1 PUSH2 0x134F JUMP JUMPDEST SWAP2 SWAP4 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP8 DUP8 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP6 ADD SWAP3 ADD PUSH2 0x1339 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x2 DUP5 ADD DUP6 MSTORE PUSH1 0x20 DUP6 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x13F8 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x13EA JUMPI POP POP PUSH2 0x1220 JUMP JUMPDEST DUP8 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x13D4 JUMP JUMPDEST POP DUP1 PUSH2 0x13CE JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 PUSH1 0x4 SWAP3 MSTORE REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x15F7 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x15C8 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x15BD JUMP JUMPDEST SWAP2 DUP2 DUP2 MSTORE PUSH1 0x20 DUP1 SWAP2 ADD SWAP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x1621 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP6 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0xAAE JUMPI DUP2 MSTORE DUP6 DUP3 ADD CALLDATALOAD DUP3 DUP3 ADD MSTORE PUSH1 0x40 SWAP1 DUP2 ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 PUSH1 0x1 ADD SWAP1 PUSH2 0x1612 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E PUSH12 0x186204CB5B1A91903D6FED9E 0xB1 0x5E 0xD3 PUSH4 0x61835D2B SWAP2 BYTE 0xA9 0xD5 PUSH23 0xE0EA5387C864736F6C6343000811003300000000000000 ", + "sourceMap": "1277:6125:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;555:25:50;1277:6125:38;;;;;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;:::i;:::-;;;;;;;662:10:51;:19;658:46;;1277:6125:38;;;;;;;;;;662:10:51;1068:42;;;;1277:6125:38;;658:46:51;1277:6125:38;;;690:14:51;;;;1277:6125:38;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;2021:10;1277:6125;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1277:6125:38;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1277:6125:38;;;;;;;;;;-1:-1:-1;;;1277:6125:38;;;;;;;;;;;;;;;;;;;-1:-1:-1;1277:6125:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1277:6125:38;;-1:-1:-1;1277:6125:38;;-1:-1:-1;1277:6125:38;;-1:-1:-1;1277:6125:38;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;:::i;:::-;;;;;;;662:10:51;:19;658:46;;1277:6125:38;;;1226:26:50;1277:6125:38;;;1226:26:50;1277:6125:38;662:10:51;1268:45:50;;;;1277:6125:38;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;;;;;;;662:10:51;:19;658:46;;1277:6125:38;;;6287:10;1277:6125;;;;;;;;;;;;;;;;;;6316:43;;6312:104;;1277:6125;6429:47;6425:107;;6545:22;1277:6125;6545:22;;1277:6125;6545:36;6541:104;;6717:34;1277:6125;6676:25;1277:6125;;;;;;;;;;;;6717:34;1277:6125;;6541:104;1277:6125;;;6604:30;;;;6425:107;1277:6125;;;6499:22;;;;6312:104;1277:6125;;;6382:23;;;;1277:6125;;;;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;4983:10;1277:6125;;;;;;;;;;;;;;;;;;5012:43;;5008:104;;1277:6125;5125:47;;5121:107;;5263:25;5241:47;5237:107;;1277:6125;;;;;:::i;:::-;;5385:8;1277:6125;;;;;5263:25;1277:6125;;;;;;;;;;;;;;5407:16;;1277:6125;;5407:39;5403:67;;1277:6125;;;5519:22;;1277:6125;;;;5519:22;1277:6125;;;;;;;;:::i;:::-;5519:22;;;;;;;;:::i;:::-;1277:6125;5509:33;;5556:22;;1277:6125;5556:22;;1277:6125;5556:44;5552:112;;7241:10;7268:13;;7316:3;7283:6;;:31;;;7316:3;7283:31;;;1277:6125;;;;;;;4983:10;1277:6125;;;;;;;;;;;;5687:10;7339:30;7335:48;;7316:3;1277:6125;;;;;;;7268:13;;1277:6125;;;;;;;;;;7335:48;1277:6125;;-1:-1:-1;7335:48:38;;1277:6125;;;;;;;;;;;;;;7283:31;;;;;;5677:33;5673:66;;5385:8;1277:6125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5876:91;;1277:6125;;5977:7;1277:6125;5977:74;;;;;;1277:6125;;;;;5519:22;1277:6125;;;;;5977:74;;;;;;;1277:6125;5977:74;;1277:6125;;5977:74;;1277:6125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5687:10;1277:6125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5977:74;;;;;;;;;;;7263:131;1277:6125;;;;;;;5687:10;1277:6125;;;;6067:54;1277:6125;;;6067:54;;1277:6125;;5977:74;;;;:::i;:::-;1277:6125;;5977:74;;;;;1277:6125;;;;;;;;;5977:74;1277:6125;;;5673:66;1277:6125;;;5719:20;;;;7283:31;7293:21;;;;7283:31;;5403:67;1277:6125;;;5455:15;;;;5237:107;1277:6125;;;5311:22;;;;1277:6125;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;662:10:51;:19;658:46;;1277:6125:38;;2553:24;1277:6125;;;;;;;;;;;;;;;;;;;;;;;;;;;2615:20;1277:6125;;;2615:20;1277:6125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;1619:25;1277:6125;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;;;;;;;;;;;567:16:52;1277:6125:38;;;;;;;;567:16:52;1277:6125:38;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;;1489:29;1277:6125;;;1489:29;1277:6125;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;367:8:52;363:33;;1277:6125:38;;3811:36;1277:6125;3811:36;;;;;;;1277:6125;;;;;;;;;;;;;;;;;3811:36;;;;;;;;;;;;;:::i;:::-;1277:6125;3801:47;;1277:6125;;;;3891:10;1277:6125;;;;;;;;;;;;;;;;;;3942:25;3920:47;;3916:107;;1277:6125;4036:47;;4032:107;;4187:25;4165:47;;:103;;;1277:6125;4148:183;;1277:6125;;4379:22;1277:6125;4379:22;;1277:6125;;;;;;;;;;;;:::i;:::-;4379:22;;;;;;;;:::i;:::-;1277:6125;4369:33;;4416:22;;1277:6125;4416:22;;1277:6125;4416:44;4412:112;;1277:6125;;;;;;;;;;;4591:44;;;;;;1277:6125;;;;;4591:44;;;;;;;1277:6125;4591:44;;1277:6125;4591:44;;1277:6125;;;;;;;;;;;:::i;:::-;4591:44;;;;;;;;;;1277:6125;;;4651:42;1277:6125;;;;;;4651:42;1277:6125;;4591:44;4651:42;4591:44;;;1277:6125;4591:44;;:::i;:::-;;;;;;;1277:6125;;;;;;;;;4148:183;1277:6125;;;4300:20;;;;4165:103;4246:22;4187:25;4246:22;;1277:6125;4228:15;:40;4165:103;;3916:107;1277:6125;;;3990:22;;;;1277:6125;;;;;;;;;;363:33:52;1277:6125:38;;;384:12:52;;;;1277:6125:38;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;242:19:52;1277:6125:38;;;;;;;;;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;;;1402:32;1277:6125;;;;;;;;;;-1:-1:-1;;1277:6125:38;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;367:8:52;363:33;;1277:6125:38;;;635:10:50;:24;631:51;;1277:6125:38;;;;;;;;;2989:36;;1277:6125;;;;;;;;;2989:36;;1277:6125;;;;2989:36;1277:6125;2989:36;1277:6125;2979:47;;1277:6125;;;;3069:10;1277:6125;;;;;;;;;;;;;;;;;;;3098:47;3094:107;;1277:6125;;;3250:22;1277:6125;;;;3250:22;;;1277:6125;3250:22;;1277:6125;;;;;;;;;:::i;3250:22::-;1277:6125;3240:33;;1277:6125;;;;;3340:22;1277:6125;3340:22;;1277:6125;;;;;3393:23;;1277:6125;3393:23;;;1277:6125;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3393:23;;;1277:6125;;;;3465:15;1277:6125;3465:15;;;1277:6125;;;3440:22;;1277:6125;3440:22;;;;;;1277:6125;;;;;;3509:72;1277:6125;;;;;;3509:72;;1277:6125;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1277:6125:38;;;;;;;2989:36;1277:6125;3393:23;;;;1277:6125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3393:23;;;1277:6125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3393:23;;;;;;1277:6125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1277:6125:38;;;;;-1:-1:-1;1277:6125:38;;;;;;;;;;;;;363:33:52;384:12;;1277:6125:38;384:12:52;;;1277:6125:38;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1277:6125:38;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {}, + "immutableReferences": { + "30684": [ + { + "start": 2357, + "length": 32 + }, + { + "start": 4248, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "appealResolution(bytes32,(address,uint256)[],((address,uint256),uint256,uint256),bytes)": "41bcf4dc", + "controller()": "f77c4791", + "deposits()": "323a5e0b", + "enabled()": "238dafe0", + "endorseResolution(bytes32,bytes32)": "e44cb37b", + "executeResolution(address,bytes32,(address,uint256)[])": "2f7f204e", + "lockPeriod()": "3fd8b02f", + "owner()": "8da5cb5b", + "permit2()": "12261ee7", + "resolutionDetails(bytes32)": "ec67b8c8", + "setEnabled(bool)": "328d8f72", + "setUp(uint256,bool,(address,uint256,address))": "410fa8e6", + "submitResolution(address,bytes32,string,(address,uint256)[])": "02fd597d", + "transferController(address)": "e8ea054b", + "transferOwnership(address)": "f2fde38b" + } + } + } + }, + "src/frameworks/AgreementFramework.sol": { + "AgreementFramework": { + "abi": [ + { + "type": "function", + "name": "adjustPosition", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newPosition", + "type": "tuple", + "internalType": "struct PositionParams", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "arbitrator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "disputeAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "joinAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "resolver", + "type": "tuple", + "internalType": "struct CriteriaResolver", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ] + }, + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.TokenPermissions[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "joinAgreementApproved", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "resolver", + "type": "tuple", + "internalType": "struct CriteriaResolver", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "settleDispute", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferArbitration", + "inputs": [ + { + "name": "newArbitrator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawFromAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AgreementCreated", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "termsHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "criteria", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "metadataURI", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementDisputed", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "party", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementFinalized", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementJoined", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "party", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementPositionUpdated", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "party", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "status", + "type": "uint8", + "indexed": false, + "internalType": "enum PositionStatus" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ArbitrationTransferred", + "inputs": [ + { + "name": "newArbitrator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"termsHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"criteria\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"AgreementCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"}],\"name\":\"AgreementDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"AgreementFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"name\":\"AgreementJoined\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum PositionStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"AgreementPositionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newArbitrator\",\"type\":\"address\"}],\"name\":\"ArbitrationTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams\",\"name\":\"newPosition\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"adjustPosition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbitrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"disputeAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"finalizeAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CriteriaResolver\",\"name\":\"resolver\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions[]\",\"name\":\"permitted\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitBatchTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"joinAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CriteriaResolver\",\"name\":\"resolver\",\"type\":\"tuple\"}],\"name\":\"joinAgreementApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"}],\"name\":\"settleDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newArbitrator\",\"type\":\"address\"}],\"name\":\"transferArbitration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"withdrawFromAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ArbitrationTransferred(address)\":{\"params\":{\"newArbitrator\":\"Address of the new arbitrator.\"}}},\"kind\":\"dev\",\"methods\":{\"adjustPosition(bytes32,(address,uint256),((address,uint256),uint256,uint256),bytes)\":{\"params\":{\"id\":\"Id of the agreement to adjust the position from.\",\"newPosition\":\"Position params to adjust.\",\"permit\":\"Permit2 permit to allow the required token transfers.\",\"signature\":\"Signature of the permit.\"}},\"disputeAgreement(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to dispute.\"}},\"finalizeAgreement(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to settle.\"}},\"joinAgreement(bytes32,(address,uint256,bytes32[]),((address,uint256)[],uint256,uint256),bytes)\":{\"params\":{\"id\":\"Id of the agreement to join.\",\"permit\":\"Permit2 batched permit to allow the required token transfers.\",\"resolver\":\"Criteria data to prove sender can join agreement.\",\"signature\":\"Signature of the permit.\"}},\"joinAgreementApproved(bytes32,(address,uint256,bytes32[]))\":{\"params\":{\"id\":\"Id of the agreement to join.\",\"resolver\":\"Criteria data to prove sender can join agreement.\"}},\"settleDispute(bytes32,(address,uint256)[])\":{\"params\":{\"id\":\"Id of the dispute to settle.\",\"settlement\":\"Array of PositionParams to set as final positions.\"}},\"transferArbitration(address)\":{\"params\":{\"newArbitrator\":\"Address of the new arbitrator.\"}},\"transferOwnership(address)\":{\"params\":{\"newOwner\":\"Address of the new owner.\"}},\"withdrawFromAgreement(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to withdraw from.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"ArbitrationTransferred(address)\":{\"notice\":\"Raised when the arbitration power is transferred.\"},\"OwnershipTransferred(address,address)\":{\"notice\":\"Raised when the ownership is transferred.\"}},\"kind\":\"user\",\"methods\":{\"adjustPosition(bytes32,(address,uint256),((address,uint256),uint256,uint256),bytes)\":{\"notice\":\"Adjust a position part of an agreement.\"},\"arbitrator()\":{\"notice\":\"Address capable of settling disputes.\"},\"disputeAgreement(bytes32)\":{\"notice\":\"Raise a dispute over an agreement.\"},\"finalizeAgreement(bytes32)\":{\"notice\":\"Signal the will of the caller to finalize an agreement.\"},\"joinAgreement(bytes32,(address,uint256,bytes32[]),((address,uint256)[],uint256,uint256),bytes)\":{\"notice\":\"Join an existing agreement with a signed permit.\"},\"joinAgreementApproved(bytes32,(address,uint256,bytes32[]))\":{\"notice\":\"Join an existing agreement with transfers previously approved.\"},\"owner()\":{\"notice\":\"Address that owns the contract.\"},\"settleDispute(bytes32,(address,uint256)[])\":{\"notice\":\"Settles the dispute `id` with the provided settlement.\"},\"transferArbitration(address)\":{\"notice\":\"Transfer the arbitration power of the agreement.\"},\"transferOwnership(address)\":{\"notice\":\"Transfer the ownership of the contract.\"},\"withdrawFromAgreement(bytes32)\":{\"notice\":\"Withdraw your position from the agreement.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/frameworks/AgreementFramework.sol\":\"AgreementFramework\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"src/frameworks/AgreementFramework.sol\":{\"keccak256\":\"0x355d1e71990885d00cd752ab4772fc2ea7dcd6768de528c050f5ae01fb6c60bb\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dd60df522d691c3fc3c64db14a2c1cda0800852f97b8aeefde215ac74c2d6f99\",\"dweb:/ipfs/QmVDvovuBsNXFiJf25bUfxneK9fCnEPeVBJJm6PTyKpX3x\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/CriteriaTypes.sol\":{\"keccak256\":\"0x8c8226c5aac09c8dada8f76dcb15bd55cd8bd871b22a4be3bc6b72db655b6306\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://eabc3ee411827a1060d1d16df120df7c8dcccce5d22625a259cb17aaaad9de32\",\"dweb:/ipfs/QmTLYMEJPjqbL5CPqLyM2UWyroVQzgPf2Wq4iPRAL4qu38\"]},\"src/interfaces/IAgreementFramework.sol\":{\"keccak256\":\"0x1e266838be99cead7ef79276f7183f9937e000a52b0222adde898f4594953608\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d893f37bf07db1f839da8bcdf30cf96c15a63bd7b29a53e2e1bb4e5fff219bb\",\"dweb:/ipfs/QmdvtHe3qCr8Cxw2jtMQFqgRwFoWD2E83thPMHSvKVgVcR\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]},\"src/utils/Owned.sol\":{\"keccak256\":\"0x7734d8c9fefc0abb51af8a97bdd7e8a22418ae5e597a63c3ca7c9b1cbce0a23c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dcba4eaeadcabc6b2e330c290626c7fe8b93b0476b08114445f6520ff3ced50e\",\"dweb:/ipfs/QmRedpupiw3iQWCDEfG5yhmVytdQH1H59mqiVXcitzJPaF\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "adjustPosition(bytes32,(address,uint256),((address,uint256),uint256,uint256),bytes)": "5541e684", + "arbitrator()": "6cc6cde1", + "disputeAgreement(bytes32)": "061ab0bc", + "finalizeAgreement(bytes32)": "8135fe23", + "joinAgreement(bytes32,(address,uint256,bytes32[]),((address,uint256)[],uint256,uint256),bytes)": "1bd747a2", + "joinAgreementApproved(bytes32,(address,uint256,bytes32[]))": "a37ee28c", + "owner()": "8da5cb5b", + "settleDispute(bytes32,(address,uint256)[])": "3d3e73d7", + "transferArbitration(address)": "ab4f5678", + "transferOwnership(address)": "f2fde38b", + "withdrawFromAgreement(bytes32)": "186799a4" + } + } + } + }, + "src/frameworks/CollateralAgreement.sol": { + "CollateralAgreementFramework": { + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "permit2_", + "type": "address", + "internalType": "contract Permit2" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "adjustPosition", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newPosition", + "type": "tuple", + "internalType": "struct PositionParams", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "agreementData", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "data", + "type": "tuple", + "internalType": "struct AgreementData", + "components": [ + { + "name": "termsHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "criteria", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "metadataURI", + "type": "string", + "internalType": "string" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "status", + "type": "uint8", + "internalType": "enum AgreementStatus" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "agreementPositions", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct PositionData[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deposit", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "status", + "type": "uint8", + "internalType": "enum PositionStatus" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "arbitrator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "createAgreement", + "inputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct AgreementParams", + "components": [ + { + "name": "termsHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "criteria", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "metadataURI", + "type": "string", + "internalType": "string" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + }, + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposits", + "inputs": [], + "outputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "disputeAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "joinAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "resolver", + "type": "tuple", + "internalType": "struct CriteriaResolver", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ] + }, + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.TokenPermissions[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "joinAgreementApproved", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "resolver", + "type": "tuple", + "internalType": "struct CriteriaResolver", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit2", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract Permit2" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setUp", + "inputs": [ + { + "name": "arbitrator_", + "type": "address", + "internalType": "address" + }, + { + "name": "deposits_", + "type": "tuple", + "internalType": "struct DepositConfig", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "recipient", + "type": "address", + "internalType": "address" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "settleDispute", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferArbitration", + "inputs": [ + { + "name": "newArbitrator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawFromAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AgreementCreated", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "termsHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "criteria", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "metadataURI", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementDisputed", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "party", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementFinalized", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementJoined", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "party", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementPositionUpdated", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "party", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "status", + "type": "uint8", + "indexed": false, + "internalType": "enum PositionStatus" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ArbitrationTransferred", + "inputs": [ + { + "name": "newArbitrator", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AgreementIsDisputed", + "inputs": [] + }, + { + "type": "error", + "name": "AgreementIsFinalized", + "inputs": [] + }, + { + "type": "error", + "name": "AgreementNotDisputed", + "inputs": [] + }, + { + "type": "error", + "name": "AgreementNotFinalized", + "inputs": [] + }, + { + "type": "error", + "name": "AlreadyExistentAgreement", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBalance", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCriteria", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPermit", + "inputs": [] + }, + { + "type": "error", + "name": "NoPartOfAgreement", + "inputs": [] + }, + { + "type": "error", + "name": "NonExistentAgreement", + "inputs": [] + }, + { + "type": "error", + "name": "OnlyArbitrator", + "inputs": [] + }, + { + "type": "error", + "name": "PartyAlreadyFinalized", + "inputs": [] + }, + { + "type": "error", + "name": "PartyAlreadyJoined", + "inputs": [] + }, + { + "type": "error", + "name": "SettlementBalanceMustMatch", + "inputs": [] + }, + { + "type": "error", + "name": "SettlementPositionsMustMatch", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + }, + { + "type": "error", + "name": "UnsafeCast", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract Permit2\",\"name\":\"permit2_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AgreementIsDisputed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AgreementIsFinalized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AgreementNotDisputed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AgreementNotFinalized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyExistentAgreement\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCriteria\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPartOfAgreement\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonExistentAgreement\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PartyAlreadyFinalized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PartyAlreadyJoined\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SettlementBalanceMustMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SettlementPositionsMustMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsafeCast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"termsHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"criteria\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"AgreementCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"}],\"name\":\"AgreementDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"AgreementFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"name\":\"AgreementJoined\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum PositionStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"AgreementPositionUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newArbitrator\",\"type\":\"address\"}],\"name\":\"ArbitrationTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams\",\"name\":\"newPosition\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"adjustPosition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"agreementData\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"termsHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"criteria\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"enum AgreementStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct AgreementData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"agreementPositions\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"enum PositionStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct PositionData[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbitrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"termsHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"criteria\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct AgreementParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"createAgreement\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"disputeAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"finalizeAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CriteriaResolver\",\"name\":\"resolver\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions[]\",\"name\":\"permitted\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitBatchTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"joinAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CriteriaResolver\",\"name\":\"resolver\",\"type\":\"tuple\"}],\"name\":\"joinAgreementApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"permit2\",\"outputs\":[{\"internalType\":\"contract Permit2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"arbitrator_\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"struct DepositConfig\",\"name\":\"deposits_\",\"type\":\"tuple\"}],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"}],\"name\":\"settleDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newArbitrator\",\"type\":\"address\"}],\"name\":\"transferArbitration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"withdrawFromAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OnlyArbitrator()\":[{\"details\":\"Thrown when trying to perform an operation restricted to the arbitrator without being the arbitrator.\"}],\"SettlementBalanceMustMatch()\":[{\"details\":\"Thrown when the total balance of a settlement don't match the one in the dispute.\"}],\"SettlementPositionsMustMatch()\":[{\"details\":\"Thrown when the positions on a settlement don't match the ones in the dispute.\"}]},\"kind\":\"dev\",\"methods\":{\"adjustPosition(bytes32,(address,uint256),((address,uint256),uint256,uint256),bytes)\":{\"params\":{\"id\":\"Id of the agreement to adjust the position from.\",\"newPosition\":\"Position params to adjust.\",\"permit\":\"Permit2 permit to allow the required token transfers.\",\"signature\":\"Signature of the permit.\"}},\"agreementData(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to return data from.\"},\"returns\":{\"data\":\"Data struct of the agreement.\"}},\"agreementPositions(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to return data from.\"},\"returns\":{\"_0\":\"Array of the positions of the agreement in PositionData structs.\"}},\"createAgreement((bytes32,uint256,string,address),bytes32)\":{\"params\":{\"params\":\"Struct of agreement params.\",\"salt\":\"Extra bytes to avoid collisions between agreements with the same terms hash in the framework.\"},\"returns\":{\"id\":\"Id of the agreement created, generated from encoding hash of the address of the framework, hash of the terms and a provided salt.\"}},\"disputeAgreement(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to dispute.\"}},\"finalizeAgreement(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to settle.\"}},\"joinAgreement(bytes32,(address,uint256,bytes32[]),((address,uint256)[],uint256,uint256),bytes)\":{\"params\":{\"id\":\"Id of the agreement to join.\",\"permit\":\"Permit2 batched permit to allow the required token transfers.\",\"resolver\":\"Criteria data to prove sender can join agreement.\",\"signature\":\"Signature of the permit.\"}},\"joinAgreementApproved(bytes32,(address,uint256,bytes32[]))\":{\"params\":{\"id\":\"Id of the agreement to join.\",\"resolver\":\"Criteria data to prove sender can join agreement.\"}},\"setUp(address,(address,uint256,address))\":{\"params\":{\"arbitrator_\":\"Address allowed to settle disputes.\",\"deposits_\":\"Configuration of the framework's deposits in DepositConfig format.\"}},\"settleDispute(bytes32,(address,uint256)[])\":{\"details\":\"Allows the arbitrator to finalize an agreement in dispute with the provided set of positions.The provided settlement parties must match the parties of the agreement and the total balance of the settlement must match the previous agreement balance.\",\"params\":{\"id\":\"Id of the dispute to settle.\",\"settlement\":\"Array of PositionParams to set as final positions.\"}},\"transferArbitration(address)\":{\"params\":{\"newArbitrator\":\"Address of the new arbitrator.\"}},\"transferOwnership(address)\":{\"params\":{\"newOwner\":\"Address of the new owner.\"}},\"withdrawFromAgreement(bytes32)\":{\"details\":\"Requires the agreement to be finalized.\",\"params\":{\"id\":\"Id of the agreement to withdraw from.\"}}},\"stateVariables\":{\"agreement\":{\"details\":\"Agreements by id\"}},\"version\":1},\"userdoc\":{\"errors\":{\"AgreementIsDisputed()\":[{\"notice\":\"Thrown when trying to perform an invalid operation on a disputed agreement.\"}],\"AgreementIsFinalized()\":[{\"notice\":\"Thrown when trying to perform an invalid operation on a finalized agreement.\"}],\"AgreementNotDisputed()\":[{\"notice\":\"Thrown when trying to perform an invalid operation on a non-disputed agreement.\"}],\"AgreementNotFinalized()\":[{\"notice\":\"Thrown when trying to perform an invalid operation on a non-finalized agreement.\"}],\"AlreadyExistentAgreement()\":[{\"notice\":\"Thrown when trying to override an already existing agreement.\"}],\"InvalidBalance()\":[{\"notice\":\"Thrown when trying to use an invalid balance for a position in an agreement.\"}],\"InvalidCriteria()\":[{\"notice\":\"Thrown when the provided criteria doesn't match the account trying to join.\"}],\"InvalidPermit()\":[{\"notice\":\"Thrown when the provided permit doesn't match the agreement token requirements.\"}],\"NoPartOfAgreement()\":[{\"notice\":\"Thrown when a given party is not part of a given agreement.\"}],\"NonExistentAgreement()\":[{\"notice\":\"Thrown when trying to access to an agreement that doesn't exist.\"}],\"PartyAlreadyFinalized()\":[{\"notice\":\"Thrown when a party is trying to finalize an agreement after already have finalized the agreement.\"}],\"PartyAlreadyJoined()\":[{\"notice\":\"Thrown when a party is trying to join an agreement after already have joined the agreement.\"}],\"UnsafeCast()\":[{\"notice\":\"Thrown when a valude greater than type(uint160).max is cast to uint160\"}]},\"events\":{\"ArbitrationTransferred(address)\":{\"notice\":\"Raised when the arbitration power is transferred.\"},\"OwnershipTransferred(address,address)\":{\"notice\":\"Raised when the ownership is transferred.\"}},\"kind\":\"user\",\"methods\":{\"adjustPosition(bytes32,(address,uint256),((address,uint256),uint256,uint256),bytes)\":{\"notice\":\"Only allows to increase the collateral of a joined position.\"},\"agreementData(bytes32)\":{\"notice\":\"Retrieve basic data of an agreement.\"},\"agreementPositions(bytes32)\":{\"notice\":\"Retrieve positions of an agreement.\"},\"arbitrator()\":{\"notice\":\"Address capable of settling disputes.\"},\"createAgreement((bytes32,uint256,string,address),bytes32)\":{\"notice\":\"Create a new collateral agreement with given params.\"},\"deposits()\":{\"notice\":\"Dispute deposits configuration.\"},\"disputeAgreement(bytes32)\":{\"notice\":\"Raise a dispute over an agreement.\"},\"finalizeAgreement(bytes32)\":{\"notice\":\"Signal the will of the caller to finalize an agreement.\"},\"joinAgreement(bytes32,(address,uint256,bytes32[]),((address,uint256)[],uint256,uint256),bytes)\":{\"notice\":\"Join an existing agreement with a signed permit.\"},\"joinAgreementApproved(bytes32,(address,uint256,bytes32[]))\":{\"notice\":\"Join an existing agreement with transfers previously approved.\"},\"owner()\":{\"notice\":\"Address that owns the contract.\"},\"permit2()\":{\"notice\":\"Address of the Permit2 contract deployment.\"},\"setUp(address,(address,uint256,address))\":{\"notice\":\"Set up framework params;\"},\"settleDispute(bytes32,(address,uint256)[])\":{\"notice\":\"Settles the dispute `id` with the provided settlement.\"},\"transferArbitration(address)\":{\"notice\":\"Transfer the arbitration power of the agreement.\"},\"transferOwnership(address)\":{\"notice\":\"Transfer the ownership of the contract.\"},\"withdrawFromAgreement(bytes32)\":{\"notice\":\"Withdraw your position from the agreement.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/frameworks/CollateralAgreement.sol\":\"CollateralAgreementFramework\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/AllowanceTransfer.sol\":{\"keccak256\":\"0x83a47e7841f9d285eb7f0fd977fedb808640714cb9822a104bab99fe5cbb58ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f0de543f076f8556690f236dc431277acf9c91c04916a46040194b03ea9836\",\"dweb:/ipfs/QmQ5YLFHexR2WTNXDGu4y6WjRmLPzrdH92j7NDQzT8Jevp\"]},\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/Permit2.sol\":{\"keccak256\":\"0x934c0eb24a52eb5900f01f5c328374b670366adf995ba9ed49bcd3d7b87b159e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdfd05b3007726dc6dd2822c1dd9dc1b2471fbec507f30efa71a1a214c98bab6\",\"dweb:/ipfs/QmPq4hptCSUACQdynSa86bdEexE7RryzosrhUAZ9Xkqc5a\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/SignatureTransfer.sol\":{\"keccak256\":\"0xa821caa24d6231fa8befe24a34bfda2c3b05b56e67fb913c86b26a19b19b6bbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://584994a77e33aa2fe804b803ab302cb811ee945632b76f68d78db761b18a24a2\",\"dweb:/ipfs/QmVd67VRKX24tSaREBNwhzVfU6xxqRLNEoPY6CYgG3xU5W\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IDAIPermit.sol\":{\"keccak256\":\"0x089a4157ad58d4568cb7084836f9ee0280c01616b0cd15158d6deb93be754e8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8af89edc0f453dff61e4b67bc3188f090ba0e858f5f13723e526a8cb8a165535\",\"dweb:/ipfs/QmRVFHVFZg7fWhYdWdDD3JZHiWREHz5JiLEyDq7NYhQDfn\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]},\"lib/permit2/src/libraries/Permit2Lib.sol\":{\"keccak256\":\"0x202bc12462394f8a4cddc870344f4ac4b6d5d3f2eb5b4a2f4a5ba517dc484be4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5d82584a5fa2f0d8136d418c2a04974d157316713306dfa7b1d6fa865eb5d04\",\"dweb:/ipfs/QmSjpeNJDpvgAqGbVSG1wrFLzEac2dtmzRcR8PkdCMBbHF\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SafeCast160.sol\":{\"keccak256\":\"0x8a34e2beac108d74f89510c949983212b5f09307a93ee9e17a9d50e93f6bc8e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://828697f9567ce617c5c1c8f76b6bcd250e93aea2c4f3ee188be6dff8443c19e7\",\"dweb:/ipfs/QmafxeSPhUc9gGtNDLAw26oZooC5XNLhDMxHxYhJxL5Nwi\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb282dd78aa7375d6b200b9a5d8dd214b2e5df1004f8217a4b4c2b07f0c5bfd01\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5fca62eb8d3dbd2b3b7e4bb051f6da16f4d0ff9cee61c39cebb80f031f6a8800\",\"dweb:/ipfs/QmbrsXPK91iBFwHKwJs2HLRud2KzMoBDRiWYMUtyV5H57j\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]},\"src/frameworks/AgreementFramework.sol\":{\"keccak256\":\"0x355d1e71990885d00cd752ab4772fc2ea7dcd6768de528c050f5ae01fb6c60bb\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dd60df522d691c3fc3c64db14a2c1cda0800852f97b8aeefde215ac74c2d6f99\",\"dweb:/ipfs/QmVDvovuBsNXFiJf25bUfxneK9fCnEPeVBJJm6PTyKpX3x\"]},\"src/frameworks/CollateralAgreement.sol\":{\"keccak256\":\"0xb209fdbf1c477a58513ea78d8fdeec31c70b95dda8cd40ad9807a3001b413fc1\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://fb9512ef4888f93fe767c0b8ab4c2aee2c5a828d891b4bb8c93cc788ae7ce4d3\",\"dweb:/ipfs/QmVxgyX4k8tWDDJxSRUGSLML4qZb1jNGRwfjEZ2us5DzCf\"]},\"src/interfaces/AgreementErrors.sol\":{\"keccak256\":\"0x4ec369a2068a36746fa978eb2bb2c994bce97310e9d5055bbfb52871c53dc310\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://35b76fff66b9ff0f1bba9e8992453b1f5cd5c7f291088e6359b580855adb4c3b\",\"dweb:/ipfs/QmRK1A1ECFDAfj6cEkggtbcHMer4pHkjao19Mjzq3NtZmS\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/ArbitrationErrors.sol\":{\"keccak256\":\"0x7ca6d9811f431eadd59e7544f6a5720564a678a3e2cfecd8e5454391f21a62f0\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://58793fc93f2d03eefaeb008a28dfedebe9059763b96c80ec31365ad8cf72fafd\",\"dweb:/ipfs/QmQvVUxPsg4JhSvT3QxKysgsiVBvuzBtFaAQMTuyeuxDWL\"]},\"src/interfaces/CriteriaTypes.sol\":{\"keccak256\":\"0x8c8226c5aac09c8dada8f76dcb15bd55cd8bd871b22a4be3bc6b72db655b6306\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://eabc3ee411827a1060d1d16df120df7c8dcccce5d22625a259cb17aaaad9de32\",\"dweb:/ipfs/QmTLYMEJPjqbL5CPqLyM2UWyroVQzgPf2Wq4iPRAL4qu38\"]},\"src/interfaces/IAgreementFramework.sol\":{\"keccak256\":\"0x1e266838be99cead7ef79276f7183f9937e000a52b0222adde898f4594953608\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d893f37bf07db1f839da8bcdf30cf96c15a63bd7b29a53e2e1bb4e5fff219bb\",\"dweb:/ipfs/QmdvtHe3qCr8Cxw2jtMQFqgRwFoWD2E83thPMHSvKVgVcR\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]},\"src/libraries/CriteriaResolution.sol\":{\"keccak256\":\"0xfec26b90f532c2fd64c07fb412bc62fcc6c048de33420b2d8729ae16f3290e0f\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://cbdbb33662075f9f4d38a93caba94b7ba0a1b771991ea35c196eca02d87a06e4\",\"dweb:/ipfs/QmSh8xieHporNXoB2zE6k8Hmf5CdaBnhemm3FqRDb3VAv7\"]},\"src/utils/Owned.sol\":{\"keccak256\":\"0x7734d8c9fefc0abb51af8a97bdd7e8a22418ae5e597a63c3ca7c9b1cbce0a23c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dcba4eaeadcabc6b2e330c290626c7fe8b93b0476b08114445f6520ff3ced50e\",\"dweb:/ipfs/QmRedpupiw3iQWCDEfG5yhmVytdQH1H59mqiVXcitzJPaF\"]},\"src/utils/interfaces/Deposits.sol\":{\"keccak256\":\"0x99d44ec7b071732a9dafb0eef9233ab49bd38b89585d31c97cfef2c7aeacdb86\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e6106a5fdf64814cd0b982a907e077083766bf3f2873da79255dda68fec0345a\",\"dweb:/ipfs/QmdV8iNdsphhVYoKD7uneA75AKvw5J9joFcPsuKAdbZ8LD\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60a034620000ce57601f6200306c38819003918201601f19168301916001600160401b03831184841017620000d3578084926040948552833981010312620000ce5780516001600160a01b03918282168203620000ce5760200151918216809203620000ce57600080546001600160a01b03191683178155604051929033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600255608052612f829081620000ea823960805181818161038901528181611f5c01526124be0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610013575b600080fd5b60003560e01c8063061ab0bc1461016757806312261ee71461015e578063186799a4146101555780631bd747a21461014c578063323a5e0b14610143578063330994051461013a5780633d3e73d7146101315780635541e684146101285780636cc6cde11461011f5780638135fe23146101165780638da5cb5b1461010d5780638f34a85914610104578063a37ee28c146100fb578063ab4f5678146100f2578063ac41b751146100e9578063af0f9df3146100e05763f2fde38b146100d857600080fd5b61000e6117f0565b5061000e6116ac565b5061000e61157f565b5061000e611425565b5061000e611307565b5061000e611129565b5061000e6110f4565b5061000e610f2c565b5061000e610ef7565b5061000e610e3c565b5061000e610b52565b5061000e610a5e565b5061000e610908565b5061000e6107fa565b5061000e6103ad565b5061000e61035b565b503461000e57602060031936011261000e57600435610190816000526006602052604060002090565b61019981612a4d565b6101aa6101a63383612b0e565b1590565b610326576001906102b96101bc61206c565b916101ea33600883019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9260006002850161022560068254950160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6102576003870160047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b556102b3604061029761027e845173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b92015173ffffffffffffffffffffffffffffffffffffffff1690565b90612717565b0154817ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806102fa3395826020600491939293604081019481520152565b0390a333907fb67e3ac5aa7b56d61e366985ea94be26db935eca5c55e0359fd36c5852b6fa39600080a3005b60046040517f3b278a7a000000000000000000000000000000000000000000000000000000008152fd5b600091031261000e57565b503461000e57600060031936011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461000e57602060031936011261000e576004356103d0600160025414611e01565b600280556103e8816000526006602052604060002090565b6103f061206c565b906103fd6101a682612af0565b6105245761040e6101a63383612b0e565b610326576104d7916104b561044633600885019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b600181019361048b60038654936000600282018181549a55550160037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6104b061027e60033393015473ffffffffffffffffffffffffffffffffffffffff1690565b612717565b6104b061027e33925173ffffffffffffffffffffffffffffffffffffffff1690565b604051907ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b63392806105158190600360206040840193600081520152565b0390a36105226001600255565b005b60046040517fa3b1c9de000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc606091011261000e57602490565b9081606091031261000e5790565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176105d757604052565b6105df61058b565b604052565b6060810190811067ffffffffffffffff8211176105d757604052565b60c0810190811067ffffffffffffffff8211176105d757604052565b6080810190811067ffffffffffffffff8211176105d757604052565b67ffffffffffffffff81116105d757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d757604052565b6040519061069a82610600565b565b6040519061069a826105bb565b6040519061069a8261061c565b60209067ffffffffffffffff81116106d0575b60051b0190565b6106d861058b565b6106c9565b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c604091011261000e5760405190610732826105bb565b8160643561073f816106dd565b81526020608435910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc604091011261000e5760405190610782826105bb565b8160243561078f816106dd565b81526020604435910152565b919082604091031261000e576040516107b3816105bb565b602080829480356107c3816106dd565b84520135910152565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020838186019501011161000e57565b503461000e5760031960808136011261000e5767ffffffffffffffff9060243582811161000e5761082f90369060040161057d565b6044359183831161000e57606090833603011261000e576040805192610854846105e4565b806004013585811161000e5781013660238201121561000e5760048101359061087c826106b6565b906108898551928361064c565b82825260209260248484019160061b8301019136831161000e576024879101915b8383106108ef5750505090865250602482013590850152604401359083015260643592831161000e576108e46105229336906004016107cc565b929091600435611e66565b85906108fb368561079b565b81520191019086906108aa565b503461000e57600060031936011261000e57606073ffffffffffffffffffffffffffffffffffffffff80600354169060045490600554169060405192835260208301526040820152f35b507f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90600482101561098f5752565b610997610952565b52565b602080825282518183015280830151604083015260408301519060c060608401528151918260e085015260005b838110610a4957505050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe091610a4260a0610100966000888589010152610a2d6060820151608089019073ffffffffffffffffffffffffffffffffffffffff169052565b608081015182880152015160c0860190610982565b0116010190565b818101830151858201610100015282016109c7565b503461000e57602060031936011261000e57600060a0604051610a8081610600565b828152826020820152606060408201528260608201528260808201520152610b4e610ab76004356000526006602052604060002090565b610b42815491600181015490610b34610ae7600383015473ffffffffffffffffffffffffffffffffffffffff1690565b610b126002600485015494610afb816127e6565b96610b0461068d565b998a5260208a0152016118d6565b604087015273ffffffffffffffffffffffffffffffffffffffff166060860152565b608084015260a08301611999565b6040519182918261099a565b0390f35b503461000e5760408060031936011261000e57600480359167ffffffffffffffff916024359183831161000e573660238401121561000e578282013593841161000e576024830192602436918660061b01011161000e57610bcb61027e60015473ffffffffffffffffffffffffffffffffffffffff1690565b3303610e1657610be5856000526006602052604060002090565b92610bf76101a6600686015460ff1690565b610def57610c0484612af0565b610dc857600090600785019081548703610d9f57825b878110610c80575050508284015403610c5a575050600501557fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b517f595fa923000000000000000000000000000000000000000000000000000000008152fd5b610cad610c8d8285611ac9565b905473ffffffffffffffffffffffffffffffffffffffff9160031b1c1690565b610cc361027e610cbe848c876127c8565b611ba3565b73ffffffffffffffffffffffffffffffffffffffff80921603610d775790888a7ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6610d7294610d24610d1e610d1987878b6127c8565b612696565b8d612da4565b610d3e6020998a610d3688888c6127c8565b01359061270a565b98610d5886610d51610cbe82898d6127c8565b968a6127c8565b8b51910135815260026020820152931692604090a3611a5f565b610c1a565b8686517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b505050517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b50517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b50517f4e16946c000000000000000000000000000000000000000000000000000000008152fd5b517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b503461000e5761010060031936011261000e5760407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261000e5760807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c36011261000e57604051610eaf816105e4565b610eb8366106fb565b815260a435602082015260c435604082015260e4359067ffffffffffffffff821161000e57610eee6105229236906004016107cc565b91600435612388565b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b503461000e57602060031936011261000e57600435610f55816000526006602052604060002090565b610f5e81612a4d565b610f6b6101a63383612b0e565b6103265760088101906002610fad6003610fa533869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b015460ff1690565b610fb6816114e0565b146110ca57600161105461109d9361101f6003610ff333849073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0160027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6005840161102d81546126fc565b90553373ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0154837ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806110953395826020600291939293604081019481520152565b0390a3612af0565b6110a357005b7fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b60046040517faf20ef4a000000000000000000000000000000000000000000000000000000008152fd5b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b503461000e576040600319818136011261000e576004359067ffffffffffffffff821161000e5760808260040191833603011261000e5760248201359081156112de5783513060208201908152823560408301819052602435606084015292916111be81608081015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261064c565b519020936111d6856000526006602052604060002090565b916001830180546112b5578361129861129088958895610b4e9c9a6112a4968d9b7ff7cbeac7c87f7e00fcf9440cf10b123fb3d766366a39eeb572c219c8eac3ab469b555561128b6064604484019361123c6112328686611bad565b9060028b01611c52565b0195600361124988611ba3565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b611bad565b919092611ba3565b91885195869586611dc0565b0390a2519081529081906020820190565b600488517fd8876c2d000000000000000000000000000000000000000000000000000000008152fd5b600484517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b503461000e57604060031936011261000e5760043560243567ffffffffffffffff811161000e5761133c90369060040161057d565b9061134b600160025414611e01565b600280558060005260066020526113f1604060002061136b33858361292f565b61137361206c565b80516113a19060209073ffffffffffffffffffffffffffffffffffffffff16920191825190309033906121e6565b6113d860206113ca61027e600386015473ffffffffffffffffffffffffffffffffffffffff1690565b9601358096309033906121e6565b6113e061069c565b338152908560208301525191612ca2565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf70908060208101610515565b503461000e57602060031936011261000e57600435611443816106dd565b73ffffffffffffffffffffffffffffffffffffffff90816000541633036114b65716807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b600511156114ea57565b61069a610952565b90600582101561098f5752565b60208082019080835283518092528060408094019401926000905b83821061152957505050505090565b9091929394836080600192611572895173ffffffffffffffffffffffffffffffffffffffff815116835284810151858401528681015187840152606080910151908301906114f2565b019601949392019061151a565b503461000e5760208060031936011261000e576115a86004356000526006602052604060002090565b60078101918254916115b9836119a5565b93600860009201915b8481106115d75760405180610b4e88826114ff565b806116196116146115ee610c8d6116a79587611ac9565b869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b611afb565b61168c61163a825173ffffffffffffffffffffffffffffffffffffffff1690565b9187810151906040808201519060608093015193611657856114e0565b61167e6116626106a9565b73ffffffffffffffffffffffffffffffffffffffff9098168852565b8b8701528501528301611aef565b6116968289611b72565b526116a18188611b72565b50611a5f565b6115c2565b503461000e57608060031936011261000e576004356116ca816106dd565b6116d33661054e565b9073ffffffffffffffffffffffffffffffffffffffff91826000541633036114b65760408161174a61179e9335611709816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b6020810135600455013561175d816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006005541617600555565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b503461000e57602060031936011261000e5760043561180e816106dd565b600090815473ffffffffffffffffffffffffffffffffffffffff80821633036114b6577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b90600182811c921680156118cc575b602083101461189d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611892565b90604051918260008254926118ea84611883565b9081845260019485811690816000146119575750600114611914575b505061069a9250038361064c565b9093915060005260209081600020936000915b81831061193f57505061069a93508201013880611906565b85548884018501529485019487945091830191611927565b905061069a9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611906565b600482101561098f5752565b906119af826106b6565b6040906119be8251918261064c565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06119ec82956106b6565b019160005b8381106119fe5750505050565b6020908251611a0c8161061c565b6000815282600081830152600085830152600060608301528286010152016119f1565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a8d570190565b611a95611a2f565b0190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015611ae2575b60005260206000200190600090565b611aea611a99565b611ad3565b600582101561098f5752565b9061069a604051611b0b8161061c565b606060ff6003839673ffffffffffffffffffffffffffffffffffffffff815416855260018101546020860152600281015460408601520154169101611aef565b602090805115611b59570190565b611a95611a99565b604090805160011015611b59570190565b6020918151811015611b87575b60051b010190565b611b8f611a99565b611b7f565b602435611ba0816106dd565b90565b35611ba0816106dd565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e5760200191813603831361000e57565b90601f8111611c0c57505050565b600091825260208220906020601f850160051c83019410611c48575b601f0160051c01915b828110611c3d57505050565b818155600101611c31565b9092508290611c28565b90929167ffffffffffffffff8111611d74575b611c7981611c738454611883565b84611bfe565b6000601f8211600114611cd05781929394600092611cc5575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916179055565b013590503880611c92565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0821694611d0384600052602060002090565b91805b878110611d5c575083600195969710611d24575b505050811b019055565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080611d1a565b90926020600181928686013581550194019101611d06565b611d7c61058b565b611c65565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b939260609373ffffffffffffffffffffffffffffffffffffffff93611dfa9398979887526020870152608060408701526080860191611d81565b9416910152565b15611e0857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152fd5b92939093611e78600160025414611e01565b60028055611e90846000526006602052604060002090565b91611e9c33878561292f565b611ea461206c565b95611ecd611eb28651611b4b565b515173ffffffffffffffffffffffffffffffffffffffff1690565b90611eef61027e895173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff8093160361204257611f19611eb28751611b61565b82611f3e61027e600389015473ffffffffffffffffffffffffffffffffffffffff1690565b91160361204257602080910135970192611f59845189612b70565b917f000000000000000000000000000000000000000000000000000000000000000016803b1561000e57611fdf9660008094611fc6604051978896879586947fedd9444b00000000000000000000000000000000000000000000000000000000865233916004870161210a565b03925af18015612035575b61201c575b506113e061069c565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf709080602081015b0390a361069a6001600255565b8061202961202f92610638565b80610350565b38611fd6565b61203d6121d9565b611fd1565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60405190612079826105e4565b81604073ffffffffffffffffffffffffffffffffffffffff80600354168352600454602084015260055416910152565b90815180825260208080930193019160005b8281106120c9575050505090565b90919293826040826120fe60019489516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019501939291016120bb565b9095949293916080825260e082019680519060606080850152815180995261010084019860208093019060005b818110612199575050509761218c928260408b61216d95611ba09c9d015160a0890152015160c0870152858303908601526120a9565b73ffffffffffffffffffffffffffffffffffffffff9095166040830152565b6060818503910152611d81565b90919a846040826121ce8f94600195516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019c01929101612137565b506040513d6000823e3d90fd5b9291906040519261226f6020808601957f23b872dd000000000000000000000000000000000000000000000000000000008752612257816111928689896024850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b60009687915190828a5af185516001143d1517161590565b61227b575b5050505050565b6122849061233d565b936e22d473030f116ddee9f6b43ac78ba391823b15612339576040517f36c7851600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152938116602485015294851660448401529093166064820152918290608490829084905af1801561232c575b612319575b80808080612274565b8061202961232692610638565b38612310565b6123346121d9565b61230b565b8480fd5b73ffffffffffffffffffffffffffffffffffffffff9081811161235e571690565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b919092612399600160025414611e01565b600280556123b1836000526006602052604060002090565b936123bb85612a4d565b6123cf6101a66123c9611b94565b87612b0e565b6103265761240a6116146123e1611b94565b600888019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9060608201916002835161241d816114e0565b612426816114e0565b146110ca57602001958651966044358098116125bb576124479051886125e5565b93612468835173ffffffffffffffffffffffffffffffffffffffff90511690565b9461248d61027e600385015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff80971603612042576124b261069c565b308152906020820152857f00000000000000000000000000000000000000000000000000000000000000001696873b1561000e577ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b697612577956000809461254b604051978896879586947f30f28b7a0000000000000000000000000000000000000000000000000000000086523391600487016125fa565b03925af180156125ae575b61259b575b50825190612568826114e0565b6125713661074b565b90612ebc565b61200f612582611b94565b915161258d816114e0565b6040519384931696836126a1565b806120296125a892610638565b3861255b565b6125b66121d9565b612556565b60046040517fc52e3eff000000000000000000000000000000000000000000000000000000008152fd5b919082039182116125f257565b61069a611a2f565b919261267f611ba09694604073ffffffffffffffffffffffffffffffffffffffff946126478782516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b602081810151888401529101516060870152815173ffffffffffffffffffffffffffffffffffffffff166080870152015160a0850152565b1660c0820152610100908160e08201520191611d81565b611ba090369061079b565b90815260408101929161069a91602001906114f2565b9060058110156126ef575b60ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116179055565b6126f7610952565b6126c2565b90600182018092116125f257565b919082018092116125f257565b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561276a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b91908110156127d9575b60061b0190565b6127e1611a99565b6127d2565b600781015480156128175760058201541015612811576006015460ff1661280c57600190565b600390565b50600290565b506001015461284a5760046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b600090565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161000e5760209260051b809284830137010190565b919082526040602083015273ffffffffffffffffffffffffffffffffffffffff81356128b7816106dd565b1660408301526020810135606083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561000e57016020813591019067ffffffffffffffff811161000e578060051b3603821361000e5760a08360606080611ba0960152019161284f565b9161293983612a4d565b6129438184612b0e565b612a235773ffffffffffffffffffffffffffffffffffffffff61296861027e84611ba3565b9116036129f95760017317c1e395fe81a90af2d0289a009317d5acb98f9f92015490823b1561000e576129cd926000926040518095819482937fba5d2c340000000000000000000000000000000000000000000000000000000084526004840161288c565b03915af480156129ec575b6129df5750565b8061202961069a92610638565b6129f46121d9565b6129d8565b60046040517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6d9bf6df000000000000000000000000000000000000000000000000000000008152fd5b600181015415612ac65760ff600682015416612a9c57612a6c90612af0565b612a7257565b60046040517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b60046040517f03144514000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b60078101548015159182612b0357505090565b600501541015919050565b90600782015415159182612b2157505090565b819250612b6860089273ffffffffffffffffffffffffffffffffffffffff938493019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b541691161490565b919091604090815191612b82836105e4565b600283526000805b828110612be8575050908291612be59395815190612ba7826105bb565b3082526020820152612bb884611b4b565b52612bc283611b4b565b505190612bce826105bb565b3082526020820152612bdf82611b61565b52611b61565b50565b6020908351612bf6816105bb565b838152828481830152828801015201612b8a565b6003606061069a93612c6e73ffffffffffffffffffffffffffffffffffffffff825116859073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60208101516001850155604081015160028501550151916005831015612c95575b016126b7565b612c9d610952565b612c8f565b91600490612d88612d93936007860173ffffffffffffffffffffffffffffffffffffffff90612cef828451169180549068010000000000000000821015612d97575b600182018155611ac9565b909283549160031b90811b9283911b16911916179055612d836123e1612d29835173ffffffffffffffffffffffffffffffffffffffff1690565b9260208101958651612d58612d3c6106a9565b73ffffffffffffffffffffffffffffffffffffffff9097168752565b60208601526040850152600160608501525173ffffffffffffffffffffffffffffffffffffffff1690565b612c0a565b51920191825461270a565b9055565b612d9f61058b565b612ce4565b906003600861069a93019173ffffffffffffffffffffffffffffffffffffffff92612df284835116829073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b612e9f8584511695612e5b600260208701519401549460405198612e158a61061c565b895260208901948552604089019586528260608a0197612e358960029052565b511673ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b965116869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b51600185015551600284015551916005831015612c9557016126b7565b61069a926008600392019273ffffffffffffffffffffffffffffffffffffffff612e9f612f0c82845116879073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b91612e5b81855116978260026020880151960154966040519a612f2e8c61061c565b8b5260208b0196875260408b01978852612e3560608c01998a611aef56fea2646970667358221220a130025eb7faee115b926ae2dacac846043b74762eabf218d7af687e916f583764736f6c63430008110033", + "opcodes": "PUSH1 0xA0 CALLVALUE PUSH3 0xCE JUMPI PUSH1 0x1F PUSH3 0x306C CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH3 0xD3 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH3 0xCE JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH3 0xCE JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH3 0xCE JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP4 OR DUP2 SSTORE PUSH1 0x40 MLOAD SWAP3 SWAP1 CALLER SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP1 LOG3 PUSH1 0x1 PUSH1 0x2 SSTORE PUSH1 0x80 MSTORE PUSH2 0x2F82 SWAP1 DUP2 PUSH3 0xEA DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x389 ADD MSTORE DUP2 DUP2 PUSH2 0x1F5C ADD MSTORE PUSH2 0x24BE ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x61AB0BC EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0x186799A4 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0x1BD747A2 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0x33099405 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x5541E684 EQ PUSH2 0x128 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x8135FE23 EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x8F34A859 EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0xA37EE28C EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xAB4F5678 EQ PUSH2 0xF2 JUMPI DUP1 PUSH4 0xAC41B751 EQ PUSH2 0xE9 JUMPI DUP1 PUSH4 0xAF0F9DF3 EQ PUSH2 0xE0 JUMPI PUSH4 0xF2FDE38B EQ PUSH2 0xD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x17F0 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x16AC JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x157F JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1425 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1307 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1129 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x10F4 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xF2C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xEF7 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xE3C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xB52 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xA5E JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x908 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x7FA JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x3AD JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x35B JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x190 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x199 DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x1AA PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x1 SWAP1 PUSH2 0x2B9 PUSH2 0x1BC PUSH2 0x206C JUMP JUMPDEST SWAP2 PUSH2 0x1EA CALLER PUSH1 0x8 DUP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x0 PUSH1 0x2 DUP6 ADD PUSH2 0x225 PUSH1 0x6 DUP3 SLOAD SWAP6 ADD PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x257 PUSH1 0x3 DUP8 ADD PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST SSTORE PUSH2 0x2B3 PUSH1 0x40 PUSH2 0x297 PUSH2 0x27E DUP5 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x2717 JUMP JUMPDEST ADD SLOAD DUP2 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x2FA CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x4 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 CALLER SWAP1 PUSH32 0xB67E3AC5AA7B56D61E366985EA94BE26DB935ECA5C55E0359FD36C5852B6FA39 PUSH1 0x0 DUP1 LOG3 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP2 SUB SLT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x3D0 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x3E8 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x3F0 PUSH2 0x206C JUMP JUMPDEST SWAP1 PUSH2 0x3FD PUSH2 0x1A6 DUP3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x524 JUMPI PUSH2 0x40E PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x4D7 SWAP2 PUSH2 0x4B5 PUSH2 0x446 CALLER PUSH1 0x8 DUP6 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP4 PUSH2 0x48B PUSH1 0x3 DUP7 SLOAD SWAP4 PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 DUP2 SLOAD SWAP11 SSTORE SSTORE ADD PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E PUSH1 0x3 CALLER SWAP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2717 JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E CALLER SWAP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 CALLER SWAP3 DUP1 PUSH2 0x515 DUP2 SWAP1 PUSH1 0x3 PUSH1 0x20 PUSH1 0x40 DUP5 ADD SWAP4 PUSH1 0x0 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x522 PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xA3B1C9DE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x60 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x60 SWAP2 SUB SLT PUSH2 0xE JUMPI SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x5DF PUSH2 0x58B JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x600 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x6D0 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x6D8 PUSH2 0x58B JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SUB PUSH2 0xE JUMPI JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x732 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x64 CALLDATALOAD PUSH2 0x73F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x84 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x782 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x24 CALLDATALOAD PUSH2 0x78F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x44 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0x7B3 DUP2 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 SWAP5 DUP1 CALLDATALOAD PUSH2 0x7C3 DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP5 MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x3 NOT PUSH1 0x80 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xE JUMPI PUSH2 0x82F SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI PUSH1 0x60 SWAP1 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 DUP1 MLOAD SWAP3 PUSH2 0x854 DUP5 PUSH2 0x5E4 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD CALLDATALOAD DUP6 DUP2 GT PUSH2 0xE JUMPI DUP2 ADD CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xE JUMPI PUSH1 0x4 DUP2 ADD CALLDATALOAD SWAP1 PUSH2 0x87C DUP3 PUSH2 0x6B6 JUMP JUMPDEST SWAP1 PUSH2 0x889 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x64C JUMP JUMPDEST DUP3 DUP3 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x24 DUP5 DUP5 ADD SWAP2 PUSH1 0x6 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP8 SWAP2 ADD SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x8EF JUMPI POP POP POP SWAP1 DUP7 MSTORE POP PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE PUSH1 0x44 ADD CALLDATALOAD SWAP1 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP3 DUP4 GT PUSH2 0xE JUMPI PUSH2 0x8E4 PUSH2 0x522 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP1 SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x1E66 JUMP JUMPDEST DUP6 SWAP1 PUSH2 0x8FB CALLDATASIZE DUP6 PUSH2 0x79B JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 DUP7 SWAP1 PUSH2 0x8AA JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND SWAP1 PUSH1 0x4 SLOAD SWAP1 PUSH1 0x5 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH2 0x997 PUSH2 0x952 JUMP JUMPDEST MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD MSTORE DUP1 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 PUSH1 0xC0 PUSH1 0x60 DUP5 ADD MSTORE DUP2 MLOAD SWAP2 DUP3 PUSH1 0xE0 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA49 JUMPI POP POP POP PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 PUSH2 0xA42 PUSH1 0xA0 PUSH2 0x100 SWAP7 PUSH1 0x0 DUP9 DUP6 DUP10 ADD ADD MSTORE PUSH2 0xA2D PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x80 DUP10 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD MLOAD DUP3 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP7 ADD SWAP1 PUSH2 0x982 JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH2 0x100 ADD MSTORE DUP3 ADD PUSH2 0x9C7 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0xA0 PUSH1 0x40 MLOAD PUSH2 0xA80 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE DUP3 PUSH1 0x80 DUP3 ADD MSTORE ADD MSTORE PUSH2 0xB4E PUSH2 0xAB7 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xB42 DUP2 SLOAD SWAP2 PUSH1 0x1 DUP2 ADD SLOAD SWAP1 PUSH2 0xB34 PUSH2 0xAE7 PUSH1 0x3 DUP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0xB12 PUSH1 0x2 PUSH1 0x4 DUP6 ADD SLOAD SWAP5 PUSH2 0xAFB DUP2 PUSH2 0x27E6 JUMP JUMPDEST SWAP7 PUSH2 0xB04 PUSH2 0x68D JUMP JUMPDEST SWAP10 DUP11 MSTORE PUSH1 0x20 DUP11 ADD MSTORE ADD PUSH2 0x18D6 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 DUP7 ADD MSTORE JUMP JUMPDEST PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x99A JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 DUP1 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI CALLDATASIZE PUSH1 0x23 DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 DUP3 ADD CALLDATALOAD SWAP4 DUP5 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP4 ADD SWAP3 PUSH1 0x24 CALLDATASIZE SWAP2 DUP7 PUSH1 0x6 SHL ADD ADD GT PUSH2 0xE JUMPI PUSH2 0xBCB PUSH2 0x27E PUSH1 0x1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST CALLER SUB PUSH2 0xE16 JUMPI PUSH2 0xBE5 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH2 0xBF7 PUSH2 0x1A6 PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xDEF JUMPI PUSH2 0xC04 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0xDC8 JUMPI PUSH1 0x0 SWAP1 PUSH1 0x7 DUP6 ADD SWAP1 DUP2 SLOAD DUP8 SUB PUSH2 0xD9F JUMPI DUP3 JUMPDEST DUP8 DUP2 LT PUSH2 0xC80 JUMPI POP POP POP DUP3 DUP5 ADD SLOAD SUB PUSH2 0xC5A JUMPI POP POP PUSH1 0x5 ADD SSTORE PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST MLOAD PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH2 0xCAD PUSH2 0xC8D DUP3 DUP6 PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x3 SHL SHR AND SWAP1 JUMP JUMPDEST PUSH2 0xCC3 PUSH2 0x27E PUSH2 0xCBE DUP5 DUP13 DUP8 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x1BA3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SUB PUSH2 0xD77 JUMPI SWAP1 DUP9 DUP11 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH2 0xD72 SWAP5 PUSH2 0xD24 PUSH2 0xD1E PUSH2 0xD19 DUP8 DUP8 DUP12 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x2696 JUMP JUMPDEST DUP14 PUSH2 0x2DA4 JUMP JUMPDEST PUSH2 0xD3E PUSH1 0x20 SWAP10 DUP11 PUSH2 0xD36 DUP9 DUP9 DUP13 PUSH2 0x27C8 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 PUSH2 0x270A JUMP JUMPDEST SWAP9 PUSH2 0xD58 DUP7 PUSH2 0xD51 PUSH2 0xCBE DUP3 DUP10 DUP14 PUSH2 0x27C8 JUMP JUMPDEST SWAP7 DUP11 PUSH2 0x27C8 JUMP JUMPDEST DUP12 MLOAD SWAP2 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP3 ADD MSTORE SWAP4 AND SWAP3 PUSH1 0x40 SWAP1 LOG3 PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0xC1A JUMP JUMPDEST DUP7 DUP7 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP POP POP MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x4E16946C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0xEAF DUP2 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0xEB8 CALLDATASIZE PUSH2 0x6FB JUMP JUMPDEST DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0xE4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH2 0xEEE PUSH2 0x522 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x2388 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xF55 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xF5E DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0xF6B PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x8 DUP2 ADD SWAP1 PUSH1 0x2 PUSH2 0xFAD PUSH1 0x3 PUSH2 0xFA5 CALLER DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xFB6 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x1 PUSH2 0x1054 PUSH2 0x109D SWAP4 PUSH2 0x101F PUSH1 0x3 PUSH2 0xFF3 CALLER DUP5 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x5 DUP5 ADD PUSH2 0x102D DUP2 SLOAD PUSH2 0x26FC JUMP JUMPDEST SWAP1 SSTORE CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD DUP4 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x1095 CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x2 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x10A3 JUMPI STOP JUMPDEST PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAF20EF4A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x0 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT DUP2 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x80 DUP3 PUSH1 0x4 ADD SWAP2 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP2 ISZERO PUSH2 0x12DE JUMPI DUP4 MLOAD ADDRESS PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP3 CALLDATALOAD PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x60 DUP5 ADD MSTORE SWAP3 SWAP2 PUSH2 0x11BE DUP2 PUSH1 0x80 DUP2 ADD JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x64C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x11D6 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x1 DUP4 ADD DUP1 SLOAD PUSH2 0x12B5 JUMPI DUP4 PUSH2 0x1298 PUSH2 0x1290 DUP9 SWAP6 DUP9 SWAP6 PUSH2 0xB4E SWAP13 SWAP11 PUSH2 0x12A4 SWAP7 DUP14 SWAP12 PUSH32 0xF7CBEAC7C87F7E00FCF9440CF10B123FB3D766366A39EEB572C219C8EAC3AB46 SWAP12 SSTORE SSTORE PUSH2 0x128B PUSH1 0x64 PUSH1 0x44 DUP5 ADD SWAP4 PUSH2 0x123C PUSH2 0x1232 DUP7 DUP7 PUSH2 0x1BAD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP12 ADD PUSH2 0x1C52 JUMP JUMPDEST ADD SWAP6 PUSH1 0x3 PUSH2 0x1249 DUP9 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1BAD JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 DUP9 MLOAD SWAP6 DUP7 SWAP6 DUP7 PUSH2 0x1DC0 JUMP JUMPDEST SUB SWAP1 LOG2 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST PUSH1 0x4 DUP9 MLOAD PUSH32 0xD8876C2D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x133C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST SWAP1 PUSH2 0x134B PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH2 0x13F1 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x136B CALLER DUP6 DUP4 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1373 PUSH2 0x206C JUMP JUMPDEST DUP1 MLOAD PUSH2 0x13A1 SWAP1 PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 ADD SWAP2 DUP3 MLOAD SWAP1 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13D8 PUSH1 0x20 PUSH2 0x13CA PUSH2 0x27E PUSH1 0x3 DUP7 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP7 ADD CALLDATALOAD DUP1 SWAP7 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST CALLER DUP2 MSTORE SWAP1 DUP6 PUSH1 0x20 DUP4 ADD MSTORE MLOAD SWAP2 PUSH2 0x2CA2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD PUSH2 0x515 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x1443 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x5 GT ISZERO PUSH2 0x14EA JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x952 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 ADD SWAP1 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 SWAP3 MSTORE DUP1 PUSH1 0x40 DUP1 SWAP5 ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1529 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP4 PUSH1 0x80 PUSH1 0x1 SWAP3 PUSH2 0x1572 DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP4 MSTORE DUP5 DUP2 ADD MLOAD DUP6 DUP5 ADD MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP5 ADD MSTORE PUSH1 0x60 DUP1 SWAP2 ADD MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST ADD SWAP7 ADD SWAP5 SWAP4 SWAP3 ADD SWAP1 PUSH2 0x151A JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH2 0x15A8 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SWAP2 DUP3 SLOAD SWAP2 PUSH2 0x15B9 DUP4 PUSH2 0x19A5 JUMP JUMPDEST SWAP4 PUSH1 0x8 PUSH1 0x0 SWAP3 ADD SWAP2 JUMPDEST DUP5 DUP2 LT PUSH2 0x15D7 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH2 0xB4E DUP9 DUP3 PUSH2 0x14FF JUMP JUMPDEST DUP1 PUSH2 0x1619 PUSH2 0x1614 PUSH2 0x15EE PUSH2 0xC8D PUSH2 0x16A7 SWAP6 DUP8 PUSH2 0x1AC9 JUMP JUMPDEST DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1AFB JUMP JUMPDEST PUSH2 0x168C PUSH2 0x163A DUP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 DUP8 DUP2 ADD MLOAD SWAP1 PUSH1 0x40 DUP1 DUP3 ADD MLOAD SWAP1 PUSH1 0x60 DUP1 SWAP4 ADD MLOAD SWAP4 PUSH2 0x1657 DUP6 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x167E PUSH2 0x1662 PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP9 AND DUP9 MSTORE JUMP JUMPDEST DUP12 DUP8 ADD MSTORE DUP6 ADD MSTORE DUP4 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH2 0x1696 DUP3 DUP10 PUSH2 0x1B72 JUMP JUMPDEST MSTORE PUSH2 0x16A1 DUP2 DUP9 PUSH2 0x1B72 JUMP JUMPDEST POP PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0x15C2 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x16CA DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH2 0x16D3 CALLDATASIZE PUSH2 0x54E JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH1 0x40 DUP2 PUSH2 0x174A PUSH2 0x179E SWAP4 CALLDATALOAD PUSH2 0x1709 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x3 SLOAD AND OR PUSH1 0x3 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x4 SSTORE ADD CALLDATALOAD PUSH2 0x175D DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x5 SLOAD AND OR PUSH1 0x5 SSTORE JUMP JUMPDEST AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x180E DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x18CC JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x189D JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1892 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x18EA DUP5 PUSH2 0x1883 JUMP JUMPDEST SWAP1 DUP2 DUP5 MSTORE PUSH1 0x1 SWAP5 DUP6 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x1957 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1914 JUMPI JUMPDEST POP POP PUSH2 0x69A SWAP3 POP SUB DUP4 PUSH2 0x64C JUMP JUMPDEST SWAP1 SWAP4 SWAP2 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 DUP2 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x193F JUMPI POP POP PUSH2 0x69A SWAP4 POP DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST DUP6 SLOAD DUP9 DUP5 ADD DUP6 ADD MSTORE SWAP5 DUP6 ADD SWAP5 DUP8 SWAP5 POP SWAP2 DUP4 ADD SWAP2 PUSH2 0x1927 JUMP JUMPDEST SWAP1 POP PUSH2 0x69A SWAP6 POP PUSH1 0x20 SWAP4 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP2 POP AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x19AF DUP3 PUSH2 0x6B6 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH2 0x19BE DUP3 MLOAD SWAP2 DUP3 PUSH2 0x64C JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x19EC DUP3 SWAP6 PUSH2 0x6B6 JUMP JUMPDEST ADD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x19FE JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 MLOAD PUSH2 0x1A0C DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE PUSH1 0x0 DUP6 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x60 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH2 0x19F1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1A8D JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A2F JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 SLOAD DUP3 LT ISZERO PUSH2 0x1AE2 JUMPI JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SWAP1 PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1AEA PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1AD3 JUMP JUMPDEST PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x69A PUSH1 0x40 MLOAD PUSH2 0x1B0B DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x60 PUSH1 0xFF PUSH1 0x3 DUP4 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 SLOAD AND DUP6 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 DUP7 ADD MSTORE ADD SLOAD AND SWAP2 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP1 MLOAD ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A99 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP2 DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B87 JUMPI JUMPDEST PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x1B8F PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1B7F JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0xE JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0xE JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x1C0C JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP4 ADD SWAP5 LT PUSH2 0x1C48 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH2 0x1C3D JUMPI POP POP POP JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1C31 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x1C28 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1D74 JUMPI JUMPDEST PUSH2 0x1C79 DUP2 PUSH2 0x1C73 DUP5 SLOAD PUSH2 0x1883 JUMP JUMPDEST DUP5 PUSH2 0x1BFE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1CD0 JUMPI DUP2 SWAP3 SWAP4 SWAP5 PUSH1 0x0 SWAP3 PUSH2 0x1CC5 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE JUMP JUMPDEST ADD CALLDATALOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x1C92 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP5 PUSH2 0x1D03 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 DUP1 JUMPDEST DUP8 DUP2 LT PUSH2 0x1D5C JUMPI POP DUP4 PUSH1 0x1 SWAP6 SWAP7 SWAP8 LT PUSH2 0x1D24 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x1D1A JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP7 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP5 ADD SWAP2 ADD PUSH2 0x1D06 JUMP JUMPDEST PUSH2 0x1D7C PUSH2 0x58B JUMP JUMPDEST PUSH2 0x1C65 JUMP JUMPDEST PUSH1 0x1F DUP3 PUSH1 0x20 SWAP5 SWAP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP4 DUP2 DUP7 MSTORE DUP7 DUP7 ADD CALLDATACOPY PUSH1 0x0 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST SWAP4 SWAP3 PUSH1 0x60 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 PUSH2 0x1DFA SWAP4 SWAP9 SWAP8 SWAP9 DUP8 MSTORE PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x80 PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x80 DUP7 ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST SWAP5 AND SWAP2 ADD MSTORE JUMP JUMPDEST ISZERO PUSH2 0x1E08 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5245454E5452414E435900000000000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP1 SWAP4 PUSH2 0x1E78 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x1E90 DUP5 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x1E9C CALLER DUP8 DUP6 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1EA4 PUSH2 0x206C JUMP JUMPDEST SWAP6 PUSH2 0x1ECD PUSH2 0x1EB2 DUP7 MLOAD PUSH2 0x1B4B JUMP JUMPDEST MLOAD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x1EEF PUSH2 0x27E DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x1F19 PUSH2 0x1EB2 DUP8 MLOAD PUSH2 0x1B61 JUMP JUMPDEST DUP3 PUSH2 0x1F3E PUSH2 0x27E PUSH1 0x3 DUP10 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x2042 JUMPI PUSH1 0x20 DUP1 SWAP2 ADD CALLDATALOAD SWAP8 ADD SWAP3 PUSH2 0x1F59 DUP5 MLOAD DUP10 PUSH2 0x2B70 JUMP JUMPDEST SWAP2 PUSH32 0x0 AND DUP1 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x1FDF SWAP7 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x1FC6 PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0xEDD9444B00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x210A JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x2035 JUMPI JUMPDEST PUSH2 0x201C JUMPI JUMPDEST POP PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD JUMPDEST SUB SWAP1 LOG3 PUSH2 0x69A PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x202F SWAP3 PUSH2 0x638 JUMP JUMPDEST DUP1 PUSH2 0x350 JUMP JUMPDEST CODESIZE PUSH2 0x1FD6 JUMP JUMPDEST PUSH2 0x203D PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x1FD1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x2079 DUP3 PUSH2 0x5E4 JUMP JUMPDEST DUP2 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND DUP4 MSTORE PUSH1 0x4 SLOAD PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x5 SLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x20C9 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 DUP3 PUSH1 0x40 DUP3 PUSH2 0x20FE PUSH1 0x1 SWAP5 DUP10 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 ADD PUSH2 0x20BB JUMP JUMPDEST SWAP1 SWAP6 SWAP5 SWAP3 SWAP4 SWAP2 PUSH1 0x80 DUP3 MSTORE PUSH1 0xE0 DUP3 ADD SWAP7 DUP1 MLOAD SWAP1 PUSH1 0x60 PUSH1 0x80 DUP6 ADD MSTORE DUP2 MLOAD DUP1 SWAP10 MSTORE PUSH2 0x100 DUP5 ADD SWAP9 PUSH1 0x20 DUP1 SWAP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x2199 JUMPI POP POP POP SWAP8 PUSH2 0x218C SWAP3 DUP3 PUSH1 0x40 DUP12 PUSH2 0x216D SWAP6 PUSH2 0x1BA0 SWAP13 SWAP14 ADD MLOAD PUSH1 0xA0 DUP10 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP8 ADD MSTORE DUP6 DUP4 SUB SWAP1 DUP7 ADD MSTORE PUSH2 0x20A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP6 AND PUSH1 0x40 DUP4 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 DUP6 SUB SWAP2 ADD MSTORE PUSH2 0x1D81 JUMP JUMPDEST SWAP1 SWAP2 SWAP11 DUP5 PUSH1 0x40 DUP3 PUSH2 0x21CE DUP16 SWAP5 PUSH1 0x1 SWAP6 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP13 ADD SWAP3 SWAP2 ADD PUSH2 0x2137 JUMP JUMPDEST POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x226F PUSH1 0x20 DUP1 DUP7 ADD SWAP6 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH2 0x2257 DUP2 PUSH2 0x1192 DUP7 DUP10 DUP10 PUSH1 0x24 DUP6 ADD PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 SWAP5 PUSH1 0x60 DUP3 ADD SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP4 MSTORE AND PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x0 SWAP7 DUP8 SWAP2 MLOAD SWAP1 DUP3 DUP11 GAS CALL DUP6 MLOAD PUSH1 0x1 EQ RETURNDATASIZE ISZERO OR AND ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x227B JUMPI JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2284 SWAP1 PUSH2 0x233D JUMP JUMPDEST SWAP4 PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 SWAP2 DUP3 EXTCODESIZE ISZERO PUSH2 0x2339 JUMPI PUSH1 0x40 MLOAD PUSH32 0x36C7851600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP4 DUP2 AND PUSH1 0x24 DUP6 ADD MSTORE SWAP5 DUP6 AND PUSH1 0x44 DUP5 ADD MSTORE SWAP1 SWAP4 AND PUSH1 0x64 DUP3 ADD MSTORE SWAP2 DUP3 SWAP1 PUSH1 0x84 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x232C JUMPI JUMPDEST PUSH2 0x2319 JUMPI JUMPDEST DUP1 DUP1 DUP1 DUP1 PUSH2 0x2274 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x2326 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x2310 JUMP JUMPDEST PUSH2 0x2334 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x230B JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x235E JUMPI AND SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC4BD89A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x2399 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x23B1 DUP4 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP4 PUSH2 0x23BB DUP6 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x23CF PUSH2 0x1A6 PUSH2 0x23C9 PUSH2 0x1B94 JUMP JUMPDEST DUP8 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x240A PUSH2 0x1614 PUSH2 0x23E1 PUSH2 0x1B94 JUMP JUMPDEST PUSH1 0x8 DUP9 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 DUP3 ADD SWAP2 PUSH1 0x2 DUP4 MLOAD PUSH2 0x241D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2426 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x20 ADD SWAP6 DUP7 MLOAD SWAP7 PUSH1 0x44 CALLDATALOAD DUP1 SWAP9 GT PUSH2 0x25BB JUMPI PUSH2 0x2447 SWAP1 MLOAD DUP9 PUSH2 0x25E5 JUMP JUMPDEST SWAP4 PUSH2 0x2468 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 MLOAD AND SWAP1 JUMP JUMPDEST SWAP5 PUSH2 0x248D PUSH2 0x27E PUSH1 0x3 DUP6 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP8 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x24B2 PUSH2 0x69C JUMP JUMPDEST ADDRESS DUP2 MSTORE SWAP1 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH32 0x0 AND SWAP7 DUP8 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 SWAP8 PUSH2 0x2577 SWAP6 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x254B PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x25FA JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x25AE JUMPI JUMPDEST PUSH2 0x259B JUMPI JUMPDEST POP DUP3 MLOAD SWAP1 PUSH2 0x2568 DUP3 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2571 CALLDATASIZE PUSH2 0x74B JUMP JUMPDEST SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH2 0x200F PUSH2 0x2582 PUSH2 0x1B94 JUMP JUMPDEST SWAP2 MLOAD PUSH2 0x258D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 AND SWAP7 DUP4 PUSH2 0x26A1 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x25A8 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x255B JUMP JUMPDEST PUSH2 0x25B6 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x2556 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC52E3EFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x1A2F JUMP JUMPDEST SWAP2 SWAP3 PUSH2 0x267F PUSH2 0x1BA0 SWAP7 SWAP5 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 PUSH2 0x2647 DUP8 DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD DUP9 DUP5 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x60 DUP8 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP8 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE JUMP JUMPDEST AND PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x100 SWAP1 DUP2 PUSH1 0xE0 DUP3 ADD MSTORE ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST PUSH2 0x1BA0 SWAP1 CALLDATASIZE SWAP1 PUSH2 0x79B JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP2 ADD SWAP3 SWAP2 PUSH2 0x69A SWAP2 PUSH1 0x20 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x26EF JUMPI JUMPDEST PUSH1 0xFF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP4 SLOAD AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x26F7 PUSH2 0x952 JUMP JUMPDEST PUSH2 0x26C2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 PUSH1 0x44 SWAP3 PUSH1 0x20 SWAP6 PUSH1 0x40 MLOAD SWAP4 PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x276A JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F4641494C45440000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x27D9 JUMPI JUMPDEST PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x27E1 PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x27D2 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO PUSH2 0x2817 JUMPI PUSH1 0x5 DUP3 ADD SLOAD LT ISZERO PUSH2 0x2811 JUMPI PUSH1 0x6 ADD SLOAD PUSH1 0xFF AND PUSH2 0x280C JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST POP PUSH1 0x2 SWAP1 JUMP JUMPDEST POP PUSH1 0x1 ADD SLOAD PUSH2 0x284A JUMPI PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 SWAP2 DUP3 DUP2 MSTORE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 SWAP3 PUSH1 0x5 SHL DUP1 SWAP3 DUP5 DUP4 ADD CALLDATACOPY ADD ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 MSTORE PUSH1 0x40 PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD PUSH2 0x28B7 DUP2 PUSH2 0x6DD JUMP JUMPDEST AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP3 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0xE JUMPI ADD PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI DUP1 PUSH1 0x5 SHL CALLDATASIZE SUB DUP3 SGT PUSH2 0xE JUMPI PUSH1 0xA0 DUP4 PUSH1 0x60 PUSH1 0x80 PUSH2 0x1BA0 SWAP7 ADD MSTORE ADD SWAP2 PUSH2 0x284F JUMP JUMPDEST SWAP2 PUSH2 0x2939 DUP4 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x2943 DUP2 DUP5 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x2A23 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2968 PUSH2 0x27E DUP5 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x29F9 JUMPI PUSH1 0x1 PUSH20 0x17C1E395FE81A90AF2D0289A009317D5ACB98F9F SWAP3 ADD SLOAD SWAP1 DUP3 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x29CD SWAP3 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP6 DUP2 SWAP5 DUP3 SWAP4 PUSH32 0xBA5D2C3400000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH2 0x288C JUMP JUMPDEST SUB SWAP2 GAS DELEGATECALL DUP1 ISZERO PUSH2 0x29EC JUMPI JUMPDEST PUSH2 0x29DF JUMPI POP JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x69A SWAP3 PUSH2 0x638 JUMP JUMPDEST PUSH2 0x29F4 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x29D8 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6D9BF6DF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD ISZERO PUSH2 0x2AC6 JUMPI PUSH1 0xFF PUSH1 0x6 DUP3 ADD SLOAD AND PUSH2 0x2A9C JUMPI PUSH2 0x2A6C SWAP1 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x2A72 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B03 JUMPI POP POP SWAP1 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD LT ISZERO SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 PUSH1 0x7 DUP3 ADD SLOAD ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B21 JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH2 0x2B68 PUSH1 0x8 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 SWAP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SLOAD AND SWAP2 AND EQ SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x2B82 DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT PUSH2 0x2BE8 JUMPI POP POP SWAP1 DUP3 SWAP2 PUSH2 0x2BE5 SWAP4 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x2BA7 DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BB8 DUP5 PUSH2 0x1B4B JUMP JUMPDEST MSTORE PUSH2 0x2BC2 DUP4 PUSH2 0x1B4B JUMP JUMPDEST POP MLOAD SWAP1 PUSH2 0x2BCE DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BDF DUP3 PUSH2 0x1B61 JUMP JUMPDEST MSTORE PUSH2 0x1B61 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH2 0x2BF6 DUP2 PUSH2 0x5BB JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH2 0x2B8A JUMP JUMPDEST PUSH1 0x3 PUSH1 0x60 PUSH2 0x69A SWAP4 PUSH2 0x2C6E PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 MLOAD AND DUP6 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 DUP6 ADD SSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x2 DUP6 ADD SSTORE ADD MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI JUMPDEST ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x2C9D PUSH2 0x952 JUMP JUMPDEST PUSH2 0x2C8F JUMP JUMPDEST SWAP2 PUSH1 0x4 SWAP1 PUSH2 0x2D88 PUSH2 0x2D93 SWAP4 PUSH1 0x7 DUP7 ADD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 PUSH2 0x2CEF DUP3 DUP5 MLOAD AND SWAP2 DUP1 SLOAD SWAP1 PUSH9 0x10000000000000000 DUP3 LT ISZERO PUSH2 0x2D97 JUMPI JUMPDEST PUSH1 0x1 DUP3 ADD DUP2 SSTORE PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SWAP3 DUP4 SLOAD SWAP2 PUSH1 0x3 SHL SWAP1 DUP2 SHL SWAP3 DUP4 SWAP2 SHL AND SWAP2 NOT AND OR SWAP1 SSTORE PUSH2 0x2D83 PUSH2 0x23E1 PUSH2 0x2D29 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x20 DUP2 ADD SWAP6 DUP7 MLOAD PUSH2 0x2D58 PUSH2 0x2D3C PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP8 AND DUP8 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP6 ADD MSTORE MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2C0A JUMP JUMPDEST MLOAD SWAP3 ADD SWAP2 DUP3 SLOAD PUSH2 0x270A JUMP JUMPDEST SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x2D9F PUSH2 0x58B JUMP JUMPDEST PUSH2 0x2CE4 JUMP JUMPDEST SWAP1 PUSH1 0x3 PUSH1 0x8 PUSH2 0x69A SWAP4 ADD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 PUSH2 0x2DF2 DUP5 DUP4 MLOAD AND DUP3 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x2E9F DUP6 DUP5 MLOAD AND SWAP6 PUSH2 0x2E5B PUSH1 0x2 PUSH1 0x20 DUP8 ADD MLOAD SWAP5 ADD SLOAD SWAP5 PUSH1 0x40 MLOAD SWAP9 PUSH2 0x2E15 DUP11 PUSH2 0x61C JUMP JUMPDEST DUP10 MSTORE PUSH1 0x20 DUP10 ADD SWAP5 DUP6 MSTORE PUSH1 0x40 DUP10 ADD SWAP6 DUP7 MSTORE DUP3 PUSH1 0x60 DUP11 ADD SWAP8 PUSH2 0x2E35 DUP10 PUSH1 0x2 SWAP1 MSTORE JUMP JUMPDEST MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP7 MLOAD AND DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST MLOAD PUSH1 0x1 DUP6 ADD SSTORE MLOAD PUSH1 0x2 DUP5 ADD SSTORE MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x69A SWAP3 PUSH1 0x8 PUSH1 0x3 SWAP3 ADD SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2E9F PUSH2 0x2F0C DUP3 DUP5 MLOAD AND DUP8 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x2E5B DUP2 DUP6 MLOAD AND SWAP8 DUP3 PUSH1 0x2 PUSH1 0x20 DUP9 ADD MLOAD SWAP7 ADD SLOAD SWAP7 PUSH1 0x40 MLOAD SWAP11 PUSH2 0x2F2E DUP13 PUSH2 0x61C JUMP JUMPDEST DUP12 MSTORE PUSH1 0x20 DUP12 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP12 ADD SWAP8 DUP9 MSTORE PUSH2 0x2E35 PUSH1 0x60 DUP13 ADD SWAP10 DUP11 PUSH2 0x1AEF JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 ADDRESS MUL 0x5E 0xB7 STATICCALL 0xEE GT JUMPDEST SWAP3 PUSH11 0xE2DACAC846043B74762EAB CALLCODE XOR 0xD7 0xAF PUSH9 0x7E916F583764736F6C PUSH4 0x43000811 STOP CALLER ", + "sourceMap": "2476:16065:40:-:0;;;;;;;;;;;;;-1:-1:-1;;2476:16065:40;;;;-1:-1:-1;;;;;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2476:16065:40;;;;;;;;;;;;;;;;;;;-1:-1:-1;2476:16065:40;;-1:-1:-1;;;;;;2476:16065:40;;;;;;;;;818:10:51;;797:40;;-1:-1:-1;797:40:51;2476:16065:40;454:1:34;2476:16065:40;4815:18;;2476:16065;;;;;;4815:18;2476:16065;;;;;;;;;;;;;;;;;-1:-1:-1;2476:16065:40;;;;;;-1:-1:-1;2476:16065:40;;;;;-1:-1:-1;2476:16065:40", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode": { + "entryPoint": 848, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_decode_bytes_calldata": { + "entryPoint": 1996, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_struct_CriteriaResolver_calldata": { + "entryPoint": 1405, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_struct_CriteriaResolver_calldata_11605": { + "entryPoint": 1358, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_struct_TokenPermissions": { + "entryPoint": 1947, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_struct_TokenPermissions_11586": { + "entryPoint": 1787, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_struct_TokenPermissions_18448": { + "entryPoint": 1867, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_address_address_uint160_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_address_address_uint256": { + "entryPoint": null, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_address_bytes32_bytes32": { + "entryPoint": null, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_array_bytes32_dyn_calldata": { + "entryPoint": 10319, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_array_struct_PositionData_dyn": { + "entryPoint": 5375, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_array_struct_SignatureTransferDetails_dyn": { + "entryPoint": 8361, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_bytes32": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_bytes32_struct_CriteriaResolver_calldata": { + "entryPoint": 10380, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_bytes32_uint256_string_calldata_address": { + "entryPoint": 7616, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_enum_AgreementStatus": { + "entryPoint": 2434, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_enum_PositionStatus": { + "entryPoint": 5362, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_rational_by_enum_PositionStatus": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_string_calldata": { + "entryPoint": 7553, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_struct_AgreementData": { + "entryPoint": 2458, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_struct_PermitBatchTransferFrom_array_struct_SignatureTransferDetails_dyn_address_bytes_calldata": { + "entryPoint": 8458, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_struct_PermitTransferFrom_struct_SignatureTransferDetails_address_bytes_calldata": { + "entryPoint": 9722, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_struct_TokenPermissions": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_uint256_enum_PositionStatus": { + "entryPoint": 9889, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_uint256_enum_PositionStatus_11563": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_uint256_enum_PositionStatus_11595": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "access_calldata_tail_string_calldata": { + "entryPoint": 7085, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "allocate_and_zero_memory_array_array_struct_PositionData_dyn": { + "entryPoint": 6565, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 1677, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "allocate_memory_11600": { + "entryPoint": 1692, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "allocate_memory_11604": { + "entryPoint": 1705, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_array_struct_TokenPermissions_dyn": { + "entryPoint": 1718, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_string_storage": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "calldata_array_index_access_struct_PositionParams_calldata_dyn_calldata": { + "entryPoint": 10184, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "checked_add_uint256": { + "entryPoint": 9994, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_add_uint256_11594": { + "entryPoint": 9980, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_sub_uint256": { + "entryPoint": 9701, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_string_storage": { + "entryPoint": 7166, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "cleanup_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_bool": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_struct_PositionParams_calldata_to_struct_PositionParams": { + "entryPoint": 9878, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_array_from_storage_to_memory_string": { + "entryPoint": 6358, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_byte_array_to_storage_from_string_calldata_to_string": { + "entryPoint": 7250, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_struct_to_storage_from_struct_Position_to_struct_Position": { + "entryPoint": 11274, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "external_fun_adjustPosition": { + "entryPoint": 3644, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_agreementData": { + "entryPoint": 2654, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_agreementPositions": { + "entryPoint": 5503, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_arbitrator": { + "entryPoint": 3831, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_createAgreement": { + "entryPoint": 4393, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_deposits": { + "entryPoint": 2312, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_disputeAgreement": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_finalizeAgreement": { + "entryPoint": 3884, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_joinAgreement": { + "entryPoint": 2042, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_joinAgreementApproved": { + "entryPoint": 4871, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_owner": { + "entryPoint": 4340, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_permit2": { + "entryPoint": 859, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_setUp": { + "entryPoint": 5804, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_settleDispute": { + "entryPoint": 2898, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_transferArbitration": { + "entryPoint": 5157, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_transferOwnership": { + "entryPoint": 6128, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_withdrawFromAgreement": { + "entryPoint": 941, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 6275, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_from_storage_value_dynamict_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "extract_from_storage_value_offsett_enum_PositionStatus": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 1612, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_11572": { + "entryPoint": 1467, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_11576": { + "entryPoint": 1508, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_11578": { + "entryPoint": 1536, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_11585": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_11614": { + "entryPoint": 1564, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_11630": { + "entryPoint": 1592, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_11710": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_addPosition": { + "entryPoint": 11426, + "id": 32583, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_agreementStatus": { + "entryPoint": 10214, + "id": 32364, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_canJoinAgreement": { + "entryPoint": 10543, + "id": 32408, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_isFinalized": { + "entryPoint": 10992, + "id": 32461, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_isOngoing": { + "entryPoint": 10829, + "id": 32437, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_isPartOfAgreement": { + "entryPoint": 11022, + "id": 32490, + "parameterSlots": 2, + "returnSlots": 1 + }, + "fun_joinTransferDetails": { + "entryPoint": 11120, + "id": 32538, + "parameterSlots": 2, + "returnSlots": 1 + }, + "fun_safeTransfer": { + "entryPoint": 10007, + "id": 30027, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_toUint160": { + "entryPoint": 9021, + "id": 29331, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_transferFrom2": { + "entryPoint": 8678, + "id": 28768, + "parameterSlots": 4, + "returnSlots": 0 + }, + "fun_updatePosition": { + "entryPoint": 11964, + "id": 32622, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_updatePosition_11702": { + "entryPoint": 11684, + "id": 32622, + "parameterSlots": 2, + "returnSlots": 0 + }, + "increment_uint256": { + "entryPoint": 6751, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "mapping_index_access_mapping_address_struct_Position_storage_of_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "mapping_index_access_mapping_bytes32_struct_Agreement_storage_of_bytes32": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionData_dyn": { + "entryPoint": 7026, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionData_dyn_11628": { + "entryPoint": 6987, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionData_dyn_11629": { + "entryPoint": 7009, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "modifier_nonReentrant": { + "entryPoint": 9096, + "id": 29962, + "parameterSlots": 4, + "returnSlots": 0 + }, + "modifier_nonReentrant_31600": { + "entryPoint": 7782, + "id": 29962, + "parameterSlots": 5, + "returnSlots": 0 + }, + "panic_error_0x11": { + "entryPoint": 6703, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x21": { + "entryPoint": 2386, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 6809, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 1419, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "read_from_calldatat_address": { + "entryPoint": 7075, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "read_from_calldatat_address_18446": { + "entryPoint": 7060, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "read_from_memoryt_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "read_from_storage_reference_type_struct_DepositConfig": { + "entryPoint": 8300, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "read_from_storage_reference_type_struct_Position": { + "entryPoint": 6907, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "read_from_storage_split_offset_enum_PositionStatus": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "require_helper_stringliteral_180a": { + "entryPoint": 7681, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "revert_forward": { + "entryPoint": 8665, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "storage_array_index_access_address_dyn": { + "entryPoint": 6857, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "update_storage_value_offsett_address_to_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_storage_value_offsett_address_to_address_11606": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "update_storage_value_offsett_address_to_address_11607": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "update_storage_value_offsett_bool_to_bool": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "update_storage_value_offsett_enum_PositionStatus_to_enum_PositionStatus": { + "entryPoint": 9911, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "update_storage_value_offsett_enum_PositionStatus_to_enum_PositionStatus_11561": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "update_storage_value_offsett_enum_PositionStatus_to_enum_PositionStatus_11569": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "update_storage_value_offsett_enum_PositionStatus_to_enum_PositionStatus_11593": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "update_storage_value_offsett_uint256_to_uint256": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "validator_assert_enum_PositionStatus": { + "entryPoint": 5344, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_address": { + "entryPoint": 1757, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "write_to_memory_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "write_to_memory_enum_AgreementStatus": { + "entryPoint": 6553, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "write_to_memory_enum_PositionStatus": { + "entryPoint": 6895, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "write_to_memory_enum_PositionStatus_11718": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "write_to_memory_enum_PositionStatus_18451": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "object": "60806040526004361015610013575b600080fd5b60003560e01c8063061ab0bc1461016757806312261ee71461015e578063186799a4146101555780631bd747a21461014c578063323a5e0b14610143578063330994051461013a5780633d3e73d7146101315780635541e684146101285780636cc6cde11461011f5780638135fe23146101165780638da5cb5b1461010d5780638f34a85914610104578063a37ee28c146100fb578063ab4f5678146100f2578063ac41b751146100e9578063af0f9df3146100e05763f2fde38b146100d857600080fd5b61000e6117f0565b5061000e6116ac565b5061000e61157f565b5061000e611425565b5061000e611307565b5061000e611129565b5061000e6110f4565b5061000e610f2c565b5061000e610ef7565b5061000e610e3c565b5061000e610b52565b5061000e610a5e565b5061000e610908565b5061000e6107fa565b5061000e6103ad565b5061000e61035b565b503461000e57602060031936011261000e57600435610190816000526006602052604060002090565b61019981612a4d565b6101aa6101a63383612b0e565b1590565b610326576001906102b96101bc61206c565b916101ea33600883019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9260006002850161022560068254950160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6102576003870160047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b556102b3604061029761027e845173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b92015173ffffffffffffffffffffffffffffffffffffffff1690565b90612717565b0154817ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806102fa3395826020600491939293604081019481520152565b0390a333907fb67e3ac5aa7b56d61e366985ea94be26db935eca5c55e0359fd36c5852b6fa39600080a3005b60046040517f3b278a7a000000000000000000000000000000000000000000000000000000008152fd5b600091031261000e57565b503461000e57600060031936011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461000e57602060031936011261000e576004356103d0600160025414611e01565b600280556103e8816000526006602052604060002090565b6103f061206c565b906103fd6101a682612af0565b6105245761040e6101a63383612b0e565b610326576104d7916104b561044633600885019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b600181019361048b60038654936000600282018181549a55550160037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6104b061027e60033393015473ffffffffffffffffffffffffffffffffffffffff1690565b612717565b6104b061027e33925173ffffffffffffffffffffffffffffffffffffffff1690565b604051907ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b63392806105158190600360206040840193600081520152565b0390a36105226001600255565b005b60046040517fa3b1c9de000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc606091011261000e57602490565b9081606091031261000e5790565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176105d757604052565b6105df61058b565b604052565b6060810190811067ffffffffffffffff8211176105d757604052565b60c0810190811067ffffffffffffffff8211176105d757604052565b6080810190811067ffffffffffffffff8211176105d757604052565b67ffffffffffffffff81116105d757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d757604052565b6040519061069a82610600565b565b6040519061069a826105bb565b6040519061069a8261061c565b60209067ffffffffffffffff81116106d0575b60051b0190565b6106d861058b565b6106c9565b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c604091011261000e5760405190610732826105bb565b8160643561073f816106dd565b81526020608435910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc604091011261000e5760405190610782826105bb565b8160243561078f816106dd565b81526020604435910152565b919082604091031261000e576040516107b3816105bb565b602080829480356107c3816106dd565b84520135910152565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020838186019501011161000e57565b503461000e5760031960808136011261000e5767ffffffffffffffff9060243582811161000e5761082f90369060040161057d565b6044359183831161000e57606090833603011261000e576040805192610854846105e4565b806004013585811161000e5781013660238201121561000e5760048101359061087c826106b6565b906108898551928361064c565b82825260209260248484019160061b8301019136831161000e576024879101915b8383106108ef5750505090865250602482013590850152604401359083015260643592831161000e576108e46105229336906004016107cc565b929091600435611e66565b85906108fb368561079b565b81520191019086906108aa565b503461000e57600060031936011261000e57606073ffffffffffffffffffffffffffffffffffffffff80600354169060045490600554169060405192835260208301526040820152f35b507f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90600482101561098f5752565b610997610952565b52565b602080825282518183015280830151604083015260408301519060c060608401528151918260e085015260005b838110610a4957505050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe091610a4260a0610100966000888589010152610a2d6060820151608089019073ffffffffffffffffffffffffffffffffffffffff169052565b608081015182880152015160c0860190610982565b0116010190565b818101830151858201610100015282016109c7565b503461000e57602060031936011261000e57600060a0604051610a8081610600565b828152826020820152606060408201528260608201528260808201520152610b4e610ab76004356000526006602052604060002090565b610b42815491600181015490610b34610ae7600383015473ffffffffffffffffffffffffffffffffffffffff1690565b610b126002600485015494610afb816127e6565b96610b0461068d565b998a5260208a0152016118d6565b604087015273ffffffffffffffffffffffffffffffffffffffff166060860152565b608084015260a08301611999565b6040519182918261099a565b0390f35b503461000e5760408060031936011261000e57600480359167ffffffffffffffff916024359183831161000e573660238401121561000e578282013593841161000e576024830192602436918660061b01011161000e57610bcb61027e60015473ffffffffffffffffffffffffffffffffffffffff1690565b3303610e1657610be5856000526006602052604060002090565b92610bf76101a6600686015460ff1690565b610def57610c0484612af0565b610dc857600090600785019081548703610d9f57825b878110610c80575050508284015403610c5a575050600501557fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b517f595fa923000000000000000000000000000000000000000000000000000000008152fd5b610cad610c8d8285611ac9565b905473ffffffffffffffffffffffffffffffffffffffff9160031b1c1690565b610cc361027e610cbe848c876127c8565b611ba3565b73ffffffffffffffffffffffffffffffffffffffff80921603610d775790888a7ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6610d7294610d24610d1e610d1987878b6127c8565b612696565b8d612da4565b610d3e6020998a610d3688888c6127c8565b01359061270a565b98610d5886610d51610cbe82898d6127c8565b968a6127c8565b8b51910135815260026020820152931692604090a3611a5f565b610c1a565b8686517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b505050517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b50517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b50517f4e16946c000000000000000000000000000000000000000000000000000000008152fd5b517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b503461000e5761010060031936011261000e5760407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261000e5760807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c36011261000e57604051610eaf816105e4565b610eb8366106fb565b815260a435602082015260c435604082015260e4359067ffffffffffffffff821161000e57610eee6105229236906004016107cc565b91600435612388565b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b503461000e57602060031936011261000e57600435610f55816000526006602052604060002090565b610f5e81612a4d565b610f6b6101a63383612b0e565b6103265760088101906002610fad6003610fa533869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b015460ff1690565b610fb6816114e0565b146110ca57600161105461109d9361101f6003610ff333849073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0160027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6005840161102d81546126fc565b90553373ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0154837ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806110953395826020600291939293604081019481520152565b0390a3612af0565b6110a357005b7fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b60046040517faf20ef4a000000000000000000000000000000000000000000000000000000008152fd5b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b503461000e576040600319818136011261000e576004359067ffffffffffffffff821161000e5760808260040191833603011261000e5760248201359081156112de5783513060208201908152823560408301819052602435606084015292916111be81608081015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261064c565b519020936111d6856000526006602052604060002090565b916001830180546112b5578361129861129088958895610b4e9c9a6112a4968d9b7ff7cbeac7c87f7e00fcf9440cf10b123fb3d766366a39eeb572c219c8eac3ab469b555561128b6064604484019361123c6112328686611bad565b9060028b01611c52565b0195600361124988611ba3565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b611bad565b919092611ba3565b91885195869586611dc0565b0390a2519081529081906020820190565b600488517fd8876c2d000000000000000000000000000000000000000000000000000000008152fd5b600484517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b503461000e57604060031936011261000e5760043560243567ffffffffffffffff811161000e5761133c90369060040161057d565b9061134b600160025414611e01565b600280558060005260066020526113f1604060002061136b33858361292f565b61137361206c565b80516113a19060209073ffffffffffffffffffffffffffffffffffffffff16920191825190309033906121e6565b6113d860206113ca61027e600386015473ffffffffffffffffffffffffffffffffffffffff1690565b9601358096309033906121e6565b6113e061069c565b338152908560208301525191612ca2565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf70908060208101610515565b503461000e57602060031936011261000e57600435611443816106dd565b73ffffffffffffffffffffffffffffffffffffffff90816000541633036114b65716807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b600511156114ea57565b61069a610952565b90600582101561098f5752565b60208082019080835283518092528060408094019401926000905b83821061152957505050505090565b9091929394836080600192611572895173ffffffffffffffffffffffffffffffffffffffff815116835284810151858401528681015187840152606080910151908301906114f2565b019601949392019061151a565b503461000e5760208060031936011261000e576115a86004356000526006602052604060002090565b60078101918254916115b9836119a5565b93600860009201915b8481106115d75760405180610b4e88826114ff565b806116196116146115ee610c8d6116a79587611ac9565b869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b611afb565b61168c61163a825173ffffffffffffffffffffffffffffffffffffffff1690565b9187810151906040808201519060608093015193611657856114e0565b61167e6116626106a9565b73ffffffffffffffffffffffffffffffffffffffff9098168852565b8b8701528501528301611aef565b6116968289611b72565b526116a18188611b72565b50611a5f565b6115c2565b503461000e57608060031936011261000e576004356116ca816106dd565b6116d33661054e565b9073ffffffffffffffffffffffffffffffffffffffff91826000541633036114b65760408161174a61179e9335611709816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b6020810135600455013561175d816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006005541617600555565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b503461000e57602060031936011261000e5760043561180e816106dd565b600090815473ffffffffffffffffffffffffffffffffffffffff80821633036114b6577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b90600182811c921680156118cc575b602083101461189d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611892565b90604051918260008254926118ea84611883565b9081845260019485811690816000146119575750600114611914575b505061069a9250038361064c565b9093915060005260209081600020936000915b81831061193f57505061069a93508201013880611906565b85548884018501529485019487945091830191611927565b905061069a9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611906565b600482101561098f5752565b906119af826106b6565b6040906119be8251918261064c565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06119ec82956106b6565b019160005b8381106119fe5750505050565b6020908251611a0c8161061c565b6000815282600081830152600085830152600060608301528286010152016119f1565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a8d570190565b611a95611a2f565b0190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015611ae2575b60005260206000200190600090565b611aea611a99565b611ad3565b600582101561098f5752565b9061069a604051611b0b8161061c565b606060ff6003839673ffffffffffffffffffffffffffffffffffffffff815416855260018101546020860152600281015460408601520154169101611aef565b602090805115611b59570190565b611a95611a99565b604090805160011015611b59570190565b6020918151811015611b87575b60051b010190565b611b8f611a99565b611b7f565b602435611ba0816106dd565b90565b35611ba0816106dd565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e5760200191813603831361000e57565b90601f8111611c0c57505050565b600091825260208220906020601f850160051c83019410611c48575b601f0160051c01915b828110611c3d57505050565b818155600101611c31565b9092508290611c28565b90929167ffffffffffffffff8111611d74575b611c7981611c738454611883565b84611bfe565b6000601f8211600114611cd05781929394600092611cc5575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916179055565b013590503880611c92565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0821694611d0384600052602060002090565b91805b878110611d5c575083600195969710611d24575b505050811b019055565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080611d1a565b90926020600181928686013581550194019101611d06565b611d7c61058b565b611c65565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b939260609373ffffffffffffffffffffffffffffffffffffffff93611dfa9398979887526020870152608060408701526080860191611d81565b9416910152565b15611e0857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152fd5b92939093611e78600160025414611e01565b60028055611e90846000526006602052604060002090565b91611e9c33878561292f565b611ea461206c565b95611ecd611eb28651611b4b565b515173ffffffffffffffffffffffffffffffffffffffff1690565b90611eef61027e895173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff8093160361204257611f19611eb28751611b61565b82611f3e61027e600389015473ffffffffffffffffffffffffffffffffffffffff1690565b91160361204257602080910135970192611f59845189612b70565b917f000000000000000000000000000000000000000000000000000000000000000016803b1561000e57611fdf9660008094611fc6604051978896879586947fedd9444b00000000000000000000000000000000000000000000000000000000865233916004870161210a565b03925af18015612035575b61201c575b506113e061069c565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf709080602081015b0390a361069a6001600255565b8061202961202f92610638565b80610350565b38611fd6565b61203d6121d9565b611fd1565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60405190612079826105e4565b81604073ffffffffffffffffffffffffffffffffffffffff80600354168352600454602084015260055416910152565b90815180825260208080930193019160005b8281106120c9575050505090565b90919293826040826120fe60019489516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019501939291016120bb565b9095949293916080825260e082019680519060606080850152815180995261010084019860208093019060005b818110612199575050509761218c928260408b61216d95611ba09c9d015160a0890152015160c0870152858303908601526120a9565b73ffffffffffffffffffffffffffffffffffffffff9095166040830152565b6060818503910152611d81565b90919a846040826121ce8f94600195516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019c01929101612137565b506040513d6000823e3d90fd5b9291906040519261226f6020808601957f23b872dd000000000000000000000000000000000000000000000000000000008752612257816111928689896024850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b60009687915190828a5af185516001143d1517161590565b61227b575b5050505050565b6122849061233d565b936e22d473030f116ddee9f6b43ac78ba391823b15612339576040517f36c7851600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152938116602485015294851660448401529093166064820152918290608490829084905af1801561232c575b612319575b80808080612274565b8061202961232692610638565b38612310565b6123346121d9565b61230b565b8480fd5b73ffffffffffffffffffffffffffffffffffffffff9081811161235e571690565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b919092612399600160025414611e01565b600280556123b1836000526006602052604060002090565b936123bb85612a4d565b6123cf6101a66123c9611b94565b87612b0e565b6103265761240a6116146123e1611b94565b600888019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9060608201916002835161241d816114e0565b612426816114e0565b146110ca57602001958651966044358098116125bb576124479051886125e5565b93612468835173ffffffffffffffffffffffffffffffffffffffff90511690565b9461248d61027e600385015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff80971603612042576124b261069c565b308152906020820152857f00000000000000000000000000000000000000000000000000000000000000001696873b1561000e577ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b697612577956000809461254b604051978896879586947f30f28b7a0000000000000000000000000000000000000000000000000000000086523391600487016125fa565b03925af180156125ae575b61259b575b50825190612568826114e0565b6125713661074b565b90612ebc565b61200f612582611b94565b915161258d816114e0565b6040519384931696836126a1565b806120296125a892610638565b3861255b565b6125b66121d9565b612556565b60046040517fc52e3eff000000000000000000000000000000000000000000000000000000008152fd5b919082039182116125f257565b61069a611a2f565b919261267f611ba09694604073ffffffffffffffffffffffffffffffffffffffff946126478782516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b602081810151888401529101516060870152815173ffffffffffffffffffffffffffffffffffffffff166080870152015160a0850152565b1660c0820152610100908160e08201520191611d81565b611ba090369061079b565b90815260408101929161069a91602001906114f2565b9060058110156126ef575b60ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116179055565b6126f7610952565b6126c2565b90600182018092116125f257565b919082018092116125f257565b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561276a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b91908110156127d9575b60061b0190565b6127e1611a99565b6127d2565b600781015480156128175760058201541015612811576006015460ff1661280c57600190565b600390565b50600290565b506001015461284a5760046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b600090565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161000e5760209260051b809284830137010190565b919082526040602083015273ffffffffffffffffffffffffffffffffffffffff81356128b7816106dd565b1660408301526020810135606083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561000e57016020813591019067ffffffffffffffff811161000e578060051b3603821361000e5760a08360606080611ba0960152019161284f565b9161293983612a4d565b6129438184612b0e565b612a235773ffffffffffffffffffffffffffffffffffffffff61296861027e84611ba3565b9116036129f95760017317c1e395fe81a90af2d0289a009317d5acb98f9f92015490823b1561000e576129cd926000926040518095819482937fba5d2c340000000000000000000000000000000000000000000000000000000084526004840161288c565b03915af480156129ec575b6129df5750565b8061202961069a92610638565b6129f46121d9565b6129d8565b60046040517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6d9bf6df000000000000000000000000000000000000000000000000000000008152fd5b600181015415612ac65760ff600682015416612a9c57612a6c90612af0565b612a7257565b60046040517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b60046040517f03144514000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b60078101548015159182612b0357505090565b600501541015919050565b90600782015415159182612b2157505090565b819250612b6860089273ffffffffffffffffffffffffffffffffffffffff938493019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b541691161490565b919091604090815191612b82836105e4565b600283526000805b828110612be8575050908291612be59395815190612ba7826105bb565b3082526020820152612bb884611b4b565b52612bc283611b4b565b505190612bce826105bb565b3082526020820152612bdf82611b61565b52611b61565b50565b6020908351612bf6816105bb565b838152828481830152828801015201612b8a565b6003606061069a93612c6e73ffffffffffffffffffffffffffffffffffffffff825116859073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60208101516001850155604081015160028501550151916005831015612c95575b016126b7565b612c9d610952565b612c8f565b91600490612d88612d93936007860173ffffffffffffffffffffffffffffffffffffffff90612cef828451169180549068010000000000000000821015612d97575b600182018155611ac9565b909283549160031b90811b9283911b16911916179055612d836123e1612d29835173ffffffffffffffffffffffffffffffffffffffff1690565b9260208101958651612d58612d3c6106a9565b73ffffffffffffffffffffffffffffffffffffffff9097168752565b60208601526040850152600160608501525173ffffffffffffffffffffffffffffffffffffffff1690565b612c0a565b51920191825461270a565b9055565b612d9f61058b565b612ce4565b906003600861069a93019173ffffffffffffffffffffffffffffffffffffffff92612df284835116829073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b612e9f8584511695612e5b600260208701519401549460405198612e158a61061c565b895260208901948552604089019586528260608a0197612e358960029052565b511673ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b965116869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b51600185015551600284015551916005831015612c9557016126b7565b61069a926008600392019273ffffffffffffffffffffffffffffffffffffffff612e9f612f0c82845116879073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b91612e5b81855116978260026020880151960154966040519a612f2e8c61061c565b8b5260208b0196875260408b01978852612e3560608c01998a611aef56fea2646970667358221220a130025eb7faee115b926ae2dacac846043b74762eabf218d7af687e916f583764736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x61AB0BC EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0x186799A4 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0x1BD747A2 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0x33099405 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x5541E684 EQ PUSH2 0x128 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x8135FE23 EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x8F34A859 EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0xA37EE28C EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xAB4F5678 EQ PUSH2 0xF2 JUMPI DUP1 PUSH4 0xAC41B751 EQ PUSH2 0xE9 JUMPI DUP1 PUSH4 0xAF0F9DF3 EQ PUSH2 0xE0 JUMPI PUSH4 0xF2FDE38B EQ PUSH2 0xD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x17F0 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x16AC JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x157F JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1425 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1307 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1129 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x10F4 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xF2C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xEF7 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xE3C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xB52 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xA5E JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x908 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x7FA JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x3AD JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x35B JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x190 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x199 DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x1AA PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x1 SWAP1 PUSH2 0x2B9 PUSH2 0x1BC PUSH2 0x206C JUMP JUMPDEST SWAP2 PUSH2 0x1EA CALLER PUSH1 0x8 DUP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x0 PUSH1 0x2 DUP6 ADD PUSH2 0x225 PUSH1 0x6 DUP3 SLOAD SWAP6 ADD PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x257 PUSH1 0x3 DUP8 ADD PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST SSTORE PUSH2 0x2B3 PUSH1 0x40 PUSH2 0x297 PUSH2 0x27E DUP5 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x2717 JUMP JUMPDEST ADD SLOAD DUP2 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x2FA CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x4 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 CALLER SWAP1 PUSH32 0xB67E3AC5AA7B56D61E366985EA94BE26DB935ECA5C55E0359FD36C5852B6FA39 PUSH1 0x0 DUP1 LOG3 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP2 SUB SLT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x3D0 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x3E8 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x3F0 PUSH2 0x206C JUMP JUMPDEST SWAP1 PUSH2 0x3FD PUSH2 0x1A6 DUP3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x524 JUMPI PUSH2 0x40E PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x4D7 SWAP2 PUSH2 0x4B5 PUSH2 0x446 CALLER PUSH1 0x8 DUP6 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP4 PUSH2 0x48B PUSH1 0x3 DUP7 SLOAD SWAP4 PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 DUP2 SLOAD SWAP11 SSTORE SSTORE ADD PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E PUSH1 0x3 CALLER SWAP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2717 JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E CALLER SWAP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 CALLER SWAP3 DUP1 PUSH2 0x515 DUP2 SWAP1 PUSH1 0x3 PUSH1 0x20 PUSH1 0x40 DUP5 ADD SWAP4 PUSH1 0x0 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x522 PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xA3B1C9DE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x60 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x60 SWAP2 SUB SLT PUSH2 0xE JUMPI SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x5DF PUSH2 0x58B JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x600 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x6D0 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x6D8 PUSH2 0x58B JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SUB PUSH2 0xE JUMPI JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x732 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x64 CALLDATALOAD PUSH2 0x73F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x84 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x782 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x24 CALLDATALOAD PUSH2 0x78F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x44 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0x7B3 DUP2 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 SWAP5 DUP1 CALLDATALOAD PUSH2 0x7C3 DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP5 MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x3 NOT PUSH1 0x80 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xE JUMPI PUSH2 0x82F SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI PUSH1 0x60 SWAP1 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 DUP1 MLOAD SWAP3 PUSH2 0x854 DUP5 PUSH2 0x5E4 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD CALLDATALOAD DUP6 DUP2 GT PUSH2 0xE JUMPI DUP2 ADD CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xE JUMPI PUSH1 0x4 DUP2 ADD CALLDATALOAD SWAP1 PUSH2 0x87C DUP3 PUSH2 0x6B6 JUMP JUMPDEST SWAP1 PUSH2 0x889 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x64C JUMP JUMPDEST DUP3 DUP3 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x24 DUP5 DUP5 ADD SWAP2 PUSH1 0x6 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP8 SWAP2 ADD SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x8EF JUMPI POP POP POP SWAP1 DUP7 MSTORE POP PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE PUSH1 0x44 ADD CALLDATALOAD SWAP1 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP3 DUP4 GT PUSH2 0xE JUMPI PUSH2 0x8E4 PUSH2 0x522 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP1 SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x1E66 JUMP JUMPDEST DUP6 SWAP1 PUSH2 0x8FB CALLDATASIZE DUP6 PUSH2 0x79B JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 DUP7 SWAP1 PUSH2 0x8AA JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND SWAP1 PUSH1 0x4 SLOAD SWAP1 PUSH1 0x5 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH2 0x997 PUSH2 0x952 JUMP JUMPDEST MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD MSTORE DUP1 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 PUSH1 0xC0 PUSH1 0x60 DUP5 ADD MSTORE DUP2 MLOAD SWAP2 DUP3 PUSH1 0xE0 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA49 JUMPI POP POP POP PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 PUSH2 0xA42 PUSH1 0xA0 PUSH2 0x100 SWAP7 PUSH1 0x0 DUP9 DUP6 DUP10 ADD ADD MSTORE PUSH2 0xA2D PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x80 DUP10 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD MLOAD DUP3 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP7 ADD SWAP1 PUSH2 0x982 JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH2 0x100 ADD MSTORE DUP3 ADD PUSH2 0x9C7 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0xA0 PUSH1 0x40 MLOAD PUSH2 0xA80 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE DUP3 PUSH1 0x80 DUP3 ADD MSTORE ADD MSTORE PUSH2 0xB4E PUSH2 0xAB7 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xB42 DUP2 SLOAD SWAP2 PUSH1 0x1 DUP2 ADD SLOAD SWAP1 PUSH2 0xB34 PUSH2 0xAE7 PUSH1 0x3 DUP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0xB12 PUSH1 0x2 PUSH1 0x4 DUP6 ADD SLOAD SWAP5 PUSH2 0xAFB DUP2 PUSH2 0x27E6 JUMP JUMPDEST SWAP7 PUSH2 0xB04 PUSH2 0x68D JUMP JUMPDEST SWAP10 DUP11 MSTORE PUSH1 0x20 DUP11 ADD MSTORE ADD PUSH2 0x18D6 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 DUP7 ADD MSTORE JUMP JUMPDEST PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x99A JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 DUP1 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI CALLDATASIZE PUSH1 0x23 DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 DUP3 ADD CALLDATALOAD SWAP4 DUP5 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP4 ADD SWAP3 PUSH1 0x24 CALLDATASIZE SWAP2 DUP7 PUSH1 0x6 SHL ADD ADD GT PUSH2 0xE JUMPI PUSH2 0xBCB PUSH2 0x27E PUSH1 0x1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST CALLER SUB PUSH2 0xE16 JUMPI PUSH2 0xBE5 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH2 0xBF7 PUSH2 0x1A6 PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xDEF JUMPI PUSH2 0xC04 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0xDC8 JUMPI PUSH1 0x0 SWAP1 PUSH1 0x7 DUP6 ADD SWAP1 DUP2 SLOAD DUP8 SUB PUSH2 0xD9F JUMPI DUP3 JUMPDEST DUP8 DUP2 LT PUSH2 0xC80 JUMPI POP POP POP DUP3 DUP5 ADD SLOAD SUB PUSH2 0xC5A JUMPI POP POP PUSH1 0x5 ADD SSTORE PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST MLOAD PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH2 0xCAD PUSH2 0xC8D DUP3 DUP6 PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x3 SHL SHR AND SWAP1 JUMP JUMPDEST PUSH2 0xCC3 PUSH2 0x27E PUSH2 0xCBE DUP5 DUP13 DUP8 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x1BA3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SUB PUSH2 0xD77 JUMPI SWAP1 DUP9 DUP11 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH2 0xD72 SWAP5 PUSH2 0xD24 PUSH2 0xD1E PUSH2 0xD19 DUP8 DUP8 DUP12 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x2696 JUMP JUMPDEST DUP14 PUSH2 0x2DA4 JUMP JUMPDEST PUSH2 0xD3E PUSH1 0x20 SWAP10 DUP11 PUSH2 0xD36 DUP9 DUP9 DUP13 PUSH2 0x27C8 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 PUSH2 0x270A JUMP JUMPDEST SWAP9 PUSH2 0xD58 DUP7 PUSH2 0xD51 PUSH2 0xCBE DUP3 DUP10 DUP14 PUSH2 0x27C8 JUMP JUMPDEST SWAP7 DUP11 PUSH2 0x27C8 JUMP JUMPDEST DUP12 MLOAD SWAP2 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP3 ADD MSTORE SWAP4 AND SWAP3 PUSH1 0x40 SWAP1 LOG3 PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0xC1A JUMP JUMPDEST DUP7 DUP7 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP POP POP MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x4E16946C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0xEAF DUP2 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0xEB8 CALLDATASIZE PUSH2 0x6FB JUMP JUMPDEST DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0xE4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH2 0xEEE PUSH2 0x522 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x2388 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xF55 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xF5E DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0xF6B PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x8 DUP2 ADD SWAP1 PUSH1 0x2 PUSH2 0xFAD PUSH1 0x3 PUSH2 0xFA5 CALLER DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xFB6 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x1 PUSH2 0x1054 PUSH2 0x109D SWAP4 PUSH2 0x101F PUSH1 0x3 PUSH2 0xFF3 CALLER DUP5 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x5 DUP5 ADD PUSH2 0x102D DUP2 SLOAD PUSH2 0x26FC JUMP JUMPDEST SWAP1 SSTORE CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD DUP4 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x1095 CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x2 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x10A3 JUMPI STOP JUMPDEST PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAF20EF4A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x0 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT DUP2 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x80 DUP3 PUSH1 0x4 ADD SWAP2 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP2 ISZERO PUSH2 0x12DE JUMPI DUP4 MLOAD ADDRESS PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP3 CALLDATALOAD PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x60 DUP5 ADD MSTORE SWAP3 SWAP2 PUSH2 0x11BE DUP2 PUSH1 0x80 DUP2 ADD JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x64C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x11D6 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x1 DUP4 ADD DUP1 SLOAD PUSH2 0x12B5 JUMPI DUP4 PUSH2 0x1298 PUSH2 0x1290 DUP9 SWAP6 DUP9 SWAP6 PUSH2 0xB4E SWAP13 SWAP11 PUSH2 0x12A4 SWAP7 DUP14 SWAP12 PUSH32 0xF7CBEAC7C87F7E00FCF9440CF10B123FB3D766366A39EEB572C219C8EAC3AB46 SWAP12 SSTORE SSTORE PUSH2 0x128B PUSH1 0x64 PUSH1 0x44 DUP5 ADD SWAP4 PUSH2 0x123C PUSH2 0x1232 DUP7 DUP7 PUSH2 0x1BAD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP12 ADD PUSH2 0x1C52 JUMP JUMPDEST ADD SWAP6 PUSH1 0x3 PUSH2 0x1249 DUP9 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1BAD JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 DUP9 MLOAD SWAP6 DUP7 SWAP6 DUP7 PUSH2 0x1DC0 JUMP JUMPDEST SUB SWAP1 LOG2 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST PUSH1 0x4 DUP9 MLOAD PUSH32 0xD8876C2D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x133C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST SWAP1 PUSH2 0x134B PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH2 0x13F1 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x136B CALLER DUP6 DUP4 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1373 PUSH2 0x206C JUMP JUMPDEST DUP1 MLOAD PUSH2 0x13A1 SWAP1 PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 ADD SWAP2 DUP3 MLOAD SWAP1 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13D8 PUSH1 0x20 PUSH2 0x13CA PUSH2 0x27E PUSH1 0x3 DUP7 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP7 ADD CALLDATALOAD DUP1 SWAP7 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST CALLER DUP2 MSTORE SWAP1 DUP6 PUSH1 0x20 DUP4 ADD MSTORE MLOAD SWAP2 PUSH2 0x2CA2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD PUSH2 0x515 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x1443 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x5 GT ISZERO PUSH2 0x14EA JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x952 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 ADD SWAP1 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 SWAP3 MSTORE DUP1 PUSH1 0x40 DUP1 SWAP5 ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1529 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP4 PUSH1 0x80 PUSH1 0x1 SWAP3 PUSH2 0x1572 DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP4 MSTORE DUP5 DUP2 ADD MLOAD DUP6 DUP5 ADD MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP5 ADD MSTORE PUSH1 0x60 DUP1 SWAP2 ADD MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST ADD SWAP7 ADD SWAP5 SWAP4 SWAP3 ADD SWAP1 PUSH2 0x151A JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH2 0x15A8 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SWAP2 DUP3 SLOAD SWAP2 PUSH2 0x15B9 DUP4 PUSH2 0x19A5 JUMP JUMPDEST SWAP4 PUSH1 0x8 PUSH1 0x0 SWAP3 ADD SWAP2 JUMPDEST DUP5 DUP2 LT PUSH2 0x15D7 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH2 0xB4E DUP9 DUP3 PUSH2 0x14FF JUMP JUMPDEST DUP1 PUSH2 0x1619 PUSH2 0x1614 PUSH2 0x15EE PUSH2 0xC8D PUSH2 0x16A7 SWAP6 DUP8 PUSH2 0x1AC9 JUMP JUMPDEST DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1AFB JUMP JUMPDEST PUSH2 0x168C PUSH2 0x163A DUP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 DUP8 DUP2 ADD MLOAD SWAP1 PUSH1 0x40 DUP1 DUP3 ADD MLOAD SWAP1 PUSH1 0x60 DUP1 SWAP4 ADD MLOAD SWAP4 PUSH2 0x1657 DUP6 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x167E PUSH2 0x1662 PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP9 AND DUP9 MSTORE JUMP JUMPDEST DUP12 DUP8 ADD MSTORE DUP6 ADD MSTORE DUP4 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH2 0x1696 DUP3 DUP10 PUSH2 0x1B72 JUMP JUMPDEST MSTORE PUSH2 0x16A1 DUP2 DUP9 PUSH2 0x1B72 JUMP JUMPDEST POP PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0x15C2 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x16CA DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH2 0x16D3 CALLDATASIZE PUSH2 0x54E JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH1 0x40 DUP2 PUSH2 0x174A PUSH2 0x179E SWAP4 CALLDATALOAD PUSH2 0x1709 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x3 SLOAD AND OR PUSH1 0x3 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x4 SSTORE ADD CALLDATALOAD PUSH2 0x175D DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x5 SLOAD AND OR PUSH1 0x5 SSTORE JUMP JUMPDEST AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x180E DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x18CC JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x189D JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1892 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x18EA DUP5 PUSH2 0x1883 JUMP JUMPDEST SWAP1 DUP2 DUP5 MSTORE PUSH1 0x1 SWAP5 DUP6 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x1957 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1914 JUMPI JUMPDEST POP POP PUSH2 0x69A SWAP3 POP SUB DUP4 PUSH2 0x64C JUMP JUMPDEST SWAP1 SWAP4 SWAP2 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 DUP2 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x193F JUMPI POP POP PUSH2 0x69A SWAP4 POP DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST DUP6 SLOAD DUP9 DUP5 ADD DUP6 ADD MSTORE SWAP5 DUP6 ADD SWAP5 DUP8 SWAP5 POP SWAP2 DUP4 ADD SWAP2 PUSH2 0x1927 JUMP JUMPDEST SWAP1 POP PUSH2 0x69A SWAP6 POP PUSH1 0x20 SWAP4 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP2 POP AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x19AF DUP3 PUSH2 0x6B6 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH2 0x19BE DUP3 MLOAD SWAP2 DUP3 PUSH2 0x64C JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x19EC DUP3 SWAP6 PUSH2 0x6B6 JUMP JUMPDEST ADD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x19FE JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 MLOAD PUSH2 0x1A0C DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE PUSH1 0x0 DUP6 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x60 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH2 0x19F1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1A8D JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A2F JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 SLOAD DUP3 LT ISZERO PUSH2 0x1AE2 JUMPI JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SWAP1 PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1AEA PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1AD3 JUMP JUMPDEST PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x69A PUSH1 0x40 MLOAD PUSH2 0x1B0B DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x60 PUSH1 0xFF PUSH1 0x3 DUP4 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 SLOAD AND DUP6 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 DUP7 ADD MSTORE ADD SLOAD AND SWAP2 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP1 MLOAD ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A99 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP2 DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B87 JUMPI JUMPDEST PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x1B8F PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1B7F JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0xE JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0xE JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x1C0C JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP4 ADD SWAP5 LT PUSH2 0x1C48 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH2 0x1C3D JUMPI POP POP POP JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1C31 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x1C28 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1D74 JUMPI JUMPDEST PUSH2 0x1C79 DUP2 PUSH2 0x1C73 DUP5 SLOAD PUSH2 0x1883 JUMP JUMPDEST DUP5 PUSH2 0x1BFE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1CD0 JUMPI DUP2 SWAP3 SWAP4 SWAP5 PUSH1 0x0 SWAP3 PUSH2 0x1CC5 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE JUMP JUMPDEST ADD CALLDATALOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x1C92 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP5 PUSH2 0x1D03 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 DUP1 JUMPDEST DUP8 DUP2 LT PUSH2 0x1D5C JUMPI POP DUP4 PUSH1 0x1 SWAP6 SWAP7 SWAP8 LT PUSH2 0x1D24 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x1D1A JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP7 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP5 ADD SWAP2 ADD PUSH2 0x1D06 JUMP JUMPDEST PUSH2 0x1D7C PUSH2 0x58B JUMP JUMPDEST PUSH2 0x1C65 JUMP JUMPDEST PUSH1 0x1F DUP3 PUSH1 0x20 SWAP5 SWAP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP4 DUP2 DUP7 MSTORE DUP7 DUP7 ADD CALLDATACOPY PUSH1 0x0 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST SWAP4 SWAP3 PUSH1 0x60 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 PUSH2 0x1DFA SWAP4 SWAP9 SWAP8 SWAP9 DUP8 MSTORE PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x80 PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x80 DUP7 ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST SWAP5 AND SWAP2 ADD MSTORE JUMP JUMPDEST ISZERO PUSH2 0x1E08 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5245454E5452414E435900000000000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP1 SWAP4 PUSH2 0x1E78 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x1E90 DUP5 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x1E9C CALLER DUP8 DUP6 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1EA4 PUSH2 0x206C JUMP JUMPDEST SWAP6 PUSH2 0x1ECD PUSH2 0x1EB2 DUP7 MLOAD PUSH2 0x1B4B JUMP JUMPDEST MLOAD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x1EEF PUSH2 0x27E DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x1F19 PUSH2 0x1EB2 DUP8 MLOAD PUSH2 0x1B61 JUMP JUMPDEST DUP3 PUSH2 0x1F3E PUSH2 0x27E PUSH1 0x3 DUP10 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x2042 JUMPI PUSH1 0x20 DUP1 SWAP2 ADD CALLDATALOAD SWAP8 ADD SWAP3 PUSH2 0x1F59 DUP5 MLOAD DUP10 PUSH2 0x2B70 JUMP JUMPDEST SWAP2 PUSH32 0x0 AND DUP1 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x1FDF SWAP7 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x1FC6 PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0xEDD9444B00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x210A JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x2035 JUMPI JUMPDEST PUSH2 0x201C JUMPI JUMPDEST POP PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD JUMPDEST SUB SWAP1 LOG3 PUSH2 0x69A PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x202F SWAP3 PUSH2 0x638 JUMP JUMPDEST DUP1 PUSH2 0x350 JUMP JUMPDEST CODESIZE PUSH2 0x1FD6 JUMP JUMPDEST PUSH2 0x203D PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x1FD1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x2079 DUP3 PUSH2 0x5E4 JUMP JUMPDEST DUP2 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND DUP4 MSTORE PUSH1 0x4 SLOAD PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x5 SLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x20C9 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 DUP3 PUSH1 0x40 DUP3 PUSH2 0x20FE PUSH1 0x1 SWAP5 DUP10 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 ADD PUSH2 0x20BB JUMP JUMPDEST SWAP1 SWAP6 SWAP5 SWAP3 SWAP4 SWAP2 PUSH1 0x80 DUP3 MSTORE PUSH1 0xE0 DUP3 ADD SWAP7 DUP1 MLOAD SWAP1 PUSH1 0x60 PUSH1 0x80 DUP6 ADD MSTORE DUP2 MLOAD DUP1 SWAP10 MSTORE PUSH2 0x100 DUP5 ADD SWAP9 PUSH1 0x20 DUP1 SWAP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x2199 JUMPI POP POP POP SWAP8 PUSH2 0x218C SWAP3 DUP3 PUSH1 0x40 DUP12 PUSH2 0x216D SWAP6 PUSH2 0x1BA0 SWAP13 SWAP14 ADD MLOAD PUSH1 0xA0 DUP10 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP8 ADD MSTORE DUP6 DUP4 SUB SWAP1 DUP7 ADD MSTORE PUSH2 0x20A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP6 AND PUSH1 0x40 DUP4 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 DUP6 SUB SWAP2 ADD MSTORE PUSH2 0x1D81 JUMP JUMPDEST SWAP1 SWAP2 SWAP11 DUP5 PUSH1 0x40 DUP3 PUSH2 0x21CE DUP16 SWAP5 PUSH1 0x1 SWAP6 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP13 ADD SWAP3 SWAP2 ADD PUSH2 0x2137 JUMP JUMPDEST POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x226F PUSH1 0x20 DUP1 DUP7 ADD SWAP6 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH2 0x2257 DUP2 PUSH2 0x1192 DUP7 DUP10 DUP10 PUSH1 0x24 DUP6 ADD PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 SWAP5 PUSH1 0x60 DUP3 ADD SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP4 MSTORE AND PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x0 SWAP7 DUP8 SWAP2 MLOAD SWAP1 DUP3 DUP11 GAS CALL DUP6 MLOAD PUSH1 0x1 EQ RETURNDATASIZE ISZERO OR AND ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x227B JUMPI JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2284 SWAP1 PUSH2 0x233D JUMP JUMPDEST SWAP4 PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 SWAP2 DUP3 EXTCODESIZE ISZERO PUSH2 0x2339 JUMPI PUSH1 0x40 MLOAD PUSH32 0x36C7851600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP4 DUP2 AND PUSH1 0x24 DUP6 ADD MSTORE SWAP5 DUP6 AND PUSH1 0x44 DUP5 ADD MSTORE SWAP1 SWAP4 AND PUSH1 0x64 DUP3 ADD MSTORE SWAP2 DUP3 SWAP1 PUSH1 0x84 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x232C JUMPI JUMPDEST PUSH2 0x2319 JUMPI JUMPDEST DUP1 DUP1 DUP1 DUP1 PUSH2 0x2274 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x2326 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x2310 JUMP JUMPDEST PUSH2 0x2334 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x230B JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x235E JUMPI AND SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC4BD89A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x2399 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x23B1 DUP4 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP4 PUSH2 0x23BB DUP6 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x23CF PUSH2 0x1A6 PUSH2 0x23C9 PUSH2 0x1B94 JUMP JUMPDEST DUP8 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x240A PUSH2 0x1614 PUSH2 0x23E1 PUSH2 0x1B94 JUMP JUMPDEST PUSH1 0x8 DUP9 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 DUP3 ADD SWAP2 PUSH1 0x2 DUP4 MLOAD PUSH2 0x241D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2426 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x20 ADD SWAP6 DUP7 MLOAD SWAP7 PUSH1 0x44 CALLDATALOAD DUP1 SWAP9 GT PUSH2 0x25BB JUMPI PUSH2 0x2447 SWAP1 MLOAD DUP9 PUSH2 0x25E5 JUMP JUMPDEST SWAP4 PUSH2 0x2468 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 MLOAD AND SWAP1 JUMP JUMPDEST SWAP5 PUSH2 0x248D PUSH2 0x27E PUSH1 0x3 DUP6 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP8 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x24B2 PUSH2 0x69C JUMP JUMPDEST ADDRESS DUP2 MSTORE SWAP1 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH32 0x0 AND SWAP7 DUP8 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 SWAP8 PUSH2 0x2577 SWAP6 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x254B PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x25FA JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x25AE JUMPI JUMPDEST PUSH2 0x259B JUMPI JUMPDEST POP DUP3 MLOAD SWAP1 PUSH2 0x2568 DUP3 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2571 CALLDATASIZE PUSH2 0x74B JUMP JUMPDEST SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH2 0x200F PUSH2 0x2582 PUSH2 0x1B94 JUMP JUMPDEST SWAP2 MLOAD PUSH2 0x258D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 AND SWAP7 DUP4 PUSH2 0x26A1 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x25A8 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x255B JUMP JUMPDEST PUSH2 0x25B6 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x2556 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC52E3EFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x1A2F JUMP JUMPDEST SWAP2 SWAP3 PUSH2 0x267F PUSH2 0x1BA0 SWAP7 SWAP5 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 PUSH2 0x2647 DUP8 DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD DUP9 DUP5 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x60 DUP8 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP8 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE JUMP JUMPDEST AND PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x100 SWAP1 DUP2 PUSH1 0xE0 DUP3 ADD MSTORE ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST PUSH2 0x1BA0 SWAP1 CALLDATASIZE SWAP1 PUSH2 0x79B JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP2 ADD SWAP3 SWAP2 PUSH2 0x69A SWAP2 PUSH1 0x20 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x26EF JUMPI JUMPDEST PUSH1 0xFF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP4 SLOAD AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x26F7 PUSH2 0x952 JUMP JUMPDEST PUSH2 0x26C2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 PUSH1 0x44 SWAP3 PUSH1 0x20 SWAP6 PUSH1 0x40 MLOAD SWAP4 PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x276A JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F4641494C45440000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x27D9 JUMPI JUMPDEST PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x27E1 PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x27D2 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO PUSH2 0x2817 JUMPI PUSH1 0x5 DUP3 ADD SLOAD LT ISZERO PUSH2 0x2811 JUMPI PUSH1 0x6 ADD SLOAD PUSH1 0xFF AND PUSH2 0x280C JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST POP PUSH1 0x2 SWAP1 JUMP JUMPDEST POP PUSH1 0x1 ADD SLOAD PUSH2 0x284A JUMPI PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 SWAP2 DUP3 DUP2 MSTORE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 SWAP3 PUSH1 0x5 SHL DUP1 SWAP3 DUP5 DUP4 ADD CALLDATACOPY ADD ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 MSTORE PUSH1 0x40 PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD PUSH2 0x28B7 DUP2 PUSH2 0x6DD JUMP JUMPDEST AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP3 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0xE JUMPI ADD PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI DUP1 PUSH1 0x5 SHL CALLDATASIZE SUB DUP3 SGT PUSH2 0xE JUMPI PUSH1 0xA0 DUP4 PUSH1 0x60 PUSH1 0x80 PUSH2 0x1BA0 SWAP7 ADD MSTORE ADD SWAP2 PUSH2 0x284F JUMP JUMPDEST SWAP2 PUSH2 0x2939 DUP4 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x2943 DUP2 DUP5 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x2A23 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2968 PUSH2 0x27E DUP5 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x29F9 JUMPI PUSH1 0x1 PUSH20 0x17C1E395FE81A90AF2D0289A009317D5ACB98F9F SWAP3 ADD SLOAD SWAP1 DUP3 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x29CD SWAP3 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP6 DUP2 SWAP5 DUP3 SWAP4 PUSH32 0xBA5D2C3400000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH2 0x288C JUMP JUMPDEST SUB SWAP2 GAS DELEGATECALL DUP1 ISZERO PUSH2 0x29EC JUMPI JUMPDEST PUSH2 0x29DF JUMPI POP JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x69A SWAP3 PUSH2 0x638 JUMP JUMPDEST PUSH2 0x29F4 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x29D8 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6D9BF6DF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD ISZERO PUSH2 0x2AC6 JUMPI PUSH1 0xFF PUSH1 0x6 DUP3 ADD SLOAD AND PUSH2 0x2A9C JUMPI PUSH2 0x2A6C SWAP1 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x2A72 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B03 JUMPI POP POP SWAP1 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD LT ISZERO SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 PUSH1 0x7 DUP3 ADD SLOAD ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B21 JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH2 0x2B68 PUSH1 0x8 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 SWAP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SLOAD AND SWAP2 AND EQ SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x2B82 DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT PUSH2 0x2BE8 JUMPI POP POP SWAP1 DUP3 SWAP2 PUSH2 0x2BE5 SWAP4 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x2BA7 DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BB8 DUP5 PUSH2 0x1B4B JUMP JUMPDEST MSTORE PUSH2 0x2BC2 DUP4 PUSH2 0x1B4B JUMP JUMPDEST POP MLOAD SWAP1 PUSH2 0x2BCE DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BDF DUP3 PUSH2 0x1B61 JUMP JUMPDEST MSTORE PUSH2 0x1B61 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH2 0x2BF6 DUP2 PUSH2 0x5BB JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH2 0x2B8A JUMP JUMPDEST PUSH1 0x3 PUSH1 0x60 PUSH2 0x69A SWAP4 PUSH2 0x2C6E PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 MLOAD AND DUP6 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 DUP6 ADD SSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x2 DUP6 ADD SSTORE ADD MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI JUMPDEST ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x2C9D PUSH2 0x952 JUMP JUMPDEST PUSH2 0x2C8F JUMP JUMPDEST SWAP2 PUSH1 0x4 SWAP1 PUSH2 0x2D88 PUSH2 0x2D93 SWAP4 PUSH1 0x7 DUP7 ADD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 PUSH2 0x2CEF DUP3 DUP5 MLOAD AND SWAP2 DUP1 SLOAD SWAP1 PUSH9 0x10000000000000000 DUP3 LT ISZERO PUSH2 0x2D97 JUMPI JUMPDEST PUSH1 0x1 DUP3 ADD DUP2 SSTORE PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SWAP3 DUP4 SLOAD SWAP2 PUSH1 0x3 SHL SWAP1 DUP2 SHL SWAP3 DUP4 SWAP2 SHL AND SWAP2 NOT AND OR SWAP1 SSTORE PUSH2 0x2D83 PUSH2 0x23E1 PUSH2 0x2D29 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x20 DUP2 ADD SWAP6 DUP7 MLOAD PUSH2 0x2D58 PUSH2 0x2D3C PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP8 AND DUP8 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP6 ADD MSTORE MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2C0A JUMP JUMPDEST MLOAD SWAP3 ADD SWAP2 DUP3 SLOAD PUSH2 0x270A JUMP JUMPDEST SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x2D9F PUSH2 0x58B JUMP JUMPDEST PUSH2 0x2CE4 JUMP JUMPDEST SWAP1 PUSH1 0x3 PUSH1 0x8 PUSH2 0x69A SWAP4 ADD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 PUSH2 0x2DF2 DUP5 DUP4 MLOAD AND DUP3 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x2E9F DUP6 DUP5 MLOAD AND SWAP6 PUSH2 0x2E5B PUSH1 0x2 PUSH1 0x20 DUP8 ADD MLOAD SWAP5 ADD SLOAD SWAP5 PUSH1 0x40 MLOAD SWAP9 PUSH2 0x2E15 DUP11 PUSH2 0x61C JUMP JUMPDEST DUP10 MSTORE PUSH1 0x20 DUP10 ADD SWAP5 DUP6 MSTORE PUSH1 0x40 DUP10 ADD SWAP6 DUP7 MSTORE DUP3 PUSH1 0x60 DUP11 ADD SWAP8 PUSH2 0x2E35 DUP10 PUSH1 0x2 SWAP1 MSTORE JUMP JUMPDEST MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP7 MLOAD AND DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST MLOAD PUSH1 0x1 DUP6 ADD SSTORE MLOAD PUSH1 0x2 DUP5 ADD SSTORE MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x69A SWAP3 PUSH1 0x8 PUSH1 0x3 SWAP3 ADD SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2E9F PUSH2 0x2F0C DUP3 DUP5 MLOAD AND DUP8 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x2E5B DUP2 DUP6 MLOAD AND SWAP8 DUP3 PUSH1 0x2 PUSH1 0x20 DUP9 ADD MLOAD SWAP7 ADD SLOAD SWAP7 PUSH1 0x40 MLOAD SWAP11 PUSH2 0x2F2E DUP13 PUSH2 0x61C JUMP JUMPDEST DUP12 MSTORE PUSH1 0x20 DUP12 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP12 ADD SWAP8 DUP9 MSTORE PUSH2 0x2E35 PUSH1 0x60 DUP13 ADD SWAP10 DUP11 PUSH2 0x1AEF JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 ADDRESS MUL 0x5E 0xB7 STATICCALL 0xEE GT JUMPDEST SWAP3 PUSH11 0xE2DACAC846043B74762EAB CALLCODE XOR 0xD7 0xAF PUSH9 0x7E916F583764736F6C PUSH4 0x43000811 STOP CALLER ", + "sourceMap": "2476:16065:40:-:0;;;;;;;;;-1:-1:-1;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;10838:13;;2476:16065;;10838:9;2476:16065;;;;;;;10838:13;10873:10;;;:::i;:::-;10898:43;10899:42;10930:10;10899:42;;:::i;:::-;10898:43;;2476:16065;10898:43;10894:75;;11211:4;2476:16065;11377:14;2476:16065;;:::i;:::-;10930:10;11057:31;10930:10;11057:19;;;2476:16065;;;;;;;;;;;;11057:31;11123:16;11295:1;11123:16;;;11189:26;10838:9;2476:16065;;11189:19;;11211:4;2476:16065;;;;;;;;11189:26;11225:41;11011:8;11225:15;;2476:16065;;;;;;;;;11225:41;2476:16065;;11358:17;11336:20;2476:16065;;;;;;;;;;;;11336:20;11358:17;;2476:16065;;;;;;11377:14;;:::i;:::-;11449:16;2476:16065;;11408:83;11358:17;2476:16065;10930:10;11408:83;10930:10;11408:83;;2476:16065;;;;;;;;;;;;;;;11408:83;;;;10930:10;11506:33;;11295:1;11506:33;;2476:16065;10894:75;2476:16065;;;10950:19;;;;2476:16065;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;2689:32;2476:16065;;;;;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;504:34:34;522:1;512:6;2476:16065:40;512:11:34;504:34;:::i;:::-;512:6;2476:16065:40;;11760:13;;2476:16065;;10838:9;2476:16065;;;;;;;11760:13;2476:16065;;:::i;:::-;11838:24;11837:25;11838:24;;;:::i;11837:25::-;11833:61;;11908:43;11909:42;11940:10;11909:42;;:::i;11908:43::-;11904:75;;12459:15;11940:10;12370:15;12018:31;11940:10;12018:19;;;2476:16065;;;;;;;;;;;;12018:31;522:1:34;12085:16:40;;2476:16065;12251:42;11814:8;2476:16065;;12137:16;11295:1;512:6:34;12137:16:40;;2476:16065;;;;;;12251:15;11814:8;2476:16065;;;;;;;;12251:42;12333:23;2476:16065;11814:8;11940:10;12339:16;;2476:16065;;;;;12333:23;12370:15;:::i;:::-;12425:20;2476:16065;11940:10;2476:16065;;;;;;12459:15;2476:16065;;11940:10;12491:69;11940:10;12491:69;;;;2476:16065;11814:8;2476:16065;;;;;12210:1;2476:16065;;;;;12491:69;;;;582:10:34;522:1;512:6;2476:16065:40;;582:10:34;2476:16065:40;11833:61;2476:16065;;;11871:23;;;;2476:16065;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2476:16065:40;;;-1:-1:-1;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;6672:1039;2476:16065;;;;;;:::i;:::-;;;;;;6672:1039;:::i;2476:16065::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;2776:29;2476:16065;;;;;;2776:29;2476:16065;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2476:16065:40;;;;;-1:-1:-1;2476:16065:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3395:13;2476:16065;;;;10838:9;2476:16065;;;;;;;3395:13;3426:230;2476:16065;;3487:19;;;;2476:16065;3556:16;3426:230;2476:16065;3556:16;;;2476:16065;;;;;;;3520:22;2476:16065;3586:18;;2476:16065;3618:28;;;;:::i;:::-;2476:16065;;;:::i;:::-;;;;;3426:230;;2476:16065;3520:22;2476:16065;:::i;:::-;;3426:230;;2476:16065;;;;3426:230;;2476:16065;;3426:230;2476:16065;3426:230;;2476:16065;;3426:230;;;:::i;:::-;2476:16065;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13196:24;2476:16065;13210:10;2476:16065;;;;;13196:24;:10;:24;13192:53;;13287:13;;2476:16065;;10838:9;2476:16065;;;;;;;13287:13;13315:19;13314:20;2476:16065;;13315:19;;2476:16065;;;;;13314:20;13310:55;;13379:24;;;:::i;:::-;13375:59;;-1:-1:-1;13550:16:40;;;;2476:16065;;;13531:42;;13527:85;;13627:13;13642:19;;;;;;14200:18;;;;;;2476:16065;14186:32;14182:73;;14297:24;;;;2476:16065;14354:22;-1:-1:-1;14354:22:40;;2476:16065;14182:73;2476:16065;14227:28;;;;13663:3;2476:16065;13752:19;;;;:::i;:::-;2476:16065;;;;;;;;;;;13752:42;13775:19;:13;;;;;:::i;:::-;:19;:::i;13752:42::-;2476:16065;;;;13752:42;13748:85;;13876:13;;;13985:176;13663:3;13876:13;13848:68;;13876:13;;;;;:::i;:::-;13848:68;:::i;:::-;;;:::i;:::-;13930:35;13944:21;:13;;;;;;;:::i;:::-;:21;2476:16065;13930:35;;:::i;:::-;14047:13;14084;14047;:19;:13;;;;;:::i;:19::-;14084:13;;;:::i;:::-;2476:16065;;14084:21;;2476:16065;;;10244:24;2476:16065;;;;;;;;;13985:176;13663:3;:::i;:::-;13627:13;;13748:85;2476:16065;;;13803:30;;;;13527:85;2476:16065;;;;13582:30;;;;13375:59;2476:16065;;13412:22;;;;13310:55;2476:16065;;13343:22;;;;13192:53;2476:16065;13229:16;;;;2476:16065;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;8575:1347;2476:16065;;;;;;:::i;:::-;;;;8575:1347;:::i;2476:16065::-;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;362:25:39;2476:16065:40;;;;;;;;;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;10057:13;;2476:16065;;10838:9;2476:16065;;;;;;;10057:13;10092:10;;;:::i;:::-;10117:43;10118:42;10149:10;10118:42;;:::i;10117:43::-;10113:75;;10202:19;;;10149:10;10244:24;10202:38;;:31;10149:10;10202:31;2476:16065;;;;;;;;;;;;10202:31;:38;2476:16065;;;;;10202:38;2476:16065;;;:::i;:::-;10202:66;10198:127;;10438:1;10533:31;10635:24;10149:10;10335:65;10202:38;10335:31;10149:10;10335:31;2476:16065;;;;;;;;;;;;10335:31;:38;10244:24;2476:16065;;;;;;;;10335:65;10410:24;;;:29;2476:16065;;10410:29;:::i;:::-;2476:16065;;10149:10;2476:16065;;;;;;;;;;;10533:31;:39;2476:16065;;10455:165;2476:16065;;10149:10;10455:165;10149:10;10455:165;;2476:16065;10244:24;2476:16065;;;;;;;;;;;;;10455:165;;;;10635:24;:::i;:::-;10631:57;;2476:16065;10631:57;10666:22;-1:-1:-1;10666:22:40;;2476:16065;10198:127;2476:16065;;;10291:23;;;;2476:16065;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;5991:15;;2476:16065;5991:20;;;5987:50;;2476:16065;;6082:4;2476:16065;6063:49;;2476:16065;;;;;;;;;;;;;;;;;;;6063:49;2476:16065;;;;6063:49;;;;;;;;;:::i;:::-;2476:16065;6053:60;;6156:13;;;2476:16065;;10838:9;2476:16065;;;;;;;6156:13;6184:21;;;;2476:16065;;6180:65;;2476:16065;6597:12;6565:18;2476:16065;;;;;;;6460:159;2476:16065;;;6460:159;2476:16065;;;6411:33;6432:12;6383:18;;;;2476:16065;6383:18;;;;:::i;:::-;6356:24;;;;2476:16065;:::i;:::-;6432:12;;6411:18;6432:12;;;:::i;:::-;6411:18;;2476:16065;;;;;;;;;;;6411:33;6565:18;:::i;:::-;6597:12;;;;:::i;:::-;2476:16065;;;6460:159;;;;;:::i;:::-;;;;2476:16065;;;;;;;;;;;;6180:65;2476:16065;;;6219:26;;;;5987:50;2476:16065;;;6020:17;;;;2476:16065;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;504:34:34;522:1;512:6;2476:16065:40;512:11:34;504:34;:::i;:::-;512:6;2476:16065:40;;;-1:-1:-1;2476:16065:40;7930:9;2476:16065;;8365:14;2476:16065;-1:-1:-1;2476:16065:40;7994:10;;;;;:::i;:::-;2476:16065;;:::i;:::-;;;8176:14;;2476:16065;;;;8176:14;;2476:16065;;;8169:4;;7994:10;;8176:14;;:::i;:::-;8266:16;2476:16065;8201:23;2476:16065;8047:8;8207:16;;2476:16065;;;;;8201:23;8266:16;;2476:16065;8169:4;;;7994:10;;8266:16;;:::i;:::-;2476:16065;;:::i;:::-;7994:10;2476:16065;;7994:10;8319:44;2476:16065;8319:44;;2476:16065;;8365:14;;:::i;:::-;2476:16065;;;;;7994:10;;8396:49;;2476:16065;;;;8396:49;2476:16065;;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;2476:16065:40;;662:10:51;:19;658:46;;2476:16065:40;;;798:26:39;2476:16065:40;;;798:26:39;2476:16065:40;840:37:39;-1:-1:-1;840:37:39;;2476:16065:40;658:46:51;2476:16065:40;;;690:14:51;;;;2476:16065:40;;-1:-1:-1;2476:16065:40;;;:::o;:::-;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;2476:16065:40;;;;;3988:13;2476:16065;;;;10838:9;2476:16065;;;;;;;3988:13;4033:16;;;2476:16065;;;4100:31;;;;:::i;:::-;4147:13;4274:19;-1:-1:-1;4274:19:40;;4142:357;4162:15;;;;;;4425:16;2476:16065;;;;;;:::i;4179:3::-;4214:19;2476:16065;4274:26;2476:16065;4214:19;4179:3;4214:19;;;:::i;2476:16065::-;4274:26;2476:16065;;;;;;;;;;;;4274:26;2476:16065;:::i;:::-;4329:159;2476:16065;;;;;;;;4391:16;;;;2476:16065;4425:16;;;;;2476:16065;4459:15;;;;;2476:16065;;;;;:::i;:::-;4329:159;2476:16065;;:::i;:::-;;;;;;;;4329:159;;;;2476:16065;4329:159;;2476:16065;4329:159;;;:::i;:::-;4314:174;;;;:::i;:::-;;;;;;:::i;:::-;;4179:3;:::i;:::-;4147:13;;2476:16065;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;-1:-1:-1;2476:16065:40;;662:10:51;:19;658:46;;2476:16065:40;;;;;;;;;:::i;:::-;;;;5141:20;2476:16065;;;5141:20;2476:16065;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5211:35;-1:-1:-1;5211:35:40;;2476:16065;;;;;;;-1:-1:-1;;2476:16065:40;;;;;;;;;;:::i;:::-;-1:-1:-1;2476:16065:40;;;;;;;662:10:51;:19;658:46;;2476:16065:40;;;;;;;;;;662:10:51;1068:42;;;;2476:16065:40;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2476:16065:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;2476:16065:40;;;;-1:-1:-1;2476:16065:40;;-1:-1:-1;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;2476:16065:40;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;2476:16065:40;;;-1:-1:-1;2476:16065:40;;;;-1:-1:-1;2476:16065:40;;;;-1:-1:-1;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2476:16065:40;;-1:-1:-1;2476:16065:40;;;-1:-1:-1;2476:16065:40;:::o;:::-;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;;;522:1:34;2476:16065:40;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;-1:-1:-1;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;2476:16065:40;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;2476:16065:40;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;462:137:34;;;;;504:34;522:1;512:6;2476:16065:40;512:11:34;504:34;:::i;:::-;512:6;2476:16065:40;;6937:13;;2476:16065;;10838:9;2476:16065;;;;;;;6937:13;7001:10;;;;;;:::i;:::-;2476:16065;;:::i;:::-;7139:16;:25;:19;:16;;:19;:::i;:::-;;2476:16065;;;;;7139:25;2476:16065;7139:42;2476:16065;;;;;;;7139:42;2476:16065;;;;7139:42;7135:70;;7219:25;:19;:16;;:19;:::i;:25::-;7248:16;7219:45;2476:16065;7054:8;7248:16;;2476:16065;;;;;7219:45;2476:16065;;7219:45;7215:73;;7403:16;;;;2476:16065;7433:14;;2476:16065;7369:88;2476:16065;;7369:88;;:::i;:::-;7468:7;;2476:16065;7468:74;;;;;7624:14;2476:16065;-1:-1:-1;2476:16065:40;;7468:74;2476:16065;;7468:74;;;;;;;2476:16065;7468:74;;7001:10;7468:74;;;;;:::i;:::-;;;;;;;;;462:137:34;7468:74:40;;462:137:34;2476:16065:40;;;:::i;7624:14::-;2476:16065;;;;;7001:10;;7655:49;;2476:16065;;;;7655:49;;;;582:10:34;522:1;512:6;2476:16065:40;;7468:74;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;:::i;:::-;;;7215:73;7273:15;2476:16065;;7273:15;;;;2476:16065;;;;;;;:::i;:::-;;;;;11011:8;2476:16065;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;2476:16065:40;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1545:1272:28;;;;2476:16065:40;;1730:54:28;2734:8;1730:54;;;;;;;;;;;;;;;;;2476:16065:40;;;;;;;;;;;;;;;;;;;;;;;;1730:54:28;-1:-1:-1;1887:733:28;;;;;;;;;;;;;;;;;2734:8;;2476:16065:40;2734:8:28;2730:80;;1545:1272;;;;;;:::o;2730:80::-;2775:18;;;:::i;:::-;1238:42;;2744:66;;;;;;2476:16065:40;;;2744:66:28;;2476:16065:40;;;;1730:54:28;2744:66;;2476:16065:40;;;;1222:60:28;;;2476:16065:40;;;;1222:60:28;;;2476:16065:40;;;;1222:60:28;;;2476:16065:40;;;;1222:60:28;;2476:16065:40;;;;2744:66:28;;;;;;2730:80;2744:66;;2730:80;;;;;;;2744:66;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;2476:16065:40;;;288:164:30;2476:16065:40;368:25:30;;;;364:50;;2476:16065:40;288:164:30;:::o;364:50::-;402:12;2476:16065:40;;402:12:30;;;;462:137:34;;;;504:34;522:1;512:6;2476:16065:40;512:11:34;504:34;:::i;:::-;512:6;2476:16065:40;;8837:13;;2476:16065;;10838:9;2476:16065;;;;;;;8837:13;8872:10;;;;:::i;:::-;8897:50;8898:49;8929:17;;:::i;:::-;8898:49;;:::i;8897:50::-;8893:82;;2476:16065;9017:38;9037:17;;:::i;:::-;9017:19;;;2476:16065;;;;;;;;;;;;;9069:19;;;;2476:16065;512:6:34;2476:16065:40;;;;;:::i;:::-;;;;:::i;:::-;9069:47;9065:83;;9162:20;;2476:16065;;;;9185:19;2476:16065;9162:42;;;9158:71;;9254:42;2476:16065;;9254:42;;:::i;:::-;9373:16;:22;:16;;2476:16065;;;;;;9373:22;9399:16;9373:42;2476:16065;9399:16;;;2476:16065;;;;;9373:42;2476:16065;;;;9373:42;9369:70;;2476:16065;;:::i;:::-;9583:4;2476:16065;;9583:4;9162:20;9518:77;;2476:16065;9606:7;;2476:16065;9606:74;;;;;;9768:147;2476:16065;9691:61;2476:16065;-1:-1:-1;2476:16065:40;;9606:74;2476:16065;;9606:74;;;;;;;2476:16065;9606:74;;9658:10;9606:74;;;;;:::i;:::-;;;;;;;;;462:137:34;9606:74:40;;462:137:34;2476:16065:40;;;;;;;:::i;:::-;;;;:::i;:::-;9691:61;;:::i;:::-;9768:147;9822:17;;:::i;:::-;2476:16065;;;;;:::i;:::-;;;;;;;9768:147;;;:::i;9606:74::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;9158:71;9213:16;2476:16065;;9213:16;;;;2476:16065;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;;;10438:1;2476:16065;;;;;;;:::o;:::-;;;;;;;;;;:::o;2950:1499:35:-;-1:-1:-1;2950:1499:35;;3128:1269;2950:1499;3128:1269;2950:1499;3128:1269;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3128:1269:35;;;;;2476:16065:40;;;2950:1499:35:o;2476:16065:40:-;;3128:1269:35;2476:16065:40;;;;3128:1269:35;;2476:16065:40;;;;3128:1269:35;2476:16065:40;;;;3128:1269:35;2476:16065:40;;;;;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;14683:577;14815:16;;;2476:16065;14815:27;;;;14862:24;;;2476:16065;14862:51;;14858:122;;14997:19;;2476:16065;;;14993:56;;15090:23;15083:30;:::o;14993:56::-;15025:24;15018:31;:::o;14858:122::-;14933:32;14940:25;14933:32;:::o;14811:404::-;15134:19;;;2476:16065;15130:85;;15231:22;2476:16065;;15231:22;;;;15130:85;2476:16065;15174:30;:::o;2476:16065::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;15322:421::-;;15495:10;;;:::i;:::-;15520:37;;;;:::i;:::-;15516:70;;2476:16065;15600:25;15609:16;;;:::i;15600:25::-;2476:16065;;15600:25;15596:55;;15705:19;15661:18;15705:19;;2476:16065;15661:75;;;;;;;2476:16065;-1:-1:-1;2476:16065:40;;;15661:75;;;;;;2476:16065;15661:75;;;;;;:::i;:::-;;;;;;;;;15322:421;15661:75;;15322:421;:::o;15661:75::-;;;;;;:::i;:::-;;;:::i;:::-;;;15596:55;15634:17;2476:16065;;15634:17;;;;15516:70;15566:20;2476:16065;;15566:20;;;;15819:272;15897:19;;;2476:16065;15897:24;15893:59;;2476:16065;15966:19;;;2476:16065;;15962:53;;16029:24;;;:::i;:::-;16025:59;;15819:272::o;16025:59::-;16062:22;2476:16065;;16062:22;;;;15962:53;15994:21;2476:16065;;15994:21;;;;15893:59;15930:22;2476:16065;;15930:22;;;;16342:189;16441:16;;;2476:16065;16441:27;;;:82;;;;16433:91;;16342:189;:::o;16441:82::-;16472:24;;2476:16065;16472:51;;;16342:189;-1:-1:-1;16342:189:40:o;16766:232::-;;16911:16;;;2476:16065;16911:27;;16910:80;;;;16902:89;;16766:232;:::o;16910:80::-;2476:16065;;;16944:28;:19;2476:16065;;16944:19;;;;2476:16065;;;;;;;;;;;;16944:28;2476:16065;;;;16944:45;16766:232;:::o;17190:468::-;;;;2476:16065;;;;;;;;:::i;:::-;17450:1;2476:16065;;-1:-1:-1;2476:16065:40;;;;;;;17382:70;;;;;17560:91;17382:70;2476:16065;;;;;;;:::i;:::-;17535:4;2476:16065;;;17483:67;;2476:16065;17462:88;;;:::i;:::-;;;;;:::i;:::-;;2476:16065;;;;;:::i;:::-;17535:4;2476:16065;;;17581:70;;2476:16065;17560:91;;;:::i;:::-;;;:::i;:::-;;17190:468::o;2476:16065::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;17664:476;;18095:18;17664:476;2476:16065;18095:38;17664:476;17868:16;;;2476:16065;;;;;;;;;;;;;;;;;17664:476;2476:16065;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;17915:35;2476:16065;;;;;;;;;18003:16;;;;2476:16065;;;17953:132;2476:16065;;:::i;:::-;;;;;;;;17953:132;18003:16;17953:132;;2476:16065;17953:132;;;2476:16065;;17953:132;;;2476:16065;;;;;;17915:35;2476:16065;:::i;:::-;;18095:18;;2476:16065;;;18095:38;:::i;:::-;2476:16065;;17664:476::o;2476:16065::-;;;:::i;:::-;;;18146:393;;2476:16065;18331:19;2476:16065;18146:393;18331:19;2476:16065;;;18331:33;2476:16065;;;;18331:33;2476:16065;;;;;;;;;;;;18331:33;2476:16065;;;;;18458:14;18374:33;13891:24;18458:14;;;2476:16065;18486:16;;2476:16065;;;;;;;;:::i;:::-;;;18458:14;18410:122;;2476:16065;;;;18410:122;;2476:16065;;;18410:122;;;;;;;13891:24;2476:16065;;;18410:122;2476:16065;;;;;;;;;;;;;18374:33;2476:16065;;;;;;;;;;;;;;;;;;;;;;13891:24;2476:16065;;;;;;;;;;;;;:::i;18146:393::-;2476:16065;18146:393;18331:19;2476:16065;18146:393;18331:19;2476:16065;;;18331:33;2476:16065;;;;18331:33;2476:16065;;;;;;;;;;;;18331:33;2476:16065;18374:33;2476:16065;;;;18458:14;;18486:16;18458:14;;;2476:16065;18486:16;;2476:16065;;;;;;;;:::i;:::-;;;18458:14;18410:122;;2476:16065;;;;18410:122;;2476:16065;;;18410:122;;;;;;;:::i", + "linkReferences": {}, + "immutableReferences": { + "31330": [ + { + "start": 905, + "length": 32 + }, + { + "start": 8028, + "length": 32 + }, + { + "start": 9406, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "adjustPosition(bytes32,(address,uint256),((address,uint256),uint256,uint256),bytes)": "5541e684", + "agreementData(bytes32)": "33099405", + "agreementPositions(bytes32)": "ac41b751", + "arbitrator()": "6cc6cde1", + "createAgreement((bytes32,uint256,string,address),bytes32)": "8f34a859", + "deposits()": "323a5e0b", + "disputeAgreement(bytes32)": "061ab0bc", + "finalizeAgreement(bytes32)": "8135fe23", + "joinAgreement(bytes32,(address,uint256,bytes32[]),((address,uint256)[],uint256,uint256),bytes)": "1bd747a2", + "joinAgreementApproved(bytes32,(address,uint256,bytes32[]))": "a37ee28c", + "owner()": "8da5cb5b", + "permit2()": "12261ee7", + "setUp(address,(address,uint256,address))": "af0f9df3", + "settleDispute(bytes32,(address,uint256)[])": "3d3e73d7", + "transferArbitration(address)": "ab4f5678", + "transferOwnership(address)": "f2fde38b", + "withdrawFromAgreement(bytes32)": "186799a4" + } + } + } + }, + "src/interfaces/IAgreementFramework.sol": { + "IAgreementFramework": { + "abi": [ + { + "type": "function", + "name": "adjustPosition", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "newPosition", + "type": "tuple", + "internalType": "struct PositionParams", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "arbitrator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "disputeAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "finalizeAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "joinAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "resolver", + "type": "tuple", + "internalType": "struct CriteriaResolver", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ] + }, + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitBatchTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple[]", + "internalType": "struct ISignatureTransfer.TokenPermissions[]", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "joinAgreementApproved", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "resolver", + "type": "tuple", + "internalType": "struct CriteriaResolver", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "settleDispute", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawFromAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AgreementCreated", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "termsHash", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "criteria", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "metadataURI", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "token", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementDisputed", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "party", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementFinalized", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementJoined", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "party", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AgreementPositionUpdated", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "party", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "status", + "type": "uint8", + "indexed": false, + "internalType": "enum PositionStatus" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"termsHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"criteria\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"AgreementCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"}],\"name\":\"AgreementDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"AgreementFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"name\":\"AgreementJoined\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum PositionStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"AgreementPositionUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams\",\"name\":\"newPosition\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"adjustPosition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbitrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"disputeAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"finalizeAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CriteriaResolver\",\"name\":\"resolver\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions[]\",\"name\":\"permitted\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitBatchTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"joinAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CriteriaResolver\",\"name\":\"resolver\",\"type\":\"tuple\"}],\"name\":\"joinAgreementApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"}],\"name\":\"settleDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"withdrawFromAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AgreementCreated(bytes32,bytes32,uint256,string,address)\":{\"details\":\"Raised when a new agreement is created.\",\"params\":{\"criteria\":\"Criteria requirements to join the agreement.\",\"id\":\"Id of the new created agreement.\",\"metadataURI\":\"URI of the metadata of the agreement.\",\"termsHash\":\"Hash of the detailed terms of the agreement.\",\"token\":\"ERC20 token address to use in the agreement.\"}},\"AgreementDisputed(bytes32,address)\":{\"details\":\"Raised when an agreement is in dispute.\",\"params\":{\"id\":\"Id of the agreement in dispute.\",\"party\":\"Address of the party that raises the dispute.\"}},\"AgreementFinalized(bytes32)\":{\"details\":\"Raised when an agreement is finalized.\",\"params\":{\"id\":\"Id of the agreement finalized.\"}},\"AgreementJoined(bytes32,address,uint256)\":{\"details\":\"Raised when a new party joins an agreement.\",\"params\":{\"balance\":\"Balance of the party joined.\",\"id\":\"Id of the agreement joined.\",\"party\":\"Address of party joined.\"}},\"AgreementPositionUpdated(bytes32,address,uint256,uint8)\":{\"details\":\"Raised when an existing party of an agreement updates its position.\",\"params\":{\"balance\":\"New balance of the party.\",\"id\":\"Id of the agreement updated.\",\"party\":\"Address of the party updated.\",\"status\":\"New status of the position.\"}}},\"kind\":\"dev\",\"methods\":{\"adjustPosition(bytes32,(address,uint256),((address,uint256),uint256,uint256),bytes)\":{\"params\":{\"id\":\"Id of the agreement to adjust the position from.\",\"newPosition\":\"Position params to adjust.\",\"permit\":\"Permit2 permit to allow the required token transfers.\",\"signature\":\"Signature of the permit.\"}},\"disputeAgreement(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to dispute.\"}},\"finalizeAgreement(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to settle.\"}},\"joinAgreement(bytes32,(address,uint256,bytes32[]),((address,uint256)[],uint256,uint256),bytes)\":{\"params\":{\"id\":\"Id of the agreement to join.\",\"permit\":\"Permit2 batched permit to allow the required token transfers.\",\"resolver\":\"Criteria data to prove sender can join agreement.\",\"signature\":\"Signature of the permit.\"}},\"joinAgreementApproved(bytes32,(address,uint256,bytes32[]))\":{\"params\":{\"id\":\"Id of the agreement to join.\",\"resolver\":\"Criteria data to prove sender can join agreement.\"}},\"settleDispute(bytes32,(address,uint256)[])\":{\"params\":{\"id\":\"Id of the dispute to settle.\",\"settlement\":\"Array of PositionParams to set as final positions.\"}},\"withdrawFromAgreement(bytes32)\":{\"params\":{\"id\":\"Id of the agreement to withdraw from.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"adjustPosition(bytes32,(address,uint256),((address,uint256),uint256,uint256),bytes)\":{\"notice\":\"Adjust a position part of an agreement.\"},\"arbitrator()\":{\"notice\":\"Address capable of settling disputes.\"},\"disputeAgreement(bytes32)\":{\"notice\":\"Raise a dispute over an agreement.\"},\"finalizeAgreement(bytes32)\":{\"notice\":\"Signal the will of the caller to finalize an agreement.\"},\"joinAgreement(bytes32,(address,uint256,bytes32[]),((address,uint256)[],uint256,uint256),bytes)\":{\"notice\":\"Join an existing agreement with a signed permit.\"},\"joinAgreementApproved(bytes32,(address,uint256,bytes32[]))\":{\"notice\":\"Join an existing agreement with transfers previously approved.\"},\"settleDispute(bytes32,(address,uint256)[])\":{\"notice\":\"Settles the dispute `id` with the provided settlement.\"},\"withdrawFromAgreement(bytes32)\":{\"notice\":\"Withdraw your position from the agreement.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IAgreementFramework.sol\":\"IAgreementFramework\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/CriteriaTypes.sol\":{\"keccak256\":\"0x8c8226c5aac09c8dada8f76dcb15bd55cd8bd871b22a4be3bc6b72db655b6306\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://eabc3ee411827a1060d1d16df120df7c8dcccce5d22625a259cb17aaaad9de32\",\"dweb:/ipfs/QmTLYMEJPjqbL5CPqLyM2UWyroVQzgPf2Wq4iPRAL4qu38\"]},\"src/interfaces/IAgreementFramework.sol\":{\"keccak256\":\"0x1e266838be99cead7ef79276f7183f9937e000a52b0222adde898f4594953608\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d893f37bf07db1f839da8bcdf30cf96c15a63bd7b29a53e2e1bb4e5fff219bb\",\"dweb:/ipfs/QmdvtHe3qCr8Cxw2jtMQFqgRwFoWD2E83thPMHSvKVgVcR\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "adjustPosition(bytes32,(address,uint256),((address,uint256),uint256,uint256),bytes)": "5541e684", + "arbitrator()": "6cc6cde1", + "disputeAgreement(bytes32)": "061ab0bc", + "finalizeAgreement(bytes32)": "8135fe23", + "joinAgreement(bytes32,(address,uint256,bytes32[]),((address,uint256)[],uint256,uint256),bytes)": "1bd747a2", + "joinAgreementApproved(bytes32,(address,uint256,bytes32[]))": "a37ee28c", + "settleDispute(bytes32,(address,uint256)[])": "3d3e73d7", + "withdrawFromAgreement(bytes32)": "186799a4" + } + } + } + }, + "src/interfaces/IArbitrable.sol": { + "IArbitrable": { + "abi": [ + { + "type": "function", + "name": "arbitrator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "settleDispute", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arbitrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"}],\"name\":\"settleDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementers must write the logic to raise and settle disputes.\",\"kind\":\"dev\",\"methods\":{\"settleDispute(bytes32,(address,uint256)[])\":{\"params\":{\"id\":\"Id of the dispute to settle.\",\"settlement\":\"Array of PositionParams to set as final positions.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"arbitrator()\":{\"notice\":\"Address capable of settling disputes.\"},\"settleDispute(bytes32,(address,uint256)[])\":{\"notice\":\"Settles the dispute `id` with the provided settlement.\"}},\"notice\":\"Minimal interface for arbitrable contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IArbitrable.sol\":\"IArbitrable\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "arbitrator()": "6cc6cde1", + "settleDispute(bytes32,(address,uint256)[])": "3d3e73d7" + } + } + } + }, + "src/interfaces/IArbitrator.sol": { + "IArbitrator": { + "abi": [ + { + "type": "function", + "name": "appealResolution", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "permit", + "type": "tuple", + "internalType": "struct ISignatureTransfer.PermitTransferFrom", + "components": [ + { + "name": "permitted", + "type": "tuple", + "internalType": "struct ISignatureTransfer.TokenPermissions", + "components": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "signature", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "endorseResolution", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "executeResolution", + "inputs": [ + { + "name": "framework", + "type": "address", + "internalType": "contract IArbitrable" + }, + { + "name": "dispute", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "submitResolution", + "inputs": [ + { + "name": "framework", + "type": "address", + "internalType": "contract IArbitrable" + }, + { + "name": "dispute", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "metadataURI", + "type": "string", + "internalType": "string" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "ResolutionAppealed", + "inputs": [ + { + "name": "resolution", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResolutionEndorsed", + "inputs": [ + { + "name": "resolution", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResolutionExecuted", + "inputs": [ + { + "name": "resolution", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResolutionSubmitted", + "inputs": [ + { + "name": "framework", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "dispute", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "resolution", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"resolution\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"ResolutionAppealed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"resolution\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"}],\"name\":\"ResolutionEndorsed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"resolution\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"}],\"name\":\"ResolutionExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"framework\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"dispute\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"resolution\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"}],\"name\":\"ResolutionSubmitted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.TokenPermissions\",\"name\":\"permitted\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISignatureTransfer.PermitTransferFrom\",\"name\":\"permit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"appealResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"settlement\",\"type\":\"bytes32\"}],\"name\":\"endorseResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"framework\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"dispute\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"}],\"name\":\"executeResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"framework\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"dispute\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"}],\"name\":\"submitResolution\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ResolutionAppealed(bytes32,bytes32,address)\":{\"details\":\"Raised when a resolution is appealed.\",\"params\":{\"account\":\"Address of the account that appealed.\",\"resolution\":\"Id of the resolution appealed.\",\"settlement\":\"Encoding of the settlement.\"}},\"ResolutionEndorsed(bytes32,bytes32)\":{\"details\":\"Raised when an appealed resolution is endorsed.\",\"params\":{\"resolution\":\"Id of the resolution endorsed.\",\"settlement\":\"Encoding of the settlement.\"}},\"ResolutionExecuted(bytes32,bytes32)\":{\"details\":\"Raised when a resolution is executed.\",\"params\":{\"resolution\":\"Id of the resolution executed.\",\"settlement\":\"Encoding of the settlement.\"}},\"ResolutionSubmitted(address,bytes32,bytes32,bytes32)\":{\"details\":\"Raised when a new resolution is submitted.\",\"params\":{\"dispute\":\"Id of the dispute to resolve.\",\"framework\":\"Address of the framework that manages the dispute.\",\"resolution\":\"Id of the resolution.\",\"settlement\":\"Encoding of the settlement.\"}}},\"kind\":\"dev\",\"methods\":{\"appealResolution(bytes32,(address,uint256)[],((address,uint256),uint256,uint256),bytes)\":{\"params\":{\"id\":\"Identifier of the resolution to appeal.\",\"permit\":\"Permit2 permit to allow the required token transfer.\",\"settlement\":\"Array of final positions in the resolution.\",\"signature\":\"Signature of the permit.\"}},\"endorseResolution(bytes32,bytes32)\":{\"params\":{\"id\":\"Identifier of the resolution to endorse.\",\"settlement\":\"Encoding of the settlement to endorse.\"}},\"executeResolution(address,bytes32,(address,uint256)[])\":{\"params\":{\"dispute\":\"Identifier of the agreement in dispute.\",\"framework\":\"address of the framework of the agreement in dispute.\",\"settlement\":\"Array of final positions in the resolution.\"}},\"submitResolution(address,bytes32,string,(address,uint256)[])\":{\"details\":\"Any new resolution for the same dispute overrides the last one.\",\"params\":{\"dispute\":\"Identifier of the agreement in dispute.\",\"framework\":\"address of the framework of the agreement in dispute.\",\"settlement\":\"Array of final positions in the resolution.\"},\"returns\":{\"_0\":\"Identifier of the resolution submitted.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"appealResolution(bytes32,(address,uint256)[],((address,uint256),uint256,uint256),bytes)\":{\"notice\":\"Appeal a submitted resolution.\"},\"endorseResolution(bytes32,bytes32)\":{\"notice\":\"Endorse a submitted resolution, it overrides any appeal.\"},\"executeResolution(address,bytes32,(address,uint256)[])\":{\"notice\":\"Execute a submitted resolution.\"},\"submitResolution(address,bytes32,string,(address,uint256)[])\":{\"notice\":\"Submit a resolution for a dispute.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IArbitrator.sol\":\"IArbitrator\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]},\"src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0xbb88837c5e5a3dc5e37fb51a7f2a80ca1352fdd5de6234a60953cc01593d675e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c17fb922c53dcadcf751b3cbc1a50257e233aea15b1e3dd2c315b6cfa6836e54\",\"dweb:/ipfs/QmVBcv97Ad31wSw7S5o2yPQZsfJA5RJgRgFfH27PKVNTMw\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "appealResolution(bytes32,(address,uint256)[],((address,uint256),uint256,uint256),bytes)": "41bcf4dc", + "endorseResolution(bytes32,bytes32)": "e44cb37b", + "executeResolution(address,bytes32,(address,uint256)[])": "2f7f204e", + "submitResolution(address,bytes32,string,(address,uint256)[])": "02fd597d" + } + } + } + }, + "src/libraries/CriteriaResolution.sol": { + "CriteriaResolution": { + "abi": [ + { + "type": "function", + "name": "encodeLeaf", + "inputs": [ + { + "name": "resolver", + "type": "tuple", + "internalType": "struct CriteriaResolver", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ] + } + ], + "outputs": [ + { + "name": "leaf", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "validateCriteria", + "inputs": [ + { + "name": "criteria", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "resolver", + "type": "tuple", + "internalType": "struct CriteriaResolver", + "components": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ] + } + ], + "outputs": [], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "verifyProof", + "inputs": [ + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + }, + { + "name": "root", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "leaf", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "isValid", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "InvalidCriteriaProof", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidCriteriaProof\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CriteriaResolver\",\"name\":\"resolver\",\"type\":\"tuple\"}],\"name\":\"encodeLeaf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"leaf\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"criteria\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CriteriaResolver\",\"name\":\"resolver\",\"type\":\"tuple\"}],\"name\":\"validateCriteria\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"leaf\",\"type\":\"bytes32\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Methods to verify membership to a criteria Merkle tree.\",\"errors\":{\"InvalidCriteriaProof()\":[{\"details\":\"Thrown when the proof provided can't be verified against the criteria tree.\"}]},\"kind\":\"dev\",\"methods\":{\"encodeLeaf(CriteriaResolver)\":{\"details\":\"Encode resolver params into merkle leaf\"},\"validateCriteria(bytes32,CriteriaResolver)\":{\"details\":\"Check that given resolver is valid for the provided criteria.\",\"params\":{\"criteria\":\"Root of the Merkle tree.\",\"resolver\":\"Struct with the required params to prove membership to the tree.\"}},\"verifyProof(bytes32[],bytes32,bytes32)\":{\"details\":\"Based on Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/utils/MerkleProofLib.sol) Verify proofs for given root and leaf are correct.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/CriteriaResolution.sol\":\"CriteriaResolution\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/CriteriaTypes.sol\":{\"keccak256\":\"0x8c8226c5aac09c8dada8f76dcb15bd55cd8bd871b22a4be3bc6b72db655b6306\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://eabc3ee411827a1060d1d16df120df7c8dcccce5d22625a259cb17aaaad9de32\",\"dweb:/ipfs/QmTLYMEJPjqbL5CPqLyM2UWyroVQzgPf2Wq4iPRAL4qu38\"]},\"src/libraries/CriteriaResolution.sol\":{\"keccak256\":\"0xfec26b90f532c2fd64c07fb412bc62fcc6c048de33420b2d8729ae16f3290e0f\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://cbdbb33662075f9f4d38a93caba94b7ba0a1b771991ea35c196eca02d87a06e4\",\"dweb:/ipfs/QmSh8xieHporNXoB2zE6k8Hmf5CdaBnhemm3FqRDb3VAv7\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "6080806040523461001a576103209081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b600090813560e01c80632f88248e146101b35780634bc935d7146101285763ba5d2c341461004057600080fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc604081360112610124576024359067ffffffffffffffff9081831161012057606083360391820112610120577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd6044840135910181121561012057820183810135918211610120576024018160051b36038113610120576100e66100ef938501610213565b9184359161029f565b156100f8575080f35b6040517f4a361a47000000000000000000000000000000000000000000000000000000008152fd5b8480fd5b8280fd5b509060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ac5781359067ffffffffffffffff928383116101af57366023840112156101af578201359283116101ac573660248460051b840101116101ac5760206101a284846044359160248035920161029f565b6040519015158152f35b80fd5b5080fd5b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc916020833601126101ac5781359267ffffffffffffffff84116101af5760609084360301126101ac57602061020b848401610213565b604051908152f35b80359073ffffffffffffffffffffffffffffffffffffffff821680920361029a5760206040519181830193845201356040820152604081526060810181811067ffffffffffffffff82111761026b5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b819392936102ae575b50501490565b60059291831b8101915b8135808211851b9182526020809218526040600020910192828410156102df5792906102b8565b5091505038806102a856fea2646970667358221220ce948d3dc3f7c3fc31e115dae69611acc050abd9d2e86172aaa233fa4346d30c64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x1A JUMPI PUSH2 0x320 SWAP1 DUP2 PUSH2 0x20 DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2F88248E EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x4BC935D7 EQ PUSH2 0x128 JUMPI PUSH4 0xBA5D2C34 EQ PUSH2 0x40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC PUSH1 0x40 DUP2 CALLDATASIZE ADD SLT PUSH2 0x124 JUMPI PUSH1 0x24 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 GT PUSH2 0x120 JUMPI PUSH1 0x60 DUP4 CALLDATASIZE SUB SWAP2 DUP3 ADD SLT PUSH2 0x120 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD PUSH1 0x44 DUP5 ADD CALLDATALOAD SWAP2 ADD DUP2 SLT ISZERO PUSH2 0x120 JUMPI DUP3 ADD DUP4 DUP2 ADD CALLDATALOAD SWAP2 DUP3 GT PUSH2 0x120 JUMPI PUSH1 0x24 ADD DUP2 PUSH1 0x5 SHL CALLDATASIZE SUB DUP2 SGT PUSH2 0x120 JUMPI PUSH2 0xE6 PUSH2 0xEF SWAP4 DUP6 ADD PUSH2 0x213 JUMP JUMPDEST SWAP2 DUP5 CALLDATALOAD SWAP2 PUSH2 0x29F JUMP JUMPDEST ISZERO PUSH2 0xF8 JUMPI POP DUP1 RETURN JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x4A361A4700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP1 PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1AC JUMPI DUP2 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP4 GT PUSH2 0x1AF JUMPI CALLDATASIZE PUSH1 0x23 DUP5 ADD SLT ISZERO PUSH2 0x1AF JUMPI DUP3 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x1AC JUMPI CALLDATASIZE PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP5 ADD ADD GT PUSH2 0x1AC JUMPI PUSH1 0x20 PUSH2 0x1A2 DUP5 DUP5 PUSH1 0x44 CALLDATALOAD SWAP2 PUSH1 0x24 DUP1 CALLDATALOAD SWAP3 ADD PUSH2 0x29F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC SWAP2 PUSH1 0x20 DUP4 CALLDATASIZE ADD SLT PUSH2 0x1AC JUMPI DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x1AF JUMPI PUSH1 0x60 SWAP1 DUP5 CALLDATASIZE SUB ADD SLT PUSH2 0x1AC JUMPI PUSH1 0x20 PUSH2 0x20B DUP5 DUP5 ADD PUSH2 0x213 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP1 SWAP3 SUB PUSH2 0x29A JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD SWAP2 DUP2 DUP4 ADD SWAP4 DUP5 MSTORE ADD CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH1 0x60 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x26B JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 SWAP4 SWAP3 SWAP4 PUSH2 0x2AE JUMPI JUMPDEST POP POP EQ SWAP1 JUMP JUMPDEST PUSH1 0x5 SWAP3 SWAP2 DUP4 SHL DUP2 ADD SWAP2 JUMPDEST DUP2 CALLDATALOAD DUP1 DUP3 GT DUP6 SHL SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 SWAP3 XOR MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 ADD SWAP3 DUP3 DUP5 LT ISZERO PUSH2 0x2DF JUMPI SWAP3 SWAP1 PUSH2 0x2B8 JUMP JUMPDEST POP SWAP2 POP POP CODESIZE DUP1 PUSH2 0x2A8 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCE SWAP5 DUP14 RETURNDATASIZE 0xC3 0xF7 0xC3 0xFC BALANCE 0xE1 ISZERO 0xDA 0xE6 SWAP7 GT 0xAC 0xC0 POP 0xAB 0xD9 0xD2 0xE8 PUSH2 0x72AA LOG2 CALLER STATICCALL NUMBER CHAINID 0xD3 0xC PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "322:2592:49:-:0;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "fun_encodeLeaf": { + "entryPoint": 531, + "id": 33086, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_verifyProof": { + "entryPoint": 671, + "id": 33101, + "parameterSlots": 4, + "returnSlots": 1 + } + }, + "object": "608060405260048036101561001357600080fd5b600090813560e01c80632f88248e146101b35780634bc935d7146101285763ba5d2c341461004057600080fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc604081360112610124576024359067ffffffffffffffff9081831161012057606083360391820112610120577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd6044840135910181121561012057820183810135918211610120576024018160051b36038113610120576100e66100ef938501610213565b9184359161029f565b156100f8575080f35b6040517f4a361a47000000000000000000000000000000000000000000000000000000008152fd5b8480fd5b8280fd5b509060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ac5781359067ffffffffffffffff928383116101af57366023840112156101af578201359283116101ac573660248460051b840101116101ac5760206101a284846044359160248035920161029f565b6040519015158152f35b80fd5b5080fd5b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc916020833601126101ac5781359267ffffffffffffffff84116101af5760609084360301126101ac57602061020b848401610213565b604051908152f35b80359073ffffffffffffffffffffffffffffffffffffffff821680920361029a5760206040519181830193845201356040820152604081526060810181811067ffffffffffffffff82111761026b5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b819392936102ae575b50501490565b60059291831b8101915b8135808211851b9182526020809218526040600020910192828410156102df5792906102b8565b5091505038806102a856fea2646970667358221220ce948d3dc3f7c3fc31e115dae69611acc050abd9d2e86172aaa233fa4346d30c64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2F88248E EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x4BC935D7 EQ PUSH2 0x128 JUMPI PUSH4 0xBA5D2C34 EQ PUSH2 0x40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC PUSH1 0x40 DUP2 CALLDATASIZE ADD SLT PUSH2 0x124 JUMPI PUSH1 0x24 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 GT PUSH2 0x120 JUMPI PUSH1 0x60 DUP4 CALLDATASIZE SUB SWAP2 DUP3 ADD SLT PUSH2 0x120 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD PUSH1 0x44 DUP5 ADD CALLDATALOAD SWAP2 ADD DUP2 SLT ISZERO PUSH2 0x120 JUMPI DUP3 ADD DUP4 DUP2 ADD CALLDATALOAD SWAP2 DUP3 GT PUSH2 0x120 JUMPI PUSH1 0x24 ADD DUP2 PUSH1 0x5 SHL CALLDATASIZE SUB DUP2 SGT PUSH2 0x120 JUMPI PUSH2 0xE6 PUSH2 0xEF SWAP4 DUP6 ADD PUSH2 0x213 JUMP JUMPDEST SWAP2 DUP5 CALLDATALOAD SWAP2 PUSH2 0x29F JUMP JUMPDEST ISZERO PUSH2 0xF8 JUMPI POP DUP1 RETURN JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x4A361A4700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP1 PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1AC JUMPI DUP2 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP4 GT PUSH2 0x1AF JUMPI CALLDATASIZE PUSH1 0x23 DUP5 ADD SLT ISZERO PUSH2 0x1AF JUMPI DUP3 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x1AC JUMPI CALLDATASIZE PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP5 ADD ADD GT PUSH2 0x1AC JUMPI PUSH1 0x20 PUSH2 0x1A2 DUP5 DUP5 PUSH1 0x44 CALLDATALOAD SWAP2 PUSH1 0x24 DUP1 CALLDATALOAD SWAP3 ADD PUSH2 0x29F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC SWAP2 PUSH1 0x20 DUP4 CALLDATASIZE ADD SLT PUSH2 0x1AC JUMPI DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x1AF JUMPI PUSH1 0x60 SWAP1 DUP5 CALLDATASIZE SUB ADD SLT PUSH2 0x1AC JUMPI PUSH1 0x20 PUSH2 0x20B DUP5 DUP5 ADD PUSH2 0x213 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP1 SWAP3 SUB PUSH2 0x29A JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD SWAP2 DUP2 DUP4 ADD SWAP4 DUP5 MSTORE ADD CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH1 0x60 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x26B JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 SWAP4 SWAP3 SWAP4 PUSH2 0x2AE JUMPI JUMPDEST POP POP EQ SWAP1 JUMP JUMPDEST PUSH1 0x5 SWAP3 SWAP2 DUP4 SHL DUP2 ADD SWAP2 JUMPDEST DUP2 CALLDATALOAD DUP1 DUP3 GT DUP6 SHL SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 SWAP3 XOR MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 ADD SWAP3 DUP3 DUP5 LT ISZERO PUSH2 0x2DF JUMPI SWAP3 SWAP1 PUSH2 0x2B8 JUMP JUMPDEST POP SWAP2 POP POP CODESIZE DUP1 PUSH2 0x2A8 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCE SWAP5 DUP14 RETURNDATASIZE 0xC3 0xF7 0xC3 0xFC BALANCE 0xE1 ISZERO 0xDA 0xE6 SWAP7 GT 0xAC 0xC0 POP 0xAB 0xD9 0xD2 0xE8 PUSH2 0x72AA LOG2 CALLER STATICCALL NUMBER CHAINID 0xD3 0xC PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "322:2592:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;699:14;;;322:2592;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;725:20;687:59;322:2592;;;725:20;:::i;:::-;322:2592;;;687:59;;:::i;:::-;761:8;757:68;;322:2592;;;757:68;322:2592;;792:22;;;;322:2592;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;890:172;322:2592;;;;;;;;;;;1037:16;322:2592;;1008:46;;;;322:2592;;;1037:16;322:2592;;;;;;1008:46;;322:2592;;;;;;;;;;;;;;;998:57;;890:172;:::o;322:2592::-;;-1:-1:-1;322:2592:49;;;;;-1:-1:-1;322:2592:49;;-1:-1:-1;322:2592:49;;1243:1669;;;;;1436:1470;;1243:1669;1436:1470;;;1243:1669;:::o;1436:1470::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "encodeLeaf(CriteriaResolver)": "2f88248e", + "validateCriteria(bytes32,CriteriaResolver)": "ba5d2c34", + "verifyProof(bytes32[],bytes32,bytes32)": "4bc935d7" + } + } + } + }, + "src/utils/Controlled.sol": { + "Controlled": { + "abi": [ + { + "type": "function", + "name": "controller", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferController", + "inputs": [ + { + "name": "newController", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "ControlTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newController", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newController\",\"type\":\"address\"}],\"name\":\"ControlTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"controller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newController\",\"type\":\"address\"}],\"name\":\"transferController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ControlTransferred(address,address)\":{\"params\":{\"newController\":\"Address of the new controller.\",\"user\":\"Address of the user that transferred the control.\"}}},\"kind\":\"dev\",\"methods\":{\"transferController(address)\":{\"params\":{\"newController\":\"Address of the new controller.\"}},\"transferOwnership(address)\":{\"params\":{\"newOwner\":\"Address of the new owner.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"ControlTransferred(address,address)\":{\"notice\":\"Raised when the control is transferred.\"},\"OwnershipTransferred(address,address)\":{\"notice\":\"Raised when the ownership is transferred.\"}},\"kind\":\"user\",\"methods\":{\"controller()\":{\"notice\":\"Address that controls the contract.\"},\"owner()\":{\"notice\":\"Address that owns the contract.\"},\"transferController(address)\":{\"notice\":\"Transfer the control of the contract.\"},\"transferOwnership(address)\":{\"notice\":\"Transfer the ownership of the contract.\"}},\"notice\":\"Authorization mixin that extends Owned with Controller rol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/Controlled.sol\":\"Controlled\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"src/utils/Controlled.sol\":{\"keccak256\":\"0xcdd11a4bf16a63957ead6710218f33dc14340ccc2c90661d3a4cc3e5c8d45648\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://2e8daa3655b1f41679c9dea444e346b10057f15490fe72018c692c054a12a8da\",\"dweb:/ipfs/QmRA45JeMpSqD1peFWAGJos1MSfmvsAxaQpawMu9DN9wPx\"]},\"src/utils/Owned.sol\":{\"keccak256\":\"0x7734d8c9fefc0abb51af8a97bdd7e8a22418ae5e597a63c3ca7c9b1cbce0a23c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dcba4eaeadcabc6b2e330c290626c7fe8b93b0476b08114445f6520ff3ced50e\",\"dweb:/ipfs/QmRedpupiw3iQWCDEfG5yhmVytdQH1H59mqiVXcitzJPaF\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "controller()": "f77c4791", + "owner()": "8da5cb5b", + "transferController(address)": "e8ea054b", + "transferOwnership(address)": "f2fde38b" + } + } + } + }, + "src/utils/Owned.sol": { + "Owned": { + "abi": [ + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { + "name": "newOwner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"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\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Adapted from Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)\",\"events\":{\"OwnershipTransferred(address,address)\":{\"params\":{\"newOwner\":\"Address of the new owner.\",\"user\":\"Address of the user that transferred the ownerhip.\"}}},\"kind\":\"dev\",\"methods\":{\"transferOwnership(address)\":{\"params\":{\"newOwner\":\"Address of the new owner.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"OwnershipTransferred(address,address)\":{\"notice\":\"Raised when the ownership is transferred.\"}},\"kind\":\"user\",\"methods\":{\"owner()\":{\"notice\":\"Address that owns the contract.\"},\"transferOwnership(address)\":{\"notice\":\"Transfer the ownership of the contract.\"}},\"notice\":\"Simple single owner authorization mixin.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/Owned.sol\":\"Owned\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"src/utils/Owned.sol\":{\"keccak256\":\"0x7734d8c9fefc0abb51af8a97bdd7e8a22418ae5e597a63c3ca7c9b1cbce0a23c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dcba4eaeadcabc6b2e330c290626c7fe8b93b0476b08114445f6520ff3ced50e\",\"dweb:/ipfs/QmRedpupiw3iQWCDEfG5yhmVytdQH1H59mqiVXcitzJPaF\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "owner()": "8da5cb5b", + "transferOwnership(address)": "f2fde38b" + } + } + } + }, + "src/utils/Toggleable.sol": { + "Toggleable": { + "abi": [ + { + "type": "function", + "name": "enabled", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setEnabled", + "inputs": [ + { + "name": "status", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "error", + "name": "IsDisabled", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IsDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"enabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setEnabled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"setEnabled(bool)\":{\"params\":{\"status\":\"New enabled status.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"enabled()\":{\"notice\":\"Indicates if the contract is enabled.\"},\"setEnabled(bool)\":{\"notice\":\"Enable / disable a contract.\"}},\"notice\":\"Simple mixin to enable / disable a contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/Toggleable.sol\":\"Toggleable\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"src/utils/Toggleable.sol\":{\"keccak256\":\"0x9b23cc19eab64386ea018e3c9475f5ba8e3a70b36f62066168f0f4a8281c33ce\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://020f36f1f22d843e262ec05e67d6876b1d24e641e198be5b8b499436e7645805\",\"dweb:/ipfs/QmQeRvQ5oG2vdyrcMYex8wMMSR4mVCE4CEbJR22xvn2rE6\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "", + "opcodes": "", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "enabled()": "238dafe0", + "setEnabled(bool)": "328d8f72" + } + } + } + }, + "test/Arbitrator.t.sol": { + "ArbitratorTest": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MINT_AMOUNT_ERC20", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_BATCH_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_DETAILS_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_SINGLE_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_TRANSFER_FROM_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_TOKEN_PERMISSIONS_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initializeERC20Tokens", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setERC20TestTokenApprovals", + "inputs": [ + { + "name": "vm", + "type": "address", + "internalType": "contract Vm" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setERC20TestTokens", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUp", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testAppealResolution", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCanAlwaysExecuteEndorsedResolution", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantExecuteAlreadyExecutedResolution", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantExecuteAppealedResolution", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantExecuteResolutionBeforeUnlock", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantExecuteResolutionMismatch", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantSubmitNewResolutionAfterExecution", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testEndorseResolution", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testExecuteResolution", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testOnlyPartiesCanAppeal", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testResolutionOverride", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testSubmitResolution", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINT_AMOUNT_ERC20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_BATCH_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_DETAILS_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_SINGLE_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_TRANSFER_FROM_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TOKEN_PERMISSIONS_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeERC20Tokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Vm\",\"name\":\"vm\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"setERC20TestTokenApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setERC20TestTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAppealResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCanAlwaysExecuteEndorsedResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantExecuteAlreadyExecutedResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantExecuteAppealedResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantExecuteResolutionBeforeUnlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantExecuteResolutionMismatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantSubmitNewResolutionAfterExecution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testEndorseResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyPartiesCanAppeal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testResolutionOverride\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSubmitResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/Arbitrator.t.sol\":\"ArbitratorTest\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xb7004fe1ceab4a20ae13baec8732a5414b28d5ddb06f9f4184b49c1fc1d61521\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a60b5d84bd7d7e455f4a1ca1d260f6b50c419e4c4e7196ef32fd77d0f480d51\",\"dweb:/ipfs/QmYwRMAYYsQuvvM4mnagYs8Zhqm5VXicXmxoqEvkiUzQSd\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/permit2/src/AllowanceTransfer.sol\":{\"keccak256\":\"0x83a47e7841f9d285eb7f0fd977fedb808640714cb9822a104bab99fe5cbb58ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f0de543f076f8556690f236dc431277acf9c91c04916a46040194b03ea9836\",\"dweb:/ipfs/QmQ5YLFHexR2WTNXDGu4y6WjRmLPzrdH92j7NDQzT8Jevp\"]},\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/Permit2.sol\":{\"keccak256\":\"0x934c0eb24a52eb5900f01f5c328374b670366adf995ba9ed49bcd3d7b87b159e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdfd05b3007726dc6dd2822c1dd9dc1b2471fbec507f30efa71a1a214c98bab6\",\"dweb:/ipfs/QmPq4hptCSUACQdynSa86bdEexE7RryzosrhUAZ9Xkqc5a\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/SignatureTransfer.sol\":{\"keccak256\":\"0xa821caa24d6231fa8befe24a34bfda2c3b05b56e67fb913c86b26a19b19b6bbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://584994a77e33aa2fe804b803ab302cb811ee945632b76f68d78db761b18a24a2\",\"dweb:/ipfs/QmVd67VRKX24tSaREBNwhzVfU6xxqRLNEoPY6CYgG3xU5W\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/test/utils/mocks/MockERC20.sol\":{\"keccak256\":\"0x525129ccb4103c9ecb8f235618d2ff4a8ffde4b8654f7c17766ad175d10ef466\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://45692a21807ba815c0cf0bfc7d633a14a6cb9ba863ab53f18fc639375a72125e\",\"dweb:/ipfs/QmSrqxyodjDtSU1Dc6G3ScnNc9CFjMnAeHpK8a8guM3nJu\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]},\"src/Arbitrator.sol\":{\"keccak256\":\"0x54c2e29b4148ab2fb480e0fa2141f9e72289369a2cbbfb27518884be7b77094a\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6d470ecf768970634ae3f5e06a5582b44ac3b85e81eebeb63c7eb8f3db40a589\",\"dweb:/ipfs/Qma5aujWmZQsbrcehNdxRT9RyKuT7AHZDXQVwpUDmzyZ3o\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/ArbitrationErrors.sol\":{\"keccak256\":\"0x7ca6d9811f431eadd59e7544f6a5720564a678a3e2cfecd8e5454391f21a62f0\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://58793fc93f2d03eefaeb008a28dfedebe9059763b96c80ec31365ad8cf72fafd\",\"dweb:/ipfs/QmQvVUxPsg4JhSvT3QxKysgsiVBvuzBtFaAQMTuyeuxDWL\"]},\"src/interfaces/ArbitrationTypes.sol\":{\"keccak256\":\"0x07b042f3176966f9c0ffc47a07ac584c3a2de1c2e02180203a02458e3bee9563\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e7be1461e3ed7e2cc9bf3d0c694f3f3d1fb7ac761b6e3f06e36c86f151fe831c\",\"dweb:/ipfs/QmYvDYS7s92CxikdCZPbGPDK96uT5B28uDbYVEbNsFqb6p\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]},\"src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0xbb88837c5e5a3dc5e37fb51a7f2a80ca1352fdd5de6234a60953cc01593d675e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c17fb922c53dcadcf751b3cbc1a50257e233aea15b1e3dd2c315b6cfa6836e54\",\"dweb:/ipfs/QmVBcv97Ad31wSw7S5o2yPQZsfJA5RJgRgFfH27PKVNTMw\"]},\"src/utils/Controlled.sol\":{\"keccak256\":\"0xcdd11a4bf16a63957ead6710218f33dc14340ccc2c90661d3a4cc3e5c8d45648\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://2e8daa3655b1f41679c9dea444e346b10057f15490fe72018c692c054a12a8da\",\"dweb:/ipfs/QmRA45JeMpSqD1peFWAGJos1MSfmvsAxaQpawMu9DN9wPx\"]},\"src/utils/Owned.sol\":{\"keccak256\":\"0x7734d8c9fefc0abb51af8a97bdd7e8a22418ae5e597a63c3ca7c9b1cbce0a23c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dcba4eaeadcabc6b2e330c290626c7fe8b93b0476b08114445f6520ff3ced50e\",\"dweb:/ipfs/QmRedpupiw3iQWCDEfG5yhmVytdQH1H59mqiVXcitzJPaF\"]},\"src/utils/Toggleable.sol\":{\"keccak256\":\"0x9b23cc19eab64386ea018e3c9475f5ba8e3a70b36f62066168f0f4a8281c33ce\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://020f36f1f22d843e262ec05e67d6876b1d24e641e198be5b8b499436e7645805\",\"dweb:/ipfs/QmQeRvQ5oG2vdyrcMYex8wMMSR4mVCE4CEbJR22xvn2rE6\"]},\"src/utils/interfaces/Deposits.sol\":{\"keccak256\":\"0x99d44ec7b071732a9dafb0eef9233ab49bd38b89585d31c97cfef2c7aeacdb86\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e6106a5fdf64814cd0b982a907e077083766bf3f2873da79255dda68fec0345a\",\"dweb:/ipfs/QmdV8iNdsphhVYoKD7uneA75AKvw5J9joFcPsuKAdbZ8LD\"]},\"test/Arbitrator.t.sol\":{\"keccak256\":\"0xf4a0ffb6782f69fcd0b02e82d664905183b582755e7ec7464a1a989406492bbc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://8b8f6be1d4127f972866d8d40a914d8fde5b7d112e071ec6471db9976856cdb9\",\"dweb:/ipfs/Qmekg12qvxq5EmzTGox99kPBsmBw5CQeemJdUihA7dMnQs\"]},\"test/utils/Constants.sol\":{\"keccak256\":\"0xe83ed5c4129beb2f50e8ba6867270f3a8d3a55bc66abe55999c3f3aadfb9fde2\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d1e517e21b96c0c265669705a978a12ee1ff652b3abea83704839e77972b6cec\",\"dweb:/ipfs/QmTUJZiFFPH4ZVKJAoK94Ap3cegFhkNFGGfAbBmWZh9kW5\"]},\"test/utils/PermitSignature.sol\":{\"keccak256\":\"0x8efef2e7f2085819cadab8efaa849f59cdab99dba67f6770ba255b0bf5c12515\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://2718264463c40e51f6d2a93ad73ce2c40ed24458c0b9fa6ba9968b255218bdf9\",\"dweb:/ipfs/QmV3kFRsu5pGXaci8Q1RjJushbPYLZ7GpsfJ4xyEyYxfMw\"]},\"test/utils/TokenProvider.sol\":{\"keccak256\":\"0xdbd2ce28d63c8eb3aafc1f9937eb222f174815fd8f6c9a6f803cd6bf64fec1cc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1fa603b15569f515dc95c7749c59d32b5f4c8a576d67b33f83ebe80819796122\",\"dweb:/ipfs/QmUGAH8ad2iagCsYnXDGz4D7LFn9kWJysk244GsBjBBw7K\"]},\"test/utils/mocks/MockArbitrable.sol\":{\"keccak256\":\"0xb43052f593e4c839e5f579fe46cd83ffc4e7cb81b6adfef18b33f6ee609b23ef\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://0c6682924b9e7de6807b06a6d7947487f392df01fcca011620fba05735e323a2\",\"dweb:/ipfs/QmaRVkMLvMH4U1c5czyfDMCHVmaLkwdaETNg8AqNsPKXYt\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "functionDebugData": { + "abi_decode_address_fromMemory": { + "entryPoint": 396, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 338, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + } + }, + "object": "608080604052346200014d576000805460ff191660011781556001625e79b760e01b0319808352610b0b600484015290737109709ecfa91a80626ff3989d68f67f5b1dd12d60208085602481855afa948515620001425783956200011e575b50601380546001600160a01b03199081166001600160a01b0397881617909155604051948552620a11ce60048601529493918190839060249082905afa928315620001125792620000de575b505016906014541617601455671bc16d674ec80000601555670de0b6b3a7640000601655604051618ba99081620001ae8239f35b620001029250803d106200010a575b620000f9818362000152565b8101906200018c565b3880620000aa565b503d620000ed565b604051903d90823e3d90fd5b816200013a9296503d87116200010a57620000f9818362000152565b93386200005e565b6040513d85823e3d90fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200017657604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126200014d57516001600160a01b03811681036200014d579056fe6080604090808252600491823610156200001857600080fd5b600091823560e01c908163035c3deb14620026825750806307842cfb146200259a5780630a9254e41462001ff95780631b2102931462001fd45780632c653e991462001e1d5780632d16568a1462001c7657806332acbc871462001862578063338499b214620013385780633eb8b8fd14620012fc578063415e982d14620012c0578063466417b914620011be5780634f2d277f1462000edb5780636302c3cf1462000e9f5780636e4f27751462000e6357806378f168301462000e27578063a86c9ae71462000bc8578063b68c13191462000997578063ba414fa6146200096e578063c5df4f031462000932578063e1227080146200043557909180938263e1cee8b11462000363578263e2acb0f81462000346578263e6d9ff3d1462000301578263f3fddbf4146200017e57505063fa7626d4146200015857600080fd5b346200017a57816003193601126200017a5760ff602092541690519015158152f35b5080fd5b91509134620002ee5782600319360112620002ee57620001a7620001a162003128565b620031f8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620002fc5783809160248451809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527fe4d068da00000000000000000000000000000000000000000000000000000000898401525af18015620002f257908491620002d6575b505073ffffffffffffffffffffffffffffffffffffffff9182601a541692601b541692601d54906200025a62003096565b94813b15620002d2578680946200029e8751988996879586947f2f7f204e000000000000000000000000000000000000000000000000000000008652850162002fa5565b03925af1908115620002c95750620002b35750f35b620002be9062002891565b620002c65780f35b80fd5b513d84823e3d90fd5b8680fd5b620002e19062002891565b620002ee57823862000229565b5050fd5b82513d86823e3d90fd5b505050fd5b346200017a5760206003193601126200017a573573ffffffffffffffffffffffffffffffffffffffff8116810362000341576200033e9062003996565b80f35b600080fd5b5034620002c65780600319360112620002c6576200033e62003789565b91509134620002ee5782600319360112620002ee5762000382620033d2565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620002fc5783809160248451809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f28b8b07800000000000000000000000000000000000000000000000000000000898401525af18015620002f257908491620002d657505073ffffffffffffffffffffffffffffffffffffffff9182601a541692601b541692601d54906200025a62003096565b50346200017a57816003193601126200017a576200045262003128565b9073ffffffffffffffffffffffffffffffffffffffff9182601a54169180519085826024817fec67b8c80000000000000000000000000000000000000000000000000000000097888252878c8301525afa9182156200092857869262000908575b50620004be62003096565b90602092670de0b6b3a764000084620004d78562002e9a565b5101526060810151956005870197888811620008dc57737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620008d8578a8a60248e83895195869485937fe5d6bf020000000000000000000000000000000000000000000000000000000085528401525af18015620008b257908b91620008bc575b50868c9183601a541684601b5416601d54926200056b62002bdc565b95620005a58c8c51988997889687957f02fd597d000000000000000000000000000000000000000000000000000000008752860162002f4c565b03925af18015620008b25791878c94928e9462000879575b505090602491601a54168651998a94859384528301525afa9485156200086f579162015185959391606095938a9562000844575b5083015183850190815114620007e1575b519181516200064d8162000620878201948886528683019062002ee8565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826200292c565b51902092838303620006a2575b50505050015191018092116200067657906200033e9162002c17565b6024836011867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b620007c6927f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608084518481526025858201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974868201527f657333325d0000000000000000000000000000000000000000000000000000008a820152a18251948386526200075e848701604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b9083870152857fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f999687920390a182519383859485528401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b918301520390a1620007d762002d63565b388080806200065a565b7f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f508683518681526017878201527f4572726f723a20417373657274696f6e204661696c656400000000000000000085820152a16200083e62002d63565b62000602565b8491955062000867903d808d833e6200085e81836200292c565b81019062002b17565b9490620005f1565b82513d8a823e3d90fd5b919450809293503d8311620008aa575b6200089581836200292c565b8101031262000341578a908a928738620005bd565b503d62000889565b85513d8d823e3d90fd5b620008c79062002891565b620008d45789386200054f565b8980fd5b8a80fd5b60248a60118d7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b620009209192503d8088833e6200085e81836200292c565b9038620004b3565b81513d88823e3d90fd5b50346200017a57816003193601126200017a57602090517ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08152f35b50346200017a57816003193601126200017a576020906200098e62002a1d565b90519015158152f35b5082903462000bc4578260031936011262000bc457620009b662003128565b620009c181620031f8565b8373ffffffffffffffffffffffffffffffffffffffff601a54169160248451809481937fec67b8c8000000000000000000000000000000000000000000000000000000008352888301525afa908115620002f257849162000ba6575b505191600583101562000b7a57506002820362000a38578280f35b807f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608062000b61935160208152602e60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b526573848201527f6f6c7574696f6e5374617475735d0000000000000000000000000000000000006060820152a180519281845262000af7828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60026020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162000b7462002d63565b81808280f35b8360216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b62000bbd91503d8086833e6200085e81836200292c565b8462000a1d565b8280fd5b5091346200017a57816003193601126200017a5762000be662003128565b9273ffffffffffffffffffffffffffffffffffffffff91826018541692601f54600084805162000c1681620028d5565b815162000c2381620028f2565b8381528360208201528152826020820152015283519462000c4486620028f2565b85526020850152606442019586421162000df957859684519562000c6887620028d5565b8652600060208701528486015262000c8982601a5416601c54908762003526565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d803b1562000db15785517fca669fa700000000000000000000000000000000000000000000000000000000815261dead86820152888160248183865af1801562000def5790899162000dd7575b5050803b1562000db15787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f65268788000000000000000000000000000000000000000000000000000000008b8401525af1801562000dcd5790889162000db5575b5050601a54169062000d6c62003096565b92823b1562000db15787946200029e86928851998a97889687957f41bcf4dc000000000000000000000000000000000000000000000000000000008752860162003026565b8780fd5b62000dc09062002891565b620002d257863862000d5b565b86513d8a823e3d90fd5b62000de29062002891565b62000db157873862000cec565b87513d8b823e3d90fd5b6011837f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b50346200017a57816003193601126200017a57602090517f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068152f35b50346200017a57816003193601126200017a57602090517f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b36788152f35b50346200017a57816003193601126200017a57602090517faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638152f35b5082903462000bc4578260031936011262000bc45762000efa62003128565b9062000f0682620031f8565b62000f1062003096565b918482519360209462000f328162000620888201948986528883019062002ee8565b51902073ffffffffffffffffffffffffffffffffffffffff9081601a5416803b15620011ba57846044898680948a5196879586947fe44cb37b00000000000000000000000000000000000000000000000000000000865285015260248401525af18015620011b05790839162001198575b5050601a54169160248451809481937fec67b8c8000000000000000000000000000000000000000000000000000000008352898301525afa9081156200118e57859162001170575b50519260058410156200114457506003830362001006578380f35b6200112c917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060808351838152602e848201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b526573858201527f6f6c7574696f6e5374617475735d0000000000000000000000000000000000006060820152a1815193828552620010c3838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b600383870152857fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89687920390a182519383859485528401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b918301520390a16200113d62002d63565b8180808380f35b8460216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6200118791503d8087833e6200085e81836200292c565b8562000feb565b82513d87823e3d90fd5b620011a39062002891565b6200017a57818862000fa3565b85513d85823e3d90fd5b8380fd5b5091819234620002ee5782600319360112620002ee57620011de62003128565b91620011ea83620031f8565b620011f462003096565b82516200121281620006206020820194602086528783019062002ee8565b51902073ffffffffffffffffffffffffffffffffffffffff9384601a541691823b15620002d2576044879283875195869485937fe44cb37b0000000000000000000000000000000000000000000000000000000085528985015260248401525af18015620012b6579085916200129e575b505082601a541692601b541692601d54906200025a62003096565b620012a99062002891565b620002fc57833862001283565b83513d87823e3d90fd5b50346200017a57816003193601126200017a57602090517f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18152f35b50346200017a57816003193601126200017a57602090517ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668152f35b50823462000bc4578260031936011262000bc4576200135662003128565b5062015180420180421162001836578390737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562000bc457829160248392875194859384927fe5d6bf02000000000000000000000000000000000000000000000000000000008452898401525af180156200182c5762001814575b505073ffffffffffffffffffffffffffffffffffffffff9081601b541691601d5491845180947f8aa202f400000000000000000000000000000000000000000000000000000000948583528383015281602460209788935afa80156200180a578790620017cd575b60ff915016600181036200168f575b5081601a5416918681601b5416601d54946200145a62003096565b90803b15620011ba57620014a0968480948c51998a95869485937f2f7f204e0000000000000000000000000000000000000000000000000000000085528c850162002fa5565b03925af19384156200168357869462001662575b5050602490601b541693601d54948751958694859384528301525afa80156200165557849062001618575b60ff9150169160028303620014f2578380f35b6200112c917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608083518381526022848201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e858201527f745d0000000000000000000000000000000000000000000000000000000000006060820152a1815193828552620015af838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b600283870152857fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89687920390a182519383859485528401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b508181813d83116200164d575b6200163181836200292c565b81010312620011ba576200164760ff9162002f96565b620014df565b503d62001625565b50505051903d90823e3d90fd5b620016709192945062002891565b6200167f5783918688620014b4565b8580fd5b508651903d90823e3d90fd5b7f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608087518781526022888201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e898201527f745d0000000000000000000000000000000000000000000000000000000000006060820152a185519086825262001747878301604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b600187840152827fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89384920390a186518091888252620017b4898301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b90888301520390a1620017c662002d63565b866200143f565b508481813d831162001802575b620017e681836200292c565b81010312620002d257620017fc60ff9162002f96565b62001430565b503d620017da565b86513d89823e3d90fd5b6200181f9062002891565b62000bc4578284620013c8565b84513d84823e3d90fd5b6024846011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50346200017a57816003193601126200017a576200187f62003128565b908273ffffffffffffffffffffffffffffffffffffffff601a54169260248351809581937fec67b8c8000000000000000000000000000000000000000000000000000000008352898301525afa91821562001c6c57839262001c4c575b508151600581101562001c205790816001606094930362001adf575b50808201516200190762002bdc565b91805191602092838101906200193785828551620019298187858a016200296e565b81010380845201826200292c565b51902082518481019062001959868281620019298b878151938492016200296e565b5190200362001984575b505050500151620151804201908142116200067657906200033e9162002c17565b62001aba9262001ac8917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608085518481526024858201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472878201527f696e675d000000000000000000000000000000000000000000000000000000008b820152a183519584875262001a45858801604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b96808803848201528062001a7c7f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583998a9462002e55565b0390a183519484869586528501604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b918483039085015262002e55565b0390a162001ad562002d63565b3880808062001963565b7f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602e60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b526573858201527f6f6c7574696f6e5374617475735d00000000000000000000000000000000000087820152a181519082825262001b98838301604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60016020840152827fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89384920390a18251809184825262001c06858301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162001c1962002d63565b38620018f8565b6024846021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b62001c649192503d8085833e6200085e81836200292c565b9038620018dc565b81513d85823e3d90fd5b50346200017a57816003193601126200017a5762001c9362003128565b506201518042019081421162000676578293737109709ecfa91a80626ff3989d68f67f5b1dd12d92833b1562001e01578251907fe5d6bf0200000000000000000000000000000000000000000000000000000000825282820152848160248183885af18015620012b65790859162001e05575b505062001d1262002fd9565b92803b1562001e015784809160248551809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f3a78f7d400000000000000000000000000000000000000000000000000000000888401525af18015620012b65790859162001de9575b505073ffffffffffffffffffffffffffffffffffffffff80601a541690601b541690601d5491813b15620002d2578680946200029e8751988996879586947f2f7f204e000000000000000000000000000000000000000000000000000000008652850162002fa5565b62001df49062002891565b620002fc57833862001d80565b8480fd5b62001e109062002891565b620002fc57833862001d06565b5082903462000bc4578260031936011262000bc45762001e3c620033d2565b5082737109709ecfa91a80626ff3989d68f67f5b1dd12d803b156200017a5781809160248551809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f28b8b078000000000000000000000000000000000000000000000000000000008a8401525af1801562001fca5762001fb2575b5050602073ffffffffffffffffffffffffffffffffffffffff80601a541690601b541690601d54918662001ef062003096565b9662001f6f8751988996879586947f02fd597d000000000000000000000000000000000000000000000000000000008652850152602484015260806044840152600760848401527f697066733a2f2f0000000000000000000000000000000000000000000000000060a484015260c0606484015260c483019062002ee8565b03925af1908115620002c9575062001f85575080f35b602090813d811162001faa575b62001f9e81836200292c565b81010312620003415780f35b503d62001f92565b62001fbd9062002891565b62000bc457828462001ebd565b83513d84823e3d90fd5b50346200017a57816003193601126200017a5760209051680246ddf979766800008152f35b50346200017a57816003193601126200017a576200201662003789565b73ffffffffffffffffffffffffffffffffffffffff928360175416908251917f3644e51500000000000000000000000000000000000000000000000000000000835260209283818481855afa9081156200253157869162002567575b50601c558560185416908480516200208a81620028d5565b8381526702c68af0bb140000908187820152610d4092839101527fffffffffffffffffffffffff00000000000000000000000000000000000000009384601e541617601e55601f558285541617845584516117a2918282019067ffffffffffffffff93838310858411176200253b57918391899362006ffb84398152308882015203019087f080156200253157871682601a541617601a558451906103d7808301918383109083111762002505579082916200879d8339039086f08015620024e357861690601b541617601b5584601a5416803b1562001e015784809160a48651809481937f410fa8e60000000000000000000000000000000000000000000000000000000083526201518088840152600160248401528b601e54166044840152601f5460648401528b89541660848401525af18015620024e357908591620024ed575b505084601b541685601a5416813b156200167f57859160248392875194859384927f3f2601ef000000000000000000000000000000000000000000000000000000008452888401525af18015620024e357908591620024cb575b505062002239856013541662003996565b8460135416948060175416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b15620003415785517f06447d5600000000000000000000000000000000000000000000000000000000815260009885820152888160248183875af1801562000def57620024b3575b5090879183601854169087517f095ea7b3000000000000000000000000000000000000000000000000000000009081815282888201528881604481897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff988960248401525af18015620024a957916044918a949362002487575b508688601954168c51968795869485528c85015260248401525af180156200247d5762002449575b50803b156200017a578190848751809a81937f90c5013b0000000000000000000000000000000000000000000000000000000083525af19687156200243d5786979695966200241b575b5050908291601b5416908551809581937ffcdf97500000000000000000000000000000000000000000000000000000000083525af19283156200241257508392620023de575b5050601d5580f35b90809250813d83116200240a575b620023f881836200292c565b810103126200034157513880620023d6565b503d620023ec565b513d85823e3d90fd5b8192939495506200242c9062002891565b620002c65790818694939262002390565b508451903d90823e3d90fd5b6200246d90863d881162002475575b6200246481836200292c565b81019062002a03565b503862002346565b503d62002458565b87513d85823e3d90fd5b620024a190853d871162002475576200246481836200292c565b50386200231e565b8a513d88823e3d90fd5b620024c2909891929862002891565b969038620022a4565b620024d69062002891565b620011ba57833862002228565b84513d87823e3d90fd5b620024f89062002891565b620011ba578338620021ce565b6024886041877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d88823e3d90fd5b60248a6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b90508381813d831162002592575b6200258181836200292c565b810103126200034157513862002072565b503d62002575565b5091819234620002ee5782600319360112620002ee57620025ba62003128565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620002fc57839060248351809781937fc31eb0e00000000000000000000000000000000000000000000000000000000083527ff268e9e300000000000000000000000000000000000000000000000000000000888401525af1801562001c6c576200266b575b82935073ffffffffffffffffffffffffffffffffffffffff9182601a541692601b541692601d54906200025a62003096565b919092620026799062002891565b90829062002639565b9293905034620011ba576060600319360112620011ba5780359073ffffffffffffffffffffffffffffffffffffffff8083168093036200167f5760243594818616809603620002d2576044359082821680920362000db157843b1562000db1577f06447d56000000000000000000000000000000000000000000000000000000008152879684820152878160248183895af1801562000dcd5762002879575b509085918160185416918651907f095ea7b3000000000000000000000000000000000000000000000000000000009182815283878201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94856024830152816044816020998a945af180156200286f57604492879594928c926200284d575b50601954168a51968795869485528a85015260248401525af1801562002531576200282a575b5050813b15620011ba578291849391849251809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620002c9575062002814578280f35b62002820829162002891565b620002c657808280f35b816200284492903d1062002475576200246481836200292c565b503880620027c7565b6200286790873d891162002475576200246481836200292c565b5038620027a1565b89513d8c823e3d90fd5b620028879192965062002891565b8594903862002721565b67ffffffffffffffff8111620028a657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff821117620028a657604052565b6040810190811067ffffffffffffffff821117620028a657604052565b6080810190811067ffffffffffffffff821117620028a657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117620028a657604052565b60005b838110620029825750506000910152565b818101518382015260200162002971565b67ffffffffffffffff8111620028a657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15620029fe573d90620029e28262002993565b91620029f260405193846200292c565b82523d6000602084013e565b606090565b908160209103126200034157518015158103620003415790565b6000805460081c60ff161562002a37575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62002a5957505090565b81925060405182602082018381527f6661696c6564000000000000000000000000000000000000000000000000000060408401526040835262002a9c83620028d5565b62002af16024604051809362002ae060208301977f667f9d70000000000000000000000000000000000000000000000000000000008952518092858501906200296e565b81010360048101845201826200292c565b51925af15062002b1462002b04620029ce565b6020808251830101910162002a03565b90565b9060209081838203126200034157825167ffffffffffffffff93848211620003415701906080828203126200034157604051936080850185811082821117620028a657604052825160058110156200034157855283830151848601526040830151908111620003415782019281601f850112156200034157835162002b9c8162002993565b9262002bac60405194856200292c565b81845282828701011162000341576060948262002bcd93850191016200296e565b60408401520151606082015290565b6040519062002beb82620028f2565b600f82527f697066733a2f2f6d6574616461746100000000000000000000000000000000006020830152565b81810362002c23575050565b62002d4e906040907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e858201527f745d0000000000000000000000000000000000000000000000000000000000006060820152a181519382855262002ce5838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b906020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162002d6162002d63565b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62002daf575b506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6000809160405182602082018381527f6661696c656400000000000000000000000000000000000000000000000000006040840152600160608401526060835262002dfa836200290f565b62002e3e6024604051809362002ae060208301977f70ca10bb000000000000000000000000000000000000000000000000000000008952518092858501906200296e565b51925af15062002e4d620029ce565b503862002d80565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362002e93815180928187528780880191016200296e565b0116010190565b80516001101562002eab5760400190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80511562002eab5760200190565b90815180825260208080930193019160005b82811062002f09575050505090565b909192938260408262002f3f60019489516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b0195019392910162002efa565b9262002b14949273ffffffffffffffffffffffffffffffffffffffff62002f8793168552602085015260806040850152608084019062002e55565b91606081840391015262002ee8565b519060ff821682036200034157565b62002b14939273ffffffffffffffffffffffffffffffffffffffff6060931682526020820152816040820152019062002ee8565b60409081519162002fea83620028d5565b60028352826000805b838110620030015750505050565b60209084516200301181620028f2565b83815282848183015282860101520162002ff3565b906200304862002b149593604092845260e0602085015260e084019062002ee8565b936200307782840182516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60208101516080840152015160a082015260c081840391015262002e55565b620030a062002fd9565b9073ffffffffffffffffffffffffffffffffffffffff806013541660405190620030ca82620028f2565b81526729a2241af62c00006020820152620030e58462002eda565b52620030f18362002eda565b5060145416604051906200310582620028f2565b815260006020820152620031198362002e9a565b52620031258262002e9a565b50565b73ffffffffffffffffffffffffffffffffffffffff602081601a541691601b541691601d54906200315862002bdc565b9160006200316562003096565b95620031a1604051978896879586947f02fd597d0000000000000000000000000000000000000000000000000000000086526004860162002f4c565b03925af1908115620031ec57600091620031b9575090565b906020823d8211620031e3575b81620031d5602093836200292c565b81010312620002c657505190565b3d9150620031c6565b6040513d6000823e3d90fd5b601854600091601f54604091848380516200321381620028d5565b81516200322081620028f2565b838152836020820152815282602082015201528251916200324183620028f2565b73ffffffffffffffffffffffffffffffffffffffff8095168352602083015260644201804211620033a5578351926200327a84620028d5565b8352856020840152838301526200329a84601a5416601c54908462003526565b938060135416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562000db157879160248392885194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af180156200339b5762003385575b50601a5416906200331262003096565b90823b15620002d2579086809493926200335b8751988996879586947f41bcf4dc0000000000000000000000000000000000000000000000000000000086526004860162003026565b03925af1908115620002c9575062003371575050565b6200337d829162002891565b620002c65750565b620033939096919662002891565b943862003302565b85513d89823e3d90fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b620033dc62003128565b906000620151804201804211620034f957737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562000bc45782916024839260405194859384927fe5d6bf0200000000000000000000000000000000000000000000000000000000845260048401525af18015620034dc57620034e7575b5073ffffffffffffffffffffffffffffffffffffffff80601a541690601b541690601d546200347e62003096565b92823b1562001e015791620034c89391858094604051968795869485937f2f7f204e0000000000000000000000000000000000000000000000000000000085526004850162002fa5565b03925af18015620034dc5762003371575050565b6040513d84823e3d90fd5b620034f29062002891565b3862003450565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90918151916040938451936200358660208601917f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18352878701906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60609485815262003597816200290f565b519020918560208201519101519073ffffffffffffffffffffffffffffffffffffffff87519360208501957f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068752898601521686840152608083015260a082015260a0815260c081019181831067ffffffffffffffff841117620028a65761010290838752825190209160e08101947f1901000000000000000000000000000000000000000000000000000000000000865260e28201520152604281526200365f816200290f565b519020908251917fe341eaa4000000000000000000000000000000000000000000000000000000008352610b0b600484015260248301528082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200377e57600090819382916200370d575b50847fff000000000000000000000000000000000000000000000000000000000000009394955195602087015285015260f81b16908201526041815262002b14816200290f565b83809550819492503d831162003776575b6200372a81836200292c565b81010312620002c6575080620037617fff000000000000000000000000000000000000000000000000000000000000009262002f96565b602082015191850151919392909190620036c6565b503d6200371e565b83513d6000823e3d90fd5b60408051906122ca908183019267ffffffffffffffff9281851084861117620028a65762003a72823980600094039084f09283156200398b5773ffffffffffffffffffffffffffffffffffffffff92837fffffffffffffffffffffffff000000000000000000000000000000000000000095168560175416176017558251906112bf8083019280841083851117620039545760e08162005d3c958487833960608152600c60608201527f5465737420546f6b656e20410000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544100000000000000000000000000000000000000000000000000000000000060c082015260128982015203019085f08015620039815786168760185416176018558451928184019284841090841117620039545791839160e093833960608152600c60608201527f5465737420546f6b656e20420000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544200000000000000000000000000000000000000000000000000000000000060c082015260128682015203019082f09182156200394a57505016906019541617601955565b51903d90823e3d90fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b85513d86823e3d90fd5b9051903d90823e3d90fd5b6018549060009173ffffffffffffffffffffffffffffffffffffffff80911691823b15620011ba5760405191807f40c10f1900000000000000000000000000000000000000000000000000000000928385521692836004820152858160448183680246ddf97976680000998a60248401525af1801562003a665762003a50575b5060195416803b1562001e01578492918360449260405196879586948552600485015260248401525af18015620034dc5762003371575050565b62003a5e9095919562002891565b933862003a16565b6040513d88823e3d90fdfe60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a5578260405251902060805261220990816100c18239608051816118b0015260a0518161188a0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db146110c8578063137c29fe14610eef5780632a2d80d114610c4f5780632b67b57014610a9457806330f28b7a146109b25780633644e5151461098f57806336c78516146109385780633ff9dcb1146108d65780634fe02b441461088b57806365d9723c1461071657806387517c4514610602578063927da10514610569578063cc53287f14610467578063edd9444b1461031c5763fe8ec1a7146100c657600080fd5b346103185760c06003193601126103185767ffffffffffffffff8335818111610314576100f6903690860161146b565b6024358281116103105761010d903690870161143a565b610115611324565b9160843585811161030c5761012d9036908a016113e1565b98909560a43590811161030857610146913691016113e1565b9690958151906101558261123d565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610204602085018096611cfc565b918237018a8152039961023d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611275565b5190209085515161024d81611c24565b908a5b8181106102db5750506102d8999a6102cf91835161028281610276602082018095611ccf565b03848101835282611275565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611275565b51902093611a60565b80f35b806102f36102ed610303938c5161157e565b51611dbd565b6102fd828661157e565b52611c73565b610250565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103185760806003193601126103185767ffffffffffffffff9080358281116103145761034f903690830161146b565b60243583811161031057610366903690840161143a565b939092610371611324565b9160643590811161046357610388913691016113e1565b9490938351519761039889611c24565b98885b8181106104415750506102d8979881516103e9816103bd602082018095611ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611275565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102cf81611259565b808b6102fd826104586102ed61045e968d5161157e565b9261157e565b61039b565b8680fd5b50823461056557602090816003193601126103145780359067ffffffffffffffff82116103105761049a9136910161143a565b929091845b8481106104aa578580f35b806104c06104bb60019388886116d5565b6116e5565b6104d5846104cf848a8a6116d5565b016116e5565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a20161049f565b8280fd5b5034610318576060600319360112610318576105fe816105876112de565b93610590611301565b610598611324565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103185760806003193601126103185761061c6112de565b90610625611301565b9161062e611324565b65ffffffffffff926064358481169081810361030c5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c2094861560001461070e57504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b9050926106ed565b508234610565576060600319360112610565576107316112de565b9061073a611301565b9265ffffffffffff604435818116939084810361030c57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156108635761ffff90858403161161083c5750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b50346103185780600319360112610318578060209273ffffffffffffffffffffffffffffffffffffffff6108bd6112de565b1681528084528181206024358252845220549051908152f35b5082346105655781600319360112610565577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b823461098c57608060031936011261098c576109526112de565b61095a611301565b610962611324565b6064359173ffffffffffffffffffffffffffffffffffffffff83168303610310576102d8936115c1565b80fd5b50346103185781600319360112610318576020906109ab611887565b9051908152f35b5082903461056557610100600319360112610565576109d036611368565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610a026112b6565b9160e43567ffffffffffffffff8111610a90576102d894610a25913691016113e1565b939092610a328351611dbd565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610a8781611259565b5190209161198e565b8580fd5b5091346103185761010060031936011261031857610ab06112de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610314576080855191610ae983611221565b1261031457845190610afa826111d6565b73ffffffffffffffffffffffffffffffffffffffff916024358381168103610463578152604435838116810361046357602082015265ffffffffffff606435818116810361030c57888301526084359081168103610463576060820152815260a435938285168503610a90576020820194855260c4359087830182815260e43567ffffffffffffffff811161030857610b9690369084016113e1565b929093804211610c20575050918591610c106102d8999a610c1695610bbb8851611d27565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610c088161123d565b519020611942565b91611e30565b5192511691611706565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b50913461031857606060031993818536011261031457610c6d6112de565b9260249081359267ffffffffffffffff9788851161030c57859085360301126104635780519785890189811082821117610ec4578252848301358181116103085785019036602383011215610308578382013591610cca8361140f565b90610cd785519283611275565b838252602093878584019160071b83010191368311610ec0578801905b828210610e63575050508a526044610d0d868801611347565b96838c01978852013594838b0191868352604435908111610e5f57610d3590369087016113e1565b959096804211610e34575050508998995151610d5081611c24565b908b5b818110610e1157505092889492610c1092610dde97958351610d7c816103bd8682018095611ccf565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610c088161123d565b51169082515192845b848110610df2578580f35b80610e0b8585610e05600195875161157e565b51611706565b01610de7565b806102f3610e268e9f9e93610e2c945161157e565b51611d27565b9b9a9b610d53565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b608082360312610ec057856080918851610e7c816111d6565b610e8585611347565b8152610e92838601611347565b83820152610ea18a8601611427565b8a8201528d610eb1818701611427565b90820152815201910190610cf4565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105655761014060031936011261056557610f0c36611368565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610f3e6112b6565b67ffffffffffffffff93906101043585811161046357610f6190369086016113e1565b90936101243596871161030c57610f81610a87966102d8983691016113e1565b969095825190610f908261123d565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c00000000000000000000000000000000000000000000000000000000608083015283519485918161103f602085018096611cfc565b918237018b815203936110787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611275565b519020926110868651611dbd565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102c3565b5082346105655760208060031936011261031457813567ffffffffffffffff92838211610a905736602383011215610a9057810135928311610310576024906007368386831b8401011161046357865b858110611123578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8336030112610308576111d088876001946060835161116a816111d6565b6111a6608461117a8d8601611347565b9485845261118a60448201611347565b809785015261119b60648201611347565b809885015201611347565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166115c1565b01611118565b6080810190811067ffffffffffffffff8211176111f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176111f257604052565b60a0810190811067ffffffffffffffff8211176111f257604052565b60c0810190811067ffffffffffffffff8211176111f257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176111f257604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6003190190608082126112d957604080519061138382611221565b808294126112d957805181810181811067ffffffffffffffff8211176111f257825260043573ffffffffffffffffffffffffffffffffffffffff811681036112d9578152602435602082015282526044356020830152606435910152565b9181601f840112156112d95782359167ffffffffffffffff83116112d957602083818601950101116112d957565b67ffffffffffffffff81116111f25760051b60200190565b359065ffffffffffff821682036112d957565b9181601f840112156112d95782359167ffffffffffffffff83116112d9576020808501948460061b0101116112d957565b9190916060818403126112d957604080519161148683611221565b8294813567ffffffffffffffff908181116112d957830182601f820112156112d95780356114b38161140f565b926114c087519485611275565b818452602094858086019360061b850101938185116112d9579086899897969594939201925b848410611503575050505050855280820135908501520135910152565b9091929394959697848303126112d9578851908982019082821085831117611550578a928992845261153487611347565b81528287013583820152815201930191908897969594936114e6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156115925760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c168042116116a4575082871696838803611632575b50506116309550169261211c565b565b878484161160001461166f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846116309a031691161790553880611622565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b91908110156115925760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036112d95790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c0361185e57918561183794927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec9897969450871560001461183c5779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff0000000000000000000000000000000000000000876117c9565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f0000000000000000000000000000000000000000000000000000000000000000036118d2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261193c8161123d565b51902090565b61194a611887565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261193c816111d6565b9192909360a435936040840151804211611a2f57506020845101518086116119fe5750918591610c106119ce946119c9602088015186611bb0565b611942565b73ffffffffffffffffffffffffffffffffffffffff80915151169260843591821682036112d9576116309361211c565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611b805750848803611b5757611a97918691610c1060209b6119c98d88015186611bb0565b60005b868110611aab575050505050505050565b611ab681835161157e565b5188611ac383878a6116d5565b01359089810151808311611b27575091818888886001968596611aed575b50505050505001611a9a565b611b1c95611b169273ffffffffffffffffffffffffffffffffffffffff6104bb935116956116d5565b9161211c565b803888888883611ae1565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611bfa57565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611c2e8261140f565b611c3b6040519182611275565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611c69829461140f565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ca05760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611ce8575050505090565b835185529381019392810192600101611cda565b9081519160005b838110611d14575050016000815290565b8060208092840101518185015201611d03565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176111f25760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff8151166040840152015160608201526060815261193c816111d6565b91908260409103126112d9576020823592013590565b6000843b611f97575060418203611f1557611e4d82820182611e1a565b939092604010156115925760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa15611f095773ffffffffffffffffffffffffffffffffffffffff8060005116918215611edf571603611eb557565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203611f6d57611f2991810190611e1a565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611ca05760209360009360ff608094611e6b565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa908115612111578291612093575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361206957565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211612109575b816120ad60209383611275565b810103126103185751907fffffffff000000000000000000000000000000000000000000000000000000008216820361098c57507fffffffff00000000000000000000000000000000000000000000000000000000903861203d565b3d91506120a0565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561217557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea2646970667358221220c798ba34bd41ccb33394477f24cca6191c4fc58c8e7d9adae8e27920b835ff1d64736f6c6343000811003360e0604090808252346200043c57620012bf803803809162000022828562000441565b833981016060828203126200043c5781516001600160401b0393908481116200043c57826200005391850162000465565b92602092838201518681116200043c5783916200007291840162000465565b91015160ff811681036200043c578451948686116200042657600095806200009b8854620004dc565b92601f93848111620003d5575b5087908483116001146200036d57899262000361575b50508160011b916000199060031b1c19161786555b8251908782116200034d578190600194620000ef8654620004dc565b828111620002f8575b50879183116001146200029457889262000288575b5050600019600383901b1c191690831b1782555b6080524660a052815184549181866200013a85620004dc565b92838352878301958882821691826000146200026857505060011462000228575b506200016a9250038262000441565b519020928151928301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8552828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401524660808401523060a084015260a0835260c08301948386109086111762000214575083905251902060c052610da590816200051a82396080518161077e015260a05181610b97015260c05181610bbe0152f35b634e487b7160e01b81526041600452602490fd5b8791508880528189209089915b8583106200024f5750506200016a9350820101386200015b565b8054838801850152869450899390920191810162000235565b60ff191688526200016a95151560051b85010192503891506200015b9050565b0151905038806200010d565b8589528789208694509190601f1984168a5b8a828210620002e15750508411620002c7575b505050811b01825562000121565b015160001960f88460031b161c19169055388080620002b9565b8385015186558997909501949384019301620002a6565b909192508589528789208380860160051c8201928a871062000343575b91869589929594930160051c01915b82811062000334575050620000f8565b8b815586955088910162000324565b9250819262000315565b634e487b7160e01b87526041600452602487fd5b015190503880620000be565b898052888a209250601f1984168a5b8a828210620003be575050908460019594939210620003a4575b505050811b018655620000d3565b015160001960f88460031b161c1916905538808062000396565b60018596829396860151815501950193016200037c565b9091508880528789208480850160051c8201928a86106200041c575b9085949392910160051c01905b8181106200040d5750620000a8565b8a8155849350600101620003fe565b92508192620003f1565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200042657604052565b919080601f840112156200043c578251906001600160401b038211620004265760405191602091620004a1601f8301601f191684018562000441565b8184528282870101116200043c5760005b818110620004c857508260009394955001015290565b8581018301518482018401528201620004b2565b90600182811c921680156200050e575b6020831014620004f857565b634e487b7160e01b600052602260045260246000fd5b91607f1691620004ec56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c6343000811003360a0346100ed57601f6117a238819003918201601f19168301916001600160401b038311848410176100f25780849260409485528339810103126100ed5780516001600160a01b039182821682036100ed57602001519182168092036100ed57600080546001600160a01b031990811684178255604051939190829081337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a360015416176001557fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f2339180a36080526116999081610109823960805181818161093501526110980152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b600090813560e01c90816302fd597d146110bc5750806312261ee71461106b578063238dafe0146110455780632f7f204e14610d42578063323a5e0b14610cf9578063328d8f7214610c925780633fd8b02f14610c74578063410fa8e614610b6a57806341bcf4dc1461060d5780638da5cb5b146105da578063e44cb37b1461046e578063e8ea054b146103e1578063ec67b8c8146101b2578063f2fde38b146100fc5763f77c4791146100c657600080fd5b346100f957806003193601126100f957602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b80fd5b50346100f95760206003193601126100f957610116611454565b815473ffffffffffffffffffffffffffffffffffffffff8082163303610188577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b50346100f9576020806003193601126103dd578160606040516101d481611551565b8281528284820152816040820152015260043582526006815260408220604051926101fe84611551565b60ff82541660058110156103b057845260018083015492848601938452600281016040519283918591815491610233836115ae565b928386528a838216918260001461036c57505060011461032f575b5050506003929161026091038461156d565b60408701928352015492606086019384526040519585875251600581101561030257858701525160408601525160806060860152805160a086018190529385939291825b8681106102eb57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f9260c080978701015251608085015201168101030190f35b81810183015188820160c0015287955082016102a4565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8752888720899350879291905b8284106103545750505082010181610260600361024e565b80548489018601528795508a9490930192810161033c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061026091506003905061024e565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b5080fd5b50346100f95760206003193601126100f9576103fb611454565b73ffffffffffffffffffffffffffffffffffffffff908183541633036101885716807fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155337fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f28380a380f35b50346100f95760406003193601126100f95760043560243573ffffffffffffffffffffffffffffffffffffffff8354163303610188578183526006602052604083209081549060ff821660058110156105ad57801561058357600414610559578060018401540361052f577fb6dc686a67a9620536a83f729428ef64a3e6529407d6b5e0df3426fe6b01a2609260037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060209416179055604051908152a280f35b60046040517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b60046040517f28b8b078000000000000000000000000000000000000000000000000000000008152fd5b60046040517faffbf64b000000000000000000000000000000000000000000000000000000008152fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346100f957806003193601126100f95773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346100f95760e06003193601126100f95767ffffffffffffffff906024358281116103dd576106419036906004016114a5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc36019360808512610b6657604080519561067b87611519565b12610b665760405161068c81611535565b60443573ffffffffffffffffffffffffffffffffffffffff8116810361088557815260643560208201528552608435602086015260a435604086015260c435908111610b66576106e0903690600401611477565b949060043585526006602052604085209586549160ff83166005811015610b39578015610583576004811461055957600314610b0f5760405161072281611519565b73ffffffffffffffffffffffffffffffffffffffff60025416808252600354602083015273ffffffffffffffffffffffffffffffffffffffff60045416604083015273ffffffffffffffffffffffffffffffffffffffff8651511603610ae5576040516020810190602082526107cc816107a0604082018b8d611601565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261156d565b519020948560018b01540361052f578899895b8b1580610adc575b156108b7578881101561088a578060061b8a013573ffffffffffffffffffffffffffffffffffffffff811680910361088557331461087c575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461084f576001016107df565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60019b50610820565b600080fd5b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b508997508a15610ab25760027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00899716179055602073ffffffffffffffffffffffffffffffffffffffff6040840151169201516040519261091784611535565b8352602083015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610aae578580946040927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f610a1d9986519a8b998a9889967f30f28b7a0000000000000000000000000000000000000000000000000000000088526109e46004890182516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60208181015160448a01529101516064880152815173ffffffffffffffffffffffffffffffffffffffff166084880152015160a4860152565b3360c485015261010060e48501528061010485015280610124958686013785858286010152011681010301925af18015610aa357610a8f575b50506040519081523360208201527f2a41d71ad20bb81193ade4a1c1c4796777ba30f92f48c41fce7eeb361e109b0e604060043592a280f35b610a98906114d6565b6103dd578183610a56565b6040513d84823e3d90fd5b8580fd5b60046040517f65268788000000000000000000000000000000000000000000000000000000008152fd5b508881106107e7565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60046040517ffd6f4120000000000000000000000000000000000000000000000000000000008152fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8380fd5b50346100f95760a06003193601126100f9576024358015158091036108855760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc3601126103dd5773ffffffffffffffffffffffffffffffffffffffff90818354163303610188576004356005557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b16911617600155604435818116809103610885577fffffffffffffffffffffffff00000000000000000000000000000000000000009081600254161760025560643560035560843591821680920361088557600454161760045580f35b50346100f957806003193601126100f9576020600554604051908152f35b50346100f95760206003193601126100f957600435801515809103610885577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b1691161760015580f35b50346100f957806003193601126100f957606073ffffffffffffffffffffffffffffffffffffffff80600254169060035490600454169060405192835260208301526040820152f35b50346100f95760606003193601126100f957610d5c611454565b6024359060443567ffffffffffffffff8111610b6657610d809036906004016114a5565b929060ff60015460a01c161561101b57604051906020820182610dd485878490917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b0392610e067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09485810183528261156d565b519020948587526006602052604087209283549060ff82166005811015610fee5760028114610fc45760048114610559576003141580610fb7575b610f8d57604051610e6f60208201926020845282610e6360408201888a611601565b0390810183528261156d565b519020958660018601540361052f57889460047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff94161790551690813b15610b665783610f0e95604051968795869485937f3d3e73d70000000000000000000000000000000000000000000000000000000085526004850152604060248501526044840191611601565b03925af18015610f8257610f4c575b5060207feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd491604051908152a280f35b7feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd49193610f7a6020926114d6565b939150610f1d565b6040513d86823e3d90fd5b60046040517ff268e9e3000000000000000000000000000000000000000000000000000000008152fd5b5060038501544210610e41565b60046040517fe4d068da000000000000000000000000000000000000000000000000000000008152fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60046040517f09131007000000000000000000000000000000000000000000000000000000008152fd5b50346100f957806003193601126100f957602060ff60015460a01c166040519015158152f35b50346100f957806003193601126100f957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346100f95760806003193601126100f9576110d6611454565b9167ffffffffffffffff916044358381116103dd576110f9903690600401611477565b606435858111610b66576111119036906004016114a5565b9290946001549060ff8260a01c161561142c575073ffffffffffffffffffffffffffffffffffffffff16330361018857604051606088901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020820190815260243560348301529061118881605481016107a0565b519020958685526006602052604085209384549660ff88166005811015610b3957600414610559576001916107a06111f47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00936040519283916020830195602087526040840191611601565b519020971617845585600185015582116113ff57819061121760028501546115ae565b601f81116113af575b508490601f83116001146113075785926112fc575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161760028201555b6005544201918242116112cf575091602094916003859401556040519081527f96eab3103fbd8c0266eca3e7a57929bc3bd66ef5223e2cb45f589f884ffcb9ae8573ffffffffffffffffffffffffffffffffffffffff602435941692a4604051908152f35b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b013590508780611235565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016916002850186526020862092865b818110611397575090846001959493921061135f575b505050811b01600282015561126a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905587808061134f565b91936020600181928787013581550195019201611339565b90915060028401855260208520601f840160051c8101602085106113f8575b90849392915b601f830160051c820181106113ea575050611220565b8781558594506001016113d4565b50806113ce565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b807f091310070000000000000000000000000000000000000000000000000000000060049252fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020838186019501011161088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020808501948460061b01011161088557565b67ffffffffffffffff81116114ea57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176114ea57604052565b6040810190811067ffffffffffffffff8211176114ea57604052565b6080810190811067ffffffffffffffff8211176114ea57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176114ea57604052565b90600182811c921680156115f7575b60208310146115c857565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916115bd565b918181526020809101929160009182905b82821061162157505050505090565b9091929394853573ffffffffffffffffffffffffffffffffffffffff8116809103610aae5781528582013582820152604090810195019392916001019061161256fea26469706673582212205e6b186204cb5b1a91903d6fed9eb15ed36361835d2b911aa9d576e0ea5387c864736f6c6343000811003360808060405234610016576103bb908161001c8239f35b600080fdfe60806040908082526004918236101561001757600080fd5b600091823560e01c9081631cfa7ba81461034b575080633d3e73d7146102335780633f2601ef146101b75780636cc6cde1146101655780638aa202f4146101195763fcdf97501461006757600080fd5b3461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011557600154918281528060205281812060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905560015490600182018092116100e957506020935060015551908152f35b806011867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b5080fd5b5082346101615760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610161578160209360ff923581528085522054169051908152f35b8280fd5b503461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101155760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b8284346101155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610115573573ffffffffffffffffffffffffffffffffffffffff8116809103610115577fffffffffffffffffffffffff0000000000000000000000000000000000000000600254161760025580f35b50823461016157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101615767ffffffffffffffff6024358181116103475736602382011215610347578083013591821161034757602436918360061b0101116103435773ffffffffffffffffffffffffffffffffffffffff60025416330361031b57156102f45735825281602052812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905580f35b90517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b5090517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b8480fd5b83903461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610115576020906003548152f3fea2646970667358221220e52b443914e9f65920400b972dabc6bb47cac9fe8db61301fc5029ea2831c31664736f6c63430008110033a264697066735822122004efd8a4f28019b4f87842e380028010126a630d5037b9879ba015bf8e8e75b664736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH3 0x14D JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE PUSH1 0x1 PUSH3 0x5E79B7 PUSH1 0xE0 SHL SUB NOT DUP1 DUP4 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP5 ADD MSTORE SWAP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D PUSH1 0x20 DUP1 DUP6 PUSH1 0x24 DUP2 DUP6 GAS STATICCALL SWAP5 DUP6 ISZERO PUSH3 0x142 JUMPI DUP4 SWAP6 PUSH3 0x11E JUMPI JUMPDEST POP PUSH1 0x13 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE PUSH3 0xA11CE PUSH1 0x4 DUP7 ADD MSTORE SWAP5 SWAP4 SWAP2 DUP2 SWAP1 DUP4 SWAP1 PUSH1 0x24 SWAP1 DUP3 SWAP1 GAS STATICCALL SWAP3 DUP4 ISZERO PUSH3 0x112 JUMPI SWAP3 PUSH3 0xDE JUMPI JUMPDEST POP POP AND SWAP1 PUSH1 0x14 SLOAD AND OR PUSH1 0x14 SSTORE PUSH8 0x1BC16D674EC80000 PUSH1 0x15 SSTORE PUSH8 0xDE0B6B3A7640000 PUSH1 0x16 SSTORE PUSH1 0x40 MLOAD PUSH2 0x8BA9 SWAP1 DUP2 PUSH3 0x1AE DUP3 CODECOPY RETURN JUMPDEST PUSH3 0x102 SWAP3 POP DUP1 RETURNDATASIZE LT PUSH3 0x10A JUMPI JUMPDEST PUSH3 0xF9 DUP2 DUP4 PUSH3 0x152 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x18C JUMP JUMPDEST CODESIZE DUP1 PUSH3 0xAA JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0xED JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP2 PUSH3 0x13A SWAP3 SWAP7 POP RETURNDATASIZE DUP8 GT PUSH3 0x10A JUMPI PUSH3 0xF9 DUP2 DUP4 PUSH3 0x152 JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x5E JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x176 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH3 0x14D JUMPI MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH3 0x14D JUMPI SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE PUSH1 0x4 SWAP2 DUP3 CALLDATASIZE LT ISZERO PUSH3 0x18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x35C3DEB EQ PUSH3 0x2682 JUMPI POP DUP1 PUSH4 0x7842CFB EQ PUSH3 0x259A JUMPI DUP1 PUSH4 0xA9254E4 EQ PUSH3 0x1FF9 JUMPI DUP1 PUSH4 0x1B210293 EQ PUSH3 0x1FD4 JUMPI DUP1 PUSH4 0x2C653E99 EQ PUSH3 0x1E1D JUMPI DUP1 PUSH4 0x2D16568A EQ PUSH3 0x1C76 JUMPI DUP1 PUSH4 0x32ACBC87 EQ PUSH3 0x1862 JUMPI DUP1 PUSH4 0x338499B2 EQ PUSH3 0x1338 JUMPI DUP1 PUSH4 0x3EB8B8FD EQ PUSH3 0x12FC JUMPI DUP1 PUSH4 0x415E982D EQ PUSH3 0x12C0 JUMPI DUP1 PUSH4 0x466417B9 EQ PUSH3 0x11BE JUMPI DUP1 PUSH4 0x4F2D277F EQ PUSH3 0xEDB JUMPI DUP1 PUSH4 0x6302C3CF EQ PUSH3 0xE9F JUMPI DUP1 PUSH4 0x6E4F2775 EQ PUSH3 0xE63 JUMPI DUP1 PUSH4 0x78F16830 EQ PUSH3 0xE27 JUMPI DUP1 PUSH4 0xA86C9AE7 EQ PUSH3 0xBC8 JUMPI DUP1 PUSH4 0xB68C1319 EQ PUSH3 0x997 JUMPI DUP1 PUSH4 0xBA414FA6 EQ PUSH3 0x96E JUMPI DUP1 PUSH4 0xC5DF4F03 EQ PUSH3 0x932 JUMPI DUP1 PUSH4 0xE1227080 EQ PUSH3 0x435 JUMPI SWAP1 SWAP2 DUP1 SWAP4 DUP3 PUSH4 0xE1CEE8B1 EQ PUSH3 0x363 JUMPI DUP3 PUSH4 0xE2ACB0F8 EQ PUSH3 0x346 JUMPI DUP3 PUSH4 0xE6D9FF3D EQ PUSH3 0x301 JUMPI DUP3 PUSH4 0xF3FDDBF4 EQ PUSH3 0x17E JUMPI POP POP PUSH4 0xFA7626D4 EQ PUSH3 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST SWAP2 POP SWAP2 CALLVALUE PUSH3 0x2EE JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2EE JUMPI PUSH3 0x1A7 PUSH3 0x1A1 PUSH3 0x3128 JUMP JUMPDEST PUSH3 0x31F8 JUMP JUMPDEST PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x2FC JUMPI DUP4 DUP1 SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0xE4D068DA00000000000000000000000000000000000000000000000000000000 DUP10 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2F2 JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x2D6 JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x1B SLOAD AND SWAP3 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x25A PUSH3 0x3096 JUMP JUMPDEST SWAP5 DUP2 EXTCODESIZE ISZERO PUSH3 0x2D2 JUMPI DUP7 DUP1 SWAP5 PUSH3 0x29E DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x2F7F204E00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE DUP6 ADD PUSH3 0x2FA5 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x2C9 JUMPI POP PUSH3 0x2B3 JUMPI POP RETURN JUMPDEST PUSH3 0x2BE SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2C6 JUMPI DUP1 RETURN JUMPDEST DUP1 REVERT JUMPDEST MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST PUSH3 0x2E1 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2EE JUMPI DUP3 CODESIZE PUSH3 0x229 JUMP JUMPDEST POP POP REVERT JUMPDEST DUP3 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP POP POP REVERT JUMPDEST CALLVALUE PUSH3 0x17A JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH3 0x341 JUMPI PUSH3 0x33E SWAP1 PUSH3 0x3996 JUMP JUMPDEST DUP1 RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x2C6 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2C6 JUMPI PUSH3 0x33E PUSH3 0x3789 JUMP JUMPDEST SWAP2 POP SWAP2 CALLVALUE PUSH3 0x2EE JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2EE JUMPI PUSH3 0x382 PUSH3 0x33D2 JUMP JUMPDEST POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x2FC JUMPI DUP4 DUP1 SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP10 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2F2 JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x2D6 JUMPI POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x1B SLOAD AND SWAP3 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x25A PUSH3 0x3096 JUMP JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0x452 PUSH3 0x3128 JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x1A SLOAD AND SWAP2 DUP1 MLOAD SWAP1 DUP6 DUP3 PUSH1 0x24 DUP2 PUSH32 0xEC67B8C800000000000000000000000000000000000000000000000000000000 SWAP8 DUP9 DUP3 MSTORE DUP8 DUP13 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x928 JUMPI DUP7 SWAP3 PUSH3 0x908 JUMPI JUMPDEST POP PUSH3 0x4BE PUSH3 0x3096 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP3 PUSH8 0xDE0B6B3A7640000 DUP5 PUSH3 0x4D7 DUP6 PUSH3 0x2E9A JUMP JUMPDEST MLOAD ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD SWAP6 PUSH1 0x5 DUP8 ADD SWAP8 DUP9 DUP9 GT PUSH3 0x8DC JUMPI PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x8D8 JUMPI DUP11 DUP11 PUSH1 0x24 DUP15 DUP4 DUP10 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0xE5D6BF0200000000000000000000000000000000000000000000000000000000 DUP6 MSTORE DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x8B2 JUMPI SWAP1 DUP12 SWAP2 PUSH3 0x8BC JUMPI JUMPDEST POP DUP7 DUP13 SWAP2 DUP4 PUSH1 0x1A SLOAD AND DUP5 PUSH1 0x1B SLOAD AND PUSH1 0x1D SLOAD SWAP3 PUSH3 0x56B PUSH3 0x2BDC JUMP JUMPDEST SWAP6 PUSH3 0x5A5 DUP13 DUP13 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP6 PUSH32 0x2FD597D00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE DUP7 ADD PUSH3 0x2F4C JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x8B2 JUMPI SWAP2 DUP8 DUP13 SWAP5 SWAP3 DUP15 SWAP5 PUSH3 0x879 JUMPI JUMPDEST POP POP SWAP1 PUSH1 0x24 SWAP2 PUSH1 0x1A SLOAD AND DUP7 MLOAD SWAP10 DUP11 SWAP5 DUP6 SWAP4 DUP5 MSTORE DUP4 ADD MSTORE GAS STATICCALL SWAP5 DUP6 ISZERO PUSH3 0x86F JUMPI SWAP2 PUSH3 0x15185 SWAP6 SWAP4 SWAP2 PUSH1 0x60 SWAP6 SWAP4 DUP11 SWAP6 PUSH3 0x844 JUMPI JUMPDEST POP DUP4 ADD MLOAD DUP4 DUP6 ADD SWAP1 DUP2 MLOAD EQ PUSH3 0x7E1 JUMPI JUMPDEST MLOAD SWAP2 DUP2 MLOAD PUSH3 0x64D DUP2 PUSH3 0x620 DUP8 DUP3 ADD SWAP5 DUP9 DUP7 MSTORE DUP7 DUP4 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x292C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP4 DUP4 SUB PUSH3 0x6A2 JUMPI JUMPDEST POP POP POP POP ADD MLOAD SWAP2 ADD DUP1 SWAP3 GT PUSH3 0x676 JUMPI SWAP1 PUSH3 0x33E SWAP2 PUSH3 0x2C17 JUMP JUMPDEST PUSH1 0x24 DUP4 PUSH1 0x11 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0x7C6 SWAP3 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP5 MLOAD DUP5 DUP2 MSTORE PUSH1 0x25 DUP6 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B627974 DUP7 DUP3 ADD MSTORE PUSH32 0x657333325D000000000000000000000000000000000000000000000000000000 DUP11 DUP3 ADD MSTORE LOG1 DUP3 MLOAD SWAP5 DUP4 DUP7 MSTORE PUSH3 0x75E DUP5 DUP8 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP4 DUP8 ADD MSTORE DUP6 PUSH32 0xAFB795C9C61E4FE7468C386F925D7A5429ECAD9C0495DDB8D38D690614D32F99 SWAP7 DUP8 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD SWAP4 DUP4 DUP6 SWAP5 DUP6 MSTORE DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP2 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x7D7 PUSH3 0x2D63 JUMP JUMPDEST CODESIZE DUP1 DUP1 DUP1 PUSH3 0x65A JUMP JUMPDEST PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 DUP7 DUP4 MLOAD DUP7 DUP2 MSTORE PUSH1 0x17 DUP8 DUP3 ADD MSTORE PUSH32 0x4572726F723A20417373657274696F6E204661696C6564000000000000000000 DUP6 DUP3 ADD MSTORE LOG1 PUSH3 0x83E PUSH3 0x2D63 JUMP JUMPDEST PUSH3 0x602 JUMP JUMPDEST DUP5 SWAP2 SWAP6 POP PUSH3 0x867 SWAP1 RETURNDATASIZE DUP1 DUP14 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x2B17 JUMP JUMPDEST SWAP5 SWAP1 PUSH3 0x5F1 JUMP JUMPDEST DUP3 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP2 SWAP5 POP DUP1 SWAP3 SWAP4 POP RETURNDATASIZE DUP4 GT PUSH3 0x8AA JUMPI JUMPDEST PUSH3 0x895 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x341 JUMPI DUP11 SWAP1 DUP11 SWAP3 DUP8 CODESIZE PUSH3 0x5BD JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x889 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP14 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x8C7 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x8D4 JUMPI DUP10 CODESIZE PUSH3 0x54F JUMP JUMPDEST DUP10 DUP1 REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH1 0x11 DUP14 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0x920 SWAP2 SWAP3 POP RETURNDATASIZE DUP1 DUP9 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST SWAP1 CODESIZE PUSH3 0x4B3 JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 PUSH3 0x98E PUSH3 0x2A1D JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH3 0xBC4 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0xBC4 JUMPI PUSH3 0x9B6 PUSH3 0x3128 JUMP JUMPDEST PUSH3 0x9C1 DUP2 PUSH3 0x31F8 JUMP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1A SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xEC67B8C800000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP9 DUP4 ADD MSTORE GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x2F2 JUMPI DUP5 SWAP2 PUSH3 0xBA6 JUMPI JUMPDEST POP MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH3 0xB7A JUMPI POP PUSH1 0x2 DUP3 SUB PUSH3 0xA38 JUMPI DUP3 DUP1 RETURN JUMPDEST DUP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 PUSH3 0xB61 SWAP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B526573 DUP5 DUP3 ADD MSTORE PUSH32 0x6F6C7574696F6E5374617475735D000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0xAF7 DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0xB74 PUSH3 0x2D63 JUMP JUMPDEST DUP2 DUP1 DUP3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x21 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0xBBD SWAP2 POP RETURNDATASIZE DUP1 DUP7 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP5 PUSH3 0xA1D JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0xBE6 PUSH3 0x3128 JUMP JUMPDEST SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x18 SLOAD AND SWAP3 PUSH1 0x1F SLOAD PUSH1 0x0 DUP5 DUP1 MLOAD PUSH3 0xC16 DUP2 PUSH3 0x28D5 JUMP JUMPDEST DUP2 MLOAD PUSH3 0xC23 DUP2 PUSH3 0x28F2 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE DUP4 MLOAD SWAP5 PUSH3 0xC44 DUP7 PUSH3 0x28F2 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x64 TIMESTAMP ADD SWAP6 DUP7 TIMESTAMP GT PUSH3 0xDF9 JUMPI DUP6 SWAP7 DUP5 MLOAD SWAP6 PUSH3 0xC68 DUP8 PUSH3 0x28D5 JUMP JUMPDEST DUP7 MSTORE PUSH1 0x0 PUSH1 0x20 DUP8 ADD MSTORE DUP5 DUP7 ADD MSTORE PUSH3 0xC89 DUP3 PUSH1 0x1A SLOAD AND PUSH1 0x1C SLOAD SWAP1 DUP8 PUSH3 0x3526 JUMP JUMPDEST SWAP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI DUP6 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0xDEAD DUP7 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0xDEF JUMPI SWAP1 DUP10 SWAP2 PUSH3 0xDD7 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x6526878800000000000000000000000000000000000000000000000000000000 DUP12 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xDCD JUMPI SWAP1 DUP9 SWAP2 PUSH3 0xDB5 JUMPI JUMPDEST POP POP PUSH1 0x1A SLOAD AND SWAP1 PUSH3 0xD6C PUSH3 0x3096 JUMP JUMPDEST SWAP3 DUP3 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI DUP8 SWAP5 PUSH3 0x29E DUP7 SWAP3 DUP9 MLOAD SWAP10 DUP11 SWAP8 DUP9 SWAP7 DUP8 SWAP6 PUSH32 0x41BCF4DC00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE DUP7 ADD PUSH3 0x3026 JUMP JUMPDEST DUP8 DUP1 REVERT JUMPDEST PUSH3 0xDC0 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2D2 JUMPI DUP7 CODESIZE PUSH3 0xD5B JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0xDE2 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0xDB1 JUMPI DUP8 CODESIZE PUSH3 0xCEC JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x11 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH3 0xBC4 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0xBC4 JUMPI PUSH3 0xEFA PUSH3 0x3128 JUMP JUMPDEST SWAP1 PUSH3 0xF06 DUP3 PUSH3 0x31F8 JUMP JUMPDEST PUSH3 0xF10 PUSH3 0x3096 JUMP JUMPDEST SWAP2 DUP5 DUP3 MLOAD SWAP4 PUSH1 0x20 SWAP5 PUSH3 0xF32 DUP2 PUSH3 0x620 DUP9 DUP3 ADD SWAP5 DUP10 DUP7 MSTORE DUP9 DUP4 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x1A SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x11BA JUMPI DUP5 PUSH1 0x44 DUP10 DUP7 DUP1 SWAP5 DUP11 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0xE44CB37B00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x11B0 JUMPI SWAP1 DUP4 SWAP2 PUSH3 0x1198 JUMPI JUMPDEST POP POP PUSH1 0x1A SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xEC67B8C800000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP10 DUP4 ADD MSTORE GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x118E JUMPI DUP6 SWAP2 PUSH3 0x1170 JUMPI JUMPDEST POP MLOAD SWAP3 PUSH1 0x5 DUP5 LT ISZERO PUSH3 0x1144 JUMPI POP PUSH1 0x3 DUP4 SUB PUSH3 0x1006 JUMPI DUP4 DUP1 RETURN JUMPDEST PUSH3 0x112C SWAP2 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD DUP4 DUP2 MSTORE PUSH1 0x2E DUP5 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B526573 DUP6 DUP3 ADD MSTORE PUSH32 0x6F6C7574696F6E5374617475735D000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x10C3 DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x3 DUP4 DUP8 ADD MSTORE DUP6 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP7 DUP8 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD SWAP4 DUP4 DUP6 SWAP5 DUP6 MSTORE DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP2 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x113D PUSH3 0x2D63 JUMP JUMPDEST DUP2 DUP1 DUP1 DUP4 DUP1 RETURN JUMPDEST DUP5 PUSH1 0x21 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0x1187 SWAP2 POP RETURNDATASIZE DUP1 DUP8 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP6 PUSH3 0xFEB JUMP JUMPDEST DUP3 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x11A3 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x17A JUMPI DUP2 DUP9 PUSH3 0xFA3 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP SWAP2 DUP2 SWAP3 CALLVALUE PUSH3 0x2EE JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2EE JUMPI PUSH3 0x11DE PUSH3 0x3128 JUMP JUMPDEST SWAP2 PUSH3 0x11EA DUP4 PUSH3 0x31F8 JUMP JUMPDEST PUSH3 0x11F4 PUSH3 0x3096 JUMP JUMPDEST DUP3 MLOAD PUSH3 0x1212 DUP2 PUSH3 0x620 PUSH1 0x20 DUP3 ADD SWAP5 PUSH1 0x20 DUP7 MSTORE DUP8 DUP4 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 PUSH1 0x1A SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x2D2 JUMPI PUSH1 0x44 DUP8 SWAP3 DUP4 DUP8 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0xE44CB37B00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE DUP10 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12B6 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x129E JUMPI JUMPDEST POP POP DUP3 PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x1B SLOAD AND SWAP3 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x25A PUSH3 0x3096 JUMP JUMPDEST PUSH3 0x12A9 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2FC JUMPI DUP4 CODESIZE PUSH3 0x1283 JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH3 0xBC4 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0xBC4 JUMPI PUSH3 0x1356 PUSH3 0x3128 JUMP JUMPDEST POP PUSH3 0x15180 TIMESTAMP ADD DUP1 TIMESTAMP GT PUSH3 0x1836 JUMPI DUP4 SWAP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0xBC4 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP8 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xE5D6BF0200000000000000000000000000000000000000000000000000000000 DUP5 MSTORE DUP10 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x182C JUMPI PUSH3 0x1814 JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x1B SLOAD AND SWAP2 PUSH1 0x1D SLOAD SWAP2 DUP5 MLOAD DUP1 SWAP5 PUSH32 0x8AA202F400000000000000000000000000000000000000000000000000000000 SWAP5 DUP6 DUP4 MSTORE DUP4 DUP4 ADD MSTORE DUP2 PUSH1 0x24 PUSH1 0x20 SWAP8 DUP9 SWAP4 GAS STATICCALL DUP1 ISZERO PUSH3 0x180A JUMPI DUP8 SWAP1 PUSH3 0x17CD JUMPI JUMPDEST PUSH1 0xFF SWAP2 POP AND PUSH1 0x1 DUP2 SUB PUSH3 0x168F JUMPI JUMPDEST POP DUP2 PUSH1 0x1A SLOAD AND SWAP2 DUP7 DUP2 PUSH1 0x1B SLOAD AND PUSH1 0x1D SLOAD SWAP5 PUSH3 0x145A PUSH3 0x3096 JUMP JUMPDEST SWAP1 DUP1 EXTCODESIZE ISZERO PUSH3 0x11BA JUMPI PUSH3 0x14A0 SWAP7 DUP5 DUP1 SWAP5 DUP13 MLOAD SWAP10 DUP11 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x2F7F204E00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE DUP13 DUP6 ADD PUSH3 0x2FA5 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP4 DUP5 ISZERO PUSH3 0x1683 JUMPI DUP7 SWAP5 PUSH3 0x1662 JUMPI JUMPDEST POP POP PUSH1 0x24 SWAP1 PUSH1 0x1B SLOAD AND SWAP4 PUSH1 0x1D SLOAD SWAP5 DUP8 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0x1655 JUMPI DUP5 SWAP1 PUSH3 0x1618 JUMPI JUMPDEST PUSH1 0xFF SWAP2 POP AND SWAP2 PUSH1 0x2 DUP4 SUB PUSH3 0x14F2 JUMPI DUP4 DUP1 RETURN JUMPDEST PUSH3 0x112C SWAP2 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD DUP4 DUP2 MSTORE PUSH1 0x22 DUP5 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B75696E DUP6 DUP3 ADD MSTORE PUSH32 0x745D000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x15AF DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP4 DUP8 ADD MSTORE DUP6 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP7 DUP8 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD SWAP4 DUP4 DUP6 SWAP5 DUP6 MSTORE DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST POP DUP2 DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x164D JUMPI JUMPDEST PUSH3 0x1631 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x11BA JUMPI PUSH3 0x1647 PUSH1 0xFF SWAP2 PUSH3 0x2F96 JUMP JUMPDEST PUSH3 0x14DF JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x1625 JUMP JUMPDEST POP POP POP MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x1670 SWAP2 SWAP3 SWAP5 POP PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x167F JUMPI DUP4 SWAP2 DUP7 DUP9 PUSH3 0x14B4 JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP DUP7 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP8 MLOAD DUP8 DUP2 MSTORE PUSH1 0x22 DUP9 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B75696E DUP10 DUP3 ADD MSTORE PUSH32 0x745D000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP6 MLOAD SWAP1 DUP7 DUP3 MSTORE PUSH3 0x1747 DUP8 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP8 DUP5 ADD MSTORE DUP3 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP4 DUP5 SWAP3 SUB SWAP1 LOG1 DUP7 MLOAD DUP1 SWAP2 DUP9 DUP3 MSTORE PUSH3 0x17B4 DUP10 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP9 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x17C6 PUSH3 0x2D63 JUMP JUMPDEST DUP7 PUSH3 0x143F JUMP JUMPDEST POP DUP5 DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x1802 JUMPI JUMPDEST PUSH3 0x17E6 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x2D2 JUMPI PUSH3 0x17FC PUSH1 0xFF SWAP2 PUSH3 0x2F96 JUMP JUMPDEST PUSH3 0x1430 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x17DA JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x181F SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0xBC4 JUMPI DUP3 DUP5 PUSH3 0x13C8 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP5 PUSH1 0x11 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0x187F PUSH3 0x3128 JUMP JUMPDEST SWAP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x24 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0xEC67B8C800000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP10 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x1C6C JUMPI DUP4 SWAP3 PUSH3 0x1C4C JUMPI JUMPDEST POP DUP2 MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0x1C20 JUMPI SWAP1 DUP2 PUSH1 0x1 PUSH1 0x60 SWAP5 SWAP4 SUB PUSH3 0x1ADF JUMPI JUMPDEST POP DUP1 DUP3 ADD MLOAD PUSH3 0x1907 PUSH3 0x2BDC JUMP JUMPDEST SWAP2 DUP1 MLOAD SWAP2 PUSH1 0x20 SWAP3 DUP4 DUP2 ADD SWAP1 PUSH3 0x1937 DUP6 DUP3 DUP6 MLOAD PUSH3 0x1929 DUP2 DUP8 DUP6 DUP11 ADD PUSH3 0x296E JUMP JUMPDEST DUP2 ADD SUB DUP1 DUP5 MSTORE ADD DUP3 PUSH3 0x292C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 DUP3 MLOAD DUP5 DUP2 ADD SWAP1 PUSH3 0x1959 DUP7 DUP3 DUP2 PUSH3 0x1929 DUP12 DUP8 DUP2 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH3 0x296E JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SUB PUSH3 0x1984 JUMPI JUMPDEST POP POP POP POP ADD MLOAD PUSH3 0x15180 TIMESTAMP ADD SWAP1 DUP2 TIMESTAMP GT PUSH3 0x676 JUMPI SWAP1 PUSH3 0x33E SWAP2 PUSH3 0x2C17 JUMP JUMPDEST PUSH3 0x1ABA SWAP3 PUSH3 0x1AC8 SWAP2 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP6 MLOAD DUP5 DUP2 MSTORE PUSH1 0x24 DUP6 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B737472 DUP8 DUP3 ADD MSTORE PUSH32 0x696E675D00000000000000000000000000000000000000000000000000000000 DUP12 DUP3 ADD MSTORE LOG1 DUP4 MLOAD SWAP6 DUP5 DUP8 MSTORE PUSH3 0x1A45 DUP6 DUP9 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP7 DUP1 DUP9 SUB DUP5 DUP3 ADD MSTORE DUP1 PUSH3 0x1A7C PUSH32 0x280F4446B28A1372417DDA658D30B95B2992B12AC9C7F378535F29A97ACF3583 SWAP10 DUP11 SWAP5 PUSH3 0x2E55 JUMP JUMPDEST SUB SWAP1 LOG1 DUP4 MLOAD SWAP5 DUP5 DUP7 SWAP6 DUP7 MSTORE DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP2 DUP5 DUP4 SUB SWAP1 DUP6 ADD MSTORE PUSH3 0x2E55 JUMP JUMPDEST SUB SWAP1 LOG1 PUSH3 0x1AD5 PUSH3 0x2D63 JUMP JUMPDEST CODESIZE DUP1 DUP1 DUP1 PUSH3 0x1963 JUMP JUMPDEST PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B526573 DUP6 DUP3 ADD MSTORE PUSH32 0x6F6C7574696F6E5374617475735D000000000000000000000000000000000000 DUP8 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP1 DUP3 DUP3 MSTORE PUSH3 0x1B98 DUP4 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP5 ADD MSTORE DUP3 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP4 DUP5 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD DUP1 SWAP2 DUP5 DUP3 MSTORE PUSH3 0x1C06 DUP6 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x1C19 PUSH3 0x2D63 JUMP JUMPDEST CODESIZE PUSH3 0x18F8 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH1 0x21 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0x1C64 SWAP2 SWAP3 POP RETURNDATASIZE DUP1 DUP6 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST SWAP1 CODESIZE PUSH3 0x18DC JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0x1C93 PUSH3 0x3128 JUMP JUMPDEST POP PUSH3 0x15180 TIMESTAMP ADD SWAP1 DUP2 TIMESTAMP GT PUSH3 0x676 JUMPI DUP3 SWAP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI DUP3 MLOAD SWAP1 PUSH32 0xE5D6BF0200000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP3 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x12B6 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x1E05 JUMPI JUMPDEST POP POP PUSH3 0x1D12 PUSH3 0x2FD9 JUMP JUMPDEST SWAP3 DUP1 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP9 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12B6 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x1DE9 JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1A SLOAD AND SWAP1 PUSH1 0x1B SLOAD AND SWAP1 PUSH1 0x1D SLOAD SWAP2 DUP2 EXTCODESIZE ISZERO PUSH3 0x2D2 JUMPI DUP7 DUP1 SWAP5 PUSH3 0x29E DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x2F7F204E00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE DUP6 ADD PUSH3 0x2FA5 JUMP JUMPDEST PUSH3 0x1DF4 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2FC JUMPI DUP4 CODESIZE PUSH3 0x1D80 JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH3 0x1E10 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2FC JUMPI DUP4 CODESIZE PUSH3 0x1D06 JUMP JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH3 0xBC4 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0xBC4 JUMPI PUSH3 0x1E3C PUSH3 0x33D2 JUMP JUMPDEST POP DUP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x17A JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP11 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1FCA JUMPI PUSH3 0x1FB2 JUMPI JUMPDEST POP POP PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1A SLOAD AND SWAP1 PUSH1 0x1B SLOAD AND SWAP1 PUSH1 0x1D SLOAD SWAP2 DUP7 PUSH3 0x1EF0 PUSH3 0x3096 JUMP JUMPDEST SWAP7 PUSH3 0x1F6F DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x2FD597D00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x80 PUSH1 0x44 DUP5 ADD MSTORE PUSH1 0x7 PUSH1 0x84 DUP5 ADD MSTORE PUSH32 0x697066733A2F2F00000000000000000000000000000000000000000000000000 PUSH1 0xA4 DUP5 ADD MSTORE PUSH1 0xC0 PUSH1 0x64 DUP5 ADD MSTORE PUSH1 0xC4 DUP4 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x2C9 JUMPI POP PUSH3 0x1F85 JUMPI POP DUP1 RETURN JUMPDEST PUSH1 0x20 SWAP1 DUP2 RETURNDATASIZE DUP2 GT PUSH3 0x1FAA JUMPI JUMPDEST PUSH3 0x1F9E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x341 JUMPI DUP1 RETURN JUMPDEST POP RETURNDATASIZE PUSH3 0x1F92 JUMP JUMPDEST PUSH3 0x1FBD SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0xBC4 JUMPI DUP3 DUP5 PUSH3 0x1EBD JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH9 0x246DDF97976680000 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0x2016 PUSH3 0x3789 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH1 0x17 SLOAD AND SWAP1 DUP3 MLOAD SWAP2 PUSH32 0x3644E51500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x20 SWAP3 DUP4 DUP2 DUP5 DUP2 DUP6 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x2531 JUMPI DUP7 SWAP2 PUSH3 0x2567 JUMPI JUMPDEST POP PUSH1 0x1C SSTORE DUP6 PUSH1 0x18 SLOAD AND SWAP1 DUP5 DUP1 MLOAD PUSH3 0x208A DUP2 PUSH3 0x28D5 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH8 0x2C68AF0BB140000 SWAP1 DUP2 DUP8 DUP3 ADD MSTORE PUSH2 0xD40 SWAP3 DUP4 SWAP2 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP4 DUP5 PUSH1 0x1E SLOAD AND OR PUSH1 0x1E SSTORE PUSH1 0x1F SSTORE DUP3 DUP6 SLOAD AND OR DUP5 SSTORE DUP5 MLOAD PUSH2 0x17A2 SWAP2 DUP3 DUP3 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP4 DUP4 LT DUP6 DUP5 GT OR PUSH3 0x253B JUMPI SWAP2 DUP4 SWAP2 DUP10 SWAP4 PUSH3 0x6FFB DUP5 CODECOPY DUP2 MSTORE ADDRESS DUP9 DUP3 ADD MSTORE SUB ADD SWAP1 DUP8 CREATE DUP1 ISZERO PUSH3 0x2531 JUMPI DUP8 AND DUP3 PUSH1 0x1A SLOAD AND OR PUSH1 0x1A SSTORE DUP5 MLOAD SWAP1 PUSH2 0x3D7 DUP1 DUP4 ADD SWAP2 DUP4 DUP4 LT SWAP1 DUP4 GT OR PUSH3 0x2505 JUMPI SWAP1 DUP3 SWAP2 PUSH3 0x879D DUP4 CODECOPY SUB SWAP1 DUP7 CREATE DUP1 ISZERO PUSH3 0x24E3 JUMPI DUP7 AND SWAP1 PUSH1 0x1B SLOAD AND OR PUSH1 0x1B SSTORE DUP5 PUSH1 0x1A SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI DUP5 DUP1 SWAP2 PUSH1 0xA4 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x410FA8E600000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH3 0x15180 DUP9 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x24 DUP5 ADD MSTORE DUP12 PUSH1 0x1E SLOAD AND PUSH1 0x44 DUP5 ADD MSTORE PUSH1 0x1F SLOAD PUSH1 0x64 DUP5 ADD MSTORE DUP12 DUP10 SLOAD AND PUSH1 0x84 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x24E3 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x24ED JUMPI JUMPDEST POP POP DUP5 PUSH1 0x1B SLOAD AND DUP6 PUSH1 0x1A SLOAD AND DUP2 EXTCODESIZE ISZERO PUSH3 0x167F JUMPI DUP6 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP8 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0x3F2601EF00000000000000000000000000000000000000000000000000000000 DUP5 MSTORE DUP9 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x24E3 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x24CB JUMPI JUMPDEST POP POP PUSH3 0x2239 DUP6 PUSH1 0x13 SLOAD AND PUSH3 0x3996 JUMP JUMPDEST DUP5 PUSH1 0x13 SLOAD AND SWAP5 DUP1 PUSH1 0x17 SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x341 JUMPI DUP6 MLOAD PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP9 DUP6 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH3 0xDEF JUMPI PUSH3 0x24B3 JUMPI JUMPDEST POP SWAP1 DUP8 SWAP2 DUP4 PUSH1 0x18 SLOAD AND SWAP1 DUP8 MLOAD PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP1 DUP2 DUP2 MSTORE DUP3 DUP9 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x44 DUP2 DUP10 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP9 DUP10 PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x24A9 JUMPI SWAP2 PUSH1 0x44 SWAP2 DUP11 SWAP5 SWAP4 PUSH3 0x2487 JUMPI JUMPDEST POP DUP7 DUP9 PUSH1 0x19 SLOAD AND DUP13 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE DUP13 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x247D JUMPI PUSH3 0x2449 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x17A JUMPI DUP2 SWAP1 DUP5 DUP8 MLOAD DUP1 SWAP11 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP7 DUP8 ISZERO PUSH3 0x243D JUMPI DUP7 SWAP8 SWAP7 SWAP6 SWAP7 PUSH3 0x241B JUMPI JUMPDEST POP POP SWAP1 DUP3 SWAP2 PUSH1 0x1B SLOAD AND SWAP1 DUP6 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0xFCDF975000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP3 DUP4 ISZERO PUSH3 0x2412 JUMPI POP DUP4 SWAP3 PUSH3 0x23DE JUMPI JUMPDEST POP POP PUSH1 0x1D SSTORE DUP1 RETURN JUMPDEST SWAP1 DUP1 SWAP3 POP DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x240A JUMPI JUMPDEST PUSH3 0x23F8 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x341 JUMPI MLOAD CODESIZE DUP1 PUSH3 0x23D6 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x23EC JUMP JUMPDEST MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP2 SWAP3 SWAP4 SWAP5 SWAP6 POP PUSH3 0x242C SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2C6 JUMPI SWAP1 DUP2 DUP7 SWAP5 SWAP4 SWAP3 PUSH3 0x2390 JUMP JUMPDEST POP DUP5 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x246D SWAP1 DUP7 RETURNDATASIZE DUP9 GT PUSH3 0x2475 JUMPI JUMPDEST PUSH3 0x2464 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x2A03 JUMP JUMPDEST POP CODESIZE PUSH3 0x2346 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x2458 JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x24A1 SWAP1 DUP6 RETURNDATASIZE DUP8 GT PUSH3 0x2475 JUMPI PUSH3 0x2464 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST POP CODESIZE PUSH3 0x231E JUMP JUMPDEST DUP11 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x24C2 SWAP1 SWAP9 SWAP2 SWAP3 SWAP9 PUSH3 0x2891 JUMP JUMPDEST SWAP7 SWAP1 CODESIZE PUSH3 0x22A4 JUMP JUMPDEST PUSH3 0x24D6 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x11BA JUMPI DUP4 CODESIZE PUSH3 0x2228 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x24F8 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x11BA JUMPI DUP4 CODESIZE PUSH3 0x21CE JUMP JUMPDEST PUSH1 0x24 DUP9 PUSH1 0x41 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH1 0x41 DUP10 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST SWAP1 POP DUP4 DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x2592 JUMPI JUMPDEST PUSH3 0x2581 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x341 JUMPI MLOAD CODESIZE PUSH3 0x2072 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x2575 JUMP JUMPDEST POP SWAP2 DUP2 SWAP3 CALLVALUE PUSH3 0x2EE JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2EE JUMPI PUSH3 0x25BA PUSH3 0x3128 JUMP JUMPDEST POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x2FC JUMPI DUP4 SWAP1 PUSH1 0x24 DUP4 MLOAD DUP1 SWAP8 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0xF268E9E300000000000000000000000000000000000000000000000000000000 DUP9 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1C6C JUMPI PUSH3 0x266B JUMPI JUMPDEST DUP3 SWAP4 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x1B SLOAD AND SWAP3 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x25A PUSH3 0x3096 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH3 0x2679 SWAP1 PUSH3 0x2891 JUMP JUMPDEST SWAP1 DUP3 SWAP1 PUSH3 0x2639 JUMP JUMPDEST SWAP3 SWAP4 SWAP1 POP CALLVALUE PUSH3 0x11BA JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x11BA JUMPI DUP1 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP4 AND DUP1 SWAP4 SUB PUSH3 0x167F JUMPI PUSH1 0x24 CALLDATALOAD SWAP5 DUP2 DUP7 AND DUP1 SWAP7 SUB PUSH3 0x2D2 JUMPI PUSH1 0x44 CALLDATALOAD SWAP1 DUP3 DUP3 AND DUP1 SWAP3 SUB PUSH3 0xDB1 JUMPI DUP5 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP8 SWAP7 DUP5 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x24 DUP2 DUP4 DUP10 GAS CALL DUP1 ISZERO PUSH3 0xDCD JUMPI PUSH3 0x2879 JUMPI JUMPDEST POP SWAP1 DUP6 SWAP2 DUP2 PUSH1 0x18 SLOAD AND SWAP2 DUP7 MLOAD SWAP1 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP2 MSTORE DUP4 DUP8 DUP3 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x24 DUP4 ADD MSTORE DUP2 PUSH1 0x44 DUP2 PUSH1 0x20 SWAP10 DUP11 SWAP5 GAS CALL DUP1 ISZERO PUSH3 0x286F JUMPI PUSH1 0x44 SWAP3 DUP8 SWAP6 SWAP5 SWAP3 DUP13 SWAP3 PUSH3 0x284D JUMPI JUMPDEST POP PUSH1 0x19 SLOAD AND DUP11 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE DUP11 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2531 JUMPI PUSH3 0x282A JUMPI JUMPDEST POP POP DUP2 EXTCODESIZE ISZERO PUSH3 0x11BA JUMPI DUP3 SWAP2 DUP5 SWAP4 SWAP2 DUP5 SWAP3 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x2C9 JUMPI POP PUSH3 0x2814 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x2820 DUP3 SWAP2 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2C6 JUMPI DUP1 DUP3 DUP1 RETURN JUMPDEST DUP2 PUSH3 0x2844 SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x2475 JUMPI PUSH3 0x2464 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST POP CODESIZE DUP1 PUSH3 0x27C7 JUMP JUMPDEST PUSH3 0x2867 SWAP1 DUP8 RETURNDATASIZE DUP10 GT PUSH3 0x2475 JUMPI PUSH3 0x2464 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST POP CODESIZE PUSH3 0x27A1 JUMP JUMPDEST DUP10 MLOAD RETURNDATASIZE DUP13 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x2887 SWAP2 SWAP3 SWAP7 POP PUSH3 0x2891 JUMP JUMPDEST DUP6 SWAP5 SWAP1 CODESIZE PUSH3 0x2721 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH3 0x2982 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x2971 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x28A6 JUMPI PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH3 0x29FE JUMPI RETURNDATASIZE SWAP1 PUSH3 0x29E2 DUP3 PUSH3 0x2993 JUMP JUMPDEST SWAP2 PUSH3 0x29F2 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH3 0x292C JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH3 0x341 JUMPI MLOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH3 0x341 JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH3 0x2A37 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x2A59 JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 DUP3 ADD DUP4 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x40 DUP4 MSTORE PUSH3 0x2A9C DUP4 PUSH3 0x28D5 JUMP JUMPDEST PUSH3 0x2AF1 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP4 PUSH3 0x2AE0 PUSH1 0x20 DUP4 ADD SWAP8 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP10 MSTORE MLOAD DUP1 SWAP3 DUP6 DUP6 ADD SWAP1 PUSH3 0x296E JUMP JUMPDEST DUP2 ADD SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0x292C JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP PUSH3 0x2B14 PUSH3 0x2B04 PUSH3 0x29CE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH3 0x2A03 JUMP JUMPDEST SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP1 DUP2 DUP4 DUP3 SUB SLT PUSH3 0x341 JUMPI DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP5 DUP3 GT PUSH3 0x341 JUMPI ADD SWAP1 PUSH1 0x80 DUP3 DUP3 SUB SLT PUSH3 0x341 JUMPI PUSH1 0x40 MLOAD SWAP4 PUSH1 0x80 DUP6 ADD DUP6 DUP2 LT DUP3 DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE DUP3 MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0x341 JUMPI DUP6 MSTORE DUP4 DUP4 ADD MLOAD DUP5 DUP7 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 DUP2 GT PUSH3 0x341 JUMPI DUP3 ADD SWAP3 DUP2 PUSH1 0x1F DUP6 ADD SLT ISZERO PUSH3 0x341 JUMPI DUP4 MLOAD PUSH3 0x2B9C DUP2 PUSH3 0x2993 JUMP JUMPDEST SWAP3 PUSH3 0x2BAC PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH3 0x292C JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x341 JUMPI PUSH1 0x60 SWAP5 DUP3 PUSH3 0x2BCD SWAP4 DUP6 ADD SWAP2 ADD PUSH3 0x296E JUMP JUMPDEST PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH3 0x2BEB DUP3 PUSH3 0x28F2 JUMP JUMPDEST PUSH1 0xF DUP3 MSTORE PUSH32 0x697066733A2F2F6D657461646174610000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 SUB PUSH3 0x2C23 JUMPI POP POP JUMP JUMPDEST PUSH3 0x2D4E SWAP1 PUSH1 0x40 SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x22 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B75696E DUP6 DUP3 ADD MSTORE PUSH32 0x745D000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x2CE5 DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x2D61 PUSH3 0x2D63 JUMP JUMPDEST JUMP JUMPDEST PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x2DAF JUMPI JUMPDEST POP PUSH2 0x100 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF PUSH1 0x0 SLOAD AND OR PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 DUP3 ADD DUP4 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x60 DUP4 MSTORE PUSH3 0x2DFA DUP4 PUSH3 0x290F JUMP JUMPDEST PUSH3 0x2E3E PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP4 PUSH3 0x2AE0 PUSH1 0x20 DUP4 ADD SWAP8 PUSH32 0x70CA10BB00000000000000000000000000000000000000000000000000000000 DUP10 MSTORE MLOAD DUP1 SWAP3 DUP6 DUP6 ADD SWAP1 PUSH3 0x296E JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP PUSH3 0x2E4D PUSH3 0x29CE JUMP JUMPDEST POP CODESIZE PUSH3 0x2D80 JUMP JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x20 SWAP4 PUSH3 0x2E93 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP8 MSTORE DUP8 DUP1 DUP9 ADD SWAP2 ADD PUSH3 0x296E JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH3 0x2EAB JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD ISZERO PUSH3 0x2EAB JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH3 0x2F09 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 DUP3 PUSH1 0x40 DUP3 PUSH3 0x2F3F PUSH1 0x1 SWAP5 DUP10 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 ADD PUSH3 0x2EFA JUMP JUMPDEST SWAP3 PUSH3 0x2B14 SWAP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH3 0x2F87 SWAP4 AND DUP6 MSTORE PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH3 0x2E55 JUMP JUMPDEST SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH3 0x2EE8 JUMP JUMPDEST MLOAD SWAP1 PUSH1 0xFF DUP3 AND DUP3 SUB PUSH3 0x341 JUMPI JUMP JUMPDEST PUSH3 0x2B14 SWAP4 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 SWAP4 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH3 0x2FEA DUP4 PUSH3 0x28D5 JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE DUP3 PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT PUSH3 0x3001 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP5 MLOAD PUSH3 0x3011 DUP2 PUSH3 0x28F2 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH3 0x2FF3 JUMP JUMPDEST SWAP1 PUSH3 0x3048 PUSH3 0x2B14 SWAP6 SWAP4 PUSH1 0x40 SWAP3 DUP5 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST SWAP4 PUSH3 0x3077 DUP3 DUP5 ADD DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH3 0x2E55 JUMP JUMPDEST PUSH3 0x30A0 PUSH3 0x2FD9 JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x13 SLOAD AND PUSH1 0x40 MLOAD SWAP1 PUSH3 0x30CA DUP3 PUSH3 0x28F2 JUMP JUMPDEST DUP2 MSTORE PUSH8 0x29A2241AF62C0000 PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x30E5 DUP5 PUSH3 0x2EDA JUMP JUMPDEST MSTORE PUSH3 0x30F1 DUP4 PUSH3 0x2EDA JUMP JUMPDEST POP PUSH1 0x14 SLOAD AND PUSH1 0x40 MLOAD SWAP1 PUSH3 0x3105 DUP3 PUSH3 0x28F2 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x3119 DUP4 PUSH3 0x2E9A JUMP JUMPDEST MSTORE PUSH3 0x3125 DUP3 PUSH3 0x2E9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 DUP2 PUSH1 0x1A SLOAD AND SWAP2 PUSH1 0x1B SLOAD AND SWAP2 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x3158 PUSH3 0x2BDC JUMP JUMPDEST SWAP2 PUSH1 0x0 PUSH3 0x3165 PUSH3 0x3096 JUMP JUMPDEST SWAP6 PUSH3 0x31A1 PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x2FD597D00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x2F4C JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x31EC JUMPI PUSH1 0x0 SWAP2 PUSH3 0x31B9 JUMPI POP SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP3 RETURNDATASIZE DUP3 GT PUSH3 0x31E3 JUMPI JUMPDEST DUP2 PUSH3 0x31D5 PUSH1 0x20 SWAP4 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x2C6 JUMPI POP MLOAD SWAP1 JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0x31C6 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH1 0x0 SWAP2 PUSH1 0x1F SLOAD PUSH1 0x40 SWAP2 DUP5 DUP4 DUP1 MLOAD PUSH3 0x3213 DUP2 PUSH3 0x28D5 JUMP JUMPDEST DUP2 MLOAD PUSH3 0x3220 DUP2 PUSH3 0x28F2 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE DUP3 MLOAD SWAP2 PUSH3 0x3241 DUP4 PUSH3 0x28F2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 TIMESTAMP ADD DUP1 TIMESTAMP GT PUSH3 0x33A5 JUMPI DUP4 MLOAD SWAP3 PUSH3 0x327A DUP5 PUSH3 0x28D5 JUMP JUMPDEST DUP4 MSTORE DUP6 PUSH1 0x20 DUP5 ADD MSTORE DUP4 DUP4 ADD MSTORE PUSH3 0x329A DUP5 PUSH1 0x1A SLOAD AND PUSH1 0x1C SLOAD SWAP1 DUP5 PUSH3 0x3526 JUMP JUMPDEST SWAP4 DUP1 PUSH1 0x13 SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI DUP8 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP9 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x339B JUMPI PUSH3 0x3385 JUMPI JUMPDEST POP PUSH1 0x1A SLOAD AND SWAP1 PUSH3 0x3312 PUSH3 0x3096 JUMP JUMPDEST SWAP1 DUP3 EXTCODESIZE ISZERO PUSH3 0x2D2 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x335B DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x41BCF4DC00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x3026 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x2C9 JUMPI POP PUSH3 0x3371 JUMPI POP POP JUMP JUMPDEST PUSH3 0x337D DUP3 SWAP2 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2C6 JUMPI POP JUMP JUMPDEST PUSH3 0x3393 SWAP1 SWAP7 SWAP2 SWAP7 PUSH3 0x2891 JUMP JUMPDEST SWAP5 CODESIZE PUSH3 0x3302 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x33DC PUSH3 0x3128 JUMP JUMPDEST SWAP1 PUSH1 0x0 PUSH3 0x15180 TIMESTAMP ADD DUP1 TIMESTAMP GT PUSH3 0x34F9 JUMPI PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0xBC4 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP4 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xE5D6BF0200000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x34DC JUMPI PUSH3 0x34E7 JUMPI JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1A SLOAD AND SWAP1 PUSH1 0x1B SLOAD AND SWAP1 PUSH1 0x1D SLOAD PUSH3 0x347E PUSH3 0x3096 JUMP JUMPDEST SWAP3 DUP3 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI SWAP2 PUSH3 0x34C8 SWAP4 SWAP2 DUP6 DUP1 SWAP5 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x2F7F204E00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD PUSH3 0x2FA5 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x34DC JUMPI PUSH3 0x3371 JUMPI POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x34F2 SWAP1 PUSH3 0x2891 JUMP JUMPDEST CODESIZE PUSH3 0x3450 JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST SWAP1 SWAP2 DUP2 MLOAD SWAP2 PUSH1 0x40 SWAP4 DUP5 MLOAD SWAP4 PUSH3 0x3586 PUSH1 0x20 DUP7 ADD SWAP2 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP4 MSTORE DUP8 DUP8 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 SWAP5 DUP6 DUP2 MSTORE PUSH3 0x3597 DUP2 PUSH3 0x290F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 DUP6 PUSH1 0x20 DUP3 ADD MLOAD SWAP2 ADD MLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 MLOAD SWAP4 PUSH1 0x20 DUP6 ADD SWAP6 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP8 MSTORE DUP10 DUP7 ADD MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD SWAP2 DUP2 DUP4 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT OR PUSH3 0x28A6 JUMPI PUSH2 0x102 SWAP1 DUP4 DUP8 MSTORE DUP3 MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0xE0 DUP2 ADD SWAP5 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0xE2 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH3 0x365F DUP2 PUSH3 0x290F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP3 MLOAD SWAP2 PUSH32 0xE341EAA400000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE DUP1 DUP3 PUSH1 0x44 DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL DUP1 ISZERO PUSH3 0x377E JUMPI PUSH1 0x0 SWAP1 DUP2 SWAP4 DUP3 SWAP2 PUSH3 0x370D JUMPI JUMPDEST POP DUP5 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP4 SWAP5 SWAP6 MLOAD SWAP6 PUSH1 0x20 DUP8 ADD MSTORE DUP6 ADD MSTORE PUSH1 0xF8 SHL AND SWAP1 DUP3 ADD MSTORE PUSH1 0x41 DUP2 MSTORE PUSH3 0x2B14 DUP2 PUSH3 0x290F JUMP JUMPDEST DUP4 DUP1 SWAP6 POP DUP2 SWAP5 SWAP3 POP RETURNDATASIZE DUP4 GT PUSH3 0x3776 JUMPI JUMPDEST PUSH3 0x372A DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x2C6 JUMPI POP DUP1 PUSH3 0x3761 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP3 PUSH3 0x2F96 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MLOAD SWAP2 DUP6 ADD MLOAD SWAP2 SWAP4 SWAP3 SWAP1 SWAP2 SWAP1 PUSH3 0x36C6 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x371E JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x22CA SWAP1 DUP2 DUP4 ADD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP6 LT DUP5 DUP7 GT OR PUSH3 0x28A6 JUMPI PUSH3 0x3A72 DUP3 CODECOPY DUP1 PUSH1 0x0 SWAP5 SUB SWAP1 DUP5 CREATE SWAP3 DUP4 ISZERO PUSH3 0x398B JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP6 AND DUP6 PUSH1 0x17 SLOAD AND OR PUSH1 0x17 SSTORE DUP3 MLOAD SWAP1 PUSH2 0x12BF DUP1 DUP4 ADD SWAP3 DUP1 DUP5 LT DUP4 DUP6 GT OR PUSH3 0x3954 JUMPI PUSH1 0xE0 DUP2 PUSH3 0x5D3C SWAP6 DUP5 DUP8 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20410000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5441000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP10 DUP3 ADD MSTORE SUB ADD SWAP1 DUP6 CREATE DUP1 ISZERO PUSH3 0x3981 JUMPI DUP7 AND DUP8 PUSH1 0x18 SLOAD AND OR PUSH1 0x18 SSTORE DUP5 MLOAD SWAP3 DUP2 DUP5 ADD SWAP3 DUP5 DUP5 LT SWAP1 DUP5 GT OR PUSH3 0x3954 JUMPI SWAP2 DUP4 SWAP2 PUSH1 0xE0 SWAP4 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20420000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5442000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP7 DUP3 ADD MSTORE SUB ADD SWAP1 DUP3 CREATE SWAP2 DUP3 ISZERO PUSH3 0x394A JUMPI POP POP AND SWAP1 PUSH1 0x19 SLOAD AND OR PUSH1 0x19 SSTORE JUMP JUMPDEST MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP6 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD SWAP1 PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x11BA JUMPI PUSH1 0x40 MLOAD SWAP2 DUP1 PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 SWAP3 DUP4 DUP6 MSTORE AND SWAP3 DUP4 PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x44 DUP2 DUP4 PUSH9 0x246DDF97976680000 SWAP10 DUP11 PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3A66 JUMPI PUSH3 0x3A50 JUMPI JUMPDEST POP PUSH1 0x19 SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI DUP5 SWAP3 SWAP2 DUP4 PUSH1 0x44 SWAP3 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x34DC JUMPI PUSH3 0x3371 JUMPI POP POP JUMP JUMPDEST PUSH3 0x3A5E SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x2891 JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x3A16 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT INVALID PUSH1 0xC0 CALLVALUE PUSH2 0xBB JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA5 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x2209 SWAP1 DUP2 PUSH2 0xC1 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x18B0 ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0x188A ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0x10C8 JUMPI DUP1 PUSH4 0x137C29FE EQ PUSH2 0xEEF JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0xC4F JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x9B2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x98F JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x938 JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x8D6 JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x716 JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0xCC53287F EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x31C JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x318 JUMPI PUSH1 0xC0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0xF6 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x10D SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x143A JUMP JUMPDEST PUSH2 0x115 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x30C JUMPI PUSH2 0x12D SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x308 JUMPI PUSH2 0x146 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x155 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x204 PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x23D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x24D DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2DB JUMPI POP POP PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0x2CF SWAP2 DUP4 MLOAD PUSH2 0x282 DUP2 PUSH2 0x276 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x1A60 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0x2ED PUSH2 0x303 SWAP4 DUP13 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH2 0x2FD DUP3 DUP7 PUSH2 0x157E JUMP JUMPDEST MSTORE PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x250 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0x34F SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x366 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x143A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x371 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0x388 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x398 DUP10 PUSH2 0x1C24 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x441 JUMPI POP POP PUSH2 0x2D8 SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x3BD PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x2CF DUP2 PUSH2 0x1259 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2FD DUP3 PUSH2 0x458 PUSH2 0x2ED PUSH2 0x45E SWAP7 DUP14 MLOAD PUSH2 0x157E JUMP JUMPDEST SWAP3 PUSH2 0x157E JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x310 JUMPI PUSH2 0x49A SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x143A JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0x4AA JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0x4C0 PUSH2 0x4BB PUSH1 0x1 SWAP4 DUP9 DUP9 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0x16E5 JUMP JUMPDEST PUSH2 0x4D5 DUP5 PUSH2 0x4CF DUP5 DUP11 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD PUSH2 0x16E5 JUMP JUMPDEST CALLER DUP10 MSTORE DUP4 DUP6 MSTORE DUP6 DUP10 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 DUP12 MSTORE DUP7 MSTORE DUP7 DUP11 KECCAK256 SWAP2 AND SWAP1 DUP2 DUP11 MSTORE DUP6 MSTORE DUP6 DUP10 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE DUP6 MLOAD SWAP2 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 DUP6 CALLER SWAP3 LOG2 ADD PUSH2 0x49F JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x5FE DUP2 PUSH2 0x587 PUSH2 0x12DE JUMP JUMPDEST SWAP4 PUSH2 0x590 PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x598 PUSH2 0x1324 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 DUP8 AND DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP5 DUP5 KECCAK256 SWAP3 DUP9 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP8 AND DUP4 MSTORE DUP2 MSTORE SWAP2 SWAP1 KECCAK256 SLOAD SWAP3 MLOAD SWAP4 DUP4 AND DUP5 MSTORE PUSH1 0xA0 DUP4 SWAP1 SHR PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP5 ADD MSTORE PUSH1 0xD0 SWAP2 SWAP1 SWAP2 SHR PUSH1 0x40 DUP4 ADD MSTORE DUP2 SWAP1 PUSH1 0x60 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x61C PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x625 PUSH2 0x1301 JUMP JUMPDEST SWAP2 PUSH2 0x62E PUSH2 0x1324 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 AND SWAP1 DUP2 DUP2 SUB PUSH2 0x30C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP5 PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B SWAP5 CALLER DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP6 DUP12 KECCAK256 SWAP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP10 DUP11 DUP14 MSTORE PUSH1 0x20 MSTORE DUP4 DUP8 DUP14 KECCAK256 SWAP12 AND SWAP11 DUP12 DUP14 MSTORE PUSH1 0x20 MSTORE DUP7 DUP13 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x70E JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP8 DUP9 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST SWAP1 POP SWAP3 PUSH2 0x6ED JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x731 PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x73A PUSH2 0x1301 JUMP JUMPDEST SWAP3 PUSH6 0xFFFFFFFFFFFF PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND SWAP4 SWAP1 DUP5 DUP2 SUB PUSH2 0x30C JUMPI CALLER DUP9 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1 DUP4 MSTORE DUP5 DUP10 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP8 DUP9 DUP12 MSTORE DUP5 MSTORE DUP6 DUP11 KECCAK256 SWAP9 AND SWAP8 DUP9 DUP11 MSTORE DUP4 MSTORE DUP5 DUP10 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP4 DUP5 DUP8 GT ISZERO PUSH2 0x863 JUMPI PUSH2 0xFFFF SWAP1 DUP6 DUP5 SUB AND GT PUSH2 0x83C JUMPI POP SWAP1 PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 SWAP4 SWAP3 SWAP2 CALLER DUP10 MSTORE PUSH1 0x1 DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP8 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP9 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE DUP3 MLOAD SWAP5 DUP6 MSTORE DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST DUP5 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x8BD PUSH2 0x12DE JUMP JUMPDEST AND DUP2 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0x98C JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x98C JUMPI PUSH2 0x952 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x95A PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x962 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x310 JUMPI PUSH2 0x2D8 SWAP4 PUSH2 0x15C1 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x9AB PUSH2 0x1887 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x9D0 CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xA02 PUSH2 0x12B6 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xA90 JUMPI PUSH2 0x2D8 SWAP5 PUSH2 0xA25 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0xA32 DUP4 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0xA87 DUP2 PUSH2 0x1259 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0x198E JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0xAB0 PUSH2 0x12DE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD PUSH1 0xC0 DUP2 SLT PUSH2 0x314 JUMPI PUSH1 0x80 DUP6 MLOAD SWAP2 PUSH2 0xAE9 DUP4 PUSH2 0x1221 JUMP JUMPDEST SLT PUSH2 0x314 JUMPI DUP5 MLOAD SWAP1 PUSH2 0xAFA DUP3 PUSH2 0x11D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x30C JUMPI DUP9 DUP4 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP4 DUP3 DUP6 AND DUP6 SUB PUSH2 0xA90 JUMPI PUSH1 0x20 DUP3 ADD SWAP5 DUP6 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP8 DUP4 ADD DUP3 DUP2 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x308 JUMPI PUSH2 0xB96 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 DUP1 TIMESTAMP GT PUSH2 0xC20 JUMPI POP POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0xC16 SWAP6 PUSH2 0xBBB DUP9 MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP1 DUP10 DUP13 MLOAD AND SWAP1 MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP7 MSTORE DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x1942 JUMP JUMPDEST SWAP2 PUSH2 0x1E30 JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1706 JUMP JUMPDEST PUSH1 0x24 SWAP3 POP DUP11 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT SWAP4 DUP2 DUP6 CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xC6D PUSH2 0x12DE JUMP JUMPDEST SWAP3 PUSH1 0x24 SWAP1 DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP8 DUP9 DUP6 GT PUSH2 0x30C JUMPI DUP6 SWAP1 DUP6 CALLDATASIZE SUB ADD SLT PUSH2 0x463 JUMPI DUP1 MLOAD SWAP8 DUP6 DUP10 ADD DUP10 DUP2 LT DUP3 DUP3 GT OR PUSH2 0xEC4 JUMPI DUP3 MSTORE DUP5 DUP4 ADD CALLDATALOAD DUP2 DUP2 GT PUSH2 0x308 JUMPI DUP6 ADD SWAP1 CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x308 JUMPI DUP4 DUP3 ADD CALLDATALOAD SWAP2 PUSH2 0xCCA DUP4 PUSH2 0x140F JUMP JUMPDEST SWAP1 PUSH2 0xCD7 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP4 DUP3 MSTORE PUSH1 0x20 SWAP4 DUP8 DUP6 DUP5 ADD SWAP2 PUSH1 0x7 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xEC0 JUMPI DUP9 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xE63 JUMPI POP POP POP DUP11 MSTORE PUSH1 0x44 PUSH2 0xD0D DUP7 DUP9 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP7 DUP4 DUP13 ADD SWAP8 DUP9 MSTORE ADD CALLDATALOAD SWAP5 DUP4 DUP12 ADD SWAP2 DUP7 DUP4 MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xE5F JUMPI PUSH2 0xD35 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP6 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0xE34 JUMPI POP POP POP DUP10 SWAP9 SWAP10 MLOAD MLOAD PUSH2 0xD50 DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP12 JUMPDEST DUP2 DUP2 LT PUSH2 0xE11 JUMPI POP POP SWAP3 DUP9 SWAP5 SWAP3 PUSH2 0xC10 SWAP3 PUSH2 0xDDE SWAP8 SWAP6 DUP4 MLOAD PUSH2 0xD7C DUP2 PUSH2 0x3BD DUP7 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP11 DUP12 DUP12 MLOAD AND SWAP2 MLOAD SWAP3 DUP6 MLOAD SWAP5 DUP6 ADD SWAP6 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP8 MSTORE DUP6 ADD MSTORE DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD AND SWAP1 DUP3 MLOAD MLOAD SWAP3 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0xDF2 JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0xE0B DUP6 DUP6 PUSH2 0xE05 PUSH1 0x1 SWAP6 DUP8 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1706 JUMP JUMPDEST ADD PUSH2 0xDE7 JUMP JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0xE26 DUP15 SWAP16 SWAP15 SWAP4 PUSH2 0xE2C SWAP5 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP12 SWAP11 SWAP12 PUSH2 0xD53 JUMP JUMPDEST DUP6 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x80 DUP3 CALLDATASIZE SUB SLT PUSH2 0xEC0 JUMPI DUP6 PUSH1 0x80 SWAP2 DUP9 MLOAD PUSH2 0xE7C DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0xE85 DUP6 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xE92 DUP4 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xEA1 DUP11 DUP7 ADD PUSH2 0x1427 JUMP JUMPDEST DUP11 DUP3 ADD MSTORE DUP14 PUSH2 0xEB1 DUP2 DUP8 ADD PUSH2 0x1427 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP13 DUP1 REVERT JUMPDEST DUP5 DUP10 PUSH1 0x41 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x140 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0xF0C CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xF3E PUSH2 0x12B6 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0xF61 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x30C JUMPI PUSH2 0xF81 PUSH2 0xA87 SWAP7 PUSH2 0x2D8 SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0xF90 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x103F PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x1078 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x1086 DUP7 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x2C3 JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP3 GT PUSH2 0xA90 JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xA90 JUMPI DUP2 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x310 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP7 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x463 JUMPI DUP7 JUMPDEST DUP6 DUP2 LT PUSH2 0x1123 JUMPI DUP8 DUP1 RETURN JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x308 JUMPI PUSH2 0x11D0 DUP9 DUP8 PUSH1 0x1 SWAP5 PUSH1 0x60 DUP4 MLOAD PUSH2 0x116A DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x11A6 PUSH1 0x84 PUSH2 0x117A DUP14 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP5 DUP6 DUP5 MSTORE PUSH2 0x118A PUSH1 0x44 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP8 DUP6 ADD MSTORE PUSH2 0x119B PUSH1 0x64 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP9 DUP6 ADD MSTORE ADD PUSH2 0x1347 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0x15C1 JUMP JUMPDEST ADD PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x3 NOT ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x1383 DUP3 PUSH2 0x1221 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x12D9 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x11F2 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0x1486 DUP4 PUSH2 0x1221 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x12D9 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP1 CALLDATALOAD PUSH2 0x14B3 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 PUSH2 0x14C0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x1275 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x12D9 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1503 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x12D9 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD SWAP1 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x1550 JUMPI DUP11 SWAP3 DUP10 SWAP3 DUP5 MSTORE PUSH2 0x1534 DUP8 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0x14E6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 PUSH1 0x0 DUP3 DUP5 AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP3 DUP3 DUP3 KECCAK256 SWAP7 AND SWAP6 DUP7 DUP3 MSTORE PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 CALLER DUP3 MSTORE PUSH1 0x20 MSTORE KECCAK256 SWAP5 DUP6 SLOAD SWAP6 PUSH6 0xFFFFFFFFFFFF DUP8 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0x16A4 JUMPI POP DUP3 DUP8 AND SWAP7 DUP4 DUP9 SUB PUSH2 0x1632 JUMPI JUMPDEST POP POP PUSH2 0x1630 SWAP6 POP AND SWAP3 PUSH2 0x211C JUMP JUMPDEST JUMP JUMPDEST DUP8 DUP5 DUP5 AND GT PUSH1 0x0 EQ PUSH2 0x166F JUMPI PUSH1 0x24 DUP9 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP5 DUP5 PUSH2 0x1630 SWAP11 SUB AND SWAP2 AND OR SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x185E JUMPI SWAP2 DUP6 PUSH2 0x1837 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x183C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x17C9 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x18D2 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x194A PUSH2 0x1887 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1A2F JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0x19FE JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x19CE SWAP5 PUSH2 0x19C9 PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH2 0x1942 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI PUSH2 0x1630 SWAP4 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP6 SWAP1 SWAP4 SWAP6 DUP1 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP3 DUP4 DUP4 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1B80 JUMPI POP DUP5 DUP9 SUB PUSH2 0x1B57 JUMPI PUSH2 0x1A97 SWAP2 DUP7 SWAP2 PUSH2 0xC10 PUSH1 0x20 SWAP12 PUSH2 0x19C9 DUP14 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT PUSH2 0x1AAB JUMPI POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AB6 DUP2 DUP4 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD DUP9 PUSH2 0x1AC3 DUP4 DUP8 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP10 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0x1B27 JUMPI POP SWAP2 DUP2 DUP9 DUP9 DUP9 PUSH1 0x1 SWAP7 DUP6 SWAP7 PUSH2 0x1AED JUMPI JUMPDEST POP POP POP POP POP POP ADD PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x1B1C SWAP6 PUSH2 0x1B16 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x4BB SWAP4 MLOAD AND SWAP6 PUSH2 0x16D5 JUMP JUMPDEST SWAP2 PUSH2 0x211C JUMP JUMPDEST DUP1 CODESIZE DUP9 DUP9 DUP9 DUP4 PUSH2 0x1AE1 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP7 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP6 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0x1BFA JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x1C2E DUP3 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x1C3B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1275 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1C69 DUP3 SWAP5 PUSH2 0x140F JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1CA0 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1CE8 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1CDA JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x1D14 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x1D03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x1F97 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1F15 JUMPI PUSH2 0x1E4D DUP3 DUP3 ADD DUP3 PUSH2 0x1E1A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1F09 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x1EDF JUMPI AND SUB PUSH2 0x1EB5 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1F6D JUMPI PUSH2 0x1F29 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E1A JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x1CA0 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1E6B JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x2111 JUMPI DUP3 SWAP2 PUSH2 0x2093 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x2069 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x2109 JUMPI JUMPDEST DUP2 PUSH2 0x20AD PUSH1 0x20 SWAP4 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x318 JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x98C JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x203D JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x20A0 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x2175 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 SWAP9 0xBA CALLVALUE 0xBD COINBASE 0xCC 0xB3 CALLER SWAP5 SELFBALANCE PUSH32 0x24CCA6191C4FC58C8E7D9ADAE8E27920B835FF1D64736F6C6343000811003360 0xE0 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH3 0x43C JUMPI PUSH3 0x12BF DUP1 CODESIZE SUB DUP1 SWAP2 PUSH3 0x22 DUP3 DUP6 PUSH3 0x441 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD PUSH1 0x60 DUP3 DUP3 SUB SLT PUSH3 0x43C JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP4 SWAP1 DUP5 DUP2 GT PUSH3 0x43C JUMPI DUP3 PUSH3 0x53 SWAP2 DUP6 ADD PUSH3 0x465 JUMP JUMPDEST SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP3 ADD MLOAD DUP7 DUP2 GT PUSH3 0x43C JUMPI DUP4 SWAP2 PUSH3 0x72 SWAP2 DUP5 ADD PUSH3 0x465 JUMP JUMPDEST SWAP2 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x43C JUMPI DUP5 MLOAD SWAP5 DUP7 DUP7 GT PUSH3 0x426 JUMPI PUSH1 0x0 SWAP6 DUP1 PUSH3 0x9B DUP9 SLOAD PUSH3 0x4DC JUMP JUMPDEST SWAP3 PUSH1 0x1F SWAP4 DUP5 DUP2 GT PUSH3 0x3D5 JUMPI JUMPDEST POP DUP8 SWAP1 DUP5 DUP4 GT PUSH1 0x1 EQ PUSH3 0x36D JUMPI DUP10 SWAP3 PUSH3 0x361 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR DUP7 SSTORE JUMPDEST DUP3 MLOAD SWAP1 DUP8 DUP3 GT PUSH3 0x34D JUMPI DUP2 SWAP1 PUSH1 0x1 SWAP5 PUSH3 0xEF DUP7 SLOAD PUSH3 0x4DC JUMP JUMPDEST DUP3 DUP2 GT PUSH3 0x2F8 JUMPI JUMPDEST POP DUP8 SWAP2 DUP4 GT PUSH1 0x1 EQ PUSH3 0x294 JUMPI DUP9 SWAP3 PUSH3 0x288 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP4 SHL OR DUP3 SSTORE JUMPDEST PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE DUP2 MLOAD DUP5 SLOAD SWAP2 DUP2 DUP7 PUSH3 0x13A DUP6 PUSH3 0x4DC JUMP JUMPDEST SWAP3 DUP4 DUP4 MSTORE DUP8 DUP4 ADD SWAP6 DUP9 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH3 0x268 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0x228 JUMPI JUMPDEST POP PUSH3 0x16A SWAP3 POP SUB DUP3 PUSH3 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP2 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP6 MSTORE DUP3 DUP5 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP5 ADD MSTORE CHAINID PUSH1 0x80 DUP5 ADD MSTORE ADDRESS PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 MSTORE PUSH1 0xC0 DUP4 ADD SWAP5 DUP4 DUP7 LT SWAP1 DUP7 GT OR PUSH3 0x214 JUMPI POP DUP4 SWAP1 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0xC0 MSTORE PUSH2 0xDA5 SWAP1 DUP2 PUSH3 0x51A DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x77E ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xB97 ADD MSTORE PUSH1 0xC0 MLOAD DUP2 PUSH2 0xBBE ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP8 SWAP2 POP DUP9 DUP1 MSTORE DUP2 DUP10 KECCAK256 SWAP1 DUP10 SWAP2 JUMPDEST DUP6 DUP4 LT PUSH3 0x24F JUMPI POP POP PUSH3 0x16A SWAP4 POP DUP3 ADD ADD CODESIZE PUSH3 0x15B JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP10 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH3 0x235 JUMP JUMPDEST PUSH1 0xFF NOT AND DUP9 MSTORE PUSH3 0x16A SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH3 0x15B SWAP1 POP JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x10D JUMP JUMPDEST DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP7 SWAP5 POP SWAP2 SWAP1 PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x2E1 JUMPI POP POP DUP5 GT PUSH3 0x2C7 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP3 SSTORE PUSH3 0x121 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x2B9 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE DUP10 SWAP8 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH3 0x2A6 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 POP DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP4 DUP1 DUP7 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP8 LT PUSH3 0x343 JUMPI JUMPDEST SWAP2 DUP7 SWAP6 DUP10 SWAP3 SWAP6 SWAP5 SWAP4 ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x334 JUMPI POP POP PUSH3 0xF8 JUMP JUMPDEST DUP12 DUP2 SSTORE DUP7 SWAP6 POP DUP9 SWAP2 ADD PUSH3 0x324 JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x315 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xBE JUMP JUMPDEST DUP10 DUP1 MSTORE DUP9 DUP11 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x3BE JUMPI POP POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH3 0x3A4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP7 SSTORE PUSH3 0xD3 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x396 JUMP JUMPDEST PUSH1 0x1 DUP6 SWAP7 DUP3 SWAP4 SWAP7 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH3 0x37C JUMP JUMPDEST SWAP1 SWAP2 POP DUP9 DUP1 MSTORE DUP8 DUP10 KECCAK256 DUP5 DUP1 DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP7 LT PUSH3 0x41C JUMPI JUMPDEST SWAP1 DUP6 SWAP5 SWAP4 SWAP3 SWAP2 ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH3 0x40D JUMPI POP PUSH3 0xA8 JUMP JUMPDEST DUP11 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x3FE JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x3F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x426 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x43C JUMPI DUP3 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 SWAP2 PUSH3 0x4A1 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP5 ADD DUP6 PUSH3 0x441 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x43C JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x4C8 JUMPI POP DUP3 PUSH1 0x0 SWAP4 SWAP5 SWAP6 POP ADD ADD MSTORE SWAP1 JUMP JUMPDEST DUP6 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x4B2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x50E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F8 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4EC JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER PUSH1 0xA0 CALLVALUE PUSH2 0xED JUMPI PUSH1 0x1F PUSH2 0x17A2 CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH2 0xF2 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0xED JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH2 0xED JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0xED JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND DUP5 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP4 SWAP2 SWAP1 DUP3 SWAP1 DUP2 CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP6 DUP1 LOG3 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 CALLER SWAP2 DUP1 LOG3 PUSH1 0x80 MSTORE PUSH2 0x1699 SWAP1 DUP2 PUSH2 0x109 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x935 ADD MSTORE PUSH2 0x1098 ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2FD597D EQ PUSH2 0x10BC JUMPI POP DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x106B JUMPI DUP1 PUSH4 0x238DAFE0 EQ PUSH2 0x1045 JUMPI DUP1 PUSH4 0x2F7F204E EQ PUSH2 0xD42 JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0xCF9 JUMPI DUP1 PUSH4 0x328D8F72 EQ PUSH2 0xC92 JUMPI DUP1 PUSH4 0x3FD8B02F EQ PUSH2 0xC74 JUMPI DUP1 PUSH4 0x410FA8E6 EQ PUSH2 0xB6A JUMPI DUP1 PUSH4 0x41BCF4DC EQ PUSH2 0x60D JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x5DA JUMPI DUP1 PUSH4 0xE44CB37B EQ PUSH2 0x46E JUMPI DUP1 PUSH4 0xE8EA054B EQ PUSH2 0x3E1 JUMPI DUP1 PUSH4 0xEC67B8C8 EQ PUSH2 0x1B2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFC JUMPI PUSH4 0xF77C4791 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x116 PUSH2 0x1454 JUMP JUMPDEST DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x188 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD PUSH2 0x1D4 DUP2 PUSH2 0x1551 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 DUP5 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x4 CALLDATALOAD DUP3 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x1FE DUP5 PUSH2 0x1551 JUMP JUMPDEST PUSH1 0xFF DUP3 SLOAD AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x3B0 JUMPI DUP5 MSTORE PUSH1 0x1 DUP1 DUP4 ADD SLOAD SWAP3 DUP5 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x2 DUP2 ADD PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 DUP6 SWAP2 DUP2 SLOAD SWAP2 PUSH2 0x233 DUP4 PUSH2 0x15AE JUMP JUMPDEST SWAP3 DUP4 DUP7 MSTORE DUP11 DUP4 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0x36C JUMPI POP POP PUSH1 0x1 EQ PUSH2 0x32F JUMPI JUMPDEST POP POP POP PUSH1 0x3 SWAP3 SWAP2 PUSH2 0x260 SWAP2 SUB DUP5 PUSH2 0x156D JUMP JUMPDEST PUSH1 0x40 DUP8 ADD SWAP3 DUP4 MSTORE ADD SLOAD SWAP3 PUSH1 0x60 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x40 MLOAD SWAP6 DUP6 DUP8 MSTORE MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x302 JUMPI DUP6 DUP8 ADD MSTORE MLOAD PUSH1 0x40 DUP7 ADD MSTORE MLOAD PUSH1 0x80 PUSH1 0x60 DUP7 ADD MSTORE DUP1 MLOAD PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE SWAP4 DUP6 SWAP4 SWAP3 SWAP2 DUP3 JUMPDEST DUP7 DUP2 LT PUSH2 0x2EB JUMPI POP POP POP DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP3 PUSH1 0x1F SWAP3 PUSH1 0xC0 DUP1 SWAP8 DUP8 ADD ADD MSTORE MLOAD PUSH1 0x80 DUP6 ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP9 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP8 SWAP6 POP DUP3 ADD PUSH2 0x2A4 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 MSTORE DUP9 DUP8 KECCAK256 DUP10 SWAP4 POP DUP8 SWAP3 SWAP2 SWAP1 JUMPDEST DUP3 DUP5 LT PUSH2 0x354 JUMPI POP POP POP DUP3 ADD ADD DUP2 PUSH2 0x260 PUSH1 0x3 PUSH2 0x24E JUMP JUMPDEST DUP1 SLOAD DUP5 DUP10 ADD DUP7 ADD MSTORE DUP8 SWAP6 POP DUP11 SWAP5 SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x33C JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP8 DUP3 ADD MSTORE SWAP4 ISZERO ISZERO PUSH1 0x5 SHL DUP7 ADD SWAP1 SWAP4 ADD SWAP4 POP DUP5 SWAP3 POP PUSH2 0x260 SWAP2 POP PUSH1 0x3 SWAP1 POP PUSH2 0x24E JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x3FB PUSH2 0x1454 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE CALLER PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI DUP2 DUP4 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP1 DUP2 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x5AD JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI DUP1 PUSH1 0x1 DUP5 ADD SLOAD SUB PUSH2 0x52F JUMPI PUSH32 0xB6DC686A67A9620536A83F729428EF64A3E6529407D6B5E0DF3426FE6B01A260 SWAP3 PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH1 0x20 SWAP5 AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAFFBF64B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x641 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SWAP4 PUSH1 0x80 DUP6 SLT PUSH2 0xB66 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP6 PUSH2 0x67B DUP8 PUSH2 0x1519 JUMP JUMPDEST SLT PUSH2 0xB66 JUMPI PUSH1 0x40 MLOAD PUSH2 0x68C DUP2 PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x885 JUMPI DUP2 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP6 MSTORE PUSH1 0x84 CALLDATALOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x40 DUP7 ADD MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x6E0 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST SWAP5 SWAP1 PUSH1 0x4 CALLDATALOAD DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP6 DUP7 SLOAD SWAP2 PUSH1 0xFF DUP4 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ PUSH2 0xB0F JUMPI PUSH1 0x40 MLOAD PUSH2 0x722 DUP2 PUSH2 0x1519 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND DUP1 DUP3 MSTORE PUSH1 0x3 SLOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 SLOAD AND PUSH1 0x40 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 MLOAD MLOAD AND SUB PUSH2 0xAE5 JUMPI PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH2 0x7CC DUP2 PUSH2 0x7A0 PUSH1 0x40 DUP3 ADD DUP12 DUP14 PUSH2 0x1601 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 PUSH1 0x1 DUP12 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP10 DUP10 JUMPDEST DUP12 ISZERO DUP1 PUSH2 0xADC JUMPI JUMPDEST ISZERO PUSH2 0x8B7 JUMPI DUP9 DUP2 LT ISZERO PUSH2 0x88A JUMPI DUP1 PUSH1 0x6 SHL DUP11 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI CALLER EQ PUSH2 0x87C JUMPI JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x84F JUMPI PUSH1 0x1 ADD PUSH2 0x7DF JUMP JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x1 SWAP12 POP PUSH2 0x820 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP10 SWAP8 POP DUP11 ISZERO PUSH2 0xAB2 JUMPI PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP10 SWAP8 AND OR SWAP1 SSTORE PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP5 ADD MLOAD AND SWAP3 ADD MLOAD PUSH1 0x40 MLOAD SWAP3 PUSH2 0x917 DUP5 PUSH2 0x1535 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xAAE JUMPI DUP6 DUP1 SWAP5 PUSH1 0x40 SWAP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH2 0xA1D SWAP10 DUP7 MLOAD SWAP11 DUP12 SWAP10 DUP11 SWAP9 DUP10 SWAP7 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP9 MSTORE PUSH2 0x9E4 PUSH1 0x4 DUP10 ADD DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x44 DUP11 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x64 DUP9 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x84 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xA4 DUP7 ADD MSTORE JUMP JUMPDEST CALLER PUSH1 0xC4 DUP6 ADD MSTORE PUSH2 0x100 PUSH1 0xE4 DUP6 ADD MSTORE DUP1 PUSH2 0x104 DUP6 ADD MSTORE DUP1 PUSH2 0x124 SWAP6 DUP7 DUP7 ADD CALLDATACOPY DUP6 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xAA3 JUMPI PUSH2 0xA8F JUMPI JUMPDEST POP POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2A41D71AD20BB81193ADE4A1C1C4796777BA30F92F48C41FCE7EEB361E109B0E PUSH1 0x40 PUSH1 0x4 CALLDATALOAD SWAP3 LOG2 DUP1 RETURN JUMPDEST PUSH2 0xA98 SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x3DD JUMPI DUP2 DUP4 PUSH2 0xA56 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6526878800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP9 DUP2 LT PUSH2 0x7E7 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xFD6F412000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xA0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x5 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 DUP2 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x3 SSTORE PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0x885 JUMPI PUSH1 0x4 SLOAD AND OR PUSH1 0x4 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x2 SLOAD AND SWAP1 PUSH1 0x3 SLOAD SWAP1 PUSH1 0x4 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0xD5C PUSH2 0x1454 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x44 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0xD80 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND ISZERO PUSH2 0x101B JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD DUP3 PUSH2 0xDD4 DUP6 DUP8 DUP5 SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x34 SWAP4 PUSH1 0x60 SHL AND DUP3 MSTORE PUSH1 0x14 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SUB SWAP3 PUSH2 0xE06 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP5 DUP6 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 DUP8 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP8 KECCAK256 SWAP3 DUP4 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xFEE JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0xFC4 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ ISZERO DUP1 PUSH2 0xFB7 JUMPI JUMPDEST PUSH2 0xF8D JUMPI PUSH1 0x40 MLOAD PUSH2 0xE6F PUSH1 0x20 DUP3 ADD SWAP3 PUSH1 0x20 DUP5 MSTORE DUP3 PUSH2 0xE63 PUSH1 0x40 DUP3 ADD DUP9 DUP11 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 PUSH1 0x1 DUP7 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP5 PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 AND OR SWAP1 SSTORE AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xB66 JUMPI DUP4 PUSH2 0xF0E SWAP6 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xF82 JUMPI PUSH2 0xF4C JUMPI JUMPDEST POP PUSH1 0x20 PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 SWAP4 PUSH2 0xF7A PUSH1 0x20 SWAP3 PUSH2 0x14D6 JUMP JUMPDEST SWAP4 SWAP2 POP PUSH2 0xF1D JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xF268E9E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP PUSH1 0x3 DUP6 ADD SLOAD TIMESTAMP LT PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xE4D068DA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x10D6 PUSH2 0x1454 JUMP JUMPDEST SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x44 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x10F9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD DUP6 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x1111 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 SWAP5 PUSH1 0x1 SLOAD SWAP1 PUSH1 0xFF DUP3 PUSH1 0xA0 SHR AND ISZERO PUSH2 0x142C JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x40 MLOAD PUSH1 0x60 DUP9 SWAP1 SHL PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 AND PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x34 DUP4 ADD MSTORE SWAP1 PUSH2 0x1188 DUP2 PUSH1 0x54 DUP2 ADD PUSH2 0x7A0 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP4 DUP5 SLOAD SWAP7 PUSH1 0xFF DUP9 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI PUSH1 0x1 SWAP2 PUSH2 0x7A0 PUSH2 0x11F4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP4 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP6 PUSH1 0x20 DUP8 MSTORE PUSH1 0x40 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP8 AND OR DUP5 SSTORE DUP6 PUSH1 0x1 DUP6 ADD SSTORE DUP3 GT PUSH2 0x13FF JUMPI DUP2 SWAP1 PUSH2 0x1217 PUSH1 0x2 DUP6 ADD SLOAD PUSH2 0x15AE JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x13AF JUMPI JUMPDEST POP DUP5 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x1307 JUMPI DUP6 SWAP3 PUSH2 0x12FC JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x2 DUP3 ADD SSTORE JUMPDEST PUSH1 0x5 SLOAD TIMESTAMP ADD SWAP2 DUP3 TIMESTAMP GT PUSH2 0x12CF JUMPI POP SWAP2 PUSH1 0x20 SWAP5 SWAP2 PUSH1 0x3 DUP6 SWAP5 ADD SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x96EAB3103FBD8C0266ECA3E7A57929BC3BD66EF5223E2CB45F589F884FFCB9AE DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP5 AND SWAP3 LOG4 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST ADD CALLDATALOAD SWAP1 POP DUP8 DUP1 PUSH2 0x1235 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP2 PUSH1 0x2 DUP6 ADD DUP7 MSTORE PUSH1 0x20 DUP7 KECCAK256 SWAP3 DUP7 JUMPDEST DUP2 DUP2 LT PUSH2 0x1397 JUMPI POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH2 0x135F JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x2 DUP3 ADD SSTORE PUSH2 0x126A JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE DUP8 DUP1 DUP1 PUSH2 0x134F JUMP JUMPDEST SWAP2 SWAP4 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP8 DUP8 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP6 ADD SWAP3 ADD PUSH2 0x1339 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x2 DUP5 ADD DUP6 MSTORE PUSH1 0x20 DUP6 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x13F8 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x13EA JUMPI POP POP PUSH2 0x1220 JUMP JUMPDEST DUP8 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x13D4 JUMP JUMPDEST POP DUP1 PUSH2 0x13CE JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 PUSH1 0x4 SWAP3 MSTORE REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x15F7 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x15C8 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x15BD JUMP JUMPDEST SWAP2 DUP2 DUP2 MSTORE PUSH1 0x20 DUP1 SWAP2 ADD SWAP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x1621 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP6 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0xAAE JUMPI DUP2 MSTORE DUP6 DUP3 ADD CALLDATALOAD DUP3 DUP3 ADD MSTORE PUSH1 0x40 SWAP1 DUP2 ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 PUSH1 0x1 ADD SWAP1 PUSH2 0x1612 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E PUSH12 0x186204CB5B1A91903D6FED9E 0xB1 0x5E 0xD3 PUSH4 0x61835D2B SWAP2 BYTE 0xA9 0xD5 PUSH23 0xE0EA5387C864736F6C6343000811003360808060405234 PUSH2 0x16 JUMPI PUSH2 0x3BB SWAP1 DUP2 PUSH2 0x1C DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE PUSH1 0x4 SWAP2 DUP3 CALLDATASIZE LT ISZERO PUSH2 0x17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x1CFA7BA8 EQ PUSH2 0x34B JUMPI POP DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x233 JUMPI DUP1 PUSH4 0x3F2601EF EQ PUSH2 0x1B7 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x8AA202F4 EQ PUSH2 0x119 JUMPI PUSH4 0xFCDF9750 EQ PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x1 SLOAD SWAP2 DUP3 DUP2 MSTORE DUP1 PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x1 SLOAD SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE9 JUMPI POP PUSH1 0x20 SWAP4 POP PUSH1 0x1 SSTORE MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH1 0x11 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP5 MSTORE MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x161 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x161 JUMPI DUP2 PUSH1 0x20 SWAP4 PUSH1 0xFF SWAP3 CALLDATALOAD DUP2 MSTORE DUP1 DUP6 MSTORE KECCAK256 SLOAD AND SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP5 CALLVALUE PUSH2 0x115 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x115 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE DUP1 RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x161 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x161 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x347 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x347 JUMPI DUP1 DUP4 ADD CALLDATALOAD SWAP2 DUP3 GT PUSH2 0x347 JUMPI PUSH1 0x24 CALLDATASIZE SWAP2 DUP4 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x343 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND CALLER SUB PUSH2 0x31B JUMPI ISZERO PUSH2 0x2F4 JUMPI CALLDATALOAD DUP3 MSTORE DUP2 PUSH1 0x20 MSTORE DUP2 KECCAK256 PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE DUP1 RETURN JUMPDEST SWAP1 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP SWAP1 MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 SWAP1 CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x3 SLOAD DUP2 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE5 0x2B DIFFICULTY CODECOPY EQ 0xE9 0xF6 MSIZE KECCAK256 BLOCKHASH SIGNEXTEND SWAP8 0x2D 0xAB 0xC6 0xBB SELFBALANCE 0xCA 0xC9 INVALID DUP14 0xB6 SGT ADD 0xFC POP 0x29 0xEA 0x28 BALANCE 0xC3 AND PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIV 0xEF 0xD8 LOG4 CALLCODE DUP1 NOT 0xB4 0xF8 PUSH25 0x42E380028010126A630D5037B9879BA015BF8E8E75B664736F PUSH13 0x63430008110033000000000000 ", + "sourceMap": "774:7240:54:-:0;;;;;;;1594:4:0;774:7240:54;;-1:-1:-1;;774:7240:54;1594:4:0;774:7240:54;;;-1:-1:-1;;;;;;170:14:57;;;178:5;170:14;;;1220::1;;774:7240:54;170:14:57;;;1220::1;170::57;774:7240:54;170:14:57;;;;;;;;;;;-1:-1:-1;;170:14:57;1220::1;;-1:-1:-1;;;;;;1220:14:1;;;-1:-1:-1;;;;;774:7240:54;;;1220:14:1;;;;774:7240:54;;206:16:57;;;214:7;170:14;206:16;;1220:14:1;;774:7240:54;;;;;;1220:14:1;;774:7240:54;;206:16:57;;;;;;;;;;-1:-1:-1;774:7240:54;;;1220:14:1;206:16:57;1220:14:1;;;206:16:57;1220:14:1;248:8:57;;1220:14:1;283:8:57;;1220:14:1;774:7240:54;;;;;;;;;206:16:57;;;;;;-1:-1:-1;206:16:57;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;774:7240:54;;1220:14:1;;;;;;;;170::57;;;;;;;;;;;;;;;:::i;:::-;;;;;;774:7240:54;;1220:14:1;774:7240:54;;1220:14:1;;;;774:7240:54;;;;1220:14:1;;;;;-1:-1:-1;;1220:14:1;;;;-1:-1:-1;;;;;1220:14:1;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;774:7240:54;;1220:14:1;;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_bool_fromMemory": { + "entryPoint": 10755, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_struct_Resolution_fromMemory": { + "entryPoint": 11031, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_uint8_fromMemory": { + "entryPoint": 12182, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_array_struct_PositionParams_dyn": { + "entryPoint": 12008, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_bytes32_array_struct_PositionParams_dyn_struct_PermitTransferFrom_bytes": { + "entryPoint": 12326, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_contract_MockArbitrable_bytes32_array_struct_PositionParams_dyn": { + "entryPoint": 12197, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_contract_MockArbitrable_bytes32_string_array_struct_PositionParams_dyn": { + "entryPoint": 12108, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_string": { + "entryPoint": 11861, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_stringliteral_42fa": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_stringliteral_d789": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_struct_PositionParams": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "allocate_and_zero_memory_array_array_struct_PositionParams_dyn": { + "entryPoint": 12249, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_bytes": { + "entryPoint": 10643, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_literal_to_memory_573d5e91ce4505f0968237333e7faa29e5b3db0271bd53ca845f6d06315880d0": { + "entryPoint": 11228, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 10606, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_returndata": { + "entryPoint": 10702, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 10540, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_17587": { + "entryPoint": 10385, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_17589": { + "entryPoint": 10453, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_17684": { + "entryPoint": 10482, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_28777": { + "entryPoint": 10511, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_appealResolution": { + "entryPoint": 12792, + "id": 33989, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_assertEq": { + "entryPoint": 11287, + "id": 514, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_executedResolution": { + "entryPoint": 13266, + "id": 34061, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_fail": { + "entryPoint": 11619, + "id": 216, + "parameterSlots": 0, + "returnSlots": 0 + }, + "fun_failed": { + "entryPoint": 10781, + "id": 172, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_getPermitTransferSignature": { + "entryPoint": 13606, + "id": 36781, + "parameterSlots": 3, + "returnSlots": 1 + }, + "fun_initializeERC20Tokens": { + "entryPoint": 14217, + "id": 37038, + "parameterSlots": 0, + "returnSlots": 0 + }, + "fun_setERC20TestTokens": { + "entryPoint": 14742, + "id": 37058, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_settlement": { + "entryPoint": 12438, + "id": 33923, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_submitResolution": { + "entryPoint": 12584, + "id": 33940, + "parameterSlots": 0, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionParams_dyn": { + "entryPoint": 11994, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionParams_dyn_17615": { + "entryPoint": 11930, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + } + }, + "object": "6080604090808252600491823610156200001857600080fd5b600091823560e01c908163035c3deb14620026825750806307842cfb146200259a5780630a9254e41462001ff95780631b2102931462001fd45780632c653e991462001e1d5780632d16568a1462001c7657806332acbc871462001862578063338499b214620013385780633eb8b8fd14620012fc578063415e982d14620012c0578063466417b914620011be5780634f2d277f1462000edb5780636302c3cf1462000e9f5780636e4f27751462000e6357806378f168301462000e27578063a86c9ae71462000bc8578063b68c13191462000997578063ba414fa6146200096e578063c5df4f031462000932578063e1227080146200043557909180938263e1cee8b11462000363578263e2acb0f81462000346578263e6d9ff3d1462000301578263f3fddbf4146200017e57505063fa7626d4146200015857600080fd5b346200017a57816003193601126200017a5760ff602092541690519015158152f35b5080fd5b91509134620002ee5782600319360112620002ee57620001a7620001a162003128565b620031f8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620002fc5783809160248451809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527fe4d068da00000000000000000000000000000000000000000000000000000000898401525af18015620002f257908491620002d6575b505073ffffffffffffffffffffffffffffffffffffffff9182601a541692601b541692601d54906200025a62003096565b94813b15620002d2578680946200029e8751988996879586947f2f7f204e000000000000000000000000000000000000000000000000000000008652850162002fa5565b03925af1908115620002c95750620002b35750f35b620002be9062002891565b620002c65780f35b80fd5b513d84823e3d90fd5b8680fd5b620002e19062002891565b620002ee57823862000229565b5050fd5b82513d86823e3d90fd5b505050fd5b346200017a5760206003193601126200017a573573ffffffffffffffffffffffffffffffffffffffff8116810362000341576200033e9062003996565b80f35b600080fd5b5034620002c65780600319360112620002c6576200033e62003789565b91509134620002ee5782600319360112620002ee5762000382620033d2565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620002fc5783809160248451809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f28b8b07800000000000000000000000000000000000000000000000000000000898401525af18015620002f257908491620002d657505073ffffffffffffffffffffffffffffffffffffffff9182601a541692601b541692601d54906200025a62003096565b50346200017a57816003193601126200017a576200045262003128565b9073ffffffffffffffffffffffffffffffffffffffff9182601a54169180519085826024817fec67b8c80000000000000000000000000000000000000000000000000000000097888252878c8301525afa9182156200092857869262000908575b50620004be62003096565b90602092670de0b6b3a764000084620004d78562002e9a565b5101526060810151956005870197888811620008dc57737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620008d8578a8a60248e83895195869485937fe5d6bf020000000000000000000000000000000000000000000000000000000085528401525af18015620008b257908b91620008bc575b50868c9183601a541684601b5416601d54926200056b62002bdc565b95620005a58c8c51988997889687957f02fd597d000000000000000000000000000000000000000000000000000000008752860162002f4c565b03925af18015620008b25791878c94928e9462000879575b505090602491601a54168651998a94859384528301525afa9485156200086f579162015185959391606095938a9562000844575b5083015183850190815114620007e1575b519181516200064d8162000620878201948886528683019062002ee8565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826200292c565b51902092838303620006a2575b50505050015191018092116200067657906200033e9162002c17565b6024836011867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b620007c6927f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608084518481526025858201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974868201527f657333325d0000000000000000000000000000000000000000000000000000008a820152a18251948386526200075e848701604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b9083870152857fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f999687920390a182519383859485528401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b918301520390a1620007d762002d63565b388080806200065a565b7f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f508683518681526017878201527f4572726f723a20417373657274696f6e204661696c656400000000000000000085820152a16200083e62002d63565b62000602565b8491955062000867903d808d833e6200085e81836200292c565b81019062002b17565b9490620005f1565b82513d8a823e3d90fd5b919450809293503d8311620008aa575b6200089581836200292c565b8101031262000341578a908a928738620005bd565b503d62000889565b85513d8d823e3d90fd5b620008c79062002891565b620008d45789386200054f565b8980fd5b8a80fd5b60248a60118d7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b620009209192503d8088833e6200085e81836200292c565b9038620004b3565b81513d88823e3d90fd5b50346200017a57816003193601126200017a57602090517ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08152f35b50346200017a57816003193601126200017a576020906200098e62002a1d565b90519015158152f35b5082903462000bc4578260031936011262000bc457620009b662003128565b620009c181620031f8565b8373ffffffffffffffffffffffffffffffffffffffff601a54169160248451809481937fec67b8c8000000000000000000000000000000000000000000000000000000008352888301525afa908115620002f257849162000ba6575b505191600583101562000b7a57506002820362000a38578280f35b807f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608062000b61935160208152602e60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b526573848201527f6f6c7574696f6e5374617475735d0000000000000000000000000000000000006060820152a180519281845262000af7828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60026020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162000b7462002d63565b81808280f35b8360216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b62000bbd91503d8086833e6200085e81836200292c565b8462000a1d565b8280fd5b5091346200017a57816003193601126200017a5762000be662003128565b9273ffffffffffffffffffffffffffffffffffffffff91826018541692601f54600084805162000c1681620028d5565b815162000c2381620028f2565b8381528360208201528152826020820152015283519462000c4486620028f2565b85526020850152606442019586421162000df957859684519562000c6887620028d5565b8652600060208701528486015262000c8982601a5416601c54908762003526565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d803b1562000db15785517fca669fa700000000000000000000000000000000000000000000000000000000815261dead86820152888160248183865af1801562000def5790899162000dd7575b5050803b1562000db15787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f65268788000000000000000000000000000000000000000000000000000000008b8401525af1801562000dcd5790889162000db5575b5050601a54169062000d6c62003096565b92823b1562000db15787946200029e86928851998a97889687957f41bcf4dc000000000000000000000000000000000000000000000000000000008752860162003026565b8780fd5b62000dc09062002891565b620002d257863862000d5b565b86513d8a823e3d90fd5b62000de29062002891565b62000db157873862000cec565b87513d8b823e3d90fd5b6011837f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b50346200017a57816003193601126200017a57602090517f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068152f35b50346200017a57816003193601126200017a57602090517f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b36788152f35b50346200017a57816003193601126200017a57602090517faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638152f35b5082903462000bc4578260031936011262000bc45762000efa62003128565b9062000f0682620031f8565b62000f1062003096565b918482519360209462000f328162000620888201948986528883019062002ee8565b51902073ffffffffffffffffffffffffffffffffffffffff9081601a5416803b15620011ba57846044898680948a5196879586947fe44cb37b00000000000000000000000000000000000000000000000000000000865285015260248401525af18015620011b05790839162001198575b5050601a54169160248451809481937fec67b8c8000000000000000000000000000000000000000000000000000000008352898301525afa9081156200118e57859162001170575b50519260058410156200114457506003830362001006578380f35b6200112c917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060808351838152602e848201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b526573858201527f6f6c7574696f6e5374617475735d0000000000000000000000000000000000006060820152a1815193828552620010c3838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b600383870152857fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89687920390a182519383859485528401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b918301520390a16200113d62002d63565b8180808380f35b8460216024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6200118791503d8087833e6200085e81836200292c565b8562000feb565b82513d87823e3d90fd5b620011a39062002891565b6200017a57818862000fa3565b85513d85823e3d90fd5b8380fd5b5091819234620002ee5782600319360112620002ee57620011de62003128565b91620011ea83620031f8565b620011f462003096565b82516200121281620006206020820194602086528783019062002ee8565b51902073ffffffffffffffffffffffffffffffffffffffff9384601a541691823b15620002d2576044879283875195869485937fe44cb37b0000000000000000000000000000000000000000000000000000000085528985015260248401525af18015620012b6579085916200129e575b505082601a541692601b541692601d54906200025a62003096565b620012a99062002891565b620002fc57833862001283565b83513d87823e3d90fd5b50346200017a57816003193601126200017a57602090517f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18152f35b50346200017a57816003193601126200017a57602090517ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668152f35b50823462000bc4578260031936011262000bc4576200135662003128565b5062015180420180421162001836578390737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562000bc457829160248392875194859384927fe5d6bf02000000000000000000000000000000000000000000000000000000008452898401525af180156200182c5762001814575b505073ffffffffffffffffffffffffffffffffffffffff9081601b541691601d5491845180947f8aa202f400000000000000000000000000000000000000000000000000000000948583528383015281602460209788935afa80156200180a578790620017cd575b60ff915016600181036200168f575b5081601a5416918681601b5416601d54946200145a62003096565b90803b15620011ba57620014a0968480948c51998a95869485937f2f7f204e0000000000000000000000000000000000000000000000000000000085528c850162002fa5565b03925af19384156200168357869462001662575b5050602490601b541693601d54948751958694859384528301525afa80156200165557849062001618575b60ff9150169160028303620014f2578380f35b6200112c917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608083518381526022848201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e858201527f745d0000000000000000000000000000000000000000000000000000000000006060820152a1815193828552620015af838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b600283870152857fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89687920390a182519383859485528401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b508181813d83116200164d575b6200163181836200292c565b81010312620011ba576200164760ff9162002f96565b620014df565b503d62001625565b50505051903d90823e3d90fd5b620016709192945062002891565b6200167f5783918688620014b4565b8580fd5b508651903d90823e3d90fd5b7f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608087518781526022888201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e898201527f745d0000000000000000000000000000000000000000000000000000000000006060820152a185519086825262001747878301604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b600187840152827fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89384920390a186518091888252620017b4898301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b90888301520390a1620017c662002d63565b866200143f565b508481813d831162001802575b620017e681836200292c565b81010312620002d257620017fc60ff9162002f96565b62001430565b503d620017da565b86513d89823e3d90fd5b6200181f9062002891565b62000bc4578284620013c8565b84513d84823e3d90fd5b6024846011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50346200017a57816003193601126200017a576200187f62003128565b908273ffffffffffffffffffffffffffffffffffffffff601a54169260248351809581937fec67b8c8000000000000000000000000000000000000000000000000000000008352898301525afa91821562001c6c57839262001c4c575b508151600581101562001c205790816001606094930362001adf575b50808201516200190762002bdc565b91805191602092838101906200193785828551620019298187858a016200296e565b81010380845201826200292c565b51902082518481019062001959868281620019298b878151938492016200296e565b5190200362001984575b505050500151620151804201908142116200067657906200033e9162002c17565b62001aba9262001ac8917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608085518481526024858201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472878201527f696e675d000000000000000000000000000000000000000000000000000000008b820152a183519584875262001a45858801604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b96808803848201528062001a7c7f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583998a9462002e55565b0390a183519484869586528501604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b918483039085015262002e55565b0390a162001ad562002d63565b3880808062001963565b7f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602e60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b526573858201527f6f6c7574696f6e5374617475735d00000000000000000000000000000000000087820152a181519082825262001b98838301604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60016020840152827fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89384920390a18251809184825262001c06858301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162001c1962002d63565b38620018f8565b6024846021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b62001c649192503d8085833e6200085e81836200292c565b9038620018dc565b81513d85823e3d90fd5b50346200017a57816003193601126200017a5762001c9362003128565b506201518042019081421162000676578293737109709ecfa91a80626ff3989d68f67f5b1dd12d92833b1562001e01578251907fe5d6bf0200000000000000000000000000000000000000000000000000000000825282820152848160248183885af18015620012b65790859162001e05575b505062001d1262002fd9565b92803b1562001e015784809160248551809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f3a78f7d400000000000000000000000000000000000000000000000000000000888401525af18015620012b65790859162001de9575b505073ffffffffffffffffffffffffffffffffffffffff80601a541690601b541690601d5491813b15620002d2578680946200029e8751988996879586947f2f7f204e000000000000000000000000000000000000000000000000000000008652850162002fa5565b62001df49062002891565b620002fc57833862001d80565b8480fd5b62001e109062002891565b620002fc57833862001d06565b5082903462000bc4578260031936011262000bc45762001e3c620033d2565b5082737109709ecfa91a80626ff3989d68f67f5b1dd12d803b156200017a5781809160248551809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f28b8b078000000000000000000000000000000000000000000000000000000008a8401525af1801562001fca5762001fb2575b5050602073ffffffffffffffffffffffffffffffffffffffff80601a541690601b541690601d54918662001ef062003096565b9662001f6f8751988996879586947f02fd597d000000000000000000000000000000000000000000000000000000008652850152602484015260806044840152600760848401527f697066733a2f2f0000000000000000000000000000000000000000000000000060a484015260c0606484015260c483019062002ee8565b03925af1908115620002c9575062001f85575080f35b602090813d811162001faa575b62001f9e81836200292c565b81010312620003415780f35b503d62001f92565b62001fbd9062002891565b62000bc457828462001ebd565b83513d84823e3d90fd5b50346200017a57816003193601126200017a5760209051680246ddf979766800008152f35b50346200017a57816003193601126200017a576200201662003789565b73ffffffffffffffffffffffffffffffffffffffff928360175416908251917f3644e51500000000000000000000000000000000000000000000000000000000835260209283818481855afa9081156200253157869162002567575b50601c558560185416908480516200208a81620028d5565b8381526702c68af0bb140000908187820152610d4092839101527fffffffffffffffffffffffff00000000000000000000000000000000000000009384601e541617601e55601f558285541617845584516117a2918282019067ffffffffffffffff93838310858411176200253b57918391899362006ffb84398152308882015203019087f080156200253157871682601a541617601a558451906103d7808301918383109083111762002505579082916200879d8339039086f08015620024e357861690601b541617601b5584601a5416803b1562001e015784809160a48651809481937f410fa8e60000000000000000000000000000000000000000000000000000000083526201518088840152600160248401528b601e54166044840152601f5460648401528b89541660848401525af18015620024e357908591620024ed575b505084601b541685601a5416813b156200167f57859160248392875194859384927f3f2601ef000000000000000000000000000000000000000000000000000000008452888401525af18015620024e357908591620024cb575b505062002239856013541662003996565b8460135416948060175416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b15620003415785517f06447d5600000000000000000000000000000000000000000000000000000000815260009885820152888160248183875af1801562000def57620024b3575b5090879183601854169087517f095ea7b3000000000000000000000000000000000000000000000000000000009081815282888201528881604481897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff988960248401525af18015620024a957916044918a949362002487575b508688601954168c51968795869485528c85015260248401525af180156200247d5762002449575b50803b156200017a578190848751809a81937f90c5013b0000000000000000000000000000000000000000000000000000000083525af19687156200243d5786979695966200241b575b5050908291601b5416908551809581937ffcdf97500000000000000000000000000000000000000000000000000000000083525af19283156200241257508392620023de575b5050601d5580f35b90809250813d83116200240a575b620023f881836200292c565b810103126200034157513880620023d6565b503d620023ec565b513d85823e3d90fd5b8192939495506200242c9062002891565b620002c65790818694939262002390565b508451903d90823e3d90fd5b6200246d90863d881162002475575b6200246481836200292c565b81019062002a03565b503862002346565b503d62002458565b87513d85823e3d90fd5b620024a190853d871162002475576200246481836200292c565b50386200231e565b8a513d88823e3d90fd5b620024c2909891929862002891565b969038620022a4565b620024d69062002891565b620011ba57833862002228565b84513d87823e3d90fd5b620024f89062002891565b620011ba578338620021ce565b6024886041877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d88823e3d90fd5b60248a6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b90508381813d831162002592575b6200258181836200292c565b810103126200034157513862002072565b503d62002575565b5091819234620002ee5782600319360112620002ee57620025ba62003128565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620002fc57839060248351809781937fc31eb0e00000000000000000000000000000000000000000000000000000000083527ff268e9e300000000000000000000000000000000000000000000000000000000888401525af1801562001c6c576200266b575b82935073ffffffffffffffffffffffffffffffffffffffff9182601a541692601b541692601d54906200025a62003096565b919092620026799062002891565b90829062002639565b9293905034620011ba576060600319360112620011ba5780359073ffffffffffffffffffffffffffffffffffffffff8083168093036200167f5760243594818616809603620002d2576044359082821680920362000db157843b1562000db1577f06447d56000000000000000000000000000000000000000000000000000000008152879684820152878160248183895af1801562000dcd5762002879575b509085918160185416918651907f095ea7b3000000000000000000000000000000000000000000000000000000009182815283878201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94856024830152816044816020998a945af180156200286f57604492879594928c926200284d575b50601954168a51968795869485528a85015260248401525af1801562002531576200282a575b5050813b15620011ba578291849391849251809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620002c9575062002814578280f35b62002820829162002891565b620002c657808280f35b816200284492903d1062002475576200246481836200292c565b503880620027c7565b6200286790873d891162002475576200246481836200292c565b5038620027a1565b89513d8c823e3d90fd5b620028879192965062002891565b8594903862002721565b67ffffffffffffffff8111620028a657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff821117620028a657604052565b6040810190811067ffffffffffffffff821117620028a657604052565b6080810190811067ffffffffffffffff821117620028a657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117620028a657604052565b60005b838110620029825750506000910152565b818101518382015260200162002971565b67ffffffffffffffff8111620028a657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15620029fe573d90620029e28262002993565b91620029f260405193846200292c565b82523d6000602084013e565b606090565b908160209103126200034157518015158103620003415790565b6000805460081c60ff161562002a37575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62002a5957505090565b81925060405182602082018381527f6661696c6564000000000000000000000000000000000000000000000000000060408401526040835262002a9c83620028d5565b62002af16024604051809362002ae060208301977f667f9d70000000000000000000000000000000000000000000000000000000008952518092858501906200296e565b81010360048101845201826200292c565b51925af15062002b1462002b04620029ce565b6020808251830101910162002a03565b90565b9060209081838203126200034157825167ffffffffffffffff93848211620003415701906080828203126200034157604051936080850185811082821117620028a657604052825160058110156200034157855283830151848601526040830151908111620003415782019281601f850112156200034157835162002b9c8162002993565b9262002bac60405194856200292c565b81845282828701011162000341576060948262002bcd93850191016200296e565b60408401520151606082015290565b6040519062002beb82620028f2565b600f82527f697066733a2f2f6d6574616461746100000000000000000000000000000000006020830152565b81810362002c23575050565b62002d4e906040907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e858201527f745d0000000000000000000000000000000000000000000000000000000000006060820152a181519382855262002ce5838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b906020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162002d6162002d63565b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62002daf575b506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6000809160405182602082018381527f6661696c656400000000000000000000000000000000000000000000000000006040840152600160608401526060835262002dfa836200290f565b62002e3e6024604051809362002ae060208301977f70ca10bb000000000000000000000000000000000000000000000000000000008952518092858501906200296e565b51925af15062002e4d620029ce565b503862002d80565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362002e93815180928187528780880191016200296e565b0116010190565b80516001101562002eab5760400190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80511562002eab5760200190565b90815180825260208080930193019160005b82811062002f09575050505090565b909192938260408262002f3f60019489516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b0195019392910162002efa565b9262002b14949273ffffffffffffffffffffffffffffffffffffffff62002f8793168552602085015260806040850152608084019062002e55565b91606081840391015262002ee8565b519060ff821682036200034157565b62002b14939273ffffffffffffffffffffffffffffffffffffffff6060931682526020820152816040820152019062002ee8565b60409081519162002fea83620028d5565b60028352826000805b838110620030015750505050565b60209084516200301181620028f2565b83815282848183015282860101520162002ff3565b906200304862002b149593604092845260e0602085015260e084019062002ee8565b936200307782840182516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60208101516080840152015160a082015260c081840391015262002e55565b620030a062002fd9565b9073ffffffffffffffffffffffffffffffffffffffff806013541660405190620030ca82620028f2565b81526729a2241af62c00006020820152620030e58462002eda565b52620030f18362002eda565b5060145416604051906200310582620028f2565b815260006020820152620031198362002e9a565b52620031258262002e9a565b50565b73ffffffffffffffffffffffffffffffffffffffff602081601a541691601b541691601d54906200315862002bdc565b9160006200316562003096565b95620031a1604051978896879586947f02fd597d0000000000000000000000000000000000000000000000000000000086526004860162002f4c565b03925af1908115620031ec57600091620031b9575090565b906020823d8211620031e3575b81620031d5602093836200292c565b81010312620002c657505190565b3d9150620031c6565b6040513d6000823e3d90fd5b601854600091601f54604091848380516200321381620028d5565b81516200322081620028f2565b838152836020820152815282602082015201528251916200324183620028f2565b73ffffffffffffffffffffffffffffffffffffffff8095168352602083015260644201804211620033a5578351926200327a84620028d5565b8352856020840152838301526200329a84601a5416601c54908462003526565b938060135416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562000db157879160248392885194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af180156200339b5762003385575b50601a5416906200331262003096565b90823b15620002d2579086809493926200335b8751988996879586947f41bcf4dc0000000000000000000000000000000000000000000000000000000086526004860162003026565b03925af1908115620002c9575062003371575050565b6200337d829162002891565b620002c65750565b620033939096919662002891565b943862003302565b85513d89823e3d90fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b620033dc62003128565b906000620151804201804211620034f957737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562000bc45782916024839260405194859384927fe5d6bf0200000000000000000000000000000000000000000000000000000000845260048401525af18015620034dc57620034e7575b5073ffffffffffffffffffffffffffffffffffffffff80601a541690601b541690601d546200347e62003096565b92823b1562001e015791620034c89391858094604051968795869485937f2f7f204e0000000000000000000000000000000000000000000000000000000085526004850162002fa5565b03925af18015620034dc5762003371575050565b6040513d84823e3d90fd5b620034f29062002891565b3862003450565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90918151916040938451936200358660208601917f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18352878701906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60609485815262003597816200290f565b519020918560208201519101519073ffffffffffffffffffffffffffffffffffffffff87519360208501957f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068752898601521686840152608083015260a082015260a0815260c081019181831067ffffffffffffffff841117620028a65761010290838752825190209160e08101947f1901000000000000000000000000000000000000000000000000000000000000865260e28201520152604281526200365f816200290f565b519020908251917fe341eaa4000000000000000000000000000000000000000000000000000000008352610b0b600484015260248301528082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200377e57600090819382916200370d575b50847fff000000000000000000000000000000000000000000000000000000000000009394955195602087015285015260f81b16908201526041815262002b14816200290f565b83809550819492503d831162003776575b6200372a81836200292c565b81010312620002c6575080620037617fff000000000000000000000000000000000000000000000000000000000000009262002f96565b602082015191850151919392909190620036c6565b503d6200371e565b83513d6000823e3d90fd5b60408051906122ca908183019267ffffffffffffffff9281851084861117620028a65762003a72823980600094039084f09283156200398b5773ffffffffffffffffffffffffffffffffffffffff92837fffffffffffffffffffffffff000000000000000000000000000000000000000095168560175416176017558251906112bf8083019280841083851117620039545760e08162005d3c958487833960608152600c60608201527f5465737420546f6b656e20410000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544100000000000000000000000000000000000000000000000000000000000060c082015260128982015203019085f08015620039815786168760185416176018558451928184019284841090841117620039545791839160e093833960608152600c60608201527f5465737420546f6b656e20420000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544200000000000000000000000000000000000000000000000000000000000060c082015260128682015203019082f09182156200394a57505016906019541617601955565b51903d90823e3d90fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b85513d86823e3d90fd5b9051903d90823e3d90fd5b6018549060009173ffffffffffffffffffffffffffffffffffffffff80911691823b15620011ba5760405191807f40c10f1900000000000000000000000000000000000000000000000000000000928385521692836004820152858160448183680246ddf97976680000998a60248401525af1801562003a665762003a50575b5060195416803b1562001e01578492918360449260405196879586948552600485015260248401525af18015620034dc5762003371575050565b62003a5e9095919562002891565b933862003a16565b6040513d88823e3d90fdfe60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a5578260405251902060805261220990816100c18239608051816118b0015260a0518161188a0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db146110c8578063137c29fe14610eef5780632a2d80d114610c4f5780632b67b57014610a9457806330f28b7a146109b25780633644e5151461098f57806336c78516146109385780633ff9dcb1146108d65780634fe02b441461088b57806365d9723c1461071657806387517c4514610602578063927da10514610569578063cc53287f14610467578063edd9444b1461031c5763fe8ec1a7146100c657600080fd5b346103185760c06003193601126103185767ffffffffffffffff8335818111610314576100f6903690860161146b565b6024358281116103105761010d903690870161143a565b610115611324565b9160843585811161030c5761012d9036908a016113e1565b98909560a43590811161030857610146913691016113e1565b9690958151906101558261123d565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610204602085018096611cfc565b918237018a8152039961023d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611275565b5190209085515161024d81611c24565b908a5b8181106102db5750506102d8999a6102cf91835161028281610276602082018095611ccf565b03848101835282611275565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611275565b51902093611a60565b80f35b806102f36102ed610303938c5161157e565b51611dbd565b6102fd828661157e565b52611c73565b610250565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103185760806003193601126103185767ffffffffffffffff9080358281116103145761034f903690830161146b565b60243583811161031057610366903690840161143a565b939092610371611324565b9160643590811161046357610388913691016113e1565b9490938351519761039889611c24565b98885b8181106104415750506102d8979881516103e9816103bd602082018095611ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611275565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102cf81611259565b808b6102fd826104586102ed61045e968d5161157e565b9261157e565b61039b565b8680fd5b50823461056557602090816003193601126103145780359067ffffffffffffffff82116103105761049a9136910161143a565b929091845b8481106104aa578580f35b806104c06104bb60019388886116d5565b6116e5565b6104d5846104cf848a8a6116d5565b016116e5565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a20161049f565b8280fd5b5034610318576060600319360112610318576105fe816105876112de565b93610590611301565b610598611324565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103185760806003193601126103185761061c6112de565b90610625611301565b9161062e611324565b65ffffffffffff926064358481169081810361030c5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c2094861560001461070e57504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b9050926106ed565b508234610565576060600319360112610565576107316112de565b9061073a611301565b9265ffffffffffff604435818116939084810361030c57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156108635761ffff90858403161161083c5750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b50346103185780600319360112610318578060209273ffffffffffffffffffffffffffffffffffffffff6108bd6112de565b1681528084528181206024358252845220549051908152f35b5082346105655781600319360112610565577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b823461098c57608060031936011261098c576109526112de565b61095a611301565b610962611324565b6064359173ffffffffffffffffffffffffffffffffffffffff83168303610310576102d8936115c1565b80fd5b50346103185781600319360112610318576020906109ab611887565b9051908152f35b5082903461056557610100600319360112610565576109d036611368565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610a026112b6565b9160e43567ffffffffffffffff8111610a90576102d894610a25913691016113e1565b939092610a328351611dbd565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610a8781611259565b5190209161198e565b8580fd5b5091346103185761010060031936011261031857610ab06112de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610314576080855191610ae983611221565b1261031457845190610afa826111d6565b73ffffffffffffffffffffffffffffffffffffffff916024358381168103610463578152604435838116810361046357602082015265ffffffffffff606435818116810361030c57888301526084359081168103610463576060820152815260a435938285168503610a90576020820194855260c4359087830182815260e43567ffffffffffffffff811161030857610b9690369084016113e1565b929093804211610c20575050918591610c106102d8999a610c1695610bbb8851611d27565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610c088161123d565b519020611942565b91611e30565b5192511691611706565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b50913461031857606060031993818536011261031457610c6d6112de565b9260249081359267ffffffffffffffff9788851161030c57859085360301126104635780519785890189811082821117610ec4578252848301358181116103085785019036602383011215610308578382013591610cca8361140f565b90610cd785519283611275565b838252602093878584019160071b83010191368311610ec0578801905b828210610e63575050508a526044610d0d868801611347565b96838c01978852013594838b0191868352604435908111610e5f57610d3590369087016113e1565b959096804211610e34575050508998995151610d5081611c24565b908b5b818110610e1157505092889492610c1092610dde97958351610d7c816103bd8682018095611ccf565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610c088161123d565b51169082515192845b848110610df2578580f35b80610e0b8585610e05600195875161157e565b51611706565b01610de7565b806102f3610e268e9f9e93610e2c945161157e565b51611d27565b9b9a9b610d53565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b608082360312610ec057856080918851610e7c816111d6565b610e8585611347565b8152610e92838601611347565b83820152610ea18a8601611427565b8a8201528d610eb1818701611427565b90820152815201910190610cf4565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105655761014060031936011261056557610f0c36611368565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610f3e6112b6565b67ffffffffffffffff93906101043585811161046357610f6190369086016113e1565b90936101243596871161030c57610f81610a87966102d8983691016113e1565b969095825190610f908261123d565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c00000000000000000000000000000000000000000000000000000000608083015283519485918161103f602085018096611cfc565b918237018b815203936110787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611275565b519020926110868651611dbd565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102c3565b5082346105655760208060031936011261031457813567ffffffffffffffff92838211610a905736602383011215610a9057810135928311610310576024906007368386831b8401011161046357865b858110611123578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8336030112610308576111d088876001946060835161116a816111d6565b6111a6608461117a8d8601611347565b9485845261118a60448201611347565b809785015261119b60648201611347565b809885015201611347565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166115c1565b01611118565b6080810190811067ffffffffffffffff8211176111f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176111f257604052565b60a0810190811067ffffffffffffffff8211176111f257604052565b60c0810190811067ffffffffffffffff8211176111f257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176111f257604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6003190190608082126112d957604080519061138382611221565b808294126112d957805181810181811067ffffffffffffffff8211176111f257825260043573ffffffffffffffffffffffffffffffffffffffff811681036112d9578152602435602082015282526044356020830152606435910152565b9181601f840112156112d95782359167ffffffffffffffff83116112d957602083818601950101116112d957565b67ffffffffffffffff81116111f25760051b60200190565b359065ffffffffffff821682036112d957565b9181601f840112156112d95782359167ffffffffffffffff83116112d9576020808501948460061b0101116112d957565b9190916060818403126112d957604080519161148683611221565b8294813567ffffffffffffffff908181116112d957830182601f820112156112d95780356114b38161140f565b926114c087519485611275565b818452602094858086019360061b850101938185116112d9579086899897969594939201925b848410611503575050505050855280820135908501520135910152565b9091929394959697848303126112d9578851908982019082821085831117611550578a928992845261153487611347565b81528287013583820152815201930191908897969594936114e6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156115925760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c168042116116a4575082871696838803611632575b50506116309550169261211c565b565b878484161160001461166f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846116309a031691161790553880611622565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b91908110156115925760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036112d95790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c0361185e57918561183794927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec9897969450871560001461183c5779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff0000000000000000000000000000000000000000876117c9565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f0000000000000000000000000000000000000000000000000000000000000000036118d2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261193c8161123d565b51902090565b61194a611887565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261193c816111d6565b9192909360a435936040840151804211611a2f57506020845101518086116119fe5750918591610c106119ce946119c9602088015186611bb0565b611942565b73ffffffffffffffffffffffffffffffffffffffff80915151169260843591821682036112d9576116309361211c565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611b805750848803611b5757611a97918691610c1060209b6119c98d88015186611bb0565b60005b868110611aab575050505050505050565b611ab681835161157e565b5188611ac383878a6116d5565b01359089810151808311611b27575091818888886001968596611aed575b50505050505001611a9a565b611b1c95611b169273ffffffffffffffffffffffffffffffffffffffff6104bb935116956116d5565b9161211c565b803888888883611ae1565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611bfa57565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611c2e8261140f565b611c3b6040519182611275565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611c69829461140f565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ca05760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611ce8575050505090565b835185529381019392810192600101611cda565b9081519160005b838110611d14575050016000815290565b8060208092840101518185015201611d03565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176111f25760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff8151166040840152015160608201526060815261193c816111d6565b91908260409103126112d9576020823592013590565b6000843b611f97575060418203611f1557611e4d82820182611e1a565b939092604010156115925760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa15611f095773ffffffffffffffffffffffffffffffffffffffff8060005116918215611edf571603611eb557565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203611f6d57611f2991810190611e1a565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611ca05760209360009360ff608094611e6b565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa908115612111578291612093575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361206957565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211612109575b816120ad60209383611275565b810103126103185751907fffffffff000000000000000000000000000000000000000000000000000000008216820361098c57507fffffffff00000000000000000000000000000000000000000000000000000000903861203d565b3d91506120a0565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561217557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea2646970667358221220c798ba34bd41ccb33394477f24cca6191c4fc58c8e7d9adae8e27920b835ff1d64736f6c6343000811003360e0604090808252346200043c57620012bf803803809162000022828562000441565b833981016060828203126200043c5781516001600160401b0393908481116200043c57826200005391850162000465565b92602092838201518681116200043c5783916200007291840162000465565b91015160ff811681036200043c578451948686116200042657600095806200009b8854620004dc565b92601f93848111620003d5575b5087908483116001146200036d57899262000361575b50508160011b916000199060031b1c19161786555b8251908782116200034d578190600194620000ef8654620004dc565b828111620002f8575b50879183116001146200029457889262000288575b5050600019600383901b1c191690831b1782555b6080524660a052815184549181866200013a85620004dc565b92838352878301958882821691826000146200026857505060011462000228575b506200016a9250038262000441565b519020928151928301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8552828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401524660808401523060a084015260a0835260c08301948386109086111762000214575083905251902060c052610da590816200051a82396080518161077e015260a05181610b97015260c05181610bbe0152f35b634e487b7160e01b81526041600452602490fd5b8791508880528189209089915b8583106200024f5750506200016a9350820101386200015b565b8054838801850152869450899390920191810162000235565b60ff191688526200016a95151560051b85010192503891506200015b9050565b0151905038806200010d565b8589528789208694509190601f1984168a5b8a828210620002e15750508411620002c7575b505050811b01825562000121565b015160001960f88460031b161c19169055388080620002b9565b8385015186558997909501949384019301620002a6565b909192508589528789208380860160051c8201928a871062000343575b91869589929594930160051c01915b82811062000334575050620000f8565b8b815586955088910162000324565b9250819262000315565b634e487b7160e01b87526041600452602487fd5b015190503880620000be565b898052888a209250601f1984168a5b8a828210620003be575050908460019594939210620003a4575b505050811b018655620000d3565b015160001960f88460031b161c1916905538808062000396565b60018596829396860151815501950193016200037c565b9091508880528789208480850160051c8201928a86106200041c575b9085949392910160051c01905b8181106200040d5750620000a8565b8a8155849350600101620003fe565b92508192620003f1565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200042657604052565b919080601f840112156200043c578251906001600160401b038211620004265760405191602091620004a1601f8301601f191684018562000441565b8184528282870101116200043c5760005b818110620004c857508260009394955001015290565b8581018301518482018401528201620004b2565b90600182811c921680156200050e575b6020831014620004f857565b634e487b7160e01b600052602260045260246000fd5b91607f1691620004ec56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c6343000811003360a0346100ed57601f6117a238819003918201601f19168301916001600160401b038311848410176100f25780849260409485528339810103126100ed5780516001600160a01b039182821682036100ed57602001519182168092036100ed57600080546001600160a01b031990811684178255604051939190829081337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a360015416176001557fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f2339180a36080526116999081610109823960805181818161093501526110980152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b600090813560e01c90816302fd597d146110bc5750806312261ee71461106b578063238dafe0146110455780632f7f204e14610d42578063323a5e0b14610cf9578063328d8f7214610c925780633fd8b02f14610c74578063410fa8e614610b6a57806341bcf4dc1461060d5780638da5cb5b146105da578063e44cb37b1461046e578063e8ea054b146103e1578063ec67b8c8146101b2578063f2fde38b146100fc5763f77c4791146100c657600080fd5b346100f957806003193601126100f957602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b80fd5b50346100f95760206003193601126100f957610116611454565b815473ffffffffffffffffffffffffffffffffffffffff8082163303610188577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b50346100f9576020806003193601126103dd578160606040516101d481611551565b8281528284820152816040820152015260043582526006815260408220604051926101fe84611551565b60ff82541660058110156103b057845260018083015492848601938452600281016040519283918591815491610233836115ae565b928386528a838216918260001461036c57505060011461032f575b5050506003929161026091038461156d565b60408701928352015492606086019384526040519585875251600581101561030257858701525160408601525160806060860152805160a086018190529385939291825b8681106102eb57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f9260c080978701015251608085015201168101030190f35b81810183015188820160c0015287955082016102a4565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8752888720899350879291905b8284106103545750505082010181610260600361024e565b80548489018601528795508a9490930192810161033c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061026091506003905061024e565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b5080fd5b50346100f95760206003193601126100f9576103fb611454565b73ffffffffffffffffffffffffffffffffffffffff908183541633036101885716807fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155337fa06677f7b64342b4bcbde423684dbdb5356acfe41ad0285b6ecbe6dc4bf427f28380a380f35b50346100f95760406003193601126100f95760043560243573ffffffffffffffffffffffffffffffffffffffff8354163303610188578183526006602052604083209081549060ff821660058110156105ad57801561058357600414610559578060018401540361052f577fb6dc686a67a9620536a83f729428ef64a3e6529407d6b5e0df3426fe6b01a2609260037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060209416179055604051908152a280f35b60046040517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b60046040517f28b8b078000000000000000000000000000000000000000000000000000000008152fd5b60046040517faffbf64b000000000000000000000000000000000000000000000000000000008152fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b50346100f957806003193601126100f95773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346100f95760e06003193601126100f95767ffffffffffffffff906024358281116103dd576106419036906004016114a5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc36019360808512610b6657604080519561067b87611519565b12610b665760405161068c81611535565b60443573ffffffffffffffffffffffffffffffffffffffff8116810361088557815260643560208201528552608435602086015260a435604086015260c435908111610b66576106e0903690600401611477565b949060043585526006602052604085209586549160ff83166005811015610b39578015610583576004811461055957600314610b0f5760405161072281611519565b73ffffffffffffffffffffffffffffffffffffffff60025416808252600354602083015273ffffffffffffffffffffffffffffffffffffffff60045416604083015273ffffffffffffffffffffffffffffffffffffffff8651511603610ae5576040516020810190602082526107cc816107a0604082018b8d611601565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261156d565b519020948560018b01540361052f578899895b8b1580610adc575b156108b7578881101561088a578060061b8a013573ffffffffffffffffffffffffffffffffffffffff811680910361088557331461087c575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461084f576001016107df565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60019b50610820565b600080fd5b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b508997508a15610ab25760027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00899716179055602073ffffffffffffffffffffffffffffffffffffffff6040840151169201516040519261091784611535565b8352602083015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610aae578580946040927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f610a1d9986519a8b998a9889967f30f28b7a0000000000000000000000000000000000000000000000000000000088526109e46004890182516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b60208181015160448a01529101516064880152815173ffffffffffffffffffffffffffffffffffffffff166084880152015160a4860152565b3360c485015261010060e48501528061010485015280610124958686013785858286010152011681010301925af18015610aa357610a8f575b50506040519081523360208201527f2a41d71ad20bb81193ade4a1c1c4796777ba30f92f48c41fce7eeb361e109b0e604060043592a280f35b610a98906114d6565b6103dd578183610a56565b6040513d84823e3d90fd5b8580fd5b60046040517f65268788000000000000000000000000000000000000000000000000000000008152fd5b508881106107e7565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60046040517ffd6f4120000000000000000000000000000000000000000000000000000000008152fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8380fd5b50346100f95760a06003193601126100f9576024358015158091036108855760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc3601126103dd5773ffffffffffffffffffffffffffffffffffffffff90818354163303610188576004356005557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b16911617600155604435818116809103610885577fffffffffffffffffffffffff00000000000000000000000000000000000000009081600254161760025560643560035560843591821680920361088557600454161760045580f35b50346100f957806003193601126100f9576020600554604051908152f35b50346100f95760206003193601126100f957600435801515809103610885577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006001549260a01b1691161760015580f35b50346100f957806003193601126100f957606073ffffffffffffffffffffffffffffffffffffffff80600254169060035490600454169060405192835260208301526040820152f35b50346100f95760606003193601126100f957610d5c611454565b6024359060443567ffffffffffffffff8111610b6657610d809036906004016114a5565b929060ff60015460a01c161561101b57604051906020820182610dd485878490917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b0392610e067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09485810183528261156d565b519020948587526006602052604087209283549060ff82166005811015610fee5760028114610fc45760048114610559576003141580610fb7575b610f8d57604051610e6f60208201926020845282610e6360408201888a611601565b0390810183528261156d565b519020958660018601540361052f57889460047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff94161790551690813b15610b665783610f0e95604051968795869485937f3d3e73d70000000000000000000000000000000000000000000000000000000085526004850152604060248501526044840191611601565b03925af18015610f8257610f4c575b5060207feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd491604051908152a280f35b7feb0ed49da371fcf5b9313864d8c92a2130bd637affe927c057a55a06905d0cd49193610f7a6020926114d6565b939150610f1d565b6040513d86823e3d90fd5b60046040517ff268e9e3000000000000000000000000000000000000000000000000000000008152fd5b5060038501544210610e41565b60046040517fe4d068da000000000000000000000000000000000000000000000000000000008152fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60046040517f09131007000000000000000000000000000000000000000000000000000000008152fd5b50346100f957806003193601126100f957602060ff60015460a01c166040519015158152f35b50346100f957806003193601126100f957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346100f95760806003193601126100f9576110d6611454565b9167ffffffffffffffff916044358381116103dd576110f9903690600401611477565b606435858111610b66576111119036906004016114a5565b9290946001549060ff8260a01c161561142c575073ffffffffffffffffffffffffffffffffffffffff16330361018857604051606088901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020820190815260243560348301529061118881605481016107a0565b519020958685526006602052604085209384549660ff88166005811015610b3957600414610559576001916107a06111f47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00936040519283916020830195602087526040840191611601565b519020971617845585600185015582116113ff57819061121760028501546115ae565b601f81116113af575b508490601f83116001146113075785926112fc575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161760028201555b6005544201918242116112cf575091602094916003859401556040519081527f96eab3103fbd8c0266eca3e7a57929bc3bd66ef5223e2cb45f589f884ffcb9ae8573ffffffffffffffffffffffffffffffffffffffff602435941692a4604051908152f35b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b013590508780611235565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016916002850186526020862092865b818110611397575090846001959493921061135f575b505050811b01600282015561126a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c1991013516905587808061134f565b91936020600181928787013581550195019201611339565b90915060028401855260208520601f840160051c8101602085106113f8575b90849392915b601f830160051c820181106113ea575050611220565b8781558594506001016113d4565b50806113ce565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b807f091310070000000000000000000000000000000000000000000000000000000060049252fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020838186019501011161088557565b9181601f840112156108855782359167ffffffffffffffff8311610885576020808501948460061b01011161088557565b67ffffffffffffffff81116114ea57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176114ea57604052565b6040810190811067ffffffffffffffff8211176114ea57604052565b6080810190811067ffffffffffffffff8211176114ea57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176114ea57604052565b90600182811c921680156115f7575b60208310146115c857565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916115bd565b918181526020809101929160009182905b82821061162157505050505090565b9091929394853573ffffffffffffffffffffffffffffffffffffffff8116809103610aae5781528582013582820152604090810195019392916001019061161256fea26469706673582212205e6b186204cb5b1a91903d6fed9eb15ed36361835d2b911aa9d576e0ea5387c864736f6c6343000811003360808060405234610016576103bb908161001c8239f35b600080fdfe60806040908082526004918236101561001757600080fd5b600091823560e01c9081631cfa7ba81461034b575080633d3e73d7146102335780633f2601ef146101b75780636cc6cde1146101655780638aa202f4146101195763fcdf97501461006757600080fd5b3461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011557600154918281528060205281812060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905560015490600182018092116100e957506020935060015551908152f35b806011867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b5080fd5b5082346101615760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610161578160209360ff923581528085522054169051908152f35b8280fd5b503461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101155760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b8284346101155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610115573573ffffffffffffffffffffffffffffffffffffffff8116809103610115577fffffffffffffffffffffffff0000000000000000000000000000000000000000600254161760025580f35b50823461016157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101615767ffffffffffffffff6024358181116103475736602382011215610347578083013591821161034757602436918360061b0101116103435773ffffffffffffffffffffffffffffffffffffffff60025416330361031b57156102f45735825281602052812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905580f35b90517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b5090517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b8480fd5b83903461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610115576020906003548152f3fea2646970667358221220e52b443914e9f65920400b972dabc6bb47cac9fe8db61301fc5029ea2831c31664736f6c63430008110033a264697066735822122004efd8a4f28019b4f87842e380028010126a630d5037b9879ba015bf8e8e75b664736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE PUSH1 0x4 SWAP2 DUP3 CALLDATASIZE LT ISZERO PUSH3 0x18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x35C3DEB EQ PUSH3 0x2682 JUMPI POP DUP1 PUSH4 0x7842CFB EQ PUSH3 0x259A JUMPI DUP1 PUSH4 0xA9254E4 EQ PUSH3 0x1FF9 JUMPI DUP1 PUSH4 0x1B210293 EQ PUSH3 0x1FD4 JUMPI DUP1 PUSH4 0x2C653E99 EQ PUSH3 0x1E1D JUMPI DUP1 PUSH4 0x2D16568A EQ PUSH3 0x1C76 JUMPI DUP1 PUSH4 0x32ACBC87 EQ PUSH3 0x1862 JUMPI DUP1 PUSH4 0x338499B2 EQ PUSH3 0x1338 JUMPI DUP1 PUSH4 0x3EB8B8FD EQ PUSH3 0x12FC JUMPI DUP1 PUSH4 0x415E982D EQ PUSH3 0x12C0 JUMPI DUP1 PUSH4 0x466417B9 EQ PUSH3 0x11BE JUMPI DUP1 PUSH4 0x4F2D277F EQ PUSH3 0xEDB JUMPI DUP1 PUSH4 0x6302C3CF EQ PUSH3 0xE9F JUMPI DUP1 PUSH4 0x6E4F2775 EQ PUSH3 0xE63 JUMPI DUP1 PUSH4 0x78F16830 EQ PUSH3 0xE27 JUMPI DUP1 PUSH4 0xA86C9AE7 EQ PUSH3 0xBC8 JUMPI DUP1 PUSH4 0xB68C1319 EQ PUSH3 0x997 JUMPI DUP1 PUSH4 0xBA414FA6 EQ PUSH3 0x96E JUMPI DUP1 PUSH4 0xC5DF4F03 EQ PUSH3 0x932 JUMPI DUP1 PUSH4 0xE1227080 EQ PUSH3 0x435 JUMPI SWAP1 SWAP2 DUP1 SWAP4 DUP3 PUSH4 0xE1CEE8B1 EQ PUSH3 0x363 JUMPI DUP3 PUSH4 0xE2ACB0F8 EQ PUSH3 0x346 JUMPI DUP3 PUSH4 0xE6D9FF3D EQ PUSH3 0x301 JUMPI DUP3 PUSH4 0xF3FDDBF4 EQ PUSH3 0x17E JUMPI POP POP PUSH4 0xFA7626D4 EQ PUSH3 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST SWAP2 POP SWAP2 CALLVALUE PUSH3 0x2EE JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2EE JUMPI PUSH3 0x1A7 PUSH3 0x1A1 PUSH3 0x3128 JUMP JUMPDEST PUSH3 0x31F8 JUMP JUMPDEST PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x2FC JUMPI DUP4 DUP1 SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0xE4D068DA00000000000000000000000000000000000000000000000000000000 DUP10 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2F2 JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x2D6 JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x1B SLOAD AND SWAP3 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x25A PUSH3 0x3096 JUMP JUMPDEST SWAP5 DUP2 EXTCODESIZE ISZERO PUSH3 0x2D2 JUMPI DUP7 DUP1 SWAP5 PUSH3 0x29E DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x2F7F204E00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE DUP6 ADD PUSH3 0x2FA5 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x2C9 JUMPI POP PUSH3 0x2B3 JUMPI POP RETURN JUMPDEST PUSH3 0x2BE SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2C6 JUMPI DUP1 RETURN JUMPDEST DUP1 REVERT JUMPDEST MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST PUSH3 0x2E1 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2EE JUMPI DUP3 CODESIZE PUSH3 0x229 JUMP JUMPDEST POP POP REVERT JUMPDEST DUP3 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP POP POP REVERT JUMPDEST CALLVALUE PUSH3 0x17A JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH3 0x341 JUMPI PUSH3 0x33E SWAP1 PUSH3 0x3996 JUMP JUMPDEST DUP1 RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x2C6 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2C6 JUMPI PUSH3 0x33E PUSH3 0x3789 JUMP JUMPDEST SWAP2 POP SWAP2 CALLVALUE PUSH3 0x2EE JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2EE JUMPI PUSH3 0x382 PUSH3 0x33D2 JUMP JUMPDEST POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x2FC JUMPI DUP4 DUP1 SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP10 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2F2 JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x2D6 JUMPI POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x1B SLOAD AND SWAP3 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x25A PUSH3 0x3096 JUMP JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0x452 PUSH3 0x3128 JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x1A SLOAD AND SWAP2 DUP1 MLOAD SWAP1 DUP6 DUP3 PUSH1 0x24 DUP2 PUSH32 0xEC67B8C800000000000000000000000000000000000000000000000000000000 SWAP8 DUP9 DUP3 MSTORE DUP8 DUP13 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x928 JUMPI DUP7 SWAP3 PUSH3 0x908 JUMPI JUMPDEST POP PUSH3 0x4BE PUSH3 0x3096 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP3 PUSH8 0xDE0B6B3A7640000 DUP5 PUSH3 0x4D7 DUP6 PUSH3 0x2E9A JUMP JUMPDEST MLOAD ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD SWAP6 PUSH1 0x5 DUP8 ADD SWAP8 DUP9 DUP9 GT PUSH3 0x8DC JUMPI PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x8D8 JUMPI DUP11 DUP11 PUSH1 0x24 DUP15 DUP4 DUP10 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0xE5D6BF0200000000000000000000000000000000000000000000000000000000 DUP6 MSTORE DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x8B2 JUMPI SWAP1 DUP12 SWAP2 PUSH3 0x8BC JUMPI JUMPDEST POP DUP7 DUP13 SWAP2 DUP4 PUSH1 0x1A SLOAD AND DUP5 PUSH1 0x1B SLOAD AND PUSH1 0x1D SLOAD SWAP3 PUSH3 0x56B PUSH3 0x2BDC JUMP JUMPDEST SWAP6 PUSH3 0x5A5 DUP13 DUP13 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP6 PUSH32 0x2FD597D00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE DUP7 ADD PUSH3 0x2F4C JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x8B2 JUMPI SWAP2 DUP8 DUP13 SWAP5 SWAP3 DUP15 SWAP5 PUSH3 0x879 JUMPI JUMPDEST POP POP SWAP1 PUSH1 0x24 SWAP2 PUSH1 0x1A SLOAD AND DUP7 MLOAD SWAP10 DUP11 SWAP5 DUP6 SWAP4 DUP5 MSTORE DUP4 ADD MSTORE GAS STATICCALL SWAP5 DUP6 ISZERO PUSH3 0x86F JUMPI SWAP2 PUSH3 0x15185 SWAP6 SWAP4 SWAP2 PUSH1 0x60 SWAP6 SWAP4 DUP11 SWAP6 PUSH3 0x844 JUMPI JUMPDEST POP DUP4 ADD MLOAD DUP4 DUP6 ADD SWAP1 DUP2 MLOAD EQ PUSH3 0x7E1 JUMPI JUMPDEST MLOAD SWAP2 DUP2 MLOAD PUSH3 0x64D DUP2 PUSH3 0x620 DUP8 DUP3 ADD SWAP5 DUP9 DUP7 MSTORE DUP7 DUP4 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x292C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP4 DUP4 SUB PUSH3 0x6A2 JUMPI JUMPDEST POP POP POP POP ADD MLOAD SWAP2 ADD DUP1 SWAP3 GT PUSH3 0x676 JUMPI SWAP1 PUSH3 0x33E SWAP2 PUSH3 0x2C17 JUMP JUMPDEST PUSH1 0x24 DUP4 PUSH1 0x11 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0x7C6 SWAP3 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP5 MLOAD DUP5 DUP2 MSTORE PUSH1 0x25 DUP6 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B627974 DUP7 DUP3 ADD MSTORE PUSH32 0x657333325D000000000000000000000000000000000000000000000000000000 DUP11 DUP3 ADD MSTORE LOG1 DUP3 MLOAD SWAP5 DUP4 DUP7 MSTORE PUSH3 0x75E DUP5 DUP8 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP4 DUP8 ADD MSTORE DUP6 PUSH32 0xAFB795C9C61E4FE7468C386F925D7A5429ECAD9C0495DDB8D38D690614D32F99 SWAP7 DUP8 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD SWAP4 DUP4 DUP6 SWAP5 DUP6 MSTORE DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP2 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x7D7 PUSH3 0x2D63 JUMP JUMPDEST CODESIZE DUP1 DUP1 DUP1 PUSH3 0x65A JUMP JUMPDEST PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 DUP7 DUP4 MLOAD DUP7 DUP2 MSTORE PUSH1 0x17 DUP8 DUP3 ADD MSTORE PUSH32 0x4572726F723A20417373657274696F6E204661696C6564000000000000000000 DUP6 DUP3 ADD MSTORE LOG1 PUSH3 0x83E PUSH3 0x2D63 JUMP JUMPDEST PUSH3 0x602 JUMP JUMPDEST DUP5 SWAP2 SWAP6 POP PUSH3 0x867 SWAP1 RETURNDATASIZE DUP1 DUP14 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x2B17 JUMP JUMPDEST SWAP5 SWAP1 PUSH3 0x5F1 JUMP JUMPDEST DUP3 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP2 SWAP5 POP DUP1 SWAP3 SWAP4 POP RETURNDATASIZE DUP4 GT PUSH3 0x8AA JUMPI JUMPDEST PUSH3 0x895 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x341 JUMPI DUP11 SWAP1 DUP11 SWAP3 DUP8 CODESIZE PUSH3 0x5BD JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x889 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP14 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x8C7 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x8D4 JUMPI DUP10 CODESIZE PUSH3 0x54F JUMP JUMPDEST DUP10 DUP1 REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH1 0x11 DUP14 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0x920 SWAP2 SWAP3 POP RETURNDATASIZE DUP1 DUP9 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST SWAP1 CODESIZE PUSH3 0x4B3 JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 PUSH3 0x98E PUSH3 0x2A1D JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH3 0xBC4 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0xBC4 JUMPI PUSH3 0x9B6 PUSH3 0x3128 JUMP JUMPDEST PUSH3 0x9C1 DUP2 PUSH3 0x31F8 JUMP JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1A SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xEC67B8C800000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP9 DUP4 ADD MSTORE GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x2F2 JUMPI DUP5 SWAP2 PUSH3 0xBA6 JUMPI JUMPDEST POP MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH3 0xB7A JUMPI POP PUSH1 0x2 DUP3 SUB PUSH3 0xA38 JUMPI DUP3 DUP1 RETURN JUMPDEST DUP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 PUSH3 0xB61 SWAP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B526573 DUP5 DUP3 ADD MSTORE PUSH32 0x6F6C7574696F6E5374617475735D000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0xAF7 DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0xB74 PUSH3 0x2D63 JUMP JUMPDEST DUP2 DUP1 DUP3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x21 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0xBBD SWAP2 POP RETURNDATASIZE DUP1 DUP7 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP5 PUSH3 0xA1D JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0xBE6 PUSH3 0x3128 JUMP JUMPDEST SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x18 SLOAD AND SWAP3 PUSH1 0x1F SLOAD PUSH1 0x0 DUP5 DUP1 MLOAD PUSH3 0xC16 DUP2 PUSH3 0x28D5 JUMP JUMPDEST DUP2 MLOAD PUSH3 0xC23 DUP2 PUSH3 0x28F2 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE DUP4 MLOAD SWAP5 PUSH3 0xC44 DUP7 PUSH3 0x28F2 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x64 TIMESTAMP ADD SWAP6 DUP7 TIMESTAMP GT PUSH3 0xDF9 JUMPI DUP6 SWAP7 DUP5 MLOAD SWAP6 PUSH3 0xC68 DUP8 PUSH3 0x28D5 JUMP JUMPDEST DUP7 MSTORE PUSH1 0x0 PUSH1 0x20 DUP8 ADD MSTORE DUP5 DUP7 ADD MSTORE PUSH3 0xC89 DUP3 PUSH1 0x1A SLOAD AND PUSH1 0x1C SLOAD SWAP1 DUP8 PUSH3 0x3526 JUMP JUMPDEST SWAP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI DUP6 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0xDEAD DUP7 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0xDEF JUMPI SWAP1 DUP10 SWAP2 PUSH3 0xDD7 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x6526878800000000000000000000000000000000000000000000000000000000 DUP12 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xDCD JUMPI SWAP1 DUP9 SWAP2 PUSH3 0xDB5 JUMPI JUMPDEST POP POP PUSH1 0x1A SLOAD AND SWAP1 PUSH3 0xD6C PUSH3 0x3096 JUMP JUMPDEST SWAP3 DUP3 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI DUP8 SWAP5 PUSH3 0x29E DUP7 SWAP3 DUP9 MLOAD SWAP10 DUP11 SWAP8 DUP9 SWAP7 DUP8 SWAP6 PUSH32 0x41BCF4DC00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE DUP7 ADD PUSH3 0x3026 JUMP JUMPDEST DUP8 DUP1 REVERT JUMPDEST PUSH3 0xDC0 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2D2 JUMPI DUP7 CODESIZE PUSH3 0xD5B JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0xDE2 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0xDB1 JUMPI DUP8 CODESIZE PUSH3 0xCEC JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x11 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH3 0xBC4 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0xBC4 JUMPI PUSH3 0xEFA PUSH3 0x3128 JUMP JUMPDEST SWAP1 PUSH3 0xF06 DUP3 PUSH3 0x31F8 JUMP JUMPDEST PUSH3 0xF10 PUSH3 0x3096 JUMP JUMPDEST SWAP2 DUP5 DUP3 MLOAD SWAP4 PUSH1 0x20 SWAP5 PUSH3 0xF32 DUP2 PUSH3 0x620 DUP9 DUP3 ADD SWAP5 DUP10 DUP7 MSTORE DUP9 DUP4 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x1A SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x11BA JUMPI DUP5 PUSH1 0x44 DUP10 DUP7 DUP1 SWAP5 DUP11 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0xE44CB37B00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x11B0 JUMPI SWAP1 DUP4 SWAP2 PUSH3 0x1198 JUMPI JUMPDEST POP POP PUSH1 0x1A SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xEC67B8C800000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP10 DUP4 ADD MSTORE GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x118E JUMPI DUP6 SWAP2 PUSH3 0x1170 JUMPI JUMPDEST POP MLOAD SWAP3 PUSH1 0x5 DUP5 LT ISZERO PUSH3 0x1144 JUMPI POP PUSH1 0x3 DUP4 SUB PUSH3 0x1006 JUMPI DUP4 DUP1 RETURN JUMPDEST PUSH3 0x112C SWAP2 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD DUP4 DUP2 MSTORE PUSH1 0x2E DUP5 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B526573 DUP6 DUP3 ADD MSTORE PUSH32 0x6F6C7574696F6E5374617475735D000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x10C3 DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x3 DUP4 DUP8 ADD MSTORE DUP6 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP7 DUP8 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD SWAP4 DUP4 DUP6 SWAP5 DUP6 MSTORE DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP2 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x113D PUSH3 0x2D63 JUMP JUMPDEST DUP2 DUP1 DUP1 DUP4 DUP1 RETURN JUMPDEST DUP5 PUSH1 0x21 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0x1187 SWAP2 POP RETURNDATASIZE DUP1 DUP8 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP6 PUSH3 0xFEB JUMP JUMPDEST DUP3 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x11A3 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x17A JUMPI DUP2 DUP9 PUSH3 0xFA3 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP SWAP2 DUP2 SWAP3 CALLVALUE PUSH3 0x2EE JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2EE JUMPI PUSH3 0x11DE PUSH3 0x3128 JUMP JUMPDEST SWAP2 PUSH3 0x11EA DUP4 PUSH3 0x31F8 JUMP JUMPDEST PUSH3 0x11F4 PUSH3 0x3096 JUMP JUMPDEST DUP3 MLOAD PUSH3 0x1212 DUP2 PUSH3 0x620 PUSH1 0x20 DUP3 ADD SWAP5 PUSH1 0x20 DUP7 MSTORE DUP8 DUP4 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 PUSH1 0x1A SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x2D2 JUMPI PUSH1 0x44 DUP8 SWAP3 DUP4 DUP8 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0xE44CB37B00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE DUP10 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12B6 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x129E JUMPI JUMPDEST POP POP DUP3 PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x1B SLOAD AND SWAP3 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x25A PUSH3 0x3096 JUMP JUMPDEST PUSH3 0x12A9 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2FC JUMPI DUP4 CODESIZE PUSH3 0x1283 JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH3 0xBC4 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0xBC4 JUMPI PUSH3 0x1356 PUSH3 0x3128 JUMP JUMPDEST POP PUSH3 0x15180 TIMESTAMP ADD DUP1 TIMESTAMP GT PUSH3 0x1836 JUMPI DUP4 SWAP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0xBC4 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP8 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xE5D6BF0200000000000000000000000000000000000000000000000000000000 DUP5 MSTORE DUP10 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x182C JUMPI PUSH3 0x1814 JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x1B SLOAD AND SWAP2 PUSH1 0x1D SLOAD SWAP2 DUP5 MLOAD DUP1 SWAP5 PUSH32 0x8AA202F400000000000000000000000000000000000000000000000000000000 SWAP5 DUP6 DUP4 MSTORE DUP4 DUP4 ADD MSTORE DUP2 PUSH1 0x24 PUSH1 0x20 SWAP8 DUP9 SWAP4 GAS STATICCALL DUP1 ISZERO PUSH3 0x180A JUMPI DUP8 SWAP1 PUSH3 0x17CD JUMPI JUMPDEST PUSH1 0xFF SWAP2 POP AND PUSH1 0x1 DUP2 SUB PUSH3 0x168F JUMPI JUMPDEST POP DUP2 PUSH1 0x1A SLOAD AND SWAP2 DUP7 DUP2 PUSH1 0x1B SLOAD AND PUSH1 0x1D SLOAD SWAP5 PUSH3 0x145A PUSH3 0x3096 JUMP JUMPDEST SWAP1 DUP1 EXTCODESIZE ISZERO PUSH3 0x11BA JUMPI PUSH3 0x14A0 SWAP7 DUP5 DUP1 SWAP5 DUP13 MLOAD SWAP10 DUP11 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x2F7F204E00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE DUP13 DUP6 ADD PUSH3 0x2FA5 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP4 DUP5 ISZERO PUSH3 0x1683 JUMPI DUP7 SWAP5 PUSH3 0x1662 JUMPI JUMPDEST POP POP PUSH1 0x24 SWAP1 PUSH1 0x1B SLOAD AND SWAP4 PUSH1 0x1D SLOAD SWAP5 DUP8 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0x1655 JUMPI DUP5 SWAP1 PUSH3 0x1618 JUMPI JUMPDEST PUSH1 0xFF SWAP2 POP AND SWAP2 PUSH1 0x2 DUP4 SUB PUSH3 0x14F2 JUMPI DUP4 DUP1 RETURN JUMPDEST PUSH3 0x112C SWAP2 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD DUP4 DUP2 MSTORE PUSH1 0x22 DUP5 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B75696E DUP6 DUP3 ADD MSTORE PUSH32 0x745D000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x15AF DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP4 DUP8 ADD MSTORE DUP6 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP7 DUP8 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD SWAP4 DUP4 DUP6 SWAP5 DUP6 MSTORE DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST POP DUP2 DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x164D JUMPI JUMPDEST PUSH3 0x1631 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x11BA JUMPI PUSH3 0x1647 PUSH1 0xFF SWAP2 PUSH3 0x2F96 JUMP JUMPDEST PUSH3 0x14DF JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x1625 JUMP JUMPDEST POP POP POP MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x1670 SWAP2 SWAP3 SWAP5 POP PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x167F JUMPI DUP4 SWAP2 DUP7 DUP9 PUSH3 0x14B4 JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP DUP7 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP8 MLOAD DUP8 DUP2 MSTORE PUSH1 0x22 DUP9 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B75696E DUP10 DUP3 ADD MSTORE PUSH32 0x745D000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP6 MLOAD SWAP1 DUP7 DUP3 MSTORE PUSH3 0x1747 DUP8 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP8 DUP5 ADD MSTORE DUP3 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP4 DUP5 SWAP3 SUB SWAP1 LOG1 DUP7 MLOAD DUP1 SWAP2 DUP9 DUP3 MSTORE PUSH3 0x17B4 DUP10 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP9 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x17C6 PUSH3 0x2D63 JUMP JUMPDEST DUP7 PUSH3 0x143F JUMP JUMPDEST POP DUP5 DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x1802 JUMPI JUMPDEST PUSH3 0x17E6 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x2D2 JUMPI PUSH3 0x17FC PUSH1 0xFF SWAP2 PUSH3 0x2F96 JUMP JUMPDEST PUSH3 0x1430 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x17DA JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x181F SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0xBC4 JUMPI DUP3 DUP5 PUSH3 0x13C8 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP5 PUSH1 0x11 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0x187F PUSH3 0x3128 JUMP JUMPDEST SWAP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x24 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0xEC67B8C800000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP10 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x1C6C JUMPI DUP4 SWAP3 PUSH3 0x1C4C JUMPI JUMPDEST POP DUP2 MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0x1C20 JUMPI SWAP1 DUP2 PUSH1 0x1 PUSH1 0x60 SWAP5 SWAP4 SUB PUSH3 0x1ADF JUMPI JUMPDEST POP DUP1 DUP3 ADD MLOAD PUSH3 0x1907 PUSH3 0x2BDC JUMP JUMPDEST SWAP2 DUP1 MLOAD SWAP2 PUSH1 0x20 SWAP3 DUP4 DUP2 ADD SWAP1 PUSH3 0x1937 DUP6 DUP3 DUP6 MLOAD PUSH3 0x1929 DUP2 DUP8 DUP6 DUP11 ADD PUSH3 0x296E JUMP JUMPDEST DUP2 ADD SUB DUP1 DUP5 MSTORE ADD DUP3 PUSH3 0x292C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 DUP3 MLOAD DUP5 DUP2 ADD SWAP1 PUSH3 0x1959 DUP7 DUP3 DUP2 PUSH3 0x1929 DUP12 DUP8 DUP2 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH3 0x296E JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SUB PUSH3 0x1984 JUMPI JUMPDEST POP POP POP POP ADD MLOAD PUSH3 0x15180 TIMESTAMP ADD SWAP1 DUP2 TIMESTAMP GT PUSH3 0x676 JUMPI SWAP1 PUSH3 0x33E SWAP2 PUSH3 0x2C17 JUMP JUMPDEST PUSH3 0x1ABA SWAP3 PUSH3 0x1AC8 SWAP2 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP6 MLOAD DUP5 DUP2 MSTORE PUSH1 0x24 DUP6 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B737472 DUP8 DUP3 ADD MSTORE PUSH32 0x696E675D00000000000000000000000000000000000000000000000000000000 DUP12 DUP3 ADD MSTORE LOG1 DUP4 MLOAD SWAP6 DUP5 DUP8 MSTORE PUSH3 0x1A45 DUP6 DUP9 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP7 DUP1 DUP9 SUB DUP5 DUP3 ADD MSTORE DUP1 PUSH3 0x1A7C PUSH32 0x280F4446B28A1372417DDA658D30B95B2992B12AC9C7F378535F29A97ACF3583 SWAP10 DUP11 SWAP5 PUSH3 0x2E55 JUMP JUMPDEST SUB SWAP1 LOG1 DUP4 MLOAD SWAP5 DUP5 DUP7 SWAP6 DUP7 MSTORE DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP2 DUP5 DUP4 SUB SWAP1 DUP6 ADD MSTORE PUSH3 0x2E55 JUMP JUMPDEST SUB SWAP1 LOG1 PUSH3 0x1AD5 PUSH3 0x2D63 JUMP JUMPDEST CODESIZE DUP1 DUP1 DUP1 PUSH3 0x1963 JUMP JUMPDEST PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2E PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B526573 DUP6 DUP3 ADD MSTORE PUSH32 0x6F6C7574696F6E5374617475735D000000000000000000000000000000000000 DUP8 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP1 DUP3 DUP3 MSTORE PUSH3 0x1B98 DUP4 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP5 ADD MSTORE DUP3 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP4 DUP5 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD DUP1 SWAP2 DUP5 DUP3 MSTORE PUSH3 0x1C06 DUP6 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x1C19 PUSH3 0x2D63 JUMP JUMPDEST CODESIZE PUSH3 0x18F8 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH1 0x21 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH3 0x1C64 SWAP2 SWAP3 POP RETURNDATASIZE DUP1 DUP6 DUP4 RETURNDATACOPY PUSH3 0x85E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST SWAP1 CODESIZE PUSH3 0x18DC JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0x1C93 PUSH3 0x3128 JUMP JUMPDEST POP PUSH3 0x15180 TIMESTAMP ADD SWAP1 DUP2 TIMESTAMP GT PUSH3 0x676 JUMPI DUP3 SWAP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI DUP3 MLOAD SWAP1 PUSH32 0xE5D6BF0200000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP3 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x12B6 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x1E05 JUMPI JUMPDEST POP POP PUSH3 0x1D12 PUSH3 0x2FD9 JUMP JUMPDEST SWAP3 DUP1 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP9 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12B6 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x1DE9 JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1A SLOAD AND SWAP1 PUSH1 0x1B SLOAD AND SWAP1 PUSH1 0x1D SLOAD SWAP2 DUP2 EXTCODESIZE ISZERO PUSH3 0x2D2 JUMPI DUP7 DUP1 SWAP5 PUSH3 0x29E DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x2F7F204E00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE DUP6 ADD PUSH3 0x2FA5 JUMP JUMPDEST PUSH3 0x1DF4 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2FC JUMPI DUP4 CODESIZE PUSH3 0x1D80 JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH3 0x1E10 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2FC JUMPI DUP4 CODESIZE PUSH3 0x1D06 JUMP JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH3 0xBC4 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0xBC4 JUMPI PUSH3 0x1E3C PUSH3 0x33D2 JUMP JUMPDEST POP DUP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x17A JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP11 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1FCA JUMPI PUSH3 0x1FB2 JUMPI JUMPDEST POP POP PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1A SLOAD AND SWAP1 PUSH1 0x1B SLOAD AND SWAP1 PUSH1 0x1D SLOAD SWAP2 DUP7 PUSH3 0x1EF0 PUSH3 0x3096 JUMP JUMPDEST SWAP7 PUSH3 0x1F6F DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x2FD597D00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x80 PUSH1 0x44 DUP5 ADD MSTORE PUSH1 0x7 PUSH1 0x84 DUP5 ADD MSTORE PUSH32 0x697066733A2F2F00000000000000000000000000000000000000000000000000 PUSH1 0xA4 DUP5 ADD MSTORE PUSH1 0xC0 PUSH1 0x64 DUP5 ADD MSTORE PUSH1 0xC4 DUP4 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x2C9 JUMPI POP PUSH3 0x1F85 JUMPI POP DUP1 RETURN JUMPDEST PUSH1 0x20 SWAP1 DUP2 RETURNDATASIZE DUP2 GT PUSH3 0x1FAA JUMPI JUMPDEST PUSH3 0x1F9E DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x341 JUMPI DUP1 RETURN JUMPDEST POP RETURNDATASIZE PUSH3 0x1F92 JUMP JUMPDEST PUSH3 0x1FBD SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0xBC4 JUMPI DUP3 DUP5 PUSH3 0x1EBD JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH9 0x246DDF97976680000 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x17A JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x17A JUMPI PUSH3 0x2016 PUSH3 0x3789 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH1 0x17 SLOAD AND SWAP1 DUP3 MLOAD SWAP2 PUSH32 0x3644E51500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x20 SWAP3 DUP4 DUP2 DUP5 DUP2 DUP6 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x2531 JUMPI DUP7 SWAP2 PUSH3 0x2567 JUMPI JUMPDEST POP PUSH1 0x1C SSTORE DUP6 PUSH1 0x18 SLOAD AND SWAP1 DUP5 DUP1 MLOAD PUSH3 0x208A DUP2 PUSH3 0x28D5 JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH8 0x2C68AF0BB140000 SWAP1 DUP2 DUP8 DUP3 ADD MSTORE PUSH2 0xD40 SWAP3 DUP4 SWAP2 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP4 DUP5 PUSH1 0x1E SLOAD AND OR PUSH1 0x1E SSTORE PUSH1 0x1F SSTORE DUP3 DUP6 SLOAD AND OR DUP5 SSTORE DUP5 MLOAD PUSH2 0x17A2 SWAP2 DUP3 DUP3 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP4 DUP4 LT DUP6 DUP5 GT OR PUSH3 0x253B JUMPI SWAP2 DUP4 SWAP2 DUP10 SWAP4 PUSH3 0x6FFB DUP5 CODECOPY DUP2 MSTORE ADDRESS DUP9 DUP3 ADD MSTORE SUB ADD SWAP1 DUP8 CREATE DUP1 ISZERO PUSH3 0x2531 JUMPI DUP8 AND DUP3 PUSH1 0x1A SLOAD AND OR PUSH1 0x1A SSTORE DUP5 MLOAD SWAP1 PUSH2 0x3D7 DUP1 DUP4 ADD SWAP2 DUP4 DUP4 LT SWAP1 DUP4 GT OR PUSH3 0x2505 JUMPI SWAP1 DUP3 SWAP2 PUSH3 0x879D DUP4 CODECOPY SUB SWAP1 DUP7 CREATE DUP1 ISZERO PUSH3 0x24E3 JUMPI DUP7 AND SWAP1 PUSH1 0x1B SLOAD AND OR PUSH1 0x1B SSTORE DUP5 PUSH1 0x1A SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI DUP5 DUP1 SWAP2 PUSH1 0xA4 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x410FA8E600000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH3 0x15180 DUP9 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x24 DUP5 ADD MSTORE DUP12 PUSH1 0x1E SLOAD AND PUSH1 0x44 DUP5 ADD MSTORE PUSH1 0x1F SLOAD PUSH1 0x64 DUP5 ADD MSTORE DUP12 DUP10 SLOAD AND PUSH1 0x84 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x24E3 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x24ED JUMPI JUMPDEST POP POP DUP5 PUSH1 0x1B SLOAD AND DUP6 PUSH1 0x1A SLOAD AND DUP2 EXTCODESIZE ISZERO PUSH3 0x167F JUMPI DUP6 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP8 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0x3F2601EF00000000000000000000000000000000000000000000000000000000 DUP5 MSTORE DUP9 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x24E3 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x24CB JUMPI JUMPDEST POP POP PUSH3 0x2239 DUP6 PUSH1 0x13 SLOAD AND PUSH3 0x3996 JUMP JUMPDEST DUP5 PUSH1 0x13 SLOAD AND SWAP5 DUP1 PUSH1 0x17 SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x341 JUMPI DUP6 MLOAD PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 SWAP9 DUP6 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH3 0xDEF JUMPI PUSH3 0x24B3 JUMPI JUMPDEST POP SWAP1 DUP8 SWAP2 DUP4 PUSH1 0x18 SLOAD AND SWAP1 DUP8 MLOAD PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP1 DUP2 DUP2 MSTORE DUP3 DUP9 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x44 DUP2 DUP10 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP9 DUP10 PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x24A9 JUMPI SWAP2 PUSH1 0x44 SWAP2 DUP11 SWAP5 SWAP4 PUSH3 0x2487 JUMPI JUMPDEST POP DUP7 DUP9 PUSH1 0x19 SLOAD AND DUP13 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE DUP13 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x247D JUMPI PUSH3 0x2449 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x17A JUMPI DUP2 SWAP1 DUP5 DUP8 MLOAD DUP1 SWAP11 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP7 DUP8 ISZERO PUSH3 0x243D JUMPI DUP7 SWAP8 SWAP7 SWAP6 SWAP7 PUSH3 0x241B JUMPI JUMPDEST POP POP SWAP1 DUP3 SWAP2 PUSH1 0x1B SLOAD AND SWAP1 DUP6 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0xFCDF975000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP3 DUP4 ISZERO PUSH3 0x2412 JUMPI POP DUP4 SWAP3 PUSH3 0x23DE JUMPI JUMPDEST POP POP PUSH1 0x1D SSTORE DUP1 RETURN JUMPDEST SWAP1 DUP1 SWAP3 POP DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x240A JUMPI JUMPDEST PUSH3 0x23F8 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x341 JUMPI MLOAD CODESIZE DUP1 PUSH3 0x23D6 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x23EC JUMP JUMPDEST MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP2 SWAP3 SWAP4 SWAP5 SWAP6 POP PUSH3 0x242C SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2C6 JUMPI SWAP1 DUP2 DUP7 SWAP5 SWAP4 SWAP3 PUSH3 0x2390 JUMP JUMPDEST POP DUP5 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x246D SWAP1 DUP7 RETURNDATASIZE DUP9 GT PUSH3 0x2475 JUMPI JUMPDEST PUSH3 0x2464 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x2A03 JUMP JUMPDEST POP CODESIZE PUSH3 0x2346 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x2458 JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x24A1 SWAP1 DUP6 RETURNDATASIZE DUP8 GT PUSH3 0x2475 JUMPI PUSH3 0x2464 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST POP CODESIZE PUSH3 0x231E JUMP JUMPDEST DUP11 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x24C2 SWAP1 SWAP9 SWAP2 SWAP3 SWAP9 PUSH3 0x2891 JUMP JUMPDEST SWAP7 SWAP1 CODESIZE PUSH3 0x22A4 JUMP JUMPDEST PUSH3 0x24D6 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x11BA JUMPI DUP4 CODESIZE PUSH3 0x2228 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x24F8 SWAP1 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x11BA JUMPI DUP4 CODESIZE PUSH3 0x21CE JUMP JUMPDEST PUSH1 0x24 DUP9 PUSH1 0x41 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH1 0x41 DUP10 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST SWAP1 POP DUP4 DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x2592 JUMPI JUMPDEST PUSH3 0x2581 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x341 JUMPI MLOAD CODESIZE PUSH3 0x2072 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x2575 JUMP JUMPDEST POP SWAP2 DUP2 SWAP3 CALLVALUE PUSH3 0x2EE JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x2EE JUMPI PUSH3 0x25BA PUSH3 0x3128 JUMP JUMPDEST POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x2FC JUMPI DUP4 SWAP1 PUSH1 0x24 DUP4 MLOAD DUP1 SWAP8 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0xF268E9E300000000000000000000000000000000000000000000000000000000 DUP9 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1C6C JUMPI PUSH3 0x266B JUMPI JUMPDEST DUP3 SWAP4 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x1A SLOAD AND SWAP3 PUSH1 0x1B SLOAD AND SWAP3 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x25A PUSH3 0x3096 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH3 0x2679 SWAP1 PUSH3 0x2891 JUMP JUMPDEST SWAP1 DUP3 SWAP1 PUSH3 0x2639 JUMP JUMPDEST SWAP3 SWAP4 SWAP1 POP CALLVALUE PUSH3 0x11BA JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x11BA JUMPI DUP1 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP4 AND DUP1 SWAP4 SUB PUSH3 0x167F JUMPI PUSH1 0x24 CALLDATALOAD SWAP5 DUP2 DUP7 AND DUP1 SWAP7 SUB PUSH3 0x2D2 JUMPI PUSH1 0x44 CALLDATALOAD SWAP1 DUP3 DUP3 AND DUP1 SWAP3 SUB PUSH3 0xDB1 JUMPI DUP5 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP8 SWAP7 DUP5 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x24 DUP2 DUP4 DUP10 GAS CALL DUP1 ISZERO PUSH3 0xDCD JUMPI PUSH3 0x2879 JUMPI JUMPDEST POP SWAP1 DUP6 SWAP2 DUP2 PUSH1 0x18 SLOAD AND SWAP2 DUP7 MLOAD SWAP1 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP2 MSTORE DUP4 DUP8 DUP3 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x24 DUP4 ADD MSTORE DUP2 PUSH1 0x44 DUP2 PUSH1 0x20 SWAP10 DUP11 SWAP5 GAS CALL DUP1 ISZERO PUSH3 0x286F JUMPI PUSH1 0x44 SWAP3 DUP8 SWAP6 SWAP5 SWAP3 DUP13 SWAP3 PUSH3 0x284D JUMPI JUMPDEST POP PUSH1 0x19 SLOAD AND DUP11 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE DUP11 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2531 JUMPI PUSH3 0x282A JUMPI JUMPDEST POP POP DUP2 EXTCODESIZE ISZERO PUSH3 0x11BA JUMPI DUP3 SWAP2 DUP5 SWAP4 SWAP2 DUP5 SWAP3 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x2C9 JUMPI POP PUSH3 0x2814 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x2820 DUP3 SWAP2 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2C6 JUMPI DUP1 DUP3 DUP1 RETURN JUMPDEST DUP2 PUSH3 0x2844 SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x2475 JUMPI PUSH3 0x2464 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST POP CODESIZE DUP1 PUSH3 0x27C7 JUMP JUMPDEST PUSH3 0x2867 SWAP1 DUP8 RETURNDATASIZE DUP10 GT PUSH3 0x2475 JUMPI PUSH3 0x2464 DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST POP CODESIZE PUSH3 0x27A1 JUMP JUMPDEST DUP10 MLOAD RETURNDATASIZE DUP13 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x2887 SWAP2 SWAP3 SWAP7 POP PUSH3 0x2891 JUMP JUMPDEST DUP6 SWAP5 SWAP1 CODESIZE PUSH3 0x2721 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH3 0x2982 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x2971 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x28A6 JUMPI PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH3 0x29FE JUMPI RETURNDATASIZE SWAP1 PUSH3 0x29E2 DUP3 PUSH3 0x2993 JUMP JUMPDEST SWAP2 PUSH3 0x29F2 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH3 0x292C JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH3 0x341 JUMPI MLOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH3 0x341 JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH3 0x2A37 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x2A59 JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 DUP3 ADD DUP4 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x40 DUP4 MSTORE PUSH3 0x2A9C DUP4 PUSH3 0x28D5 JUMP JUMPDEST PUSH3 0x2AF1 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP4 PUSH3 0x2AE0 PUSH1 0x20 DUP4 ADD SWAP8 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP10 MSTORE MLOAD DUP1 SWAP3 DUP6 DUP6 ADD SWAP1 PUSH3 0x296E JUMP JUMPDEST DUP2 ADD SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0x292C JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP PUSH3 0x2B14 PUSH3 0x2B04 PUSH3 0x29CE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH3 0x2A03 JUMP JUMPDEST SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP1 DUP2 DUP4 DUP3 SUB SLT PUSH3 0x341 JUMPI DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP5 DUP3 GT PUSH3 0x341 JUMPI ADD SWAP1 PUSH1 0x80 DUP3 DUP3 SUB SLT PUSH3 0x341 JUMPI PUSH1 0x40 MLOAD SWAP4 PUSH1 0x80 DUP6 ADD DUP6 DUP2 LT DUP3 DUP3 GT OR PUSH3 0x28A6 JUMPI PUSH1 0x40 MSTORE DUP3 MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0x341 JUMPI DUP6 MSTORE DUP4 DUP4 ADD MLOAD DUP5 DUP7 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 DUP2 GT PUSH3 0x341 JUMPI DUP3 ADD SWAP3 DUP2 PUSH1 0x1F DUP6 ADD SLT ISZERO PUSH3 0x341 JUMPI DUP4 MLOAD PUSH3 0x2B9C DUP2 PUSH3 0x2993 JUMP JUMPDEST SWAP3 PUSH3 0x2BAC PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH3 0x292C JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x341 JUMPI PUSH1 0x60 SWAP5 DUP3 PUSH3 0x2BCD SWAP4 DUP6 ADD SWAP2 ADD PUSH3 0x296E JUMP JUMPDEST PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH3 0x2BEB DUP3 PUSH3 0x28F2 JUMP JUMPDEST PUSH1 0xF DUP3 MSTORE PUSH32 0x697066733A2F2F6D657461646174610000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 SUB PUSH3 0x2C23 JUMPI POP POP JUMP JUMPDEST PUSH3 0x2D4E SWAP1 PUSH1 0x40 SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x22 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B75696E DUP6 DUP3 ADD MSTORE PUSH32 0x745D000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x2CE5 DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x2D61 PUSH3 0x2D63 JUMP JUMPDEST JUMP JUMPDEST PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x2DAF JUMPI JUMPDEST POP PUSH2 0x100 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF PUSH1 0x0 SLOAD AND OR PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 DUP3 ADD DUP4 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x60 DUP4 MSTORE PUSH3 0x2DFA DUP4 PUSH3 0x290F JUMP JUMPDEST PUSH3 0x2E3E PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP4 PUSH3 0x2AE0 PUSH1 0x20 DUP4 ADD SWAP8 PUSH32 0x70CA10BB00000000000000000000000000000000000000000000000000000000 DUP10 MSTORE MLOAD DUP1 SWAP3 DUP6 DUP6 ADD SWAP1 PUSH3 0x296E JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP PUSH3 0x2E4D PUSH3 0x29CE JUMP JUMPDEST POP CODESIZE PUSH3 0x2D80 JUMP JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x20 SWAP4 PUSH3 0x2E93 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP8 MSTORE DUP8 DUP1 DUP9 ADD SWAP2 ADD PUSH3 0x296E JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH3 0x2EAB JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD ISZERO PUSH3 0x2EAB JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH3 0x2F09 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 DUP3 PUSH1 0x40 DUP3 PUSH3 0x2F3F PUSH1 0x1 SWAP5 DUP10 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 ADD PUSH3 0x2EFA JUMP JUMPDEST SWAP3 PUSH3 0x2B14 SWAP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH3 0x2F87 SWAP4 AND DUP6 MSTORE PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH3 0x2E55 JUMP JUMPDEST SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH3 0x2EE8 JUMP JUMPDEST MLOAD SWAP1 PUSH1 0xFF DUP3 AND DUP3 SUB PUSH3 0x341 JUMPI JUMP JUMPDEST PUSH3 0x2B14 SWAP4 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 SWAP4 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH3 0x2FEA DUP4 PUSH3 0x28D5 JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE DUP3 PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT PUSH3 0x3001 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP5 MLOAD PUSH3 0x3011 DUP2 PUSH3 0x28F2 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH3 0x2FF3 JUMP JUMPDEST SWAP1 PUSH3 0x3048 PUSH3 0x2B14 SWAP6 SWAP4 PUSH1 0x40 SWAP3 DUP5 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD SWAP1 PUSH3 0x2EE8 JUMP JUMPDEST SWAP4 PUSH3 0x3077 DUP3 DUP5 ADD DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH3 0x2E55 JUMP JUMPDEST PUSH3 0x30A0 PUSH3 0x2FD9 JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x13 SLOAD AND PUSH1 0x40 MLOAD SWAP1 PUSH3 0x30CA DUP3 PUSH3 0x28F2 JUMP JUMPDEST DUP2 MSTORE PUSH8 0x29A2241AF62C0000 PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x30E5 DUP5 PUSH3 0x2EDA JUMP JUMPDEST MSTORE PUSH3 0x30F1 DUP4 PUSH3 0x2EDA JUMP JUMPDEST POP PUSH1 0x14 SLOAD AND PUSH1 0x40 MLOAD SWAP1 PUSH3 0x3105 DUP3 PUSH3 0x28F2 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x3119 DUP4 PUSH3 0x2E9A JUMP JUMPDEST MSTORE PUSH3 0x3125 DUP3 PUSH3 0x2E9A JUMP JUMPDEST POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 DUP2 PUSH1 0x1A SLOAD AND SWAP2 PUSH1 0x1B SLOAD AND SWAP2 PUSH1 0x1D SLOAD SWAP1 PUSH3 0x3158 PUSH3 0x2BDC JUMP JUMPDEST SWAP2 PUSH1 0x0 PUSH3 0x3165 PUSH3 0x3096 JUMP JUMPDEST SWAP6 PUSH3 0x31A1 PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x2FD597D00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x2F4C JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x31EC JUMPI PUSH1 0x0 SWAP2 PUSH3 0x31B9 JUMPI POP SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP3 RETURNDATASIZE DUP3 GT PUSH3 0x31E3 JUMPI JUMPDEST DUP2 PUSH3 0x31D5 PUSH1 0x20 SWAP4 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x2C6 JUMPI POP MLOAD SWAP1 JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0x31C6 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH1 0x0 SWAP2 PUSH1 0x1F SLOAD PUSH1 0x40 SWAP2 DUP5 DUP4 DUP1 MLOAD PUSH3 0x3213 DUP2 PUSH3 0x28D5 JUMP JUMPDEST DUP2 MLOAD PUSH3 0x3220 DUP2 PUSH3 0x28F2 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE DUP3 MLOAD SWAP2 PUSH3 0x3241 DUP4 PUSH3 0x28F2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 TIMESTAMP ADD DUP1 TIMESTAMP GT PUSH3 0x33A5 JUMPI DUP4 MLOAD SWAP3 PUSH3 0x327A DUP5 PUSH3 0x28D5 JUMP JUMPDEST DUP4 MSTORE DUP6 PUSH1 0x20 DUP5 ADD MSTORE DUP4 DUP4 ADD MSTORE PUSH3 0x329A DUP5 PUSH1 0x1A SLOAD AND PUSH1 0x1C SLOAD SWAP1 DUP5 PUSH3 0x3526 JUMP JUMPDEST SWAP4 DUP1 PUSH1 0x13 SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0xDB1 JUMPI DUP8 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP9 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x339B JUMPI PUSH3 0x3385 JUMPI JUMPDEST POP PUSH1 0x1A SLOAD AND SWAP1 PUSH3 0x3312 PUSH3 0x3096 JUMP JUMPDEST SWAP1 DUP3 EXTCODESIZE ISZERO PUSH3 0x2D2 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x335B DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x41BCF4DC00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x3026 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x2C9 JUMPI POP PUSH3 0x3371 JUMPI POP POP JUMP JUMPDEST PUSH3 0x337D DUP3 SWAP2 PUSH3 0x2891 JUMP JUMPDEST PUSH3 0x2C6 JUMPI POP JUMP JUMPDEST PUSH3 0x3393 SWAP1 SWAP7 SWAP2 SWAP7 PUSH3 0x2891 JUMP JUMPDEST SWAP5 CODESIZE PUSH3 0x3302 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x33DC PUSH3 0x3128 JUMP JUMPDEST SWAP1 PUSH1 0x0 PUSH3 0x15180 TIMESTAMP ADD DUP1 TIMESTAMP GT PUSH3 0x34F9 JUMPI PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0xBC4 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP4 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xE5D6BF0200000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x34DC JUMPI PUSH3 0x34E7 JUMPI JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1A SLOAD AND SWAP1 PUSH1 0x1B SLOAD AND SWAP1 PUSH1 0x1D SLOAD PUSH3 0x347E PUSH3 0x3096 JUMP JUMPDEST SWAP3 DUP3 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI SWAP2 PUSH3 0x34C8 SWAP4 SWAP2 DUP6 DUP1 SWAP5 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x2F7F204E00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD PUSH3 0x2FA5 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x34DC JUMPI PUSH3 0x3371 JUMPI POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x34F2 SWAP1 PUSH3 0x2891 JUMP JUMPDEST CODESIZE PUSH3 0x3450 JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST SWAP1 SWAP2 DUP2 MLOAD SWAP2 PUSH1 0x40 SWAP4 DUP5 MLOAD SWAP4 PUSH3 0x3586 PUSH1 0x20 DUP7 ADD SWAP2 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP4 MSTORE DUP8 DUP8 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 SWAP5 DUP6 DUP2 MSTORE PUSH3 0x3597 DUP2 PUSH3 0x290F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 DUP6 PUSH1 0x20 DUP3 ADD MLOAD SWAP2 ADD MLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 MLOAD SWAP4 PUSH1 0x20 DUP6 ADD SWAP6 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP8 MSTORE DUP10 DUP7 ADD MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD SWAP2 DUP2 DUP4 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT OR PUSH3 0x28A6 JUMPI PUSH2 0x102 SWAP1 DUP4 DUP8 MSTORE DUP3 MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0xE0 DUP2 ADD SWAP5 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0xE2 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH3 0x365F DUP2 PUSH3 0x290F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP3 MLOAD SWAP2 PUSH32 0xE341EAA400000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE DUP1 DUP3 PUSH1 0x44 DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL DUP1 ISZERO PUSH3 0x377E JUMPI PUSH1 0x0 SWAP1 DUP2 SWAP4 DUP3 SWAP2 PUSH3 0x370D JUMPI JUMPDEST POP DUP5 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP4 SWAP5 SWAP6 MLOAD SWAP6 PUSH1 0x20 DUP8 ADD MSTORE DUP6 ADD MSTORE PUSH1 0xF8 SHL AND SWAP1 DUP3 ADD MSTORE PUSH1 0x41 DUP2 MSTORE PUSH3 0x2B14 DUP2 PUSH3 0x290F JUMP JUMPDEST DUP4 DUP1 SWAP6 POP DUP2 SWAP5 SWAP3 POP RETURNDATASIZE DUP4 GT PUSH3 0x3776 JUMPI JUMPDEST PUSH3 0x372A DUP2 DUP4 PUSH3 0x292C JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x2C6 JUMPI POP DUP1 PUSH3 0x3761 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP3 PUSH3 0x2F96 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MLOAD SWAP2 DUP6 ADD MLOAD SWAP2 SWAP4 SWAP3 SWAP1 SWAP2 SWAP1 PUSH3 0x36C6 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x371E JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x22CA SWAP1 DUP2 DUP4 ADD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP6 LT DUP5 DUP7 GT OR PUSH3 0x28A6 JUMPI PUSH3 0x3A72 DUP3 CODECOPY DUP1 PUSH1 0x0 SWAP5 SUB SWAP1 DUP5 CREATE SWAP3 DUP4 ISZERO PUSH3 0x398B JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP6 AND DUP6 PUSH1 0x17 SLOAD AND OR PUSH1 0x17 SSTORE DUP3 MLOAD SWAP1 PUSH2 0x12BF DUP1 DUP4 ADD SWAP3 DUP1 DUP5 LT DUP4 DUP6 GT OR PUSH3 0x3954 JUMPI PUSH1 0xE0 DUP2 PUSH3 0x5D3C SWAP6 DUP5 DUP8 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20410000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5441000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP10 DUP3 ADD MSTORE SUB ADD SWAP1 DUP6 CREATE DUP1 ISZERO PUSH3 0x3981 JUMPI DUP7 AND DUP8 PUSH1 0x18 SLOAD AND OR PUSH1 0x18 SSTORE DUP5 MLOAD SWAP3 DUP2 DUP5 ADD SWAP3 DUP5 DUP5 LT SWAP1 DUP5 GT OR PUSH3 0x3954 JUMPI SWAP2 DUP4 SWAP2 PUSH1 0xE0 SWAP4 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20420000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5442000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP7 DUP3 ADD MSTORE SUB ADD SWAP1 DUP3 CREATE SWAP2 DUP3 ISZERO PUSH3 0x394A JUMPI POP POP AND SWAP1 PUSH1 0x19 SLOAD AND OR PUSH1 0x19 SSTORE JUMP JUMPDEST MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP6 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD SWAP1 PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x11BA JUMPI PUSH1 0x40 MLOAD SWAP2 DUP1 PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 SWAP3 DUP4 DUP6 MSTORE AND SWAP3 DUP4 PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x44 DUP2 DUP4 PUSH9 0x246DDF97976680000 SWAP10 DUP11 PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3A66 JUMPI PUSH3 0x3A50 JUMPI JUMPDEST POP PUSH1 0x19 SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x1E01 JUMPI DUP5 SWAP3 SWAP2 DUP4 PUSH1 0x44 SWAP3 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x34DC JUMPI PUSH3 0x3371 JUMPI POP POP JUMP JUMPDEST PUSH3 0x3A5E SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x2891 JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x3A16 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT INVALID PUSH1 0xC0 CALLVALUE PUSH2 0xBB JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA5 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x2209 SWAP1 DUP2 PUSH2 0xC1 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x18B0 ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0x188A ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0x10C8 JUMPI DUP1 PUSH4 0x137C29FE EQ PUSH2 0xEEF JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0xC4F JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x9B2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x98F JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x938 JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x8D6 JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x716 JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0xCC53287F EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x31C JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x318 JUMPI PUSH1 0xC0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0xF6 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x10D SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x143A JUMP JUMPDEST PUSH2 0x115 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x30C JUMPI PUSH2 0x12D SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x308 JUMPI PUSH2 0x146 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x155 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x204 PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x23D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x24D DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2DB JUMPI POP POP PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0x2CF SWAP2 DUP4 MLOAD PUSH2 0x282 DUP2 PUSH2 0x276 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x1A60 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0x2ED PUSH2 0x303 SWAP4 DUP13 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH2 0x2FD DUP3 DUP7 PUSH2 0x157E JUMP JUMPDEST MSTORE PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x250 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0x34F SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x366 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x143A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x371 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0x388 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x398 DUP10 PUSH2 0x1C24 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x441 JUMPI POP POP PUSH2 0x2D8 SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x3BD PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x2CF DUP2 PUSH2 0x1259 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2FD DUP3 PUSH2 0x458 PUSH2 0x2ED PUSH2 0x45E SWAP7 DUP14 MLOAD PUSH2 0x157E JUMP JUMPDEST SWAP3 PUSH2 0x157E JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x310 JUMPI PUSH2 0x49A SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x143A JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0x4AA JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0x4C0 PUSH2 0x4BB PUSH1 0x1 SWAP4 DUP9 DUP9 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0x16E5 JUMP JUMPDEST PUSH2 0x4D5 DUP5 PUSH2 0x4CF DUP5 DUP11 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD PUSH2 0x16E5 JUMP JUMPDEST CALLER DUP10 MSTORE DUP4 DUP6 MSTORE DUP6 DUP10 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 DUP12 MSTORE DUP7 MSTORE DUP7 DUP11 KECCAK256 SWAP2 AND SWAP1 DUP2 DUP11 MSTORE DUP6 MSTORE DUP6 DUP10 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE DUP6 MLOAD SWAP2 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 DUP6 CALLER SWAP3 LOG2 ADD PUSH2 0x49F JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x5FE DUP2 PUSH2 0x587 PUSH2 0x12DE JUMP JUMPDEST SWAP4 PUSH2 0x590 PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x598 PUSH2 0x1324 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 DUP8 AND DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP5 DUP5 KECCAK256 SWAP3 DUP9 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP8 AND DUP4 MSTORE DUP2 MSTORE SWAP2 SWAP1 KECCAK256 SLOAD SWAP3 MLOAD SWAP4 DUP4 AND DUP5 MSTORE PUSH1 0xA0 DUP4 SWAP1 SHR PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP5 ADD MSTORE PUSH1 0xD0 SWAP2 SWAP1 SWAP2 SHR PUSH1 0x40 DUP4 ADD MSTORE DUP2 SWAP1 PUSH1 0x60 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x61C PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x625 PUSH2 0x1301 JUMP JUMPDEST SWAP2 PUSH2 0x62E PUSH2 0x1324 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 AND SWAP1 DUP2 DUP2 SUB PUSH2 0x30C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP5 PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B SWAP5 CALLER DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP6 DUP12 KECCAK256 SWAP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP10 DUP11 DUP14 MSTORE PUSH1 0x20 MSTORE DUP4 DUP8 DUP14 KECCAK256 SWAP12 AND SWAP11 DUP12 DUP14 MSTORE PUSH1 0x20 MSTORE DUP7 DUP13 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x70E JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP8 DUP9 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST SWAP1 POP SWAP3 PUSH2 0x6ED JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x731 PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x73A PUSH2 0x1301 JUMP JUMPDEST SWAP3 PUSH6 0xFFFFFFFFFFFF PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND SWAP4 SWAP1 DUP5 DUP2 SUB PUSH2 0x30C JUMPI CALLER DUP9 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1 DUP4 MSTORE DUP5 DUP10 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP8 DUP9 DUP12 MSTORE DUP5 MSTORE DUP6 DUP11 KECCAK256 SWAP9 AND SWAP8 DUP9 DUP11 MSTORE DUP4 MSTORE DUP5 DUP10 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP4 DUP5 DUP8 GT ISZERO PUSH2 0x863 JUMPI PUSH2 0xFFFF SWAP1 DUP6 DUP5 SUB AND GT PUSH2 0x83C JUMPI POP SWAP1 PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 SWAP4 SWAP3 SWAP2 CALLER DUP10 MSTORE PUSH1 0x1 DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP8 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP9 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE DUP3 MLOAD SWAP5 DUP6 MSTORE DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST DUP5 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x8BD PUSH2 0x12DE JUMP JUMPDEST AND DUP2 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0x98C JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x98C JUMPI PUSH2 0x952 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x95A PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x962 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x310 JUMPI PUSH2 0x2D8 SWAP4 PUSH2 0x15C1 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x9AB PUSH2 0x1887 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x9D0 CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xA02 PUSH2 0x12B6 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xA90 JUMPI PUSH2 0x2D8 SWAP5 PUSH2 0xA25 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0xA32 DUP4 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0xA87 DUP2 PUSH2 0x1259 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0x198E JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0xAB0 PUSH2 0x12DE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD PUSH1 0xC0 DUP2 SLT PUSH2 0x314 JUMPI PUSH1 0x80 DUP6 MLOAD SWAP2 PUSH2 0xAE9 DUP4 PUSH2 0x1221 JUMP JUMPDEST SLT PUSH2 0x314 JUMPI DUP5 MLOAD SWAP1 PUSH2 0xAFA DUP3 PUSH2 0x11D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x30C JUMPI DUP9 DUP4 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP4 DUP3 DUP6 AND DUP6 SUB PUSH2 0xA90 JUMPI PUSH1 0x20 DUP3 ADD SWAP5 DUP6 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP8 DUP4 ADD DUP3 DUP2 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x308 JUMPI PUSH2 0xB96 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 DUP1 TIMESTAMP GT PUSH2 0xC20 JUMPI POP POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0xC16 SWAP6 PUSH2 0xBBB DUP9 MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP1 DUP10 DUP13 MLOAD AND SWAP1 MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP7 MSTORE DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x1942 JUMP JUMPDEST SWAP2 PUSH2 0x1E30 JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1706 JUMP JUMPDEST PUSH1 0x24 SWAP3 POP DUP11 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT SWAP4 DUP2 DUP6 CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xC6D PUSH2 0x12DE JUMP JUMPDEST SWAP3 PUSH1 0x24 SWAP1 DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP8 DUP9 DUP6 GT PUSH2 0x30C JUMPI DUP6 SWAP1 DUP6 CALLDATASIZE SUB ADD SLT PUSH2 0x463 JUMPI DUP1 MLOAD SWAP8 DUP6 DUP10 ADD DUP10 DUP2 LT DUP3 DUP3 GT OR PUSH2 0xEC4 JUMPI DUP3 MSTORE DUP5 DUP4 ADD CALLDATALOAD DUP2 DUP2 GT PUSH2 0x308 JUMPI DUP6 ADD SWAP1 CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x308 JUMPI DUP4 DUP3 ADD CALLDATALOAD SWAP2 PUSH2 0xCCA DUP4 PUSH2 0x140F JUMP JUMPDEST SWAP1 PUSH2 0xCD7 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP4 DUP3 MSTORE PUSH1 0x20 SWAP4 DUP8 DUP6 DUP5 ADD SWAP2 PUSH1 0x7 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xEC0 JUMPI DUP9 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xE63 JUMPI POP POP POP DUP11 MSTORE PUSH1 0x44 PUSH2 0xD0D DUP7 DUP9 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP7 DUP4 DUP13 ADD SWAP8 DUP9 MSTORE ADD CALLDATALOAD SWAP5 DUP4 DUP12 ADD SWAP2 DUP7 DUP4 MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xE5F JUMPI PUSH2 0xD35 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP6 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0xE34 JUMPI POP POP POP DUP10 SWAP9 SWAP10 MLOAD MLOAD PUSH2 0xD50 DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP12 JUMPDEST DUP2 DUP2 LT PUSH2 0xE11 JUMPI POP POP SWAP3 DUP9 SWAP5 SWAP3 PUSH2 0xC10 SWAP3 PUSH2 0xDDE SWAP8 SWAP6 DUP4 MLOAD PUSH2 0xD7C DUP2 PUSH2 0x3BD DUP7 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP11 DUP12 DUP12 MLOAD AND SWAP2 MLOAD SWAP3 DUP6 MLOAD SWAP5 DUP6 ADD SWAP6 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP8 MSTORE DUP6 ADD MSTORE DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD AND SWAP1 DUP3 MLOAD MLOAD SWAP3 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0xDF2 JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0xE0B DUP6 DUP6 PUSH2 0xE05 PUSH1 0x1 SWAP6 DUP8 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1706 JUMP JUMPDEST ADD PUSH2 0xDE7 JUMP JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0xE26 DUP15 SWAP16 SWAP15 SWAP4 PUSH2 0xE2C SWAP5 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP12 SWAP11 SWAP12 PUSH2 0xD53 JUMP JUMPDEST DUP6 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x80 DUP3 CALLDATASIZE SUB SLT PUSH2 0xEC0 JUMPI DUP6 PUSH1 0x80 SWAP2 DUP9 MLOAD PUSH2 0xE7C DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0xE85 DUP6 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xE92 DUP4 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xEA1 DUP11 DUP7 ADD PUSH2 0x1427 JUMP JUMPDEST DUP11 DUP3 ADD MSTORE DUP14 PUSH2 0xEB1 DUP2 DUP8 ADD PUSH2 0x1427 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP13 DUP1 REVERT JUMPDEST DUP5 DUP10 PUSH1 0x41 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x140 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0xF0C CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xF3E PUSH2 0x12B6 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0xF61 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x30C JUMPI PUSH2 0xF81 PUSH2 0xA87 SWAP7 PUSH2 0x2D8 SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0xF90 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x103F PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x1078 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x1086 DUP7 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x2C3 JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP3 GT PUSH2 0xA90 JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xA90 JUMPI DUP2 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x310 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP7 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x463 JUMPI DUP7 JUMPDEST DUP6 DUP2 LT PUSH2 0x1123 JUMPI DUP8 DUP1 RETURN JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x308 JUMPI PUSH2 0x11D0 DUP9 DUP8 PUSH1 0x1 SWAP5 PUSH1 0x60 DUP4 MLOAD PUSH2 0x116A DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x11A6 PUSH1 0x84 PUSH2 0x117A DUP14 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP5 DUP6 DUP5 MSTORE PUSH2 0x118A PUSH1 0x44 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP8 DUP6 ADD MSTORE PUSH2 0x119B PUSH1 0x64 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP9 DUP6 ADD MSTORE ADD PUSH2 0x1347 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0x15C1 JUMP JUMPDEST ADD PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x3 NOT ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x1383 DUP3 PUSH2 0x1221 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x12D9 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x11F2 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0x1486 DUP4 PUSH2 0x1221 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x12D9 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP1 CALLDATALOAD PUSH2 0x14B3 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 PUSH2 0x14C0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x1275 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x12D9 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1503 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x12D9 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD SWAP1 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x1550 JUMPI DUP11 SWAP3 DUP10 SWAP3 DUP5 MSTORE PUSH2 0x1534 DUP8 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0x14E6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 PUSH1 0x0 DUP3 DUP5 AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP3 DUP3 DUP3 KECCAK256 SWAP7 AND SWAP6 DUP7 DUP3 MSTORE PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 CALLER DUP3 MSTORE PUSH1 0x20 MSTORE KECCAK256 SWAP5 DUP6 SLOAD SWAP6 PUSH6 0xFFFFFFFFFFFF DUP8 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0x16A4 JUMPI POP DUP3 DUP8 AND SWAP7 DUP4 DUP9 SUB PUSH2 0x1632 JUMPI JUMPDEST POP POP PUSH2 0x1630 SWAP6 POP AND SWAP3 PUSH2 0x211C JUMP JUMPDEST JUMP JUMPDEST DUP8 DUP5 DUP5 AND GT PUSH1 0x0 EQ PUSH2 0x166F JUMPI PUSH1 0x24 DUP9 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP5 DUP5 PUSH2 0x1630 SWAP11 SUB AND SWAP2 AND OR SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x185E JUMPI SWAP2 DUP6 PUSH2 0x1837 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x183C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x17C9 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x18D2 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x194A PUSH2 0x1887 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1A2F JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0x19FE JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x19CE SWAP5 PUSH2 0x19C9 PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH2 0x1942 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI PUSH2 0x1630 SWAP4 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP6 SWAP1 SWAP4 SWAP6 DUP1 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP3 DUP4 DUP4 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1B80 JUMPI POP DUP5 DUP9 SUB PUSH2 0x1B57 JUMPI PUSH2 0x1A97 SWAP2 DUP7 SWAP2 PUSH2 0xC10 PUSH1 0x20 SWAP12 PUSH2 0x19C9 DUP14 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT PUSH2 0x1AAB JUMPI POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AB6 DUP2 DUP4 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD DUP9 PUSH2 0x1AC3 DUP4 DUP8 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP10 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0x1B27 JUMPI POP SWAP2 DUP2 DUP9 DUP9 DUP9 PUSH1 0x1 SWAP7 DUP6 SWAP7 PUSH2 0x1AED JUMPI JUMPDEST POP POP POP POP POP POP ADD PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x1B1C SWAP6 PUSH2 0x1B16 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x4BB SWAP4 MLOAD AND SWAP6 PUSH2 0x16D5 JUMP JUMPDEST SWAP2 PUSH2 0x211C JUMP JUMPDEST DUP1 CODESIZE DUP9 DUP9 DUP9 DUP4 PUSH2 0x1AE1 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP7 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP6 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0x1BFA JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x1C2E DUP3 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x1C3B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1275 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1C69 DUP3 SWAP5 PUSH2 0x140F JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1CA0 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1CE8 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1CDA JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x1D14 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x1D03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x1F97 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1F15 JUMPI PUSH2 0x1E4D DUP3 DUP3 ADD DUP3 PUSH2 0x1E1A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1F09 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x1EDF JUMPI AND SUB PUSH2 0x1EB5 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1F6D JUMPI PUSH2 0x1F29 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E1A JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x1CA0 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1E6B JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x2111 JUMPI DUP3 SWAP2 PUSH2 0x2093 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x2069 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x2109 JUMPI JUMPDEST DUP2 PUSH2 0x20AD PUSH1 0x20 SWAP4 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x318 JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x98C JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x203D JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x20A0 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x2175 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 SWAP9 0xBA CALLVALUE 0xBD COINBASE 0xCC 0xB3 CALLER SWAP5 SELFBALANCE PUSH32 0x24CCA6191C4FC58C8E7D9ADAE8E27920B835FF1D64736F6C6343000811003360 0xE0 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH3 0x43C JUMPI PUSH3 0x12BF DUP1 CODESIZE SUB DUP1 SWAP2 PUSH3 0x22 DUP3 DUP6 PUSH3 0x441 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD PUSH1 0x60 DUP3 DUP3 SUB SLT PUSH3 0x43C JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP4 SWAP1 DUP5 DUP2 GT PUSH3 0x43C JUMPI DUP3 PUSH3 0x53 SWAP2 DUP6 ADD PUSH3 0x465 JUMP JUMPDEST SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP3 ADD MLOAD DUP7 DUP2 GT PUSH3 0x43C JUMPI DUP4 SWAP2 PUSH3 0x72 SWAP2 DUP5 ADD PUSH3 0x465 JUMP JUMPDEST SWAP2 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x43C JUMPI DUP5 MLOAD SWAP5 DUP7 DUP7 GT PUSH3 0x426 JUMPI PUSH1 0x0 SWAP6 DUP1 PUSH3 0x9B DUP9 SLOAD PUSH3 0x4DC JUMP JUMPDEST SWAP3 PUSH1 0x1F SWAP4 DUP5 DUP2 GT PUSH3 0x3D5 JUMPI JUMPDEST POP DUP8 SWAP1 DUP5 DUP4 GT PUSH1 0x1 EQ PUSH3 0x36D JUMPI DUP10 SWAP3 PUSH3 0x361 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR DUP7 SSTORE JUMPDEST DUP3 MLOAD SWAP1 DUP8 DUP3 GT PUSH3 0x34D JUMPI DUP2 SWAP1 PUSH1 0x1 SWAP5 PUSH3 0xEF DUP7 SLOAD PUSH3 0x4DC JUMP JUMPDEST DUP3 DUP2 GT PUSH3 0x2F8 JUMPI JUMPDEST POP DUP8 SWAP2 DUP4 GT PUSH1 0x1 EQ PUSH3 0x294 JUMPI DUP9 SWAP3 PUSH3 0x288 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP4 SHL OR DUP3 SSTORE JUMPDEST PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE DUP2 MLOAD DUP5 SLOAD SWAP2 DUP2 DUP7 PUSH3 0x13A DUP6 PUSH3 0x4DC JUMP JUMPDEST SWAP3 DUP4 DUP4 MSTORE DUP8 DUP4 ADD SWAP6 DUP9 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH3 0x268 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0x228 JUMPI JUMPDEST POP PUSH3 0x16A SWAP3 POP SUB DUP3 PUSH3 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP2 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP6 MSTORE DUP3 DUP5 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP5 ADD MSTORE CHAINID PUSH1 0x80 DUP5 ADD MSTORE ADDRESS PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 MSTORE PUSH1 0xC0 DUP4 ADD SWAP5 DUP4 DUP7 LT SWAP1 DUP7 GT OR PUSH3 0x214 JUMPI POP DUP4 SWAP1 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0xC0 MSTORE PUSH2 0xDA5 SWAP1 DUP2 PUSH3 0x51A DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x77E ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xB97 ADD MSTORE PUSH1 0xC0 MLOAD DUP2 PUSH2 0xBBE ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP8 SWAP2 POP DUP9 DUP1 MSTORE DUP2 DUP10 KECCAK256 SWAP1 DUP10 SWAP2 JUMPDEST DUP6 DUP4 LT PUSH3 0x24F JUMPI POP POP PUSH3 0x16A SWAP4 POP DUP3 ADD ADD CODESIZE PUSH3 0x15B JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP10 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH3 0x235 JUMP JUMPDEST PUSH1 0xFF NOT AND DUP9 MSTORE PUSH3 0x16A SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH3 0x15B SWAP1 POP JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x10D JUMP JUMPDEST DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP7 SWAP5 POP SWAP2 SWAP1 PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x2E1 JUMPI POP POP DUP5 GT PUSH3 0x2C7 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP3 SSTORE PUSH3 0x121 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x2B9 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE DUP10 SWAP8 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH3 0x2A6 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 POP DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP4 DUP1 DUP7 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP8 LT PUSH3 0x343 JUMPI JUMPDEST SWAP2 DUP7 SWAP6 DUP10 SWAP3 SWAP6 SWAP5 SWAP4 ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x334 JUMPI POP POP PUSH3 0xF8 JUMP JUMPDEST DUP12 DUP2 SSTORE DUP7 SWAP6 POP DUP9 SWAP2 ADD PUSH3 0x324 JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x315 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xBE JUMP JUMPDEST DUP10 DUP1 MSTORE DUP9 DUP11 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x3BE JUMPI POP POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH3 0x3A4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP7 SSTORE PUSH3 0xD3 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x396 JUMP JUMPDEST PUSH1 0x1 DUP6 SWAP7 DUP3 SWAP4 SWAP7 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH3 0x37C JUMP JUMPDEST SWAP1 SWAP2 POP DUP9 DUP1 MSTORE DUP8 DUP10 KECCAK256 DUP5 DUP1 DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP7 LT PUSH3 0x41C JUMPI JUMPDEST SWAP1 DUP6 SWAP5 SWAP4 SWAP3 SWAP2 ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH3 0x40D JUMPI POP PUSH3 0xA8 JUMP JUMPDEST DUP11 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x3FE JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x3F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x426 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x43C JUMPI DUP3 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 SWAP2 PUSH3 0x4A1 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP5 ADD DUP6 PUSH3 0x441 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x43C JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x4C8 JUMPI POP DUP3 PUSH1 0x0 SWAP4 SWAP5 SWAP6 POP ADD ADD MSTORE SWAP1 JUMP JUMPDEST DUP6 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x4B2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x50E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F8 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4EC JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER PUSH1 0xA0 CALLVALUE PUSH2 0xED JUMPI PUSH1 0x1F PUSH2 0x17A2 CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH2 0xF2 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0xED JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH2 0xED JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0xED JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND DUP5 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP4 SWAP2 SWAP1 DUP3 SWAP1 DUP2 CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP6 DUP1 LOG3 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 CALLER SWAP2 DUP1 LOG3 PUSH1 0x80 MSTORE PUSH2 0x1699 SWAP1 DUP2 PUSH2 0x109 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x935 ADD MSTORE PUSH2 0x1098 ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2FD597D EQ PUSH2 0x10BC JUMPI POP DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x106B JUMPI DUP1 PUSH4 0x238DAFE0 EQ PUSH2 0x1045 JUMPI DUP1 PUSH4 0x2F7F204E EQ PUSH2 0xD42 JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0xCF9 JUMPI DUP1 PUSH4 0x328D8F72 EQ PUSH2 0xC92 JUMPI DUP1 PUSH4 0x3FD8B02F EQ PUSH2 0xC74 JUMPI DUP1 PUSH4 0x410FA8E6 EQ PUSH2 0xB6A JUMPI DUP1 PUSH4 0x41BCF4DC EQ PUSH2 0x60D JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x5DA JUMPI DUP1 PUSH4 0xE44CB37B EQ PUSH2 0x46E JUMPI DUP1 PUSH4 0xE8EA054B EQ PUSH2 0x3E1 JUMPI DUP1 PUSH4 0xEC67B8C8 EQ PUSH2 0x1B2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xFC JUMPI PUSH4 0xF77C4791 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x116 PUSH2 0x1454 JUMP JUMPDEST DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x188 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI DUP2 PUSH1 0x60 PUSH1 0x40 MLOAD PUSH2 0x1D4 DUP2 PUSH2 0x1551 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 DUP5 DUP3 ADD MSTORE DUP2 PUSH1 0x40 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x4 CALLDATALOAD DUP3 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH1 0x40 DUP3 KECCAK256 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x1FE DUP5 PUSH2 0x1551 JUMP JUMPDEST PUSH1 0xFF DUP3 SLOAD AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x3B0 JUMPI DUP5 MSTORE PUSH1 0x1 DUP1 DUP4 ADD SLOAD SWAP3 DUP5 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x2 DUP2 ADD PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 DUP6 SWAP2 DUP2 SLOAD SWAP2 PUSH2 0x233 DUP4 PUSH2 0x15AE JUMP JUMPDEST SWAP3 DUP4 DUP7 MSTORE DUP11 DUP4 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0x36C JUMPI POP POP PUSH1 0x1 EQ PUSH2 0x32F JUMPI JUMPDEST POP POP POP PUSH1 0x3 SWAP3 SWAP2 PUSH2 0x260 SWAP2 SUB DUP5 PUSH2 0x156D JUMP JUMPDEST PUSH1 0x40 DUP8 ADD SWAP3 DUP4 MSTORE ADD SLOAD SWAP3 PUSH1 0x60 DUP7 ADD SWAP4 DUP5 MSTORE PUSH1 0x40 MLOAD SWAP6 DUP6 DUP8 MSTORE MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x302 JUMPI DUP6 DUP8 ADD MSTORE MLOAD PUSH1 0x40 DUP7 ADD MSTORE MLOAD PUSH1 0x80 PUSH1 0x60 DUP7 ADD MSTORE DUP1 MLOAD PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE SWAP4 DUP6 SWAP4 SWAP3 SWAP2 DUP3 JUMPDEST DUP7 DUP2 LT PUSH2 0x2EB JUMPI POP POP POP DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP3 PUSH1 0x1F SWAP3 PUSH1 0xC0 DUP1 SWAP8 DUP8 ADD ADD MSTORE MLOAD PUSH1 0x80 DUP6 ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP9 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP8 SWAP6 POP DUP3 ADD PUSH2 0x2A4 JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 MSTORE DUP9 DUP8 KECCAK256 DUP10 SWAP4 POP DUP8 SWAP3 SWAP2 SWAP1 JUMPDEST DUP3 DUP5 LT PUSH2 0x354 JUMPI POP POP POP DUP3 ADD ADD DUP2 PUSH2 0x260 PUSH1 0x3 PUSH2 0x24E JUMP JUMPDEST DUP1 SLOAD DUP5 DUP10 ADD DUP7 ADD MSTORE DUP8 SWAP6 POP DUP11 SWAP5 SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x33C JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP8 DUP3 ADD MSTORE SWAP4 ISZERO ISZERO PUSH1 0x5 SHL DUP7 ADD SWAP1 SWAP4 ADD SWAP4 POP DUP5 SWAP3 POP PUSH2 0x260 SWAP2 POP PUSH1 0x3 SWAP1 POP PUSH2 0x24E JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x3FB PUSH2 0x1454 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE CALLER PUSH32 0xA06677F7B64342B4BCBDE423684DBDB5356ACFE41AD0285B6ECBE6DC4BF427F2 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI DUP2 DUP4 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP1 DUP2 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x5AD JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI DUP1 PUSH1 0x1 DUP5 ADD SLOAD SUB PUSH2 0x52F JUMPI PUSH32 0xB6DC686A67A9620536A83F729428EF64A3E6529407D6B5E0DF3426FE6B01A260 SWAP3 PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH1 0x20 SWAP5 AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x28B8B07800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAFFBF64B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x641 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SWAP4 PUSH1 0x80 DUP6 SLT PUSH2 0xB66 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP6 PUSH2 0x67B DUP8 PUSH2 0x1519 JUMP JUMPDEST SLT PUSH2 0xB66 JUMPI PUSH1 0x40 MLOAD PUSH2 0x68C DUP2 PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x885 JUMPI DUP2 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP6 MSTORE PUSH1 0x84 CALLDATALOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x40 DUP7 ADD MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x6E0 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST SWAP5 SWAP1 PUSH1 0x4 CALLDATALOAD DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP6 DUP7 SLOAD SWAP2 PUSH1 0xFF DUP4 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI DUP1 ISZERO PUSH2 0x583 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ PUSH2 0xB0F JUMPI PUSH1 0x40 MLOAD PUSH2 0x722 DUP2 PUSH2 0x1519 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND DUP1 DUP3 MSTORE PUSH1 0x3 SLOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 SLOAD AND PUSH1 0x40 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 MLOAD MLOAD AND SUB PUSH2 0xAE5 JUMPI PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH2 0x7CC DUP2 PUSH2 0x7A0 PUSH1 0x40 DUP3 ADD DUP12 DUP14 PUSH2 0x1601 JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 PUSH1 0x1 DUP12 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP10 DUP10 JUMPDEST DUP12 ISZERO DUP1 PUSH2 0xADC JUMPI JUMPDEST ISZERO PUSH2 0x8B7 JUMPI DUP9 DUP2 LT ISZERO PUSH2 0x88A JUMPI DUP1 PUSH1 0x6 SHL DUP11 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI CALLER EQ PUSH2 0x87C JUMPI JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x84F JUMPI PUSH1 0x1 ADD PUSH2 0x7DF JUMP JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x1 SWAP12 POP PUSH2 0x820 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP12 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE REVERT JUMPDEST POP DUP10 SWAP8 POP DUP11 ISZERO PUSH2 0xAB2 JUMPI PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP10 SWAP8 AND OR SWAP1 SSTORE PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP5 ADD MLOAD AND SWAP3 ADD MLOAD PUSH1 0x40 MLOAD SWAP3 PUSH2 0x917 DUP5 PUSH2 0x1535 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xAAE JUMPI DUP6 DUP1 SWAP5 PUSH1 0x40 SWAP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH2 0xA1D SWAP10 DUP7 MLOAD SWAP11 DUP12 SWAP10 DUP11 SWAP9 DUP10 SWAP7 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP9 MSTORE PUSH2 0x9E4 PUSH1 0x4 DUP10 ADD DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x44 DUP11 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x64 DUP9 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x84 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xA4 DUP7 ADD MSTORE JUMP JUMPDEST CALLER PUSH1 0xC4 DUP6 ADD MSTORE PUSH2 0x100 PUSH1 0xE4 DUP6 ADD MSTORE DUP1 PUSH2 0x104 DUP6 ADD MSTORE DUP1 PUSH2 0x124 SWAP6 DUP7 DUP7 ADD CALLDATACOPY DUP6 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xAA3 JUMPI PUSH2 0xA8F JUMPI JUMPDEST POP POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2A41D71AD20BB81193ADE4A1C1C4796777BA30F92F48C41FCE7EEB361E109B0E PUSH1 0x40 PUSH1 0x4 CALLDATALOAD SWAP3 LOG2 DUP1 RETURN JUMPDEST PUSH2 0xA98 SWAP1 PUSH2 0x14D6 JUMP JUMPDEST PUSH2 0x3DD JUMPI DUP2 DUP4 PUSH2 0xA56 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6526878800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP9 DUP2 LT PUSH2 0x7E7 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xFD6F412000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0xA0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC CALLDATASIZE ADD SLT PUSH2 0x3DD JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP4 SLOAD AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x5 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 DUP2 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0x3 SSTORE PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH2 0x885 JUMPI PUSH1 0x4 SLOAD AND OR PUSH1 0x4 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x4 CALLDATALOAD DUP1 ISZERO ISZERO DUP1 SWAP2 SUB PUSH2 0x885 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH21 0xFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD SWAP3 PUSH1 0xA0 SHL AND SWAP2 AND OR PUSH1 0x1 SSTORE DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x2 SLOAD AND SWAP1 PUSH1 0x3 SLOAD SWAP1 PUSH1 0x4 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0xD5C PUSH2 0x1454 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x44 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0xD80 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND ISZERO PUSH2 0x101B JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD DUP3 PUSH2 0xDD4 DUP6 DUP8 DUP5 SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x34 SWAP4 PUSH1 0x60 SHL AND DUP3 MSTORE PUSH1 0x14 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SUB SWAP3 PUSH2 0xE06 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP5 DUP6 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP5 DUP6 DUP8 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP8 KECCAK256 SWAP3 DUP4 SLOAD SWAP1 PUSH1 0xFF DUP3 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xFEE JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0xFC4 JUMPI PUSH1 0x4 DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x3 EQ ISZERO DUP1 PUSH2 0xFB7 JUMPI JUMPDEST PUSH2 0xF8D JUMPI PUSH1 0x40 MLOAD PUSH2 0xE6F PUSH1 0x20 DUP3 ADD SWAP3 PUSH1 0x20 DUP5 MSTORE DUP3 PUSH2 0xE63 PUSH1 0x40 DUP3 ADD DUP9 DUP11 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x156D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 PUSH1 0x1 DUP7 ADD SLOAD SUB PUSH2 0x52F JUMPI DUP9 SWAP5 PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 AND OR SWAP1 SSTORE AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0xB66 JUMPI DUP4 PUSH2 0xF0E SWAP6 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xF82 JUMPI PUSH2 0xF4C JUMPI JUMPDEST POP PUSH1 0x20 PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG2 DUP1 RETURN JUMPDEST PUSH32 0xEB0ED49DA371FCF5B9313864D8C92A2130BD637AFFE927C057A55A06905D0CD4 SWAP2 SWAP4 PUSH2 0xF7A PUSH1 0x20 SWAP3 PUSH2 0x14D6 JUMP JUMPDEST SWAP4 SWAP2 POP PUSH2 0xF1D JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xF268E9E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP PUSH1 0x3 DUP6 ADD SLOAD TIMESTAMP LT PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xE4D068DA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP11 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH1 0x1 SLOAD PUSH1 0xA0 SHR AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xF9 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0xF9 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xF9 JUMPI PUSH2 0x10D6 PUSH2 0x1454 JUMP JUMPDEST SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x44 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x3DD JUMPI PUSH2 0x10F9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1477 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD DUP6 DUP2 GT PUSH2 0xB66 JUMPI PUSH2 0x1111 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x14A5 JUMP JUMPDEST SWAP3 SWAP1 SWAP5 PUSH1 0x1 SLOAD SWAP1 PUSH1 0xFF DUP3 PUSH1 0xA0 SHR AND ISZERO PUSH2 0x142C JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER SUB PUSH2 0x188 JUMPI PUSH1 0x40 MLOAD PUSH1 0x60 DUP9 SWAP1 SHL PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 AND PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x34 DUP4 ADD MSTORE SWAP1 PUSH2 0x1188 DUP2 PUSH1 0x54 DUP2 ADD PUSH2 0x7A0 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP6 DUP7 DUP6 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP6 KECCAK256 SWAP4 DUP5 SLOAD SWAP7 PUSH1 0xFF DUP9 AND PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xB39 JUMPI PUSH1 0x4 EQ PUSH2 0x559 JUMPI PUSH1 0x1 SWAP2 PUSH2 0x7A0 PUSH2 0x11F4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP4 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP6 PUSH1 0x20 DUP8 MSTORE PUSH1 0x40 DUP5 ADD SWAP2 PUSH2 0x1601 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP8 AND OR DUP5 SSTORE DUP6 PUSH1 0x1 DUP6 ADD SSTORE DUP3 GT PUSH2 0x13FF JUMPI DUP2 SWAP1 PUSH2 0x1217 PUSH1 0x2 DUP6 ADD SLOAD PUSH2 0x15AE JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x13AF JUMPI JUMPDEST POP DUP5 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x1307 JUMPI DUP6 SWAP3 PUSH2 0x12FC JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x2 DUP3 ADD SSTORE JUMPDEST PUSH1 0x5 SLOAD TIMESTAMP ADD SWAP2 DUP3 TIMESTAMP GT PUSH2 0x12CF JUMPI POP SWAP2 PUSH1 0x20 SWAP5 SWAP2 PUSH1 0x3 DUP6 SWAP5 ADD SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x96EAB3103FBD8C0266ECA3E7A57929BC3BD66EF5223E2CB45F589F884FFCB9AE DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP5 AND SWAP3 LOG4 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST ADD CALLDATALOAD SWAP1 POP DUP8 DUP1 PUSH2 0x1235 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP2 PUSH1 0x2 DUP6 ADD DUP7 MSTORE PUSH1 0x20 DUP7 KECCAK256 SWAP3 DUP7 JUMPDEST DUP2 DUP2 LT PUSH2 0x1397 JUMPI POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH2 0x135F JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x2 DUP3 ADD SSTORE PUSH2 0x126A JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE DUP8 DUP1 DUP1 PUSH2 0x134F JUMP JUMPDEST SWAP2 SWAP4 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP8 DUP8 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP6 ADD SWAP3 ADD PUSH2 0x1339 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x2 DUP5 ADD DUP6 MSTORE PUSH1 0x20 DUP6 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x13F8 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x13EA JUMPI POP POP PUSH2 0x1220 JUMP JUMPDEST DUP8 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x13D4 JUMP JUMPDEST POP DUP1 PUSH2 0x13CE JUMP JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 PUSH32 0x913100700000000000000000000000000000000000000000000000000000000 PUSH1 0x4 SWAP3 MSTORE REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x885 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x885 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x885 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x14EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x15F7 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x15C8 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x15BD JUMP JUMPDEST SWAP2 DUP2 DUP2 MSTORE PUSH1 0x20 DUP1 SWAP2 ADD SWAP3 SWAP2 PUSH1 0x0 SWAP2 DUP3 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x1621 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP6 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0xAAE JUMPI DUP2 MSTORE DUP6 DUP3 ADD CALLDATALOAD DUP3 DUP3 ADD MSTORE PUSH1 0x40 SWAP1 DUP2 ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 PUSH1 0x1 ADD SWAP1 PUSH2 0x1612 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E PUSH12 0x186204CB5B1A91903D6FED9E 0xB1 0x5E 0xD3 PUSH4 0x61835D2B SWAP2 BYTE 0xA9 0xD5 PUSH23 0xE0EA5387C864736F6C6343000811003360808060405234 PUSH2 0x16 JUMPI PUSH2 0x3BB SWAP1 DUP2 PUSH2 0x1C DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE PUSH1 0x4 SWAP2 DUP3 CALLDATASIZE LT ISZERO PUSH2 0x17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x1CFA7BA8 EQ PUSH2 0x34B JUMPI POP DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x233 JUMPI DUP1 PUSH4 0x3F2601EF EQ PUSH2 0x1B7 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x8AA202F4 EQ PUSH2 0x119 JUMPI PUSH4 0xFCDF9750 EQ PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x1 SLOAD SWAP2 DUP3 DUP2 MSTORE DUP1 PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x1 SLOAD SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE9 JUMPI POP PUSH1 0x20 SWAP4 POP PUSH1 0x1 SSTORE MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH1 0x11 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP5 MSTORE MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x161 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x161 JUMPI DUP2 PUSH1 0x20 SWAP4 PUSH1 0xFF SWAP3 CALLDATALOAD DUP2 MSTORE DUP1 DUP6 MSTORE KECCAK256 SLOAD AND SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP5 CALLVALUE PUSH2 0x115 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x115 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE DUP1 RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x161 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x161 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x347 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x347 JUMPI DUP1 DUP4 ADD CALLDATALOAD SWAP2 DUP3 GT PUSH2 0x347 JUMPI PUSH1 0x24 CALLDATASIZE SWAP2 DUP4 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x343 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND CALLER SUB PUSH2 0x31B JUMPI ISZERO PUSH2 0x2F4 JUMPI CALLDATALOAD DUP3 MSTORE DUP2 PUSH1 0x20 MSTORE DUP2 KECCAK256 PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE DUP1 RETURN JUMPDEST SWAP1 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP SWAP1 MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 SWAP1 CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x3 SLOAD DUP2 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE5 0x2B DIFFICULTY CODECOPY EQ 0xE9 0xF6 MSIZE KECCAK256 BLOCKHASH SIGNEXTEND SWAP8 0x2D 0xAB 0xC6 0xBB SELFBALANCE 0xCA 0xC9 INVALID DUP14 0xB6 SGT ADD 0xFC POP 0x29 0xEA 0x28 BALANCE 0xC3 AND PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIV 0xEF 0xD8 LOG4 CALLCODE DUP1 NOT 0xB4 0xF8 PUSH25 0x42E380028010126A630D5037B9879BA015BF8E8E75B664736F PUSH13 0x63430008110033000000000000 ", + "sourceMap": "774:7240:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;7209:2;7164:18;;:::i;:::-;7209:2;:::i;:::-;774:7240;3838:46;;;;;774:7240;;;;;;3838:46;;;;774:7240;3838:46;;3854:29;3838:46;;;1671:64:0;3838:46:54;;;;;;;;;;;774:7240;;;;;;3894:10;774:7240;;949:5;3923:10;949:5;774:7240;;3935:7;774:7240;3944:12;;;:::i;:::-;3894:63;;;;;;774:7240;;;3894:63;774:7240;;3894:63;;;;;;;774:7240;3894:63;;;;;:::i;:::-;;;;;;;;;;;;;774:7240;;3894:63;;;;:::i;:::-;774:7240;;3894:63;774:7240;;;;3894:63;774:7240;;;;;;;;3894:63;774:7240;;;3838:46;;;;:::i;:::-;774:7240;;3838:46;;;;774:7240;;;;3838:46;774:7240;;;;;;;;;3838:46;774:7240;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;774:7240:54;;;;;4039:20;;:::i;:::-;;774:7240;4070:46;;;;;774:7240;;;;;;4070:46;;;;774:7240;4070:46;;4086:29;4070:46;;;1671:64:0;4070:46:54;;;;;;;;;;;774:7240;;;;;4126:10;774:7240;;949:5;4155:10;949:5;774:7240;;4167:7;774:7240;4176:12;;;:::i;774:7240::-;;;;;;-1:-1:-1;;774:7240:54;;;;;2147:18;;:::i;:::-;774:7240;;;;2215:10;774:7240;;;;;;;;;;;2215:42;;;;;;;;774:7240;2215:42;;;;;;;;;;;774:7240;2343:12;;;:::i;:::-;774:7240;;2365:16;2392:4;2365:16;;;;:::i;:::-;;:24;774:7240;2426:29;;;774:7240;1030:17;2458:1;1030:17;;;;;;;;774:7240;2469:17;;;;;774:7240;;;;;;;2469:17;;;;;774:7240;2469:17;;;;774:7240;2469:17;;;;;;;;;;;774:7240;;;;;;2215:10;774:7240;;949:5;2579:10;949:5;774:7240;2591:7;774:7240;;;;:::i;:::-;;2551:77;774:7240;;;2551:77;;;;;;;774:7240;2551:77;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;774:7240;;;;;;2215:10;774:7240;;;;2673:42;;;;;;;;;774:7240;2673:42;;;;;;;;1030:17;2673:42;;;2426:29;2673:42;;;;;;774:7240;2737:29;;;774:7240;2770:24;;;774:7240;;;2737:57;3310:96:0;;774:7240:54;;;;;2850:25;;774:7240;2850:25;;;774:7240;;;;;;;;;:::i;:::-;2850:25;;;;;;;;:::i;:::-;1671:64:0;2840:36:54;;4151:6:0;;;;4147:212;;774:7240:54;2897:24;;;;;774:7240;1030:17;;;;;;;2923:22;;;;:::i;1030:17::-;774:7240;1030:17;;;;;;;;4147:212:0;774:7240:54;;4178:44:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;4178:44:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4241:34:0;;;;;;;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;4294:34:0;;;;;:::i;:::-;4147:212;;;;;;3310:96;3345:30;774:7240:54;;;;;;;;;;;;;;;;3345:30:0;;;:::i;:::-;3310:96;;2673:42:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;774:7240;;;;;;;;;2551:77;;;;;;;;;;;;;;;;;;:::i;:::-;;;774:7240;;;;2551:77;;;;;;;;;;;;;;774:7240;;;;;;;;;2469:17;;;;:::i;:::-;774:7240;;2469:17;;;;774:7240;;;;2469:17;774:7240;;;1030:17;774:7240;1030:17;;;;;;;;2215:42;;;;;;;;;;;;;;:::i;:::-;;;;;;774:7240;;;;;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;598:180:58;774:7240:54;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;4982:18;;:::i;:::-;5027:2;;;:::i;:::-;774:7240;;5072:10;774:7240;;;;;;5072:32;;;;774:7240;5072:32;;;;;774:7240;5072:32;;;;;;;;;;;774:7240;;;;;;;;;;7759:24;5143:25;7759:24;;7755:251;;774:7240;;;7755:251;774:7240;7804:53;774:7240;;;;;;;;;;;;;;;;;;;;;;7804:53;774:7240;;;;;;;;;;;;;;;;;;;;;;;;5143:25;774:7240;;;;7876:40;;;;;;;;774:7240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7935:40;;;;;:::i;:::-;7755:251;;774:7240;;;;;;;;;;;;;5072:32;;;;;;;;;;;;;:::i;:::-;;;;774:7240;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;5248:18;;:::i;:::-;774:7240;;;;5379:6;774:7240;;;5400:14;774:7240;;;;;1671:64:0;;;:::i;:::-;774:7240:54;;1671:64:0;;;:::i;:::-;774:7240:54;;;;;;;;;;;;;;;;;;;1671:64:0;;;;:::i;:::-;774:7240:54;;;5237:69:58;;774:7240:54;5382:3:58;5364:15;1030:17:54;5364:15:58;;;1030:17:54;;;774:7240;;;;1671:64:0;;;;:::i;:::-;774:7240:54;;;;5170:230:58;;774:7240:54;5170:230:58;;;774:7240:54;5474:138;774:7240;5542:10;774:7240;;5586:16;774:7240;5474:138;;;:::i;:::-;774:7240;;5691:25;;;;;774:7240;;;5691:25;;5708:6;5691:25;;;1671:64:0;5691:25:54;;949:5;5691:25;;;;;;;;;;;;;;774:7240;5726:44;;;;;;;774:7240;;;949:5;774:7240;;5726:44;;;;774:7240;5726:44;;5742:27;5726:44;;;1671:64:0;5726:44:54;;;;;;;;;;;774:7240;;;5542:10;774:7240;;5812:12;;;:::i;:::-;5780:64;;;;;;774:7240;;5780:64;774:7240;;;;5780:64;;;;;;;774:7240;5780:64;;;;;:::i;:::-;774:7240;;;5726:44;;;;:::i;:::-;774:7240;;5726:44;;;;;774:7240;;;;;;;;;5691:25;;;;:::i;:::-;774:7240;;5691:25;;;;;774:7240;;;;;;;;;1030:17;;;;774:7240;1030:17;;;774:7240;1030:17;774:7240;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;1223:174:58;774:7240:54;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;446:87:58;774:7240:54;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;842:181:58;774:7240:54;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;7164:18;;:::i;:::-;7209:2;;;;:::i;:::-;7371:12;;:::i;:::-;774:7240;;;;7360:24;;;;;774:7240;7360:24;;;774:7240;;;;;;;;;:::i;7360:24::-;1671:64:0;7350:35:54;;774:7240;;;7396:10;774:7240;;7396:42;;;;;774:7240;;;;;;;;7396:42;;;;;774:7240;7396:42;;;;774:7240;;;;;7396:42;;;;;;;;;;;774:7240;;;7396:10;774:7240;;;;;;5982:32;;;;774:7240;5982:32;;;;;774:7240;5982:32;;;;;;;;;;;774:7240;;;;;;;;;;7759:24;6053:25;7759:24;;7755:251;;774:7240;;;7755:251;774:7240;;7804:53;774:7240;;;;;;;;;;;;;;;;;;;;;7804:53;774:7240;;;;;;;;;;;;;;;;;;;;;;;;6053:25;774:7240;;;;7876:40;;;;;;;;774:7240;;;;;;;;;;;;;;;;;;;;;;;;;;;;7935:40;;;;;:::i;:::-;7755:251;;;774:7240;;;;;;;;;;;;;5982:32;;;;;;;;;;;;;:::i;:::-;;;;;774:7240;;;;;;;;;7396:42;;;;:::i;:::-;774:7240;;7396:42;;;;;774:7240;;;;;;;;;7396:42;774:7240;;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;7164:18;;:::i;:::-;7209:2;;;;:::i;:::-;4707:12;;:::i;:::-;774:7240;;4696:24;;774:7240;4696:24;;;774:7240;4696:24;774:7240;;;;;;;:::i;4696:24::-;1671:64:0;4686:35:54;;774:7240;;;4732:10;774:7240;;4732:42;;;;;;774:7240;;;;;;4732:42;;;;;774:7240;4732:42;;;;;774:7240;;;;;4732:42;;;;;;;;;;;774:7240;;;;4732:10;774:7240;;949:5;4873:10;949:5;774:7240;;4885:7;774:7240;4894:12;;;:::i;4732:42::-;;;;:::i;:::-;774:7240;;4732:42;;;;;774:7240;;;;;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;1092:59:58;774:7240:54;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;1475:181:58;774:7240:54;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;3252:18;;:::i;:::-;;949:5;3289:15;1030:17;3289:15;;1030:17;;;774:7240;;;3281:38;;;;;;774:7240;;;;;;;3281:38;;;;;774:7240;3281:38;;;;;774:7240;3281:38;;;;;;;;774:7240;;;;949:5;;3338:10;949:5;774:7240;;3363:7;774:7240;;;;;;;3338:33;;;;;;;774:7240;;;;3338:33;;;;;;;;;;;;;774:7240;;;;;3373:1;5259:6:0;;5255:203;;774:7240:54;;;3386:10;774:7240;;949:5;;;3338:10;949:5;774:7240;3363:7;774:7240;3436:12;;;:::i;:::-;3386:63;;;;;;;774:7240;;;;;;3386:63;;;;;;;774:7240;3386:63;;;;;;:::i;:::-;;;;;;;;;;;;;;774:7240;949:5;;774:7240;949:5;3338:10;949:5;774:7240;;3363:7;774:7240;;;;3469:33;;;;;;;;;774:7240;3469:33;;;;;;;;;;774:7240;;;;;5259:6:0;3504:1:54;5259:6:0;;5255:203;;774:7240:54;;;5255:203:0;774:7240:54;;5286:41:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;5286:41:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;3504:1;774:7240;;;;5346:31:0;;;;;;;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;3469:33;;;;;;;;;;;;;;;:::i;:::-;;;774:7240;;;;;;;;:::i;:::-;3469:33;;;;;;;;774:7240;;;;;;;;;;;;3386:63;;;;;;;:::i;:::-;774:7240;;3386:63;;;;;;774:7240;;;;3386:63;774:7240;;;;;;;;;;;5255:203:0;5286:41;774:7240:54;;;;;;;;;;;;;;;;;;;;;5286:41:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;3373:1;774:7240;;;;5346:31:0;;;;;;;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5396:31:0;;;;;:::i;:::-;5255:203;;;3338:33:54;;;;;;;;;;;;;;;:::i;:::-;;;774:7240;;;;;;;;:::i;:::-;3338:33;;;;;;;;774:7240;;;;;;;;;3281:38;;;;:::i;:::-;774:7240;;3281:38;;;;;774:7240;;;;;;;;;1030:17;;;;;;;;;;774:7240;;;;;;-1:-1:-1;;774:7240:54;;;;;1723:18;;:::i;:::-;774:7240;;;1829:10;774:7240;;;;;;1829:42;;;;774:7240;1829:42;;;;;774:7240;1829:42;;;;;;;;;;;774:7240;;;;;;;;;;7759:24;;1910:26;2012:21;7759:24;;;7755:251;;774:7240;1956:22;;;;;774:7240;;:::i;:::-;;;;;;14773:19:0;;;;1671:64;14773:19;1671:64;;;;;;;;;;;:::i;:::-;;;14773:19;;;;;;;:::i;:::-;1671:64;14763:30;;774:7240:54;;14807:19:0;;;1671:64;14807:19;1671:64;;;;;;;;;;;;;:::i;14807:19::-;1671:64;14797:30;;14763:64;14759:267;;774:7240:54;2012:21;;;;;774:7240;949:5;1772:15;1030:17;1772:15;;;1030:17;;;2035:24;;;;:::i;14759:267:0:-;774:7240:54;;;;14848:43:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;14848:43:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14910:33:0;774:7240:54;14910:33:0;774:7240:54;;;;:::i;:::-;14910:33:0;;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14962:33:0;;;;;:::i;:::-;14759:267;;;;;;7755:251:54;7804:53;774:7240;;;;;;;;;;;;;;;;;;;;;7804:53;774:7240;;;;;;;;;;;;;;;;;;;;;;;;1910:26;774:7240;;;;7876:40;;;;;;;;774:7240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7935:40;;;;;:::i;:::-;7755:251;;;774:7240;;;;;;;;;;1829:42;;;;;;;;;;;;;;:::i;:::-;;;;;;774:7240;;;;;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;4264:18;;:::i;:::-;;949:5;4301:15;1030:17;4301:15;;;1030:17;;;774:7240;;;4293:38;;;;;;774:7240;;4293:38;774:7240;4293:38;;;;;774:7240;4293:38;;774:7240;4293:38;;;;;;;;;;;;;;774:7240;4381:23;;;;:::i;:::-;4415:54;;;;;;774:7240;;;;;;4415:54;;;;774:7240;4415:54;;4431:37;4415:54;;;1671:64:0;4415:54:54;;;;;;;;;;;774:7240;;;;;4479:10;774:7240;;949:5;4508:10;949:5;774:7240;;4520:7;774:7240;4479:64;;;;;;774:7240;;;4479:64;774:7240;;4479:64;;;;;;;774:7240;4479:64;;;;;:::i;4415:54::-;;;;:::i;:::-;774:7240;;4415:54;;;;;774:7240;;;4293:38;;;;:::i;:::-;774:7240;;4293:38;;;;774:7240;;;;;;;;-1:-1:-1;;774:7240:54;;;;;3029:20;;:::i;:::-;;774:7240;;3060:46;;;;;774:7240;;;;;;3060:46;;;;774:7240;3060:46;;3076:29;3060:46;;;1671:64:0;3060:46:54;;;;;;;;774:7240;;;;;;3116:10;774:7240;;949:5;3144:10;949:5;774:7240;;3156:7;774:7240;3176:12;;;;:::i;:::-;774:7240;;;;3116:73;;;;;;;774:7240;3116:73;;;;774:7240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3116:73;;;;;;;;;;;;774:7240;;;3116:73;774:7240;3116:73;;;;;;;;;;;;:::i;:::-;;;774:7240;;;;;;3116:73;;;;;3060:46;;;;:::i;:::-;774:7240;;3060:46;;;;;774:7240;;;;;;;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;390:9:59;774:7240:54;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;1103:542;;:::i;:::-;774:7240;;;1189:7;774:7240;;;;;1189:26;774:7240;1189:26;;;;;;;;;;;;;;;;;;;;774:7240;;1170:45;774:7240;;1257:6;774:7240;;;;;;1671:64:0;;;:::i;:::-;774:7240:54;;;1266:4;1235:52;;;;;774:7240;1280:5;1235:52;;;;774:7240;;;;1225:62;774:7240;;;1225:62;774:7240;;;;;;;;;;;;1311:38;;;;;;;;;;;;;;;;;;;;;;;;;774:7240;;1343:4;774:7240;;;1671:64:0;1311:38:54;;;;;;;;;774:7240;;;1298:51;774:7240;;;1298:51;774:7240;;;1372:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;774:7240;;;1359:33;774:7240;;;1359:33;774:7240;;1298:51;774:7240;;1403:44;;;;;774:7240;;;949:5;774:7240;;1403:44;;;;774:7240;1403:44;;949:5;1403:44;;;774:7240;;949:5;;;774:7240;949:5;1225:62;949:5;774:7240;949:5;;;1671:64:0;774:7240:54;949:5;;;;774:7240;949:5;;;774:7240;949:5;;;1671:64:0;1403:44:54;;;;;;;;;;;774:7240;949:5;;;1359:33;949:5;774:7240;;1298:51;774:7240;;1457:37;;;;;774:7240;;949:5;774:7240;;;;1457:37;;;;;774:7240;1457:37;;;;;1671:64:0;1457:37:54;;;;;;;;;;;774:7240;949:5;;1524:3;949:5;1524:3;949:5;774:7240;1524:3;:::i;:::-;949:5;1524:3;949:5;774:7240;;;1189:7;774:7240;;;849:20:59;;;;;;774:7240:54;;;849:20:59;;774:7240:54;849:20:59;;;;1671:64:0;849:20:59;;949:5:54;849:20:59;;;;;;;;;;;774:7240:54;;;;;;1257:6;774:7240;;;;;;879:42:59;;;;;;;;1671:64:0;903:17:59;;949:5:54;903:17:59;;;774:7240:54;;949:5;774:7240;;;879:42:59;;;;;;;949:5:54;879:42:59;;;;;;774:7240:54;;;;931:6:59;774:7240:54;;;;931:42:59;;;;;;;;;;1671:64:0;949:5:54;774:7240;;;931:42:59;;;;;;;;774:7240:54;983:14:59;;;;;;774:7240:54;;;;;983:14:59;;;;774:7240:54;983:14:59;;;;;;;;;;;;;;;;774:7240:54;949:5;;;;;1359:33;949:5;774:7240;;;;1612:26;;;;774:7240;1612:26;;;;;;;;;;;;;;774:7240;;;1602:36;774:7240;;;1612:26;;;;;;;;;;;;;;;;:::i;:::-;;;774:7240;;;;;1612:26;;;;;;;;;;774:7240;;;;;;;;983:14:59;;;;;;;;;;:::i;:::-;774:7240:54;;983:14:59;;;;;;;;;774:7240:54;;;;;;;;;;;931:42:59;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;774:7240:54;;;;;;;;;879:42:59;;;;;;;;;;;;;:::i;:::-;;;;;;774:7240:54;;;;;;;;;849:20:59;;;;;;;;:::i;:::-;;;;;;1457:37:54;;;;:::i;:::-;774:7240;;1457:37;;;;;774:7240;;;;;;;;;1403:44;;;;:::i;:::-;774:7240;;1403:44;;;;1372:20;1671:64:0;;;;;;;;;1311:38:54;774:7240;;;;;;;;;1311:38;1671:64:0;;;;;;;;;1189:26:54;;;;;;;;;;;;;;;;:::i;:::-;;;774:7240;;;;;1189:26;;;;;;;;774:7240;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;3585:18;;:::i;:::-;;774:7240;3614:44;;;;;774:7240;;;;;3614:44;;;;774:7240;3614:44;;3630:27;3614:44;;;1671:64:0;3614:44:54;;;;;;;;774:7240;;;;;;;3668:10;774:7240;;949:5;3697:10;949:5;774:7240;;3709:7;774:7240;3718:12;;;:::i;3614:44::-;;;;;;;:::i;:::-;;;;;;774:7240;;;;;;;;;-1:-1:-1;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:20:59;;;;;774:7240:54;849:20:59;;;;;;;1671:64:0;849:20:59;;774:7240:54;849:20:59;;;;;;;;;;;774:7240:54;;;;;;879:6:59;774:7240:54;;;;;;;879:42:59;;;;;;;;1671:64:0;903:17:59;774:7240:54;;;;;;949:5;774:7240;949:5;;879:42:59;;;;;;;;;774:7240:54;879:42:59;;;;;;;;;774:7240:54;;931:6:59;774:7240:54;;;;931:42:59;;;;;;;;;;1671:64:0;774:7240:54;;;;931:42:59;;;;;;;;774:7240:54;983:14:59;;;;;;;774:7240:54;;;;;;;;983:14:59;;;;774:7240:54;983:14:59;;;;;;;;;;;;774:7240:54;;;983:14:59;;;;;:::i;:::-;774:7240:54;;983:14:59;774:7240:54;;;931:42:59;;;;;;-1:-1:-1;931:42:59;;;;;;:::i;:::-;;;;;;879;;;;;;;;;;;;;:::i;:::-;;;;;;774:7240:54;;;;;;;;;849:20:59;;;;;;;:::i;:::-;774:7240:54;849:20:59;;;;;1671:64:0;;;;;;;;:::o;:::-;;;;;;;;;;;774:7240:54;1671:64:0;;;;;;;;;;;;;:::o;:::-;774:7240:54;1671:64:0;;;;;;;;;;;774:7240:54;1671:64:0;:::o;:::-;774:7240:54;1671:64:0;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1671:64:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;774:7240:54;1671:64:0;774:7240:54;;1671:64:0;;;:::i;:::-;;;;-1:-1:-1;1671:64:0;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;774:7240:54;;;1671:64:0;;;;;:::o;1819:584::-;1873:7;774:7240:54;;;;;;;;;;;;;;;1896:14:0:o;1869:528::-;1941:25;2939:104;;;1980:374;;2367:19;;;:::o;1980:374::-;774:7240:54;;;;;2196:43:0;;;;1671:64;;;;774:7240:54;1671:64:0;;774:7240:54;;2196:43:0;;;;;:::i;:::-;2086:175;1671:64;774:7240:54;;2086:175:0;;1671:64;2196:43;2086:175;;1671:64;;;;;;;;;;;;:::i;:::-;;;2086:175;1671:64;2086:175;;;;;;;:::i;:::-;2047:232;;;;;2312:27;2047:232;;:::i;:::-;2196:43;1671:64;;;2312:27;;;;;;:::i;:::-;2367:19;:::o;774:7240:54:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:64:0;774:7240:54;1671:64:0;;;;;;;;;;;774:7240:54;1671:64:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1671:64:0;774:7240:54;;1671:64:0;;;:::i;:::-;774:7240:54;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;1671:64:0;774:7240:54;1671:64:0;;;;:::i;:::-;774:7240:54;1671:64:0;;774:7240:54;;;;;:::o;5202:262:0:-;5259:6;;;5255:203;;5202:262;;:::o;5255:203::-;774:7240:54;;;;5286:41:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;5286:41:0;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5346:31:0;;;;;;;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5396:31:0;;;;;:::i;:::-;5202:262::o;2410:424::-;2939:104;;;2445:359;;2410:424;774:7240:54;;;2928:1:0;774:7240:54;;;2928:1:0;774:7240:54;2410:424:0:o;2445:359::-;-1:-1:-1;774:7240:54;;;;2645:67:0;;;;1671:64;;;;774:7240:54;;;;2705:4:0;774:7240:54;;;;;2645:67:0;;;;;:::i;:::-;2534:196;1671:64;774:7240:54;;2534:196:0;;1671:64;2645:67;2534:196;;1671:64;;;;;;;;;;;;:::i;2534:196::-;2499:245;;;;;;;:::i;:::-;;2445:359;;;774:7240:54;;1671:64:0;;774:7240:54;;;1671:64:0;;774:7240:54;;;;;;;;;;;;:::i;:::-;1671:64:0;;774:7240:54;;;:::o;:::-;1671:64:0;;2379:1:54;774:7240;;;;;;;:::o;:::-;;;;;;;;;;;1671:64:0;;774:7240:54;;;;;;:::o;:::-;;1671:64:0;;774:7240:54;;;;;;;;;;;-1:-1:-1;774:7240:54;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;1671:64:0;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1671:64:0;;;;:::i;:::-;4402:1:54;774:7240;;;-1:-1:-1;774:7240:54;;;;;;;;;;;:::o;:::-;;;;;1671:64:0;;;:::i;:::-;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;1671:64:0;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6174:243::-;6280:23;;:::i;:::-;774:7240;;949:5;6345:3;949:5;774:7240;;;1671:64:0;;;;:::i;:::-;774:7240:54;;6350:8;6330:29;;;774:7240;6313:46;;;:::i;:::-;;;;;:::i;:::-;;6401:5;949;774:7240;;;1671:64:0;;;;:::i;:::-;774:7240:54;;-1:-1:-1;6330:29:54;6386:24;;774:7240;6369:41;;;:::i;:::-;;;;;:::i;:::-;;6174:243::o;6423:156::-;774:7240;6496:76;774:7240;6496:10;774:7240;;949:5;6524:10;949:5;774:7240;;6536:7;774:7240;;;;:::i;:::-;6559:12;-1:-1:-1;6559:12:54;;:::i;:::-;774:7240;6496:76;774:7240;;6496:76;;;;;;;774:7240;6496:76;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;6496:76:54;;;6491:81;6423:156;:::o;6496:76::-;;;;;;;;;;;;;;;;:::i;:::-;;;774:7240;;;;;;6423:156;:::o;6496:76::-;;;-1:-1:-1;6496:76:54;;;774:7240;;;-1:-1:-1;774:7240:54;;;;;6585:497;6744:6;774:7240;-1:-1:-1;774:7240:54;6765:14;774:7240;;;;;;;1671:64:0;;;:::i;:::-;774:7240:54;;1671:64:0;;;:::i;:::-;774:7240:54;;;;;;;;;;;;;;;;;;;1671:64:0;;;;:::i;:::-;774:7240:54;;;;;;;5237:69:58;;774:7240:54;5382:3:58;5364:15;1030:17:54;5364:15:58;;1030:17:54;;;774:7240;;1671:64:0;;;;:::i;:::-;774:7240:54;;5170:230:58;774:7240:54;5170:230:58;;774:7240:54;5170:230:58;;;774:7240:54;6839:138;774:7240;6907:10;774:7240;;6951:16;774:7240;6839:138;;;:::i;:::-;949:5;;6997:3;949:5;774:7240;;6988:13;;;;;;774:7240;;949:5;774:7240;;;;6988:13;;;;;774:7240;6988:13;;;;;1671:64:0;6988:13:54;;;;;;;;6585:497;774:7240;6907:10;774:7240;;7043:12;;;:::i;:::-;7011:64;;;;;;774:7240;;;;;;7011:64;774:7240;;7011:64;;;;;;;774:7240;7011:64;;6988:13;7011:64;;;:::i;:::-;;;;;;;;;;;;;6585:497;;:::o;7011:64::-;;;;;:::i;:::-;774:7240;;6585:497;:::o;6988:13::-;;;;;;;:::i;:::-;;;;;;774:7240;;;;;;;;;1030:17;;;;;;;;;;7451:221;7526:18;;:::i;:::-;7562:29;-1:-1:-1;949:5:54;7562:15;1030:17;7562:15;;1030:17;;;774:7240;7554:38;;;;;;774:7240;;;;;;;7554:38;;;;;774:7240;7554:38;;;;;774:7240;7554:38;;;;;;;;7451:221;774:7240;;;7602:10;774:7240;;949:5;7631:10;949:5;774:7240;;7643:7;774:7240;7652:12;;:::i;:::-;7602:63;;;;;;774:7240;7602:63;774:7240;;;;;;;7602:63;;;;;;;774:7240;7602:63;;7554:38;7602:63;;;:::i;:::-;;;;;;;;;;;7451:221;;:::o;7602:63::-;774:7240;;;;;;;;;7554:38;;;;:::i;:::-;;;;1030:17;;;;;;;;;;2847:944:58;;;3177:16;;774:7240:54;;;;;3137:57:58;774:7240:54;3137:57:58;;;774:7240:54;1092:59:58;774:7240:54;;;;;;;;;;;;;1671:64:0;;774:7240:54;;;;;;;;3137:57:58;;;;;;;:::i;:::-;1671:64:0;3114:90:58;;3548:12;;3137:57;3548:12;;774:7240:54;3586:15:58;;774:7240:54;;;;;3381:242:58;3137:57;3381:242;;774:7240:54;1223:174:58;774:7240:54;;;;;;;;;;1671:64:0;774:7240:54;;;;;;;;;3381:242:58;;774:7240:54;1671:64:0;;;;;;;;;;;;774:7240:54;1671:64:0;;;;;;3350:291:58;;3255:400;;;;774:7240:54;;;;;;;;;;;3255:400:58;;;;;:::i;:::-;1671:64:0;3232:433:58;;774:7240:54;;;3710:28:58;774:7240:54;3710:28:58;;5567:5:54;3710:28:58;;;774:7240:54;;;;;3710:28:58;;774:7240:54;3710:28:58;774:7240:54;3710:28:58;;;;;;-1:-1:-1;;;;;3710:28:58;;;2847:944;774:7240:54;;;;;;;;3137:57:58;774:7240:54;;;;;;;;;;;;;;;;;;;:::i;3710:28:58:-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;774:7240:54;;;;;;;;;;:::i;:::-;3137:57:58;774:7240:54;;;;;;;;;3710:28:58;774:7240:54;;;3710:28:58;;;;;;;;774:7240:54;;;-1:-1:-1;774:7240:54;;;;;406:197:59;774:7240:54;;;466:13:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;774:7240:54;;;;;;;456:23:59;774:7240:54;;;456:23:59;774:7240:54;;;499:39:59;;;;;;;;;;;;;;;774:7240:54;499:39:59;;;;;;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:2:59;774:7240:54;;;;499:39:59;;;;;;;;;774:7240:54;;;490:48:59;774:7240:54;;;490:48:59;774:7240:54;;;557:39:59;;;;;;;;;;;;;;;;;774:7240:54;557:39:59;;;774:7240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:2:59;774:7240:54;;;;557:39:59;;;;;;;;;;774:7240:54;;;;548:48:59;774:7240:54;;;548:48:59;774:7240:54;406:197:59:o;557:39::-;774:7240:54;;;;;;;;;557:39:59;1671:64:0;;;;;;;;;499:39:59;774:7240:54;;;;;;;;;466:13:59;774:7240:54;;;;;;;;;;609:142:59;666:6;774:7240:54;;-1:-1:-1;774:7240:54;;;;;666:34:59;;;;;;774:7240:54;;;;;666:34:59;;;;774:7240:54;666:34:59;;;;;1671:64:0;390:9:59;;774:7240:54;390:9:59;;;774:7240:54;;;;;;666:34:59;;;;;;;;609:142;774:7240:54;710:6:59;774:7240:54;;710:34:59;;;;;774:7240:54;;;;;;;;710:34:59;;;;;;;666;710;;1671:64:0;774:7240:54;;;;710:34:59;;;;;;;;609:142;;:::o;666:34::-;;;;;;;:::i;:::-;;;;;;774:7240:54;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "MINT_AMOUNT_ERC20()": "1b210293", + "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH()": "3eb8b8fd", + "_PERMIT_BATCH_TYPEHASH()": "6302c3cf", + "_PERMIT_DETAILS_TYPEHASH()": "6e4f2775", + "_PERMIT_SINGLE_TYPEHASH()": "c5df4f03", + "_PERMIT_TRANSFER_FROM_TYPEHASH()": "78f16830", + "_TOKEN_PERMISSIONS_TYPEHASH()": "415e982d", + "failed()": "ba414fa6", + "initializeERC20Tokens()": "e2acb0f8", + "setERC20TestTokenApprovals(address,address,address)": "035c3deb", + "setERC20TestTokens(address)": "e6d9ff3d", + "setUp()": "0a9254e4", + "testAppealResolution()": "b68c1319", + "testCanAlwaysExecuteEndorsedResolution()": "466417b9", + "testCantExecuteAlreadyExecutedResolution()": "e1cee8b1", + "testCantExecuteAppealedResolution()": "f3fddbf4", + "testCantExecuteResolutionBeforeUnlock()": "07842cfb", + "testCantExecuteResolutionMismatch()": "2d16568a", + "testCantSubmitNewResolutionAfterExecution()": "2c653e99", + "testEndorseResolution()": "4f2d277f", + "testExecuteResolution()": "338499b2", + "testOnlyPartiesCanAppeal()": "a86c9ae7", + "testResolutionOverride()": "e1227080", + "testSubmitResolution()": "32acbc87" + } + } + } + }, + "test/CollateralAgreement.t.sol": { + "CollateralAgreementFrameworkTest": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MINT_AMOUNT_ERC20", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_BATCH_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_DETAILS_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_SINGLE_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_TRANSFER_FROM_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_TOKEN_PERMISSIONS_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initializeERC20Tokens", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setCriteria", + "inputs": [ + { + "name": "positions", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setDefaultCriteria", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setERC20TestTokenApprovals", + "inputs": [ + { + "name": "vm", + "type": "address", + "internalType": "contract Vm" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setERC20TestTokens", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setUp", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testAdjustCollateral", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testAgreementStatusOngoing", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantDisputeFinalizedAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantFinalizeDisputedAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantFinalizeMultipleTimes", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantJoinAgreementMultipleTimes", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantJoinAgreementWithInvalidCriteria", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantJoinDisputedAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantJoinFinalizedAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCantJoinNonExistentAgreement", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testCreateAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testDeterministicId", + "inputs": [ + { + "name": "termsHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "criteria", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "salt", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testDisputeAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testFinalizationConsensus", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testJoinAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testJoinAgreementApproved", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testOnlyArbitratorCanSettleDispute", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testOnlyCanSettleDisputedAgreements", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testOnlyPartyCanDisputeAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testOnlyPartyCanFinalizeAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testSettlement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testSettlementMustMatchBalance", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testSettlementMustMatchPositions", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testSingleFinalization", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testWithdrawAfterSettlement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "testWithdrawFromAgreement", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINT_AMOUNT_ERC20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_BATCH_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_DETAILS_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_SINGLE_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_TRANSFER_FROM_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TOKEN_PERMISSIONS_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeERC20Tokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"positions\",\"type\":\"tuple[]\"}],\"name\":\"setCriteria\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setDefaultCriteria\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Vm\",\"name\":\"vm\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"setERC20TestTokenApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setERC20TestTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAdjustCollateral\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAgreementStatusOngoing\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantDisputeFinalizedAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantFinalizeDisputedAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantFinalizeMultipleTimes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantJoinAgreementMultipleTimes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantJoinAgreementWithInvalidCriteria\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantJoinDisputedAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCantJoinFinalizedAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"testCantJoinNonExistentAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCreateAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"termsHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"criteria\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"testDeterministicId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDisputeAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFinalizationConsensus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testJoinAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testJoinAgreementApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"testOnlyArbitratorCanSettleDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyCanSettleDisputedAgreements\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyPartyCanDisputeAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyPartyCanFinalizeAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSettlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSettlementMustMatchBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSettlementMustMatchPositions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSingleFinalization\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testWithdrawAfterSettlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testWithdrawFromAgreement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/CollateralAgreement.t.sol\":\"CollateralAgreementFrameworkTest\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xb7004fe1ceab4a20ae13baec8732a5414b28d5ddb06f9f4184b49c1fc1d61521\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a60b5d84bd7d7e455f4a1ca1d260f6b50c419e4c4e7196ef32fd77d0f480d51\",\"dweb:/ipfs/QmYwRMAYYsQuvvM4mnagYs8Zhqm5VXicXmxoqEvkiUzQSd\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/murky/src/Merkle.sol\":{\"keccak256\":\"0x70e50a6d61ea806b5ba0c8ff76fadfa3e90e6dfecb6900b1c0492eac0309660f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6cc1b02a6d11e029fe24d5d638ad891a3a2552aaef9d3a0918274b1496fcd74\",\"dweb:/ipfs/QmWsU7yXsyKATkfYb8g1jbPTbgGsCg9rk7bJ3ypCYxQixB\"]},\"lib/murky/src/common/MurkyBase.sol\":{\"keccak256\":\"0x5287741b2b215c9a11cc8482b419abde0625dfc3949d539c72ee498108842894\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://259e803b0811e404bba09237bce4ef42f2ff27dacaca770d1eb7c1afddbf762b\",\"dweb:/ipfs/QmWfbsHa1siBxDEqFmbnzUuZqyitFZHmDXo2vc4cVn4uJe\"]},\"lib/permit2/src/AllowanceTransfer.sol\":{\"keccak256\":\"0x83a47e7841f9d285eb7f0fd977fedb808640714cb9822a104bab99fe5cbb58ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f0de543f076f8556690f236dc431277acf9c91c04916a46040194b03ea9836\",\"dweb:/ipfs/QmQ5YLFHexR2WTNXDGu4y6WjRmLPzrdH92j7NDQzT8Jevp\"]},\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/Permit2.sol\":{\"keccak256\":\"0x934c0eb24a52eb5900f01f5c328374b670366adf995ba9ed49bcd3d7b87b159e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdfd05b3007726dc6dd2822c1dd9dc1b2471fbec507f30efa71a1a214c98bab6\",\"dweb:/ipfs/QmPq4hptCSUACQdynSa86bdEexE7RryzosrhUAZ9Xkqc5a\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/SignatureTransfer.sol\":{\"keccak256\":\"0xa821caa24d6231fa8befe24a34bfda2c3b05b56e67fb913c86b26a19b19b6bbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://584994a77e33aa2fe804b803ab302cb811ee945632b76f68d78db761b18a24a2\",\"dweb:/ipfs/QmVd67VRKX24tSaREBNwhzVfU6xxqRLNEoPY6CYgG3xU5W\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IDAIPermit.sol\":{\"keccak256\":\"0x089a4157ad58d4568cb7084836f9ee0280c01616b0cd15158d6deb93be754e8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8af89edc0f453dff61e4b67bc3188f090ba0e858f5f13723e526a8cb8a165535\",\"dweb:/ipfs/QmRVFHVFZg7fWhYdWdDD3JZHiWREHz5JiLEyDq7NYhQDfn\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]},\"lib/permit2/src/libraries/Permit2Lib.sol\":{\"keccak256\":\"0x202bc12462394f8a4cddc870344f4ac4b6d5d3f2eb5b4a2f4a5ba517dc484be4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5d82584a5fa2f0d8136d418c2a04974d157316713306dfa7b1d6fa865eb5d04\",\"dweb:/ipfs/QmSjpeNJDpvgAqGbVSG1wrFLzEac2dtmzRcR8PkdCMBbHF\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SafeCast160.sol\":{\"keccak256\":\"0x8a34e2beac108d74f89510c949983212b5f09307a93ee9e17a9d50e93f6bc8e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://828697f9567ce617c5c1c8f76b6bcd250e93aea2c4f3ee188be6dff8443c19e7\",\"dweb:/ipfs/QmafxeSPhUc9gGtNDLAw26oZooC5XNLhDMxHxYhJxL5Nwi\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/test/utils/mocks/MockERC20.sol\":{\"keccak256\":\"0x525129ccb4103c9ecb8f235618d2ff4a8ffde4b8654f7c17766ad175d10ef466\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://45692a21807ba815c0cf0bfc7d633a14a6cb9ba863ab53f18fc639375a72125e\",\"dweb:/ipfs/QmSrqxyodjDtSU1Dc6G3ScnNc9CFjMnAeHpK8a8guM3nJu\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb282dd78aa7375d6b200b9a5d8dd214b2e5df1004f8217a4b4c2b07f0c5bfd01\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://5fca62eb8d3dbd2b3b7e4bb051f6da16f4d0ff9cee61c39cebb80f031f6a8800\",\"dweb:/ipfs/QmbrsXPK91iBFwHKwJs2HLRud2KzMoBDRiWYMUtyV5H57j\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]},\"src/frameworks/AgreementFramework.sol\":{\"keccak256\":\"0x355d1e71990885d00cd752ab4772fc2ea7dcd6768de528c050f5ae01fb6c60bb\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dd60df522d691c3fc3c64db14a2c1cda0800852f97b8aeefde215ac74c2d6f99\",\"dweb:/ipfs/QmVDvovuBsNXFiJf25bUfxneK9fCnEPeVBJJm6PTyKpX3x\"]},\"src/frameworks/CollateralAgreement.sol\":{\"keccak256\":\"0xb209fdbf1c477a58513ea78d8fdeec31c70b95dda8cd40ad9807a3001b413fc1\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://fb9512ef4888f93fe767c0b8ab4c2aee2c5a828d891b4bb8c93cc788ae7ce4d3\",\"dweb:/ipfs/QmVxgyX4k8tWDDJxSRUGSLML4qZb1jNGRwfjEZ2us5DzCf\"]},\"src/interfaces/AgreementErrors.sol\":{\"keccak256\":\"0x4ec369a2068a36746fa978eb2bb2c994bce97310e9d5055bbfb52871c53dc310\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://35b76fff66b9ff0f1bba9e8992453b1f5cd5c7f291088e6359b580855adb4c3b\",\"dweb:/ipfs/QmRK1A1ECFDAfj6cEkggtbcHMer4pHkjao19Mjzq3NtZmS\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/ArbitrationErrors.sol\":{\"keccak256\":\"0x7ca6d9811f431eadd59e7544f6a5720564a678a3e2cfecd8e5454391f21a62f0\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://58793fc93f2d03eefaeb008a28dfedebe9059763b96c80ec31365ad8cf72fafd\",\"dweb:/ipfs/QmQvVUxPsg4JhSvT3QxKysgsiVBvuzBtFaAQMTuyeuxDWL\"]},\"src/interfaces/CriteriaTypes.sol\":{\"keccak256\":\"0x8c8226c5aac09c8dada8f76dcb15bd55cd8bd871b22a4be3bc6b72db655b6306\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://eabc3ee411827a1060d1d16df120df7c8dcccce5d22625a259cb17aaaad9de32\",\"dweb:/ipfs/QmTLYMEJPjqbL5CPqLyM2UWyroVQzgPf2Wq4iPRAL4qu38\"]},\"src/interfaces/IAgreementFramework.sol\":{\"keccak256\":\"0x1e266838be99cead7ef79276f7183f9937e000a52b0222adde898f4594953608\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d893f37bf07db1f839da8bcdf30cf96c15a63bd7b29a53e2e1bb4e5fff219bb\",\"dweb:/ipfs/QmdvtHe3qCr8Cxw2jtMQFqgRwFoWD2E83thPMHSvKVgVcR\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]},\"src/libraries/CriteriaResolution.sol\":{\"keccak256\":\"0xfec26b90f532c2fd64c07fb412bc62fcc6c048de33420b2d8729ae16f3290e0f\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://cbdbb33662075f9f4d38a93caba94b7ba0a1b771991ea35c196eca02d87a06e4\",\"dweb:/ipfs/QmSh8xieHporNXoB2zE6k8Hmf5CdaBnhemm3FqRDb3VAv7\"]},\"src/utils/Owned.sol\":{\"keccak256\":\"0x7734d8c9fefc0abb51af8a97bdd7e8a22418ae5e597a63c3ca7c9b1cbce0a23c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dcba4eaeadcabc6b2e330c290626c7fe8b93b0476b08114445f6520ff3ced50e\",\"dweb:/ipfs/QmRedpupiw3iQWCDEfG5yhmVytdQH1H59mqiVXcitzJPaF\"]},\"src/utils/interfaces/Deposits.sol\":{\"keccak256\":\"0x99d44ec7b071732a9dafb0eef9233ab49bd38b89585d31c97cfef2c7aeacdb86\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e6106a5fdf64814cd0b982a907e077083766bf3f2873da79255dda68fec0345a\",\"dweb:/ipfs/QmdV8iNdsphhVYoKD7uneA75AKvw5J9joFcPsuKAdbZ8LD\"]},\"test/CollateralAgreement.t.sol\":{\"keccak256\":\"0xd1729956ccf935b39a7ddf1b92989d1f6f242c3e598d12f86438d220023305f6\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6ac33056eb997a38adc26399272c0c7c9334f8577490a66b1b4e4b6aada4343e\",\"dweb:/ipfs/QmYynKWeXHXreQi8UyVf31bTdHqKRrvx1vJt7Zf1LijGFn\"]},\"test/utils/AgreementProvider.sol\":{\"keccak256\":\"0x8483059a6d42588a4cd70d8869afb2cc09010a1c6648df7760b4b709026a65f6\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://18fcfb335f9cd7eaf688b64740062a2ad6ef3d55f7e50307d397cbd47f0df8c5\",\"dweb:/ipfs/QmQoSZD4JkkekbTg5x7XWnWFFvNe8ePZxMfHp4GniNJjjw\"]},\"test/utils/Constants.sol\":{\"keccak256\":\"0xe83ed5c4129beb2f50e8ba6867270f3a8d3a55bc66abe55999c3f3aadfb9fde2\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d1e517e21b96c0c265669705a978a12ee1ff652b3abea83704839e77972b6cec\",\"dweb:/ipfs/QmTUJZiFFPH4ZVKJAoK94Ap3cegFhkNFGGfAbBmWZh9kW5\"]},\"test/utils/PermitSignature.sol\":{\"keccak256\":\"0x8efef2e7f2085819cadab8efaa849f59cdab99dba67f6770ba255b0bf5c12515\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://2718264463c40e51f6d2a93ad73ce2c40ed24458c0b9fa6ba9968b255218bdf9\",\"dweb:/ipfs/QmV3kFRsu5pGXaci8Q1RjJushbPYLZ7GpsfJ4xyEyYxfMw\"]},\"test/utils/TokenProvider.sol\":{\"keccak256\":\"0xdbd2ce28d63c8eb3aafc1f9937eb222f174815fd8f6c9a6f803cd6bf64fec1cc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1fa603b15569f515dc95c7749c59d32b5f4c8a576d67b33f83ebe80819796122\",\"dweb:/ipfs/QmUGAH8ad2iagCsYnXDGz4D7LFn9kWJysk244GsBjBBw7K\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "functionDebugData": { + "abi_decode_address_fromMemory": { + "entryPoint": 490, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 432, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + } + }, + "object": "6080604081815234620001ab576000805460ff191660011781556001625e79b760e01b0319808452610b0b60048501529092906020737109709ecfa91a80626ff3989d68f67f5b1dd12d8184602481845afa9384156200017d57869462000187575b50601680546001600160a01b03199081166001600160a01b03968716179091558551938452620a11ce60048501529392908290829060249082905afa9081156200017d578392879262000149575b505016826017541617601755671bc16d674ec80000601855670de0b6b3a764000060195582516109e78082019082821060018060401b0383111762000135579082916200e3b88339039085f08015620001285761b0559394501681601a541617601a55601f541617601f555161e1ac90816200020c8239f35b50505051903d90823e3d90fd5b634e487b7160e01b87526041600452602487fd5b6200016d9250803d1062000175575b620001648183620001b0565b810190620001ea565b3880620000af565b503d62000158565b85513d88823e3d90fd5b620001a3919450823d84116200017557620001648183620001b0565b923862000061565b600080fd5b601f909101601f19168101906001600160401b03821190821017620001d457604052565b634e487b7160e01b600052604160045260246000fd5b90816020910312620001ab57516001600160a01b0381168103620001ab579056fe6080604081815260043610156200001557600080fd5b600091823560e01c908163035c3deb14620049cb575080630850ceee14620047035780630a9254e4146200449c5780630f7997cd146200425a57806313af342914620040cd5780631b21029314620040a857828163222dcf4b1462003f0b57508063271f18091462003e0f57806327acef531462003a985782816328aec53014620038f05750806333bdcd9014620036585780633eb8b8fd146200361c578063415e982d14620035e057806344a45ffe14620031f2578063545b1a26146200305657806360f00d7e1462002df65780636302c3cf1462002dba578063638b79f81462002a015780636e4f277514620029c557806374ffbf9a146200299d57806378f1683014620029615780637e333758146200293a5780638372164714620027b5578063ac73b6ce1462002509578063b681cffe14620024ec578063b9959d781462001e1a578063ba414fa61462001df1578063c5bfaae21462001bb4578063c5df4f031462001b78578063cc8b3eab1462001a92578063d34eb0d3146200184a578063d9b51fc4146200160f578063e2acb0f814620015f2578063e6d9ff3d14620015ca57828163e8a19796146200134f578163ea104a701462000f3c57508063eb9e5a691462000a77578063f5ef7b7e146200063757828163f73fe224146200043a57508063fa7626d414620004175763fe6688eb146200021757600080fd5b3462000413578160031936011262000413576200023362005baa565b906200023f826200613c565b6200024a8262006502565b6200025462006782565b92919360175494600095737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620003ef5785517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8093166004820152888160248183865af180156200040957620003f3575b50803b15620003ef5787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f031445140000000000000000000000000000000000000000000000000000000060048401525af18015620003e557908891620003cd575b5050601d541691823b15620003c957908680949392620003918751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b03925af1908115620003c05750620003a7578280f35b620003b3829162004bea565b620003bd57808280f35b80fd5b513d84823e3d90fd5b8680fd5b620003d89062004bea565b620003c957863862000342565b86513d8a823e3d90fd5b8780fd5b620004019098919862004bea565b9638620002d3565b87513d8b823e3d90fd5b5080fd5b5034620004135781600319360112620004135760ff602092541690519015158152f35b80833462000634578160031936011262000634576200045862005baa565b9073ffffffffffffffffffffffffffffffffffffffff918260175416808552601c602052828520620004a8845191620004918362004bff565b83835267016345785d8a00006020840152620058cd565b84820152620004b662006782565b96915092737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562000630578651907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152888160248183865af18015620004095790899162000618575b5050803b15620003ef5787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f4a361a470000000000000000000000000000000000000000000000000000000060048401525af18015620003e55790889162000600575b5050601d541690813b15620003c957868094620005d88751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b03925af1908115620003c05750620005ed5750f35b620005f89062004bea565b620003bd5780f35b6200060b9062004bea565b620003c95786896200058c565b620006239062004bea565b620003ef57878a6200051c565b8880fd5b50fd5b503462000413578160031936011262000413576200065462005baa565b73ffffffffffffffffffffffffffffffffffffffff908382601d54169160248551809481937f3309940500000000000000000000000000000000000000000000000000000000835260048301525afa801562000a6a5760a091859162000a43575b5062000767815193620006cd602095865490620052d5565b620006df85840151602154906200540c565b85830151865190620006fe82620006f68162004fb4565b038362004c56565b87518781019062000729898285516200071b8187858a0162004cb1565b810103808452018262004c56565b519020885188810190620007498a8287516200071b8187858c0162004cb1565b51902003620008e9575b50506060830151602354821691166200507d565b0151916004831015620008bc57826200077e578380f35b620008a4917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060808351838152602d848201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b416772858201527f65656d656e745374617475735d000000000000000000000000000000000000006060820152a18151938285526200083b838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b600083870152857fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89687920390a182519383859485528401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b918301520390a1620008b5620051e3565b3880808380f35b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b62000a2e907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060808a518a815260248b8201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b7374728c8201527f696e675d000000000000000000000000000000000000000000000000000000006060820152a1885192898452620009a68a8501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b938085038a82015280620009dd7f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358396879462005543565b0390a188519182918a835262000a208b8401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b908382038b85015262005543565b0390a162000a3b620051e3565b388062000753565b62000a6391503d8087833e62000a5a818362004c56565b81019062004e7c565b38620006b5565b50505051903d90823e3d90fd5b5034620004135781600319360112620004135762000a9462005baa565b62000a9f816200613c565b62000aaa8162006651565b62000ab58162006502565b73ffffffffffffffffffffffffffffffffffffffff60248482601d54168551928380927f330994050000000000000000000000000000000000000000000000000000000082528760048301525afa801562000f325760a091869162000f14575b500151600481101562000ee7576003810362000da5575b508381601d54169260248551809581937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa91821562000a6a57849262000d7c575b50606062000b84836200581c565b5162000bab836016541662000ba060185491868551166200507d565b60208301516200540c565b0151600581101562000d4d5762000bdc62000bfc938262000c0696600462000bec950362000c09575b505062005859565b5182601754166019549162006d88565b6024546026548216911662006f8e565b602554906200540c565b80f35b807f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608062000d32935160208152602c60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b506f73848201527f6974696f6e5374617475735d00000000000000000000000000000000000000006060820152a180519281845262000cc8828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60046020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162000d45620051e3565b388062000bd4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b62000d9d9192503d8086833e62000d94818362004c56565b8101906200570f565b903862000b76565b7f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080855160208152602d60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b416772878201527f65656d656e745374617475735d000000000000000000000000000000000000006060820152a183519084825262000e5f858301604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60036020840152827fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89384920390a18451809186825262000ecd878301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162000ee0620051e3565b3862000b2c565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b62000f2b91503d8088833e62000a5a818362004c56565b3862000b15565b84513d87823e3d90fd5b808334620006345781600319360112620006345762000f5a62005efa565b9062000f6562006bb1565b9162000f776019546018549062005b4f565b602062000f848562005859565b51015273ffffffffffffffffffffffffffffffffffffffff601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620012c4578251907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152848160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620012e55790859162001337575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620012e05781517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f595fa923000000000000000000000000000000000000000000000000000000006004820152848160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620012e5579085916200131f575b505073ffffffffffffffffffffffffffffffffffffffff601d5416803b15620012c45784835180927f3d3e73d7000000000000000000000000000000000000000000000000000000008252818381620011088a896004840162005920565b03925af18015620012e55790859162001307575b5060206200112a856200581c565b51015260185460206200113d8562005859565b51015273ffffffffffffffffffffffffffffffffffffffff601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620012c4578251907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152848160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620012e557908591620012ef575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620012e05781517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f595fa923000000000000000000000000000000000000000000000000000000006004820152848160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620012e557908591620012c8575b505073ffffffffffffffffffffffffffffffffffffffff601d541692833b15620012c457620005d89385928385518097819582947f3d3e73d70000000000000000000000000000000000000000000000000000000084526004840162005920565b8480fd5b620012d39062004bea565b620012e057838662001263565b505050fd5b83513d87823e3d90fd5b620012fa9062004bea565b620012e0578386620011cd565b620013129062004bea565b620012e05783866200111c565b6200132a9062004bea565b620012e0578386620010aa565b620013429062004bea565b620012e057838662001014565b80833462000634578160031936011262000634576200136d62005baa565b9062001379826200613c565b620013848262006651565b73ffffffffffffffffffffffffffffffffffffffff91826016541692737109709ecfa91a80626ff3989d68f67f5b1dd12d93843b156200156a578351907f06447d560000000000000000000000000000000000000000000000000000000082526004820152858160248183895af18015620015c057908691620015a8575b505080601d541690813b156200156a5783518681602481837f8135fe2300000000000000000000000000000000000000000000000000000000978883528960048401525af18015620015865790879162001590575b5050843b156200156a5783517fc31eb0e00000000000000000000000000000000000000000000000000000000081527faf20ef4a0000000000000000000000000000000000000000000000000000000060048201528681602481838a5af1801562001586579087916200156e575b5050601d541691823b156200156a57602486928386519586948593845260048401525af18015620015605790849162001548575b5050813b15620015445782809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c05750620005ed5750f35b5050fd5b620015539062004bea565b62001544578285620014f9565b82513d86823e3d90fd5b8580fd5b620015799062004bea565b6200156a578588620014c5565b85513d89823e3d90fd5b6200159b9062004bea565b6200156a57858862001457565b620015b39062004bea565b620012c457848762001402565b84513d88823e3d90fd5b8234620003bd576020600319360112620003bd5762000c06620015ec62004bc6565b620078d5565b8234620003bd5780600319360112620003bd5762000c06620076c8565b503462000413578160031936011262000413576200162c62005baa565b62001637816200613c565b8273ffffffffffffffffffffffffffffffffffffffff601d54169160248451809481937f3309940500000000000000000000000000000000000000000000000000000000835260048301525afa80156200183e5760a091849162001820575b500151906004821015620017f35760018203620016b1578280f35b807f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080620017da935160208152602d60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b416772848201527f65656d656e745374617475735d000000000000000000000000000000000000006060820152a180519281845262001770828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60016020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a1620017ed620051e3565b38808280f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6200183791503d8086833e62000a5a818362004c56565b3862001696565b505051903d90823e3d90fd5b503462000413578160031936011262000413576200186762005baa565b9062001873826200613c565b73ffffffffffffffffffffffffffffffffffffffff90816016541692737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b156200156a578583517fca669fa700000000000000000000000000000000000000000000000000000000968782526004820152818160248183885af1801562001a705762001a7a575b5084601d5416803b15620004135781809160248751809481937f8135fe230000000000000000000000000000000000000000000000000000000083528860048401525af1801562001a705762001a58575b50506200194d62006782565b95909360175497600098823b1562001a5457875191825283166004820152888160248183865af18015620004095762001a3e575b50803b15620003ef5787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f8d87dbb60000000000000000000000000000000000000000000000000000000060048401525af18015620003e557908891620003cd575050601d541691823b15620003c957908680949392620003918751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b62001a4c9098919862004bea565b963862001981565b8980fd5b62001a639062004bea565b6200156a57853862001941565b85513d84823e3d90fd5b62001a859062004bea565b6200156a578538620018f0565b503462000413576020908160031936011262001b745760043567ffffffffffffffff811162001b70573660238201121562001b705780600401359262001ad88462004c98565b9362001ae78451958662004c56565b80855260248286019160061b84010192368411620003c957602401905b83821062001b18578662000c0687620070e9565b8482360312620003c95784519062001b308262004c1c565b82359073ffffffffffffffffffffffffffffffffffffffff8216820362001b6b57828592889452828501358382015281520191019062001b04565b600080fd5b8380fd5b8280fd5b50346200041357816003193601126200041357602090517ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08152f35b5034620004135781600319360112620004135762001bd162005baa565b62001bdc816200613c565b62001be78162006651565b8273ffffffffffffffffffffffffffffffffffffffff8060165416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562001b7057839160248392885194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af190811562001db757839162001dd9575b505080601d5416803b1562001b745782809160248751809481937f8135fe230000000000000000000000000000000000000000000000000000000083528960048401525af190811562001db757839162001dc1575b5060249082601d54168651928380927fac41b7510000000000000000000000000000000000000000000000000000000082528860048301525afa90811562001db75762001d369162000bdc91859162001d99575b5062001d3062001d20826200581c565b5185601654166018549162006e8b565b62005859565b601d54169160248451809481937f3309940500000000000000000000000000000000000000000000000000000000835260048301525afa80156200183e5760a09184916200182057500151906004821015620017f35760018203620016b1578280f35b62001db091503d8087833e62000d94818362004c56565b3862001d10565b85513d85823e3d90fd5b62001dcc9062004bea565b6200041357813862001cbc565b62001de49062004bea565b6200041357813862001c67565b5034620004135781600319360112620004135760209062001e1162004d60565b90519015158152f35b509034620003bd5780600319360112620003bd5762001e3862005baa565b73ffffffffffffffffffffffffffffffffffffffff62001e62816023541682601654169062006f8e565b9062001e6e836200613c565b8060235416946018549381519462001e868662004bff565b868380519762001e968962004c1c565b6000895260209860008a82015281528289820152015282519762001eba8962004c1c565b8852858801526064420196874211620024bf5782519062001edb8262004bff565b8082528682019060018252848301998a5285601d5416601e5491865162001f4b8b8201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18452898301906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b6060815262001f5a8162004c39565b5190209083518c51908851928c8401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d8010686528a8501526060840152608083015260a082015260a0815260c081019181831067ffffffffffffffff8411176200249057828852815190207f190100000000000000000000000000000000000000000000000000000000000060e0830190815260e283019490945261010290910152604281526200200c60628262004c56565b519020988451907fe341eaa4000000000000000000000000000000000000000000000000000000008252610b0b600483015260249a8b830152737109709ecfa91a80626ff3989d68f67f5b1dd12d91606081604481865afa9081156200242857620020aa918c918290839262002432575b5060f81b7fff00000000000000000000000000000000000000000000000000000000000000169162007544565b918760165416813b15620023e0578b918d83928a5194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af180156200242857908b9162002410575b505086601d5416928760165416946018549a7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9b8c81168103620023e4578951976200214a8962004c1c565b885260011b90870152843b15620023e0578662002214620021cb97958f94958f9896620021f48a968e519c8d9b8c9a8b997f5541e684000000000000000000000000000000000000000000000000000000008b5260048b01528901906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b51805173ffffffffffffffffffffffffffffffffffffffff166064880152602001516084870152565b5160a48501525160c484015261010060e484015261010483019062005543565b03925af18015620023d657908791620023be575b5083601d541691888451809481937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa918215620023b55750906200227e91869162002397575b506200581c565b518160165416906018549185831683036200236b57620022a29260011b9162006d88565b620022b7816023541682601654169062006f8e565b916018549284841684036200233f57620022de620022e592620022f59560011b9062005890565b906200540c565b602354601d548216911662006f8e565b90601854908116810362002313579062000c069160011b906200540c565b50507f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b86867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b87877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b620023ae91503d8088833e62000d94818362004c56565b3862002277565b513d87823e3d90fd5b620023c99062004bea565b6200156a57853862002228565b83513d89823e3d90fd5b8b80fd5b8e8e7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6200241b9062004bea565b62001a54578938620020fe565b87513d8d823e3d90fd5b90507fff0000000000000000000000000000000000000000000000000000000000000092506200247d915060603d811162002488575b62002474818362004c56565b8101906200751d565b92909291906200207d565b503d62002468565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b8234620003bd5780600319360112620003bd5762000c0662007489565b503462000413578160031936011262000413576200252662005efa565b6200253062006bb1565b73ffffffffffffffffffffffffffffffffffffffff918483601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562001b7457829160248392895194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af1801562002793576200279d575b5083601d5416803b15620004135781865180927f3d3e73d7000000000000000000000000000000000000000000000000000000008252818381620025f78a8a6004840162005920565b03925af1801562002793576200277b575b5060249084601d54168651928380927f330994050000000000000000000000000000000000000000000000000000000082528660048301525afa8015620027715760a091879162002753575b500151600481101562002726576200266c9062006c48565b8483601d54169160248651809481937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa9384156200271d5750620026e8620026f262000c06956020938891620026ff575b5062001d30620026d6826200581c565b51876016541686620026e8896200581c565b5101519162006e8b565b5193601754169262005859565b6200271691503d808a833e62000d94818362004c56565b38620026c6565b513d86823e3d90fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6200276a91503d8089833e62000a5a818362004c56565b3862002654565b85513d88823e3d90fd5b620027869062004bea565b620012c457843862002608565b86513d84823e3d90fd5b620027a89062004bea565b620012c4578438620025ae565b50346200041357816003193601126200041357620027d262005baa565b90620027de8262006651565b620027e862006782565b92919360175494600095737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620003ef5785517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8093166004820152888160248183865af18015620004095762002924575b50803b15620003ef5787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f6d9bf6df0000000000000000000000000000000000000000000000000000000060048401525af18015620003e557908891620003cd575050601d541691823b15620003c957908680949392620003918751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b620029329098919862004bea565b963862002867565b8234620003bd576060600319360112620003bd5762000c0660443560243560043562005588565b50346200041357816003193601126200041357602090517f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068152f35b8234620003bd576020600319360112620003bd5762000c06620029bf62004bc6565b62005997565b50346200041357816003193601126200041357602090517f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b36788152f35b5034620004135781600319360112620004135762002a1e62005baa565b73ffffffffffffffffffffffffffffffffffffffff9081602354169262002a4b8360165416809562006f8e565b9185601854868252602096601c885262002a7c85842086519362002a6f8562004bff565b8385528a850152620058cd565b85830152737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562001b7057839160248392885194859384927f06447d5600000000000000000000000000000000000000000000000000000000845260048401525af1801562001db75790839162002da2575b5050856014541696601d97838262002b578a8c5416936018548a519485809481937f095ea7b300000000000000000000000000000000000000000000000000000000998a8452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801562002d985791839162002bb69362002d76575b5089601554168a8c541687602554938b51968795869485938452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801562002d6c5762002d37575b505085875416803b1562001b745762002c20839291839287519485809481937fa37ee28c0000000000000000000000000000000000000000000000000000000083528a60048401528b602484015260448301906200601f565b03925af1801562002d2d5762002d15575b50848654169160248451809481937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa918215620023b5575062000c06949262002ca962002c9962000bfc969462002ccd948a9162002cfe57506200581c565b5184601654166018549162006d88565b620022de62002cc2846023541685601654169062006f8e565b916018549062005890565b62002cef62002ce58260235416838554169062006f8e565b601854906200540c565b80602454169154169062006f8e565b620023ae91503d808c833e62000d94818362004c56565b62002d209062004bea565b6200156a57853862002c31565b84513d84823e3d90fd5b8162002d5b92903d1062002d64575b62002d52818362004c56565b81019062004d46565b50388062002bc7565b503d62002d46565b86513d86823e3d90fd5b62002d9090833d851162002d645762002d52818362004c56565b503862002b70565b87513d87823e3d90fd5b62002dad9062004bea565b6200041357813862002ae5565b50346200041357816003193601126200041357602090517faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638152f35b5034620004135781600319360112620004135762002e1362005baa565b9073ffffffffffffffffffffffffffffffffffffffff918383602354169162002e5262002e468660165416809562006f8e565b93866024541662006f8e565b9362002e5e826200613c565b856016541691737109709ecfa91a80626ff3989d68f67f5b1dd12d92833b15620012c4578251907f06447d560000000000000000000000000000000000000000000000000000000082526004820152848160248183885af18015620012e5579085916200303e575b505086601d5416803b15620012c45784809160248551809481937f8135fe230000000000000000000000000000000000000000000000000000000083528760048401525af18015620012e55790859162003026575b505086601d541690813b15620012c457849160248392855194859384927f186799a400000000000000000000000000000000000000000000000000000000845260048401525af1801562001560579084916200300e575b5050813b1562001b745782809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c0575062002ff6575b50508262002fe662002fe09262002fe062000c06966023541684601654169062006f8e565b6200540c565b6024546016548216911662006f8e565b620030019062004bea565b62001b7057833862002fbb565b620030199062004bea565b62001b7457823862002f72565b620030319062004bea565b62001b7057833862002f1b565b620030499062004bea565b62001b7057833862002ec6565b503462000413578160031936011262000413576200307362005baa565b906200307f826200613c565b60175491600092737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620012c45783517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8093166004820152858160248183865af180156200277157620031dc575b50803b15620012c45784809160248651809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f3b278a7a0000000000000000000000000000000000000000000000000000000060048401525af1801562000f3257908591620031c4575b5050601d541690813b1562001b70578291602485949285935195869384927f8135fe2300000000000000000000000000000000000000000000000000000000845260048401525af1908115620003c05750620003a7578280f35b620031cf9062004bea565b62001b705783386200316a565b620031ea9095919562004bea565b9338620030fb565b509034620003bd5780600319360112620003bd576200321062005efa565b8251926200321e8462004c39565b6003845260005b60608110620035b9575073ffffffffffffffffffffffffffffffffffffffff93846016541694825195620032598762004c1c565b865260209585878201526200326e836200581c565b526200327a826200581c565b508060175416601954845191620032918362004c1c565b825287820152620032a28362005859565b52620032ae8262005859565b5080601f541691601854845190620032c68262004c1c565b84825288820152620032d8826200586a565b52620032e4816200586a565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b15620003c95784517fca669fa700000000000000000000000000000000000000000000000000000000948582526004820152878160248183875af18015620003e557908891620035a1575b5050813b15620003c95784517fc31eb0e000000000000000000000000000000000000000000000000000000000918282527f3a78f7d40000000000000000000000000000000000000000000000000000000091826004820152898160248183895af180156200353d57908a9162003589575b505084601d541690813b1562001a5457896200340f8a98979695949382938b519485809481937f3d3e73d7000000000000000000000000000000000000000000000000000000009e8f84526004840162005920565b03925af180156200353d57908a9162003571575b5050865194620034338662004c1c565b6001865260005b8b81106200354b5750899a85601f5416906200345c6018546019549062005b4f565b8a51916200346a8362004c1c565b8383528201526200347b886200581c565b5262003487876200581c565b50843b15620035475788519182526004820152898160248183885af180156200353d57908a9162003525575b5050823b156200063057602489928389519586948593845260048401525af1801562001586579087916200350d575b5050601d5416803b156200156a57620005d89486809486519788958694859384526004840162005920565b620035189062004bea565b6200156a578538620034e2565b620035309062004bea565b62000630578838620034b3565b88513d8c823e3d90fd5b8a80fd5b8b9089516200355a8162004c1c565b6000815260008382015282828a010152016200343a565b6200357c9062004bea565b6200063057883862003423565b620035949062004bea565b62000630578838620033ba565b620035ac9062004bea565b620003c957863862003348565b6020908251620035c98162004c1c565b600081528260008183015282880101520162003225565b50346200041357816003193601126200041357602090517f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18152f35b50346200041357816003193601126200041357602090517ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668152f35b509034620003bd5780600319360112620003bd576200367662005baa565b9162003682836200613c565b6200368d8362006651565b73ffffffffffffffffffffffffffffffffffffffff92836016541693737109709ecfa91a80626ff3989d68f67f5b1dd12d94853b15620012c4578351957fca669fa7000000000000000000000000000000000000000000000000000000009182885260048801526024968681898183865af18015620038e657908791620038ce575b505082601d541691823b15620003c957855187818a81837f8135fe2300000000000000000000000000000000000000000000000000000000988983528b60048401525af18015620038c457908891620038ac575b5050836017541690823b15620003ef57908888928389519586948593845260048401525af18015620027715790869162003894575b505081601d541690813b156200156a5785918783928751948593849283528860048401525af1801562000f32579085916200387c575b5090601d541691858451809481937f3309940500000000000000000000000000000000000000000000000000000000835260048301525afa918215620003c057509060a09183916200385e575b5001516004811015620038335762000c069062006c48565b507f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6200387591503d8085833e62000a5a818362004c56565b386200381b565b620038879062004bea565b62001b70578338620037ce565b6200389f9062004bea565b620012c457843862003798565b620038b79062004bea565b620003c957863862003763565b87513d8a823e3d90fd5b620038d99062004bea565b6200156a5785386200370f565b86513d89823e3d90fd5b80833462000634578160031936011262000634576200390e62005baa565b906200391a826200613c565b620039258262006651565b6200392f62006bb1565b9173ffffffffffffffffffffffffffffffffffffffff80601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b15620003c9578451907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152868160248183865af18015620015865790879162003a80575b5050803b156200156a5785809160248651809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f4e16946c0000000000000000000000000000000000000000000000000000000060048401525af18015620015c05790869162003a68575b5050601d541692833b15620012c457620005d89385928385518097819582947f3d3e73d70000000000000000000000000000000000000000000000000000000084526004840162005920565b62003a739062004bea565b620012c457848762003a1c565b62003a8b9062004bea565b6200156a578588620039ac565b5034620004135781600319360112620004135762003ab562005efa565b73ffffffffffffffffffffffffffffffffffffffff806023541691816016541662003ae1818562006f8e565b946024948762003b1362003afa87895416958662006f8e565b9262003b0c8860175416809262006f8e565b9562006f8e565b9462003b1e62006bb1565b9387601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620012c45782517fca669fa70000000000000000000000000000000000000000000000000000000092838252600482015285818d8183865af18015620015c05790869162003df7575b505089601d5416803b156200156a5783517f3d3e73d7000000000000000000000000000000000000000000000000000000008152908690829081838162003bd18e8c6004840162005920565b03925af18015620015c05790869162003ddf575b50508960165416813b156200156a57835190838252600482015285818d8183865af18015620015c05790869162003dc7575b505089601d541691823b156200156a578b868551809281837f186799a400000000000000000000000000000000000000000000000000000000988983528b60048401525af18015620015865790879162003daf575b50508a60175416823b15620003c9578c87928387519586948593845260048401525af18015620012e55790859162003d97575b505088601d541692833b15620012c4578a85928385519687948593845260048401525af1908115620003c0575062003d77575b50509262003d5e859493620022de62003d689462003d3c889762003d2862000c069d620022de62003d11620022de9e602354168d601654169062006f8e565b602062003d1e886200581c565b5101519062005890565b620022de898d54168a601654169062006f8e565b602062003d1e62003d5789602354168a601754169062006f8e565b9262005859565b6025549062005b4f565b93541690601754169062006f8e565b62003d8790969592949662004bea565b620003ef57929391873862003cd2565b62003da29062004bea565b62001b7057833862003c9f565b62003dba9062004bea565b6200156a57853862003c6c565b62003dd29062004bea565b620012c457843862003c17565b62003dea9062004bea565b620012c457843862003be5565b62003e029062004bea565b620012c457843862003b85565b5034620004135781600319360112620004135762003e2c62005baa565b73ffffffffffffffffffffffffffffffffffffffff9162003e57836023541684601654169062006f8e565b9162003e63816200613c565b8484601d54169160248451809481937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa9182156200271d575062000bfc9262002ca962002c9962000c06969462003ecb94899162003ef457506200581c565b62003ee462002ce5826023541683601d54169062006f8e565b602454601d548216911662006f8e565b620023ae91503d808b833e62000d94818362004c56565b808334620006345781600319360112620006345762003f2962005baa565b9062003f35826200613c565b73ffffffffffffffffffffffffffffffffffffffff8060175416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b156200156a578351907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152858160248183865af18015620015c05790869162004090575b5050803b15620012c45784809160248551809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f3b278a7a0000000000000000000000000000000000000000000000000000000060048401525af18015620012e55790859162004078575b5050601d541691823b15620012e057839260248492845195869384927f061ab0bc00000000000000000000000000000000000000000000000000000000845260048401525af1908115620003c05750620005ed5750f35b620040839062004bea565b620012e057838662004021565b6200409b9062004bea565b620012c457848762003fb1565b5034620004135781600319360112620004135760209051680246ddf979766800008152f35b5034620004135760206003193601126200041357620040eb62006782565b90929160175493600094737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620003c95785517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8093166004820152878160248183865af18015620038c45762004244575b50803b15620003c95786809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527fb9e8c16f0000000000000000000000000000000000000000000000000000000060048401525af18015620038e6579087916200422c575b5050601d541691823b156200156a5791849391868094620003919751978895869485937f1bd747a2000000000000000000000000000000000000000000000000000000008552600435600486016200608a565b620042379062004bea565b6200156a578538620041d9565b620042529097919762004bea565b95386200416a565b503462000413578160031936011262000413576200427762005baa565b9062004283826200613c565b6200428e8262006651565b73ffffffffffffffffffffffffffffffffffffffff91826016541692737109709ecfa91a80626ff3989d68f67f5b1dd12d803b156200156a578584517fca669fa700000000000000000000000000000000000000000000000000000000968782526004820152818160248183875af18015620027935762004484575b5082601d5416803b15620004135781809160248851809481937f061ab0bc0000000000000000000000000000000000000000000000000000000083528a60048401525af1801562002793576200446c575b505060175494600095823b15620003c957855191825283166004820152858160248183865af18015620027715762004456575b50803b15620012c45784809160248651809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f031445140000000000000000000000000000000000000000000000000000000060048401525af1801562000f3257908591620031c4575050601d541690813b1562001b70578291602485949285935195869384927f8135fe2300000000000000000000000000000000000000000000000000000000845260048401525af1908115620003c05750620003a7578280f35b620044649095919562004bea565b93386200438e565b620044779062004bea565b6200156a5785386200435b565b6200448f9062004bea565b6200156a5785386200430a565b509034620003bd5780600319360112620003bd57620044ba620076c8565b73ffffffffffffffffffffffffffffffffffffffff80601354169280517f3644e5150000000000000000000000000000000000000000000000000000000081526020908181600481895afa908115620012e5578591620046d0575b50601e5582601554169083601f54168351620045318162004bff565b838152818567016345785d8a000092838682015201527fffffffffffffffffffffffff00000000000000000000000000000000000000009384602454161760245560255582602654161760265582519061306c968783019783891067ffffffffffffffff8a1117620046a3579785928492899a9998996200b10b85398252309082015203019084f080156200183e57848491169182601d5491821617601d5516179083601f5416823b1562001b7057839260848492845195869384927faf0f9df30000000000000000000000000000000000000000000000000000000084526004840152896024541660248401526025546044840152896026541660648401525af1908115620003c057506200468b575b5062000c0682620046578160165416620078d5565b620046668160175416620078d5565b6200467b8160165416826013541690620079b0565b60175460135482169116620079b0565b620046969062004bea565b6200041357813862004642565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b90508181813d8311620046fb575b620046ea818362004c56565b8101031262001b6b57513862004515565b503d620046de565b509034620003bd5780600319360112620003bd576200472162005baa565b916200472d836200613c565b620047388362006651565b73ffffffffffffffffffffffffffffffffffffffff90816016541693737109709ecfa91a80626ff3989d68f67f5b1dd12d92833b15620012c4578251957fca669fa700000000000000000000000000000000000000000000000000000000875260048701526024938587868183855af18015620015c057620049b4575b85965081601d5416803b15620003c957845187818881837f8135fe2300000000000000000000000000000000000000000000000000000000968783528a60048401525af18015620003e5579088916200499c575b50508260175416823b15620003ef578551907f06447d5600000000000000000000000000000000000000000000000000000000825260048201528781888183875af18015620003e55790889162004984575b505082601d541690813b15620003ef5787918783928851948593849283528960048401525af1801562001586579087916200496c575b5050803b156200156a57858091868651809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f8d87dbb60000000000000000000000000000000000000000000000000000000060048401525af18015620015c05790869162004954575b5050601d5416803b15620012c45784938492845195869384927f061ab0bc00000000000000000000000000000000000000000000000000000000845260048401525af1908115620003c05750620005ed5750f35b6200495f9062004bea565b620012c457843862004900565b620049779062004bea565b6200156a57853862004891565b6200498f9062004bea565b620003c95786386200485b565b620049a79062004bea565b620003c957863862004809565b949095620049c29062004bea565b938590620047b5565b9190503462001b7457606060031936011262001b745760043573ffffffffffffffffffffffffffffffffffffffff808216809203620012c457602435938185168095036200156a5760443590828216809203620003c957833b15620003c9577f06447d5600000000000000000000000000000000000000000000000000000000815286956004820152868160248183885af18015620015865762004bae575b509084918160145416918551907f095ea7b300000000000000000000000000000000000000000000000000000000918281528360048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94856024830152816044816020998a945af1801562004ba457604492879594928b9262004b82575b5060155416895196879586948552600485015260248401525af1801562000f325762004b5f575b5050803b1562001b74579082809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c05750620003a7578280f35b8162004b7992903d1062002d645762002d52818362004c56565b50388062004b12565b62004b9c90873d891162002d645762002d52818362004c56565b503862004aeb565b88513d8b823e3d90fd5b62004bbc9192955062004bea565b8493903862004a6a565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820362001b6b57565b67ffffffffffffffff81116200249057604052565b6060810190811067ffffffffffffffff8211176200249057604052565b6040810190811067ffffffffffffffff8211176200249057604052565b6080810190811067ffffffffffffffff8211176200249057604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200249057604052565b67ffffffffffffffff8111620024905760051b60200190565b60005b83811062004cc55750506000910152565b818101518382015260200162004cb4565b67ffffffffffffffff81116200249057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d1562004d41573d9062004d258262004cd6565b9162004d35604051938462004c56565b82523d6000602084013e565b606090565b9081602091031262001b6b5751801515810362001b6b5790565b6000805460081c60ff161562004d7a575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62004d9c57505090565b81925060405182602082018381527f6661696c6564000000000000000000000000000000000000000000000000000060408401526040835262004ddf8362004bff565b62004e346024604051809362004e2360208301977f667f9d700000000000000000000000000000000000000000000000000000000089525180928585019062004cb1565b810103600481018452018262004c56565b51925af15062004e5762004e4762004d11565b6020808251830101910162004d46565b90565b519073ffffffffffffffffffffffffffffffffffffffff8216820362001b6b57565b90602090818382031262001b6b57825167ffffffffffffffff9384821162001b6b57019060c08282031262001b6b576040519360c08501858110828211176200249057604052825185528383015184860152604083015190811162001b6b5782019281601f8501121562001b6b57835162004ef78162004cd6565b9262004f07604051948562004c56565b81845282828701011162001b6b5760a0948262004f28938501910162004cb1565b604084015262004f3b6060820162004e5a565b6060840152608081015160808401520151600481101562001b6b5760a082015290565b90600182811c9216801562004fa9575b602083101462004f7a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f169162004f6e565b6022546000929162004fc68262004f5e565b8082529160019081811690811562005041575060011462004fe657505050565b9192935060226000527f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510916000925b8484106200502857505060209250010190565b8054602085850181019190915290930192810162005015565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b73ffffffffffffffffffffffffffffffffffffffff9182169116818103620050a3575050565b620051ce906040907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602560208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464858201527f726573735d0000000000000000000000000000000000000000000000000000006060820152a181519382855262005165838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b906020860152847f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a1620051e1620051e3565b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6200522f575b506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6000809160405182602082018381527f6661696c65640000000000000000000000000000000000000000000000000000604084015260016060840152606083526200527a8362004c39565b620052be6024604051809362004e2360208301977f70ca10bb0000000000000000000000000000000000000000000000000000000089525180928585019062004cb1565b51925af150620052cd62004d11565b503862005200565b818103620052e1575050565b620051ce906040907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602560208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974858201527f657333325d0000000000000000000000000000000000000000000000000000006060820152a1815193828552620053a3838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b906020860152847fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f999586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b81810362005418575050565b620051ce906040907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e858201527f745d0000000000000000000000000000000000000000000000000000000000006060820152a1815193828552620054da838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b906020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093620055818151809281875287808801910162004cb1565b0116010190565b929190928315620057095773ffffffffffffffffffffffffffffffffffffffff9081601d5416906040958692835192600060209585878097019085825284838201528a606082015260608152620055df8162004c39565b51902098886014541690825194620055f78662004c39565b85528785019687528251996200560d8b62004c1c565b60048b527f6970667300000000000000000000000000000000000000000000000000000000898c01528386019a8b52606086019283526200569784519b8c998a9889977f8f34a8590000000000000000000000000000000000000000000000000000000089526004890152516044880152516064870152516080608487015260c486019062005543565b92511660a4840152602483015203925af1948515620056ff5750600094620056c9575b505091620051e19192620052d5565b81813d8311620056f7575b620056e0818362004c56565b8101031262001b7057519250620051e138620056ba565b503d620056d4565b513d6000823e3d90fd5b50509050565b906020808383031262001b6b57825167ffffffffffffffff9384821162001b6b57019180601f8401121562001b6b578251906200574c8262004c98565b946040916200575e8351978862004c56565b838752848088019460071b8701019581871162001b6b578501935b8685106200578b575050505050505090565b608090818684031262001b6b57845191820182811085821117620057ee578552620057b68662004e5a565b8252868601518783015284860151858301526060908187015192600584101562001b6b57608093899382015281520194019362005779565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8051156200582a5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051600110156200582a5760400190565b8051600210156200582a5760600190565b80518210156200582a5760209160051b010190565b919082039182116200589e57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9060405191828154918282526020928383019160005283600020936000905b8282106200590557505050620051e19250038362004c56565b855484526001958601958895509381019390910190620058ec565b906060604092838101928152602091818584809401528651809552019401926000905b8382106200595357505050505090565b9091929394838282620059896001948a516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019601949392019062005943565b601f5460009173ffffffffffffffffffffffffffffffffffffffff808092169216821462005b4a57620059c962005efa565b620059d362006bb1565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d803b156200156a576040948551907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152868160248183865af18015620038e65762005b34575b50803b156200156a5785809160248751809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f2eef310a0000000000000000000000000000000000000000000000000000000060048401525af18015620027715790869162005b1c575b5050601d541690813b15620012c45791849184938362005af296518097819582947f3d3e73d70000000000000000000000000000000000000000000000000000000084526004840162005920565b03925af1908115620003c0575062005b08575050565b62005b14829162004bea565b620003bd5750565b62005b279062004bea565b620012c457843862005aa4565b62005b429096919662004bea565b943862005a35565b505050565b919082018092116200589e57565b60409081519162005b6e8362004bff565b60028352826000805b83811062005b855750505050565b602090845162005b958162004c1c565b83815282848183015282860101520162005b77565b62005bb462007489565b601b549073ffffffffffffffffffffffffffffffffffffffff80601454169260409182519462005be48662004c39565b7fa74911826a63a1e8059b5834149ea5905cbe277aaf3536b4a44db1822d86970a865260209283870190815284519662005c1e8862004c1c565b600d88527f697066733a2f2f736861323536000000000000000000000000000000000000008589015287868201526060810192835251845551602155855167ffffffffffffffff8111620024905762005c7960225462004f5e565b601f811162005e90575b5083601f821160011462005dc35791818493928695936000999a8a9262005db7575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176022555b511690817fffffffffffffffffffffffff00000000000000000000000000000000000000006023541617602355601d5416845180968180947f8f34a8590000000000000000000000000000000000000000000000000000000082528860048301528654604483015260215460648301526080608483015262005d5d60c4830162004fb4565b9060a483015282602483015203925af1918215620056ff575060009162005d85575b50905090565b82813d831162005daf575b62005d9c818362004c56565b81010312620003bd575051803862005d7f565b503d62005d90565b01519050388062005ca5565b967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082169060226000527f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5109160005b81811062005e785750928594926000999a600193838a99971062005e40575b505050811b0160225562005cd8565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c1916905538808062005e31565b828b0151845599870199600190930192870162005e12565b6000602281527f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510601f840160051c81019287851062005eef575b601f0160051c01915b82811062005ee357505062005c83565b81815560010162005ed3565b909250829062005eca565b62005f0462005baa565b62005f0f816200613c565b62005f1a8162006651565b6016546000737109709ecfa91a80626ff3989d68f67f5b1dd12d803b1562000413578180916024604051809481937fca669fa700000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff80991660048401525af1801562006002576200600d575b5090601d5416803b1562000413578180916024604051809481937f061ab0bc0000000000000000000000000000000000000000000000000000000083528860048401525af18015620060025762005fed57505090565b62005ff9829162004bea565b620003bd575090565b6040513d84823e3d90fd5b620060189062004bea565b3862005f97565b604090606083019073ffffffffffffffffffffffffffffffffffffffff81511684526080602093828580940151848801520151946060604082015285518094520193019160005b82811062006075575050505090565b83518552938101939281019260010162006066565b90949391948152620060a960209560808784015260808301906200601f565b6040828203818401526060820194805195606084528651809152886080850197019060005b818110620060fc57505050808862004e57989984930151908501520151910152606081840391015262005543565b9091978a8582620061306001948d516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019901929101620060ce565b90601654600073ffffffffffffffffffffffffffffffffffffffff8092169060185493828252602091601c8352604093620061a8620061a2868420986200619888519a6200618a8c62004bff565b858c5282898d0152620058cd565b888b015262006ae9565b6200758b565b86601d541698601e5498620061bf83515162007030565b98855b845180518210156200626357908b62006256828d8d6200623d620061eb846200625d996200587b565b518351928301937f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a185528301906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b606081526200624c8162004c39565b519020926200587b565b5262007085565b620061c2565b50509398909499929691959a885190888483018d81878751919701915b88828210620064ea57505050506200634c9084620063a0960394620062cc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09687810183528262004c56565b519020926200633f8d808986015195015190519485938a850197889094939273ffffffffffffffffffffffffffffffffffffffff60809360a08401977ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668552602085015216604083015260608201520152565b0384810183528262004c56565b51902092620063938a519485928301968790916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b0390810183528262004c56565b5190208551907fe341eaa4000000000000000000000000000000000000000000000000000000008252610b0b60048301526024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90606081604481855afa801562000409579062006439918a8b928c9262002432575060f81b7fff00000000000000000000000000000000000000000000000000000000000000169162007544565b96813b156200063057889160248392895194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af18015620003e557620064d4575b50601d541691823b15620003c95790868094939262005af28751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b620064e29097919762004bea565b953862006486565b83518952978801978e95509092019160010162006280565b601654600091737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562001b705760409283517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8092166004820152858160248183885af1801562002771576200663b575b50601d541690813b15620012c457849160248392865194859384927f061ab0bc00000000000000000000000000000000000000000000000000000000845260048401525af1801562000a6a5790849162006623575b5050803b1562001b74579082809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c0575062005b08575050565b6200662e9062004bea565b62001b74578238620065d6565b620066499095919562004bea565b933862006581565b6200665b62006782565b919260175493600094737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620003c9578680916024604051809481937fca669fa700000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff80981660048401525af1801562006755576200673f575b50601d541691823b156200156a579085809493926200672b604051978896879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b03925af18015620060025762005b08575050565b6200674d9096919662004bea565b9438620066dc565b6040513d89823e3d90fd5b604051906200676f8262004bff565b6000604083606081528260208201520152565b6040908151620067928162004bff565b82600091828152602090838282015260609586910152620067b262006760565b5073ffffffffffffffffffffffffffffffffffffffff9485601754166200680e620061a260195492808852601c865262006803878920885192620067f68462004bff565b83528588840152620058cd565b878201529262006ae9565b96601d541696601e54966200682582515162007030565b96805b83518051821015620068bf57906200684581620068b9936200587b565b5189516200689c8a8201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a184528c8301906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b888152620068aa8162004c39565b51902062006256828c6200587b565b62006828565b50509594919792989690968551908984830180868651919601908b5b8882821062006ad15750505050620069999084620069e0960394620069277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09687810183528262004c56565b519020926200633f8a888501519401518b519485938a850197889094939273ffffffffffffffffffffffffffffffffffffffff60809360a08401977ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668552602085015216604083015260608201520152565b519020926200639387519485928301968790916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b5190208251907fe341eaa4000000000000000000000000000000000000000000000000000000008252620a11ce600483015260248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa92831562006ac8575062004e579392839283929162006a7b575b505060f81b7fff00000000000000000000000000000000000000000000000000000000000000169162007544565b7fff00000000000000000000000000000000000000000000000000000000000000945062006abc935080919250903d10620024885762002474818362004c56565b92909291903862006a4d565b513d85823e3d90fd5b83518952978801978f955090920191600101620068db565b90604080519062006afa8262004bff565b600282526000805b82811062006b8c5750509062006b8991819473ffffffffffffffffffffffffffffffffffffffff806015541660255484519162006b3f8362004c1c565b8252602082015262006b51856200581c565b5262006b5d846200581c565b506014541691519162006b708362004c1c565b8252602082015262006b828262005859565b5262005859565b50565b602090835162006b9c8162004c1c565b83815282848183015282870101520162006b02565b62006bbb62005b5d565b9073ffffffffffffffffffffffffffffffffffffffff806016541662006be76018546019549062005b4f565b6040519162006bf68362004c1c565b8252602082015262006c08846200581c565b5262006c14836200581c565b50601754166040519062006c288262004c1c565b81526000602082015262006c3c8362005859565b5262006b898262005859565b600481101562000d4d576002810362006c5e5750565b620051ce60407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602d60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b416772848201527f65656d656e745374617475735d000000000000000000000000000000000000006060820152a180519281845262006d1e828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60026020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060609262000ba062006db39273ffffffffffffffffffffffffffffffffffffffff8551166200507d565b0151600581101562000d4d576001810362006dcb5750565b620051ce60407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602c60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b506f73848201527f6974696f6e5374617475735d00000000000000000000000000000000000000006060820152a180519281845262001770828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b9060609262000ba062006eb69273ffffffffffffffffffffffffffffffffffffffff8551166200507d565b0151600581101562000d4d576002810362006ece5750565b620051ce60407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602c60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b506f73848201527f6974696f6e5374617475735d00000000000000000000000000000000000000006060820152a180519281845262006d1e828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b6020906024604051809481937f70a0823100000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff8092166004840152165afa908115620070245760009162006ff1575090565b906020823d82116200701b575b816200700d6020938362004c56565b81010312620003bd57505190565b3d915062006ffe565b6040513d6000823e3d90fd5b906200703c8262004c98565b6200704b604051918262004c56565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200707b829462004c98565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146200589e5760010190565b90815180825260208080930193019160005b828110620070d4575050505090565b835185529381019392810192600101620070c5565b620070f5815162007030565b9060005b8151811015620071bb578073ffffffffffffffffffffffffffffffffffffffff62007129620071b593856200587b565b5151166020620071a6816200713f85886200587b565b5101519162007179604051938492830195866020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262004c56565b5190206200625682866200587b565b620070f9565b5060005b8151811015620073d95773ffffffffffffffffffffffffffffffffffffffff80601a541660408051927fb8616195000000000000000000000000000000000000000000000000000000008452600493828582015260008162007225604482018b620070b3565b9581806024988b8a83015203915afa908115620073ce5760009162007333575b50906200725386886200587b565b515116600052602091601c83526000209281519467ffffffffffffffff861162007307576801000000000000000086116200730757505081908354858555808610620072d9575b500191600052806000209060005b848110620072c6575050505050620072c09062007085565b620071bf565b83518382015592810192600101620072a8565b84600052858360002091820191015b818110620072f757506200729a565b60008155849350600101620072e8565b6041907f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b3d8083833e62007344818362004c56565b8101602091828183031262001b705780519067ffffffffffffffff8211620012c4570181601f8201121562001b7057805190620073818262004c98565b94620073908851968762004c56565b828652848087019360051b830101938411620003bd57508301905b828210620073be57505050503862007245565b81518152908301908301620073ab565b83513d6000823e3d90fd5b50506020620074379173ffffffffffffffffffffffffffffffffffffffff601a541660405180809581947f2e08d6020000000000000000000000000000000000000000000000000000000083528660048401526024830190620070b3565b03915afa908115620070245760009162007452575b50601b55565b906020823d821162007480575b816200746e6020938362004c56565b81010312620003bd575051386200744c565b3d91506200745f565b620051e16200749762005b5d565b73ffffffffffffffffffffffffffffffffffffffff806016541660185460405191620074c38362004c1c565b82526020820152620074d5836200581c565b52620074e1826200581c565b506017541660195460405191620074f88362004c1c565b825260208201526200750a8262005859565b52620075168162005859565b50620070e9565b9081606091031262001b6b57805160ff8116810362001b6b57916040602083015192015190565b92917fff0000000000000000000000000000000000000000000000000000000000000091604051946020860152604085015216606083015260418252620051e18262004c39565b6200759562006760565b50805190620075a48262004c98565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0620075e4604092620075db8451968762004c56565b80865262004c98565b0160005b818110620076a157505060005b825181101562007674578073ffffffffffffffffffffffffffffffffffffffff620076256200766e93866200587b565b5151166020806200763784886200587b565b51015190855192620076498462004c1c565b83528201526200765a82876200587b565b526200766781866200587b565b5062007085565b620075f5565b50905060644201908142116200589e57805192620076928462004bff565b83526000602084015282015290565b6020908351620076b18162004c1c565b6000815282600081830152828801015201620075e8565b60408051906122ca908183019267ffffffffffffffff9281851084861117620024905762007b82823980600094039084f0928315620078ca5773ffffffffffffffffffffffffffffffffffffffff92837fffffffffffffffffffffffff000000000000000000000000000000000000000095168560135416176013558251906112bf8083019280841083851117620078935760e08162009e4c958487833960608152600c60608201527f5465737420546f6b656e20410000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544100000000000000000000000000000000000000000000000000000000000060c082015260128982015203019085f08015620078c05786168760145416176014558451928184019284841090841117620078935791839160e093833960608152600c60608201527f5465737420546f6b656e20420000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544200000000000000000000000000000000000000000000000000000000000060c082015260128682015203019082f09182156200788957505016906015541617601555565b51903d90823e3d90fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b85513d86823e3d90fd5b9051903d90823e3d90fd5b6014549060009173ffffffffffffffffffffffffffffffffffffffff80911691823b1562001b705760405191807f40c10f1900000000000000000000000000000000000000000000000000000000928385521692836004820152858160448183680246ddf97976680000998a60248401525af18015620079a5576200798f575b5060155416803b15620012c4578492918360449260405196879586948552600485015260248401525af18015620060025762005b08575050565b6200799d9095919562004bea565b933862007955565b6040513d88823e3d90fd5b90737109709ecfa91a80626ff3989d68f67f5b1dd12d803b1562001b6b576040918251937f06447d5600000000000000000000000000000000000000000000000000000000855260009473ffffffffffffffffffffffffffffffffffffffff8092166004820152858160248183885af18015620027715762007b69575b50908185926014541691855191807f095ea7b3000000000000000000000000000000000000000000000000000000009283855216928360048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94856024830152816044816020998a945af1801562004ba457604492879594928b9262007b47575b5060155416895196879586948552600485015260248401525af1801562000f325762007b24575050803b1562001b74579082809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c0575062005b08575050565b8162007b3e92903d1062002d645762002d52818362004c56565b503880620065d6565b62007b6190873d891162002d645762002d52818362004c56565b503862007ab1565b62007b78909591929562004bea565b93903862007a2d56fe60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a5578260405251902060805261220990816100c18239608051816118b0015260a0518161188a0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db146110c8578063137c29fe14610eef5780632a2d80d114610c4f5780632b67b57014610a9457806330f28b7a146109b25780633644e5151461098f57806336c78516146109385780633ff9dcb1146108d65780634fe02b441461088b57806365d9723c1461071657806387517c4514610602578063927da10514610569578063cc53287f14610467578063edd9444b1461031c5763fe8ec1a7146100c657600080fd5b346103185760c06003193601126103185767ffffffffffffffff8335818111610314576100f6903690860161146b565b6024358281116103105761010d903690870161143a565b610115611324565b9160843585811161030c5761012d9036908a016113e1565b98909560a43590811161030857610146913691016113e1565b9690958151906101558261123d565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610204602085018096611cfc565b918237018a8152039961023d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611275565b5190209085515161024d81611c24565b908a5b8181106102db5750506102d8999a6102cf91835161028281610276602082018095611ccf565b03848101835282611275565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611275565b51902093611a60565b80f35b806102f36102ed610303938c5161157e565b51611dbd565b6102fd828661157e565b52611c73565b610250565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103185760806003193601126103185767ffffffffffffffff9080358281116103145761034f903690830161146b565b60243583811161031057610366903690840161143a565b939092610371611324565b9160643590811161046357610388913691016113e1565b9490938351519761039889611c24565b98885b8181106104415750506102d8979881516103e9816103bd602082018095611ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611275565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102cf81611259565b808b6102fd826104586102ed61045e968d5161157e565b9261157e565b61039b565b8680fd5b50823461056557602090816003193601126103145780359067ffffffffffffffff82116103105761049a9136910161143a565b929091845b8481106104aa578580f35b806104c06104bb60019388886116d5565b6116e5565b6104d5846104cf848a8a6116d5565b016116e5565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a20161049f565b8280fd5b5034610318576060600319360112610318576105fe816105876112de565b93610590611301565b610598611324565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103185760806003193601126103185761061c6112de565b90610625611301565b9161062e611324565b65ffffffffffff926064358481169081810361030c5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c2094861560001461070e57504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b9050926106ed565b508234610565576060600319360112610565576107316112de565b9061073a611301565b9265ffffffffffff604435818116939084810361030c57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156108635761ffff90858403161161083c5750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b50346103185780600319360112610318578060209273ffffffffffffffffffffffffffffffffffffffff6108bd6112de565b1681528084528181206024358252845220549051908152f35b5082346105655781600319360112610565577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b823461098c57608060031936011261098c576109526112de565b61095a611301565b610962611324565b6064359173ffffffffffffffffffffffffffffffffffffffff83168303610310576102d8936115c1565b80fd5b50346103185781600319360112610318576020906109ab611887565b9051908152f35b5082903461056557610100600319360112610565576109d036611368565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610a026112b6565b9160e43567ffffffffffffffff8111610a90576102d894610a25913691016113e1565b939092610a328351611dbd565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610a8781611259565b5190209161198e565b8580fd5b5091346103185761010060031936011261031857610ab06112de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610314576080855191610ae983611221565b1261031457845190610afa826111d6565b73ffffffffffffffffffffffffffffffffffffffff916024358381168103610463578152604435838116810361046357602082015265ffffffffffff606435818116810361030c57888301526084359081168103610463576060820152815260a435938285168503610a90576020820194855260c4359087830182815260e43567ffffffffffffffff811161030857610b9690369084016113e1565b929093804211610c20575050918591610c106102d8999a610c1695610bbb8851611d27565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610c088161123d565b519020611942565b91611e30565b5192511691611706565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b50913461031857606060031993818536011261031457610c6d6112de565b9260249081359267ffffffffffffffff9788851161030c57859085360301126104635780519785890189811082821117610ec4578252848301358181116103085785019036602383011215610308578382013591610cca8361140f565b90610cd785519283611275565b838252602093878584019160071b83010191368311610ec0578801905b828210610e63575050508a526044610d0d868801611347565b96838c01978852013594838b0191868352604435908111610e5f57610d3590369087016113e1565b959096804211610e34575050508998995151610d5081611c24565b908b5b818110610e1157505092889492610c1092610dde97958351610d7c816103bd8682018095611ccf565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610c088161123d565b51169082515192845b848110610df2578580f35b80610e0b8585610e05600195875161157e565b51611706565b01610de7565b806102f3610e268e9f9e93610e2c945161157e565b51611d27565b9b9a9b610d53565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b608082360312610ec057856080918851610e7c816111d6565b610e8585611347565b8152610e92838601611347565b83820152610ea18a8601611427565b8a8201528d610eb1818701611427565b90820152815201910190610cf4565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105655761014060031936011261056557610f0c36611368565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610f3e6112b6565b67ffffffffffffffff93906101043585811161046357610f6190369086016113e1565b90936101243596871161030c57610f81610a87966102d8983691016113e1565b969095825190610f908261123d565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c00000000000000000000000000000000000000000000000000000000608083015283519485918161103f602085018096611cfc565b918237018b815203936110787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611275565b519020926110868651611dbd565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102c3565b5082346105655760208060031936011261031457813567ffffffffffffffff92838211610a905736602383011215610a9057810135928311610310576024906007368386831b8401011161046357865b858110611123578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8336030112610308576111d088876001946060835161116a816111d6565b6111a6608461117a8d8601611347565b9485845261118a60448201611347565b809785015261119b60648201611347565b809885015201611347565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166115c1565b01611118565b6080810190811067ffffffffffffffff8211176111f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176111f257604052565b60a0810190811067ffffffffffffffff8211176111f257604052565b60c0810190811067ffffffffffffffff8211176111f257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176111f257604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6003190190608082126112d957604080519061138382611221565b808294126112d957805181810181811067ffffffffffffffff8211176111f257825260043573ffffffffffffffffffffffffffffffffffffffff811681036112d9578152602435602082015282526044356020830152606435910152565b9181601f840112156112d95782359167ffffffffffffffff83116112d957602083818601950101116112d957565b67ffffffffffffffff81116111f25760051b60200190565b359065ffffffffffff821682036112d957565b9181601f840112156112d95782359167ffffffffffffffff83116112d9576020808501948460061b0101116112d957565b9190916060818403126112d957604080519161148683611221565b8294813567ffffffffffffffff908181116112d957830182601f820112156112d95780356114b38161140f565b926114c087519485611275565b818452602094858086019360061b850101938185116112d9579086899897969594939201925b848410611503575050505050855280820135908501520135910152565b9091929394959697848303126112d9578851908982019082821085831117611550578a928992845261153487611347565b81528287013583820152815201930191908897969594936114e6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156115925760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c168042116116a4575082871696838803611632575b50506116309550169261211c565b565b878484161160001461166f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846116309a031691161790553880611622565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b91908110156115925760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036112d95790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c0361185e57918561183794927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec9897969450871560001461183c5779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff0000000000000000000000000000000000000000876117c9565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f0000000000000000000000000000000000000000000000000000000000000000036118d2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261193c8161123d565b51902090565b61194a611887565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261193c816111d6565b9192909360a435936040840151804211611a2f57506020845101518086116119fe5750918591610c106119ce946119c9602088015186611bb0565b611942565b73ffffffffffffffffffffffffffffffffffffffff80915151169260843591821682036112d9576116309361211c565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611b805750848803611b5757611a97918691610c1060209b6119c98d88015186611bb0565b60005b868110611aab575050505050505050565b611ab681835161157e565b5188611ac383878a6116d5565b01359089810151808311611b27575091818888886001968596611aed575b50505050505001611a9a565b611b1c95611b169273ffffffffffffffffffffffffffffffffffffffff6104bb935116956116d5565b9161211c565b803888888883611ae1565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611bfa57565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611c2e8261140f565b611c3b6040519182611275565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611c69829461140f565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ca05760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611ce8575050505090565b835185529381019392810192600101611cda565b9081519160005b838110611d14575050016000815290565b8060208092840101518185015201611d03565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176111f25760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff8151166040840152015160608201526060815261193c816111d6565b91908260409103126112d9576020823592013590565b6000843b611f97575060418203611f1557611e4d82820182611e1a565b939092604010156115925760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa15611f095773ffffffffffffffffffffffffffffffffffffffff8060005116918215611edf571603611eb557565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203611f6d57611f2991810190611e1a565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611ca05760209360009360ff608094611e6b565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa908115612111578291612093575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361206957565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211612109575b816120ad60209383611275565b810103126103185751907fffffffff000000000000000000000000000000000000000000000000000000008216820361098c57507fffffffff00000000000000000000000000000000000000000000000000000000903861203d565b3d91506120a0565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561217557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea2646970667358221220c798ba34bd41ccb33394477f24cca6191c4fc58c8e7d9adae8e27920b835ff1d64736f6c6343000811003360e0604090808252346200043c57620012bf803803809162000022828562000441565b833981016060828203126200043c5781516001600160401b0393908481116200043c57826200005391850162000465565b92602092838201518681116200043c5783916200007291840162000465565b91015160ff811681036200043c578451948686116200042657600095806200009b8854620004dc565b92601f93848111620003d5575b5087908483116001146200036d57899262000361575b50508160011b916000199060031b1c19161786555b8251908782116200034d578190600194620000ef8654620004dc565b828111620002f8575b50879183116001146200029457889262000288575b5050600019600383901b1c191690831b1782555b6080524660a052815184549181866200013a85620004dc565b92838352878301958882821691826000146200026857505060011462000228575b506200016a9250038262000441565b519020928151928301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8552828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401524660808401523060a084015260a0835260c08301948386109086111762000214575083905251902060c052610da590816200051a82396080518161077e015260a05181610b97015260c05181610bbe0152f35b634e487b7160e01b81526041600452602490fd5b8791508880528189209089915b8583106200024f5750506200016a9350820101386200015b565b8054838801850152869450899390920191810162000235565b60ff191688526200016a95151560051b85010192503891506200015b9050565b0151905038806200010d565b8589528789208694509190601f1984168a5b8a828210620002e15750508411620002c7575b505050811b01825562000121565b015160001960f88460031b161c19169055388080620002b9565b8385015186558997909501949384019301620002a6565b909192508589528789208380860160051c8201928a871062000343575b91869589929594930160051c01915b82811062000334575050620000f8565b8b815586955088910162000324565b9250819262000315565b634e487b7160e01b87526041600452602487fd5b015190503880620000be565b898052888a209250601f1984168a5b8a828210620003be575050908460019594939210620003a4575b505050811b018655620000d3565b015160001960f88460031b161c1916905538808062000396565b60018596829396860151815501950193016200037c565b9091508880528789208480850160051c8201928a86106200041c575b9085949392910160051c01905b8181106200040d5750620000a8565b8a8155849350600101620003fe565b92508192620003f1565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200042657604052565b919080601f840112156200043c578251906001600160401b038211620004265760405191602091620004a1601f8301601f191684018562000441565b8184528282870101116200043c5760005b818110620004c857508260009394955001015290565b8581018301518482018401528201620004b2565b90600182811c921680156200050e575b6020831014620004f857565b634e487b7160e01b600052602260045260246000fd5b91607f1691620004ec56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c6343000811003360a034620000ce57601f6200306c38819003918201601f19168301916001600160401b03831184841017620000d3578084926040948552833981010312620000ce5780516001600160a01b03918282168203620000ce5760200151918216809203620000ce57600080546001600160a01b03191683178155604051929033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600255608052612f829081620000ea823960805181818161038901528181611f5c01526124be0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610013575b600080fd5b60003560e01c8063061ab0bc1461016757806312261ee71461015e578063186799a4146101555780631bd747a21461014c578063323a5e0b14610143578063330994051461013a5780633d3e73d7146101315780635541e684146101285780636cc6cde11461011f5780638135fe23146101165780638da5cb5b1461010d5780638f34a85914610104578063a37ee28c146100fb578063ab4f5678146100f2578063ac41b751146100e9578063af0f9df3146100e05763f2fde38b146100d857600080fd5b61000e6117f0565b5061000e6116ac565b5061000e61157f565b5061000e611425565b5061000e611307565b5061000e611129565b5061000e6110f4565b5061000e610f2c565b5061000e610ef7565b5061000e610e3c565b5061000e610b52565b5061000e610a5e565b5061000e610908565b5061000e6107fa565b5061000e6103ad565b5061000e61035b565b503461000e57602060031936011261000e57600435610190816000526006602052604060002090565b61019981612a4d565b6101aa6101a63383612b0e565b1590565b610326576001906102b96101bc61206c565b916101ea33600883019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9260006002850161022560068254950160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6102576003870160047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b556102b3604061029761027e845173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b92015173ffffffffffffffffffffffffffffffffffffffff1690565b90612717565b0154817ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806102fa3395826020600491939293604081019481520152565b0390a333907fb67e3ac5aa7b56d61e366985ea94be26db935eca5c55e0359fd36c5852b6fa39600080a3005b60046040517f3b278a7a000000000000000000000000000000000000000000000000000000008152fd5b600091031261000e57565b503461000e57600060031936011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461000e57602060031936011261000e576004356103d0600160025414611e01565b600280556103e8816000526006602052604060002090565b6103f061206c565b906103fd6101a682612af0565b6105245761040e6101a63383612b0e565b610326576104d7916104b561044633600885019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b600181019361048b60038654936000600282018181549a55550160037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6104b061027e60033393015473ffffffffffffffffffffffffffffffffffffffff1690565b612717565b6104b061027e33925173ffffffffffffffffffffffffffffffffffffffff1690565b604051907ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b63392806105158190600360206040840193600081520152565b0390a36105226001600255565b005b60046040517fa3b1c9de000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc606091011261000e57602490565b9081606091031261000e5790565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176105d757604052565b6105df61058b565b604052565b6060810190811067ffffffffffffffff8211176105d757604052565b60c0810190811067ffffffffffffffff8211176105d757604052565b6080810190811067ffffffffffffffff8211176105d757604052565b67ffffffffffffffff81116105d757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d757604052565b6040519061069a82610600565b565b6040519061069a826105bb565b6040519061069a8261061c565b60209067ffffffffffffffff81116106d0575b60051b0190565b6106d861058b565b6106c9565b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c604091011261000e5760405190610732826105bb565b8160643561073f816106dd565b81526020608435910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc604091011261000e5760405190610782826105bb565b8160243561078f816106dd565b81526020604435910152565b919082604091031261000e576040516107b3816105bb565b602080829480356107c3816106dd565b84520135910152565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020838186019501011161000e57565b503461000e5760031960808136011261000e5767ffffffffffffffff9060243582811161000e5761082f90369060040161057d565b6044359183831161000e57606090833603011261000e576040805192610854846105e4565b806004013585811161000e5781013660238201121561000e5760048101359061087c826106b6565b906108898551928361064c565b82825260209260248484019160061b8301019136831161000e576024879101915b8383106108ef5750505090865250602482013590850152604401359083015260643592831161000e576108e46105229336906004016107cc565b929091600435611e66565b85906108fb368561079b565b81520191019086906108aa565b503461000e57600060031936011261000e57606073ffffffffffffffffffffffffffffffffffffffff80600354169060045490600554169060405192835260208301526040820152f35b507f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90600482101561098f5752565b610997610952565b52565b602080825282518183015280830151604083015260408301519060c060608401528151918260e085015260005b838110610a4957505050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe091610a4260a0610100966000888589010152610a2d6060820151608089019073ffffffffffffffffffffffffffffffffffffffff169052565b608081015182880152015160c0860190610982565b0116010190565b818101830151858201610100015282016109c7565b503461000e57602060031936011261000e57600060a0604051610a8081610600565b828152826020820152606060408201528260608201528260808201520152610b4e610ab76004356000526006602052604060002090565b610b42815491600181015490610b34610ae7600383015473ffffffffffffffffffffffffffffffffffffffff1690565b610b126002600485015494610afb816127e6565b96610b0461068d565b998a5260208a0152016118d6565b604087015273ffffffffffffffffffffffffffffffffffffffff166060860152565b608084015260a08301611999565b6040519182918261099a565b0390f35b503461000e5760408060031936011261000e57600480359167ffffffffffffffff916024359183831161000e573660238401121561000e578282013593841161000e576024830192602436918660061b01011161000e57610bcb61027e60015473ffffffffffffffffffffffffffffffffffffffff1690565b3303610e1657610be5856000526006602052604060002090565b92610bf76101a6600686015460ff1690565b610def57610c0484612af0565b610dc857600090600785019081548703610d9f57825b878110610c80575050508284015403610c5a575050600501557fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b517f595fa923000000000000000000000000000000000000000000000000000000008152fd5b610cad610c8d8285611ac9565b905473ffffffffffffffffffffffffffffffffffffffff9160031b1c1690565b610cc361027e610cbe848c876127c8565b611ba3565b73ffffffffffffffffffffffffffffffffffffffff80921603610d775790888a7ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6610d7294610d24610d1e610d1987878b6127c8565b612696565b8d612da4565b610d3e6020998a610d3688888c6127c8565b01359061270a565b98610d5886610d51610cbe82898d6127c8565b968a6127c8565b8b51910135815260026020820152931692604090a3611a5f565b610c1a565b8686517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b505050517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b50517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b50517f4e16946c000000000000000000000000000000000000000000000000000000008152fd5b517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b503461000e5761010060031936011261000e5760407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261000e5760807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c36011261000e57604051610eaf816105e4565b610eb8366106fb565b815260a435602082015260c435604082015260e4359067ffffffffffffffff821161000e57610eee6105229236906004016107cc565b91600435612388565b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b503461000e57602060031936011261000e57600435610f55816000526006602052604060002090565b610f5e81612a4d565b610f6b6101a63383612b0e565b6103265760088101906002610fad6003610fa533869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b015460ff1690565b610fb6816114e0565b146110ca57600161105461109d9361101f6003610ff333849073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0160027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6005840161102d81546126fc565b90553373ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0154837ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806110953395826020600291939293604081019481520152565b0390a3612af0565b6110a357005b7fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b60046040517faf20ef4a000000000000000000000000000000000000000000000000000000008152fd5b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b503461000e576040600319818136011261000e576004359067ffffffffffffffff821161000e5760808260040191833603011261000e5760248201359081156112de5783513060208201908152823560408301819052602435606084015292916111be81608081015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261064c565b519020936111d6856000526006602052604060002090565b916001830180546112b5578361129861129088958895610b4e9c9a6112a4968d9b7ff7cbeac7c87f7e00fcf9440cf10b123fb3d766366a39eeb572c219c8eac3ab469b555561128b6064604484019361123c6112328686611bad565b9060028b01611c52565b0195600361124988611ba3565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b611bad565b919092611ba3565b91885195869586611dc0565b0390a2519081529081906020820190565b600488517fd8876c2d000000000000000000000000000000000000000000000000000000008152fd5b600484517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b503461000e57604060031936011261000e5760043560243567ffffffffffffffff811161000e5761133c90369060040161057d565b9061134b600160025414611e01565b600280558060005260066020526113f1604060002061136b33858361292f565b61137361206c565b80516113a19060209073ffffffffffffffffffffffffffffffffffffffff16920191825190309033906121e6565b6113d860206113ca61027e600386015473ffffffffffffffffffffffffffffffffffffffff1690565b9601358096309033906121e6565b6113e061069c565b338152908560208301525191612ca2565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf70908060208101610515565b503461000e57602060031936011261000e57600435611443816106dd565b73ffffffffffffffffffffffffffffffffffffffff90816000541633036114b65716807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b600511156114ea57565b61069a610952565b90600582101561098f5752565b60208082019080835283518092528060408094019401926000905b83821061152957505050505090565b9091929394836080600192611572895173ffffffffffffffffffffffffffffffffffffffff815116835284810151858401528681015187840152606080910151908301906114f2565b019601949392019061151a565b503461000e5760208060031936011261000e576115a86004356000526006602052604060002090565b60078101918254916115b9836119a5565b93600860009201915b8481106115d75760405180610b4e88826114ff565b806116196116146115ee610c8d6116a79587611ac9565b869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b611afb565b61168c61163a825173ffffffffffffffffffffffffffffffffffffffff1690565b9187810151906040808201519060608093015193611657856114e0565b61167e6116626106a9565b73ffffffffffffffffffffffffffffffffffffffff9098168852565b8b8701528501528301611aef565b6116968289611b72565b526116a18188611b72565b50611a5f565b6115c2565b503461000e57608060031936011261000e576004356116ca816106dd565b6116d33661054e565b9073ffffffffffffffffffffffffffffffffffffffff91826000541633036114b65760408161174a61179e9335611709816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b6020810135600455013561175d816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006005541617600555565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b503461000e57602060031936011261000e5760043561180e816106dd565b600090815473ffffffffffffffffffffffffffffffffffffffff80821633036114b6577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b90600182811c921680156118cc575b602083101461189d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611892565b90604051918260008254926118ea84611883565b9081845260019485811690816000146119575750600114611914575b505061069a9250038361064c565b9093915060005260209081600020936000915b81831061193f57505061069a93508201013880611906565b85548884018501529485019487945091830191611927565b905061069a9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611906565b600482101561098f5752565b906119af826106b6565b6040906119be8251918261064c565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06119ec82956106b6565b019160005b8381106119fe5750505050565b6020908251611a0c8161061c565b6000815282600081830152600085830152600060608301528286010152016119f1565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a8d570190565b611a95611a2f565b0190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015611ae2575b60005260206000200190600090565b611aea611a99565b611ad3565b600582101561098f5752565b9061069a604051611b0b8161061c565b606060ff6003839673ffffffffffffffffffffffffffffffffffffffff815416855260018101546020860152600281015460408601520154169101611aef565b602090805115611b59570190565b611a95611a99565b604090805160011015611b59570190565b6020918151811015611b87575b60051b010190565b611b8f611a99565b611b7f565b602435611ba0816106dd565b90565b35611ba0816106dd565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e5760200191813603831361000e57565b90601f8111611c0c57505050565b600091825260208220906020601f850160051c83019410611c48575b601f0160051c01915b828110611c3d57505050565b818155600101611c31565b9092508290611c28565b90929167ffffffffffffffff8111611d74575b611c7981611c738454611883565b84611bfe565b6000601f8211600114611cd05781929394600092611cc5575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916179055565b013590503880611c92565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0821694611d0384600052602060002090565b91805b878110611d5c575083600195969710611d24575b505050811b019055565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080611d1a565b90926020600181928686013581550194019101611d06565b611d7c61058b565b611c65565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b939260609373ffffffffffffffffffffffffffffffffffffffff93611dfa9398979887526020870152608060408701526080860191611d81565b9416910152565b15611e0857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152fd5b92939093611e78600160025414611e01565b60028055611e90846000526006602052604060002090565b91611e9c33878561292f565b611ea461206c565b95611ecd611eb28651611b4b565b515173ffffffffffffffffffffffffffffffffffffffff1690565b90611eef61027e895173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff8093160361204257611f19611eb28751611b61565b82611f3e61027e600389015473ffffffffffffffffffffffffffffffffffffffff1690565b91160361204257602080910135970192611f59845189612b70565b917f000000000000000000000000000000000000000000000000000000000000000016803b1561000e57611fdf9660008094611fc6604051978896879586947fedd9444b00000000000000000000000000000000000000000000000000000000865233916004870161210a565b03925af18015612035575b61201c575b506113e061069c565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf709080602081015b0390a361069a6001600255565b8061202961202f92610638565b80610350565b38611fd6565b61203d6121d9565b611fd1565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60405190612079826105e4565b81604073ffffffffffffffffffffffffffffffffffffffff80600354168352600454602084015260055416910152565b90815180825260208080930193019160005b8281106120c9575050505090565b90919293826040826120fe60019489516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019501939291016120bb565b9095949293916080825260e082019680519060606080850152815180995261010084019860208093019060005b818110612199575050509761218c928260408b61216d95611ba09c9d015160a0890152015160c0870152858303908601526120a9565b73ffffffffffffffffffffffffffffffffffffffff9095166040830152565b6060818503910152611d81565b90919a846040826121ce8f94600195516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019c01929101612137565b506040513d6000823e3d90fd5b9291906040519261226f6020808601957f23b872dd000000000000000000000000000000000000000000000000000000008752612257816111928689896024850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b60009687915190828a5af185516001143d1517161590565b61227b575b5050505050565b6122849061233d565b936e22d473030f116ddee9f6b43ac78ba391823b15612339576040517f36c7851600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152938116602485015294851660448401529093166064820152918290608490829084905af1801561232c575b612319575b80808080612274565b8061202961232692610638565b38612310565b6123346121d9565b61230b565b8480fd5b73ffffffffffffffffffffffffffffffffffffffff9081811161235e571690565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b919092612399600160025414611e01565b600280556123b1836000526006602052604060002090565b936123bb85612a4d565b6123cf6101a66123c9611b94565b87612b0e565b6103265761240a6116146123e1611b94565b600888019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9060608201916002835161241d816114e0565b612426816114e0565b146110ca57602001958651966044358098116125bb576124479051886125e5565b93612468835173ffffffffffffffffffffffffffffffffffffffff90511690565b9461248d61027e600385015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff80971603612042576124b261069c565b308152906020820152857f00000000000000000000000000000000000000000000000000000000000000001696873b1561000e577ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b697612577956000809461254b604051978896879586947f30f28b7a0000000000000000000000000000000000000000000000000000000086523391600487016125fa565b03925af180156125ae575b61259b575b50825190612568826114e0565b6125713661074b565b90612ebc565b61200f612582611b94565b915161258d816114e0565b6040519384931696836126a1565b806120296125a892610638565b3861255b565b6125b66121d9565b612556565b60046040517fc52e3eff000000000000000000000000000000000000000000000000000000008152fd5b919082039182116125f257565b61069a611a2f565b919261267f611ba09694604073ffffffffffffffffffffffffffffffffffffffff946126478782516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b602081810151888401529101516060870152815173ffffffffffffffffffffffffffffffffffffffff166080870152015160a0850152565b1660c0820152610100908160e08201520191611d81565b611ba090369061079b565b90815260408101929161069a91602001906114f2565b9060058110156126ef575b60ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116179055565b6126f7610952565b6126c2565b90600182018092116125f257565b919082018092116125f257565b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561276a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b91908110156127d9575b60061b0190565b6127e1611a99565b6127d2565b600781015480156128175760058201541015612811576006015460ff1661280c57600190565b600390565b50600290565b506001015461284a5760046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b600090565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161000e5760209260051b809284830137010190565b919082526040602083015273ffffffffffffffffffffffffffffffffffffffff81356128b7816106dd565b1660408301526020810135606083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561000e57016020813591019067ffffffffffffffff811161000e578060051b3603821361000e5760a08360606080611ba0960152019161284f565b9161293983612a4d565b6129438184612b0e565b612a235773ffffffffffffffffffffffffffffffffffffffff61296861027e84611ba3565b9116036129f95760017317c1e395fe81a90af2d0289a009317d5acb98f9f92015490823b1561000e576129cd926000926040518095819482937fba5d2c340000000000000000000000000000000000000000000000000000000084526004840161288c565b03915af480156129ec575b6129df5750565b8061202961069a92610638565b6129f46121d9565b6129d8565b60046040517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6d9bf6df000000000000000000000000000000000000000000000000000000008152fd5b600181015415612ac65760ff600682015416612a9c57612a6c90612af0565b612a7257565b60046040517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b60046040517f03144514000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b60078101548015159182612b0357505090565b600501541015919050565b90600782015415159182612b2157505090565b819250612b6860089273ffffffffffffffffffffffffffffffffffffffff938493019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b541691161490565b919091604090815191612b82836105e4565b600283526000805b828110612be8575050908291612be59395815190612ba7826105bb565b3082526020820152612bb884611b4b565b52612bc283611b4b565b505190612bce826105bb565b3082526020820152612bdf82611b61565b52611b61565b50565b6020908351612bf6816105bb565b838152828481830152828801015201612b8a565b6003606061069a93612c6e73ffffffffffffffffffffffffffffffffffffffff825116859073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60208101516001850155604081015160028501550151916005831015612c95575b016126b7565b612c9d610952565b612c8f565b91600490612d88612d93936007860173ffffffffffffffffffffffffffffffffffffffff90612cef828451169180549068010000000000000000821015612d97575b600182018155611ac9565b909283549160031b90811b9283911b16911916179055612d836123e1612d29835173ffffffffffffffffffffffffffffffffffffffff1690565b9260208101958651612d58612d3c6106a9565b73ffffffffffffffffffffffffffffffffffffffff9097168752565b60208601526040850152600160608501525173ffffffffffffffffffffffffffffffffffffffff1690565b612c0a565b51920191825461270a565b9055565b612d9f61058b565b612ce4565b906003600861069a93019173ffffffffffffffffffffffffffffffffffffffff92612df284835116829073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b612e9f8584511695612e5b600260208701519401549460405198612e158a61061c565b895260208901948552604089019586528260608a0197612e358960029052565b511673ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b965116869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b51600185015551600284015551916005831015612c9557016126b7565b61069a926008600392019273ffffffffffffffffffffffffffffffffffffffff612e9f612f0c82845116879073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b91612e5b81855116978260026020880151960154966040519a612f2e8c61061c565b8b5260208b0196875260408b01978852612e3560608c01998a611aef56fea2646970667358221220a130025eb7faee115b926ae2dacac846043b74762eabf218d7af687e916f583764736f6c63430008110033a26469706673582212209c590f76cbdc66e52f387c44e90ab8384493801cb81d023399d49edaa5fcfc5864736f6c6343000811003360808060405234610016576109cb908161001c8239f35b600080fdfe60806040526004361015610013575b600080fd5b6000803560e01c9081632e08d6021461008e5750806358161a4214610085578063b86161951461007c578063cf06c7b714610073578063dd1d25991461006a5763e27d51531461006257600080fd5b61000e610540565b5061000e610500565b5061000e6104bb565b5061000e610389565b5061000e6102bc565b346101b65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b65760043567ffffffffffffffff81116101b2576100dd903690600401610261565b6001808251111561012e57805b610110575b61010c6100fb836105c2565b516040519081529081906020820190565b0390f35b80825111156101295761012381926106e1565b916100ea565b6100ef565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f776f6e27742067656e657261746520726f6f7420666f722073696e676c65206c60448201527f65616600000000000000000000000000000000000000000000000000000000006064820152fd5b5080fd5b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761022d57604052565b6102356101b9565b604052565b60209067ffffffffffffffff8111610254575b60051b0190565b61025c6101b9565b61024d565b9080601f8301121561000e5781359061028161027c8361023a565b6101e9565b9182938184526020808095019260051b82010192831161000e578301905b8282106102ad575050505090565b8135815290830190830161029f565b503461000e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760243567ffffffffffffffff811161000e5761030c903690600401610261565b60443581516000925b81841061032b5760405160043584148152602090f35b909161034460019161033d86856105fe565b519061059f565b9301929190610315565b6020908160408183019282815285518094520193019160005b828110610375575050505090565b835185529381019392810192600101610367565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff811161000e576103d9903690600401610261565b602435906001906103ec82825111610612565b6103fe6103f98251610857565b61069c565b92600080845b610417575b6040518061010c888261034e565b8351858111156104b5578584939261047a9282808098161460001461048457506104637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8601886105fe565b5161046e828b6105fe565b525b0192841c946106e1565b9392919091610404565b8583019081036104a057508361049a828b6105fe565b52610470565b6104aa90886105fe565b5161049a828b6105fe565b50610409565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760206104f8600435610857565b604051908152f35b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760206104f860243560043561059f565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435806000815b610592576020925060405191806001811901161490038152f35b600192831c920182610578565b818110156105b6576000526020525b604060002090565b906000526020526105ae565b8051156105cf5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80518210156105cf5760209160051b010190565b1561061957565b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f776f6e27742067656e65726174652070726f6f6620666f722073696e676c652060448201527f6c656166000000000000000000000000000000000000000000000000000000006064820152fd5b906106a961027c8361023a565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06106d7829461023a565b0190602036910137565b90815160019081808216146000146107b5576107008282811c0161069c565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61072e818401876105fe565b5160008052602052610748604060002091855101856105fe565b525b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff839101925b8382106107835750929450505050565b826002916107a1610794858b6105fe565b5161033d8487018c6105fe565b6107ab82896105fe565b5201910190610773565b6107c081831c61069c565b9161074a565b90604082018092116107d457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b90602082018092116107d457565b90601082018092116107d457565b90600882018092116107d457565b90600482018092116107d457565b90600282018092116107d457565b90600182018092116107d457565b600181111561098f5760009080700100000000000000000000000000000000811015610984575b80680100000000000000006002921015610971575b64010000000081101561095e575b6201000081101561094b575b610100811015610938575b6010811015610925575b6004811015610913575b1015610903575b806108de8119610849565b1614806108fa575b156108ee5790565b6108f790610849565b90565b508015156108e6565b9061090d90610849565b906108d3565b61091f90821c9361083b565b926108cc565b6109329060041c9361082d565b926108c2565b6109459060081c9361081f565b926108b8565b6109589060101c93610811565b926108ad565b61096b9060201c93610803565b926108a1565b61097e9060401c936107c6565b92610893565b60809250821c61087e565b5060009056fea2646970667358221220650092d06c64a854998a58e5cd96f8e0448fd77fec5223c7c61572a2d37349dd64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE CALLVALUE PUSH3 0x1AB JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE PUSH1 0x1 PUSH3 0x5E79B7 PUSH1 0xE0 SHL SUB NOT DUP1 DUP5 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP6 ADD MSTORE SWAP1 SWAP3 SWAP1 PUSH1 0x20 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP2 DUP5 PUSH1 0x24 DUP2 DUP5 GAS STATICCALL SWAP4 DUP5 ISZERO PUSH3 0x17D JUMPI DUP7 SWAP5 PUSH3 0x187 JUMPI JUMPDEST POP PUSH1 0x16 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND OR SWAP1 SWAP2 SSTORE DUP6 MLOAD SWAP4 DUP5 MSTORE PUSH3 0xA11CE PUSH1 0x4 DUP6 ADD MSTORE SWAP4 SWAP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH1 0x24 SWAP1 DUP3 SWAP1 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x17D JUMPI DUP4 SWAP3 DUP8 SWAP3 PUSH3 0x149 JUMPI JUMPDEST POP POP AND DUP3 PUSH1 0x17 SLOAD AND OR PUSH1 0x17 SSTORE PUSH8 0x1BC16D674EC80000 PUSH1 0x18 SSTORE PUSH8 0xDE0B6B3A7640000 PUSH1 0x19 SSTORE DUP3 MLOAD PUSH2 0x9E7 DUP1 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP4 GT OR PUSH3 0x135 JUMPI SWAP1 DUP3 SWAP2 PUSH3 0xE3B8 DUP4 CODECOPY SUB SWAP1 DUP6 CREATE DUP1 ISZERO PUSH3 0x128 JUMPI PUSH2 0xB055 SWAP4 SWAP5 POP AND DUP2 PUSH1 0x1A SLOAD AND OR PUSH1 0x1A SSTORE PUSH1 0x1F SLOAD AND OR PUSH1 0x1F SSTORE MLOAD PUSH2 0xE1AC SWAP1 DUP2 PUSH3 0x20C DUP3 CODECOPY RETURN JUMPDEST POP POP POP MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST PUSH3 0x16D SWAP3 POP DUP1 RETURNDATASIZE LT PUSH3 0x175 JUMPI JUMPDEST PUSH3 0x164 DUP2 DUP4 PUSH3 0x1B0 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x1EA JUMP JUMPDEST CODESIZE DUP1 PUSH3 0xAF JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x158 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x1A3 SWAP2 SWAP5 POP DUP3 RETURNDATASIZE DUP5 GT PUSH3 0x175 JUMPI PUSH3 0x164 DUP2 DUP4 PUSH3 0x1B0 JUMP JUMPDEST SWAP3 CODESIZE PUSH3 0x61 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x1D4 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH3 0x1AB JUMPI MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH3 0x1AB JUMPI SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x35C3DEB EQ PUSH3 0x49CB JUMPI POP DUP1 PUSH4 0x850CEEE EQ PUSH3 0x4703 JUMPI DUP1 PUSH4 0xA9254E4 EQ PUSH3 0x449C JUMPI DUP1 PUSH4 0xF7997CD EQ PUSH3 0x425A JUMPI DUP1 PUSH4 0x13AF3429 EQ PUSH3 0x40CD JUMPI DUP1 PUSH4 0x1B210293 EQ PUSH3 0x40A8 JUMPI DUP3 DUP2 PUSH4 0x222DCF4B EQ PUSH3 0x3F0B JUMPI POP DUP1 PUSH4 0x271F1809 EQ PUSH3 0x3E0F JUMPI DUP1 PUSH4 0x27ACEF53 EQ PUSH3 0x3A98 JUMPI DUP3 DUP2 PUSH4 0x28AEC530 EQ PUSH3 0x38F0 JUMPI POP DUP1 PUSH4 0x33BDCD90 EQ PUSH3 0x3658 JUMPI DUP1 PUSH4 0x3EB8B8FD EQ PUSH3 0x361C JUMPI DUP1 PUSH4 0x415E982D EQ PUSH3 0x35E0 JUMPI DUP1 PUSH4 0x44A45FFE EQ PUSH3 0x31F2 JUMPI DUP1 PUSH4 0x545B1A26 EQ PUSH3 0x3056 JUMPI DUP1 PUSH4 0x60F00D7E EQ PUSH3 0x2DF6 JUMPI DUP1 PUSH4 0x6302C3CF EQ PUSH3 0x2DBA JUMPI DUP1 PUSH4 0x638B79F8 EQ PUSH3 0x2A01 JUMPI DUP1 PUSH4 0x6E4F2775 EQ PUSH3 0x29C5 JUMPI DUP1 PUSH4 0x74FFBF9A EQ PUSH3 0x299D JUMPI DUP1 PUSH4 0x78F16830 EQ PUSH3 0x2961 JUMPI DUP1 PUSH4 0x7E333758 EQ PUSH3 0x293A JUMPI DUP1 PUSH4 0x83721647 EQ PUSH3 0x27B5 JUMPI DUP1 PUSH4 0xAC73B6CE EQ PUSH3 0x2509 JUMPI DUP1 PUSH4 0xB681CFFE EQ PUSH3 0x24EC JUMPI DUP1 PUSH4 0xB9959D78 EQ PUSH3 0x1E1A JUMPI DUP1 PUSH4 0xBA414FA6 EQ PUSH3 0x1DF1 JUMPI DUP1 PUSH4 0xC5BFAAE2 EQ PUSH3 0x1BB4 JUMPI DUP1 PUSH4 0xC5DF4F03 EQ PUSH3 0x1B78 JUMPI DUP1 PUSH4 0xCC8B3EAB EQ PUSH3 0x1A92 JUMPI DUP1 PUSH4 0xD34EB0D3 EQ PUSH3 0x184A JUMPI DUP1 PUSH4 0xD9B51FC4 EQ PUSH3 0x160F JUMPI DUP1 PUSH4 0xE2ACB0F8 EQ PUSH3 0x15F2 JUMPI DUP1 PUSH4 0xE6D9FF3D EQ PUSH3 0x15CA JUMPI DUP3 DUP2 PUSH4 0xE8A19796 EQ PUSH3 0x134F JUMPI DUP2 PUSH4 0xEA104A70 EQ PUSH3 0xF3C JUMPI POP DUP1 PUSH4 0xEB9E5A69 EQ PUSH3 0xA77 JUMPI DUP1 PUSH4 0xF5EF7B7E EQ PUSH3 0x637 JUMPI DUP3 DUP2 PUSH4 0xF73FE224 EQ PUSH3 0x43A JUMPI POP DUP1 PUSH4 0xFA7626D4 EQ PUSH3 0x417 JUMPI PUSH4 0xFE6688EB EQ PUSH3 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x233 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x23F DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x24A DUP3 PUSH3 0x6502 JUMP JUMPDEST PUSH3 0x254 PUSH3 0x6782 JUMP JUMPDEST SWAP3 SWAP2 SWAP4 PUSH1 0x17 SLOAD SWAP5 PUSH1 0x0 SWAP6 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP6 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x409 JUMPI PUSH3 0x3F3 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x3CD JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x391 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3A7 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x3B3 DUP3 SWAP2 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3BD JUMPI DUP1 DUP3 DUP1 RETURN JUMPDEST DUP1 REVERT JUMPDEST MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST PUSH3 0x3D8 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x342 JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST PUSH3 0x401 SWAP1 SWAP9 SWAP2 SWAP9 PUSH3 0x4BEA JUMP JUMPDEST SWAP7 CODESIZE PUSH3 0x2D3 JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0x458 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x17 SLOAD AND DUP1 DUP6 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE DUP3 DUP6 KECCAK256 PUSH3 0x4A8 DUP5 MLOAD SWAP2 PUSH3 0x491 DUP4 PUSH3 0x4BFF JUMP JUMPDEST DUP4 DUP4 MSTORE PUSH8 0x16345785D8A0000 PUSH1 0x20 DUP5 ADD MSTORE PUSH3 0x58CD JUMP JUMPDEST DUP5 DUP3 ADD MSTORE PUSH3 0x4B6 PUSH3 0x6782 JUMP JUMPDEST SWAP7 SWAP2 POP SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x630 JUMPI DUP7 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x409 JUMPI SWAP1 DUP10 SWAP2 PUSH3 0x618 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x4A361A4700000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x600 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP7 DUP1 SWAP5 PUSH3 0x5D8 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5ED JUMPI POP RETURN JUMPDEST PUSH3 0x5F8 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3BD JUMPI DUP1 RETURN JUMPDEST PUSH3 0x60B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 DUP10 PUSH3 0x58C JUMP JUMPDEST PUSH3 0x623 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3EF JUMPI DUP8 DUP11 PUSH3 0x51C JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST POP REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x654 PUSH3 0x5BAA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP4 DUP3 PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0xA6A JUMPI PUSH1 0xA0 SWAP2 DUP6 SWAP2 PUSH3 0xA43 JUMPI JUMPDEST POP PUSH3 0x767 DUP2 MLOAD SWAP4 PUSH3 0x6CD PUSH1 0x20 SWAP6 DUP7 SLOAD SWAP1 PUSH3 0x52D5 JUMP JUMPDEST PUSH3 0x6DF DUP6 DUP5 ADD MLOAD PUSH1 0x21 SLOAD SWAP1 PUSH3 0x540C JUMP JUMPDEST DUP6 DUP4 ADD MLOAD DUP7 MLOAD SWAP1 PUSH3 0x6FE DUP3 PUSH3 0x6F6 DUP2 PUSH3 0x4FB4 JUMP JUMPDEST SUB DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP8 MLOAD DUP8 DUP2 ADD SWAP1 PUSH3 0x729 DUP10 DUP3 DUP6 MLOAD PUSH3 0x71B DUP2 DUP8 DUP6 DUP11 ADD PUSH3 0x4CB1 JUMP JUMPDEST DUP2 ADD SUB DUP1 DUP5 MSTORE ADD DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 DUP9 MLOAD DUP9 DUP2 ADD SWAP1 PUSH3 0x749 DUP11 DUP3 DUP8 MLOAD PUSH3 0x71B DUP2 DUP8 DUP6 DUP13 ADD PUSH3 0x4CB1 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SUB PUSH3 0x8E9 JUMPI JUMPDEST POP POP PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x23 SLOAD DUP3 AND SWAP2 AND PUSH3 0x507D JUMP JUMPDEST ADD MLOAD SWAP2 PUSH1 0x4 DUP4 LT ISZERO PUSH3 0x8BC JUMPI DUP3 PUSH3 0x77E JUMPI DUP4 DUP1 RETURN JUMPDEST PUSH3 0x8A4 SWAP2 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD DUP4 DUP2 MSTORE PUSH1 0x2D DUP5 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B416772 DUP6 DUP3 ADD MSTORE PUSH32 0x65656D656E745374617475735D00000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x83B DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP8 ADD MSTORE DUP6 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP7 DUP8 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD SWAP4 DUP4 DUP6 SWAP5 DUP6 MSTORE DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP2 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x8B5 PUSH3 0x51E3 JUMP JUMPDEST CODESIZE DUP1 DUP1 DUP4 DUP1 RETURN JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0xA2E SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP11 MLOAD DUP11 DUP2 MSTORE PUSH1 0x24 DUP12 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B737472 DUP13 DUP3 ADD MSTORE PUSH32 0x696E675D00000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP9 MLOAD SWAP3 DUP10 DUP5 MSTORE PUSH3 0x9A6 DUP11 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP4 DUP1 DUP6 SUB DUP11 DUP3 ADD MSTORE DUP1 PUSH3 0x9DD PUSH32 0x280F4446B28A1372417DDA658D30B95B2992B12AC9C7F378535F29A97ACF3583 SWAP7 DUP8 SWAP5 PUSH3 0x5543 JUMP JUMPDEST SUB SWAP1 LOG1 DUP9 MLOAD SWAP2 DUP3 SWAP2 DUP11 DUP4 MSTORE PUSH3 0xA20 DUP12 DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB DUP12 DUP6 ADD MSTORE PUSH3 0x5543 JUMP JUMPDEST SUB SWAP1 LOG1 PUSH3 0xA3B PUSH3 0x51E3 JUMP JUMPDEST CODESIZE DUP1 PUSH3 0x753 JUMP JUMPDEST PUSH3 0xA63 SWAP2 POP RETURNDATASIZE DUP1 DUP8 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x4E7C JUMP JUMPDEST CODESIZE PUSH3 0x6B5 JUMP JUMPDEST POP POP POP MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0xA94 PUSH3 0x5BAA JUMP JUMPDEST PUSH3 0xA9F DUP2 PUSH3 0x613C JUMP JUMPDEST PUSH3 0xAAA DUP2 PUSH3 0x6651 JUMP JUMPDEST PUSH3 0xAB5 DUP2 PUSH3 0x6502 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 DUP5 DUP3 PUSH1 0x1D SLOAD AND DUP6 MLOAD SWAP3 DUP4 DUP1 SWAP3 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP8 PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0xF32 JUMPI PUSH1 0xA0 SWAP2 DUP7 SWAP2 PUSH3 0xF14 JUMPI JUMPDEST POP ADD MLOAD PUSH1 0x4 DUP2 LT ISZERO PUSH3 0xEE7 JUMPI PUSH1 0x3 DUP2 SUB PUSH3 0xDA5 JUMPI JUMPDEST POP DUP4 DUP2 PUSH1 0x1D SLOAD AND SWAP3 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0xA6A JUMPI DUP5 SWAP3 PUSH3 0xD7C JUMPI JUMPDEST POP PUSH1 0x60 PUSH3 0xB84 DUP4 PUSH3 0x581C JUMP JUMPDEST MLOAD PUSH3 0xBAB DUP4 PUSH1 0x16 SLOAD AND PUSH3 0xBA0 PUSH1 0x18 SLOAD SWAP2 DUP7 DUP6 MLOAD AND PUSH3 0x507D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MLOAD PUSH3 0x540C JUMP JUMPDEST ADD MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0xD4D JUMPI PUSH3 0xBDC PUSH3 0xBFC SWAP4 DUP3 PUSH3 0xC06 SWAP7 PUSH1 0x4 PUSH3 0xBEC SWAP6 SUB PUSH3 0xC09 JUMPI JUMPDEST POP POP PUSH3 0x5859 JUMP JUMPDEST MLOAD DUP3 PUSH1 0x17 SLOAD AND PUSH1 0x19 SLOAD SWAP2 PUSH3 0x6D88 JUMP JUMPDEST PUSH1 0x24 SLOAD PUSH1 0x26 SLOAD DUP3 AND SWAP2 AND PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x25 SLOAD SWAP1 PUSH3 0x540C JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 PUSH3 0xD32 SWAP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2C PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B506F73 DUP5 DUP3 ADD MSTORE PUSH32 0x6974696F6E5374617475735D0000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0xCC8 DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0xD45 PUSH3 0x51E3 JUMP JUMPDEST CODESIZE DUP1 PUSH3 0xBD4 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0xD9D SWAP2 SWAP3 POP RETURNDATASIZE DUP1 DUP7 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x570F JUMP JUMPDEST SWAP1 CODESIZE PUSH3 0xB76 JUMP JUMPDEST PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP6 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2D PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B416772 DUP8 DUP3 ADD MSTORE PUSH32 0x65656D656E745374617475735D00000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP4 MLOAD SWAP1 DUP5 DUP3 MSTORE PUSH3 0xE5F DUP6 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 DUP5 ADD MSTORE DUP3 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP4 DUP5 SWAP3 SUB SWAP1 LOG1 DUP5 MLOAD DUP1 SWAP2 DUP7 DUP3 MSTORE PUSH3 0xECD DUP8 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0xEE0 PUSH3 0x51E3 JUMP JUMPDEST CODESIZE PUSH3 0xB2C JUMP JUMPDEST PUSH1 0x24 DUP6 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0xF2B SWAP2 POP RETURNDATASIZE DUP1 DUP9 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0xB15 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0xF5A PUSH3 0x5EFA JUMP JUMPDEST SWAP1 PUSH3 0xF65 PUSH3 0x6BB1 JUMP JUMPDEST SWAP2 PUSH3 0xF77 PUSH1 0x19 SLOAD PUSH1 0x18 SLOAD SWAP1 PUSH3 0x5B4F JUMP JUMPDEST PUSH1 0x20 PUSH3 0xF84 DUP6 PUSH3 0x5859 JUMP JUMPDEST MLOAD ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x1337 JUMPI JUMPDEST POP POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D EXTCODESIZE ISZERO PUSH3 0x12E0 JUMPI DUP2 MLOAD PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x131F JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP4 MLOAD DUP1 SWAP3 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP2 DUP4 DUP2 PUSH3 0x1108 DUP11 DUP10 PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x1307 JUMPI JUMPDEST POP PUSH1 0x20 PUSH3 0x112A DUP6 PUSH3 0x581C JUMP JUMPDEST MLOAD ADD MSTORE PUSH1 0x18 SLOAD PUSH1 0x20 PUSH3 0x113D DUP6 PUSH3 0x5859 JUMP JUMPDEST MLOAD ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x12EF JUMPI JUMPDEST POP POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D EXTCODESIZE ISZERO PUSH3 0x12E0 JUMPI DUP2 MLOAD PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x12C8 JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1D SLOAD AND SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI PUSH3 0x5D8 SWAP4 DUP6 SWAP3 DUP4 DUP6 MLOAD DUP1 SWAP8 DUP2 SWAP6 DUP3 SWAP5 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH3 0x12D3 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x1263 JUMP JUMPDEST POP POP POP REVERT JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x12FA SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x11CD JUMP JUMPDEST PUSH3 0x1312 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x111C JUMP JUMPDEST PUSH3 0x132A SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x10AA JUMP JUMPDEST PUSH3 0x1342 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x1014 JUMP JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0x136D PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x1379 DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x1384 DUP3 PUSH3 0x6651 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x16 SLOAD AND SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP4 DUP5 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD SWAP1 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP10 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x15A8 JUMPI JUMPDEST POP POP DUP1 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 SWAP8 DUP9 DUP4 MSTORE DUP10 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x1590 JUMPI JUMPDEST POP POP DUP5 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH32 0xAF20EF4A00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP3 ADD MSTORE DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 DUP11 GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x156E JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI PUSH1 0x24 DUP7 SWAP3 DUP4 DUP7 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1560 JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x1548 JUMPI JUMPDEST POP POP DUP2 EXTCODESIZE ISZERO PUSH3 0x1544 JUMPI DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5ED JUMPI POP RETURN JUMPDEST POP POP REVERT JUMPDEST PUSH3 0x1553 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1544 JUMPI DUP3 DUP6 PUSH3 0x14F9 JUMP JUMPDEST DUP3 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH3 0x1579 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 DUP9 PUSH3 0x14C5 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x159B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 DUP9 PUSH3 0x1457 JUMP JUMPDEST PUSH3 0x15B3 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 DUP8 PUSH3 0x1402 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH3 0x15EC PUSH3 0x4BC6 JUMP JUMPDEST PUSH3 0x78D5 JUMP JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH3 0x76C8 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x162C PUSH3 0x5BAA JUMP JUMPDEST PUSH3 0x1637 DUP2 PUSH3 0x613C JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0x183E JUMPI PUSH1 0xA0 SWAP2 DUP5 SWAP2 PUSH3 0x1820 JUMPI JUMPDEST POP ADD MLOAD SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH3 0x17F3 JUMPI PUSH1 0x1 DUP3 SUB PUSH3 0x16B1 JUMPI DUP3 DUP1 RETURN JUMPDEST DUP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 PUSH3 0x17DA SWAP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2D PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B416772 DUP5 DUP3 ADD MSTORE PUSH32 0x65656D656E745374617475735D00000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0x1770 DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x17ED PUSH3 0x51E3 JUMP JUMPDEST CODESIZE DUP1 DUP3 DUP1 RETURN JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x1837 SWAP2 POP RETURNDATASIZE DUP1 DUP7 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x1696 JUMP JUMPDEST POP POP MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x1867 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x1873 DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x16 SLOAD AND SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP4 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP7 DUP8 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP2 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x1A70 JUMPI PUSH3 0x1A7A JUMPI JUMPDEST POP DUP5 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 DUP8 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP9 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1A70 JUMPI PUSH3 0x1A58 JUMPI JUMPDEST POP POP PUSH3 0x194D PUSH3 0x6782 JUMP JUMPDEST SWAP6 SWAP1 SWAP4 PUSH1 0x17 SLOAD SWAP8 PUSH1 0x0 SWAP9 DUP3 EXTCODESIZE ISZERO PUSH3 0x1A54 JUMPI DUP8 MLOAD SWAP2 DUP3 MSTORE DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x409 JUMPI PUSH3 0x1A3E JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x3CD JUMPI POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x391 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST PUSH3 0x1A4C SWAP1 SWAP9 SWAP2 SWAP9 PUSH3 0x4BEA JUMP JUMPDEST SWAP7 CODESIZE PUSH3 0x1981 JUMP JUMPDEST DUP10 DUP1 REVERT JUMPDEST PUSH3 0x1A63 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x1941 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x1A85 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x18F0 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x1B74 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x1B70 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH3 0x1B70 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH3 0x1AD8 DUP5 PUSH3 0x4C98 JUMP JUMPDEST SWAP4 PUSH3 0x1AE7 DUP5 MLOAD SWAP6 DUP7 PUSH3 0x4C56 JUMP JUMPDEST DUP1 DUP6 MSTORE PUSH1 0x24 DUP3 DUP7 ADD SWAP2 PUSH1 0x6 SHL DUP5 ADD ADD SWAP3 CALLDATASIZE DUP5 GT PUSH3 0x3C9 JUMPI PUSH1 0x24 ADD SWAP1 JUMPDEST DUP4 DUP3 LT PUSH3 0x1B18 JUMPI DUP7 PUSH3 0xC06 DUP8 PUSH3 0x70E9 JUMP JUMPDEST DUP5 DUP3 CALLDATASIZE SUB SLT PUSH3 0x3C9 JUMPI DUP5 MLOAD SWAP1 PUSH3 0x1B30 DUP3 PUSH3 0x4C1C JUMP JUMPDEST DUP3 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH3 0x1B6B JUMPI DUP3 DUP6 SWAP3 DUP9 SWAP5 MSTORE DUP3 DUP6 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH3 0x1B04 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x1BD1 PUSH3 0x5BAA JUMP JUMPDEST PUSH3 0x1BDC DUP2 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x1BE7 DUP2 PUSH3 0x6651 JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x16 SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP4 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP9 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x1DB7 JUMPI DUP4 SWAP2 PUSH3 0x1DD9 JUMPI JUMPDEST POP POP DUP1 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI DUP3 DUP1 SWAP2 PUSH1 0x24 DUP8 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP10 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x1DB7 JUMPI DUP4 SWAP2 PUSH3 0x1DC1 JUMPI JUMPDEST POP PUSH1 0x24 SWAP1 DUP3 PUSH1 0x1D SLOAD AND DUP7 MLOAD SWAP3 DUP4 DUP1 SWAP3 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP9 PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x1DB7 JUMPI PUSH3 0x1D36 SWAP2 PUSH3 0xBDC SWAP2 DUP6 SWAP2 PUSH3 0x1D99 JUMPI JUMPDEST POP PUSH3 0x1D30 PUSH3 0x1D20 DUP3 PUSH3 0x581C JUMP JUMPDEST MLOAD DUP6 PUSH1 0x16 SLOAD AND PUSH1 0x18 SLOAD SWAP2 PUSH3 0x6E8B JUMP JUMPDEST PUSH3 0x5859 JUMP JUMPDEST PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0x183E JUMPI PUSH1 0xA0 SWAP2 DUP5 SWAP2 PUSH3 0x1820 JUMPI POP ADD MLOAD SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH3 0x17F3 JUMPI PUSH1 0x1 DUP3 SUB PUSH3 0x16B1 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x1DB0 SWAP2 POP RETURNDATASIZE DUP1 DUP8 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x1D10 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x1DCC SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x413 JUMPI DUP2 CODESIZE PUSH3 0x1CBC JUMP JUMPDEST PUSH3 0x1DE4 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x413 JUMPI DUP2 CODESIZE PUSH3 0x1C67 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 PUSH3 0x1E11 PUSH3 0x4D60 JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x1E38 PUSH3 0x5BAA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH3 0x1E62 DUP2 PUSH1 0x23 SLOAD AND DUP3 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP1 PUSH3 0x1E6E DUP4 PUSH3 0x613C JUMP JUMPDEST DUP1 PUSH1 0x23 SLOAD AND SWAP5 PUSH1 0x18 SLOAD SWAP4 DUP2 MLOAD SWAP5 PUSH3 0x1E86 DUP7 PUSH3 0x4BFF JUMP JUMPDEST DUP7 DUP4 DUP1 MLOAD SWAP8 PUSH3 0x1E96 DUP10 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x0 DUP10 MSTORE PUSH1 0x20 SWAP9 PUSH1 0x0 DUP11 DUP3 ADD MSTORE DUP2 MSTORE DUP3 DUP10 DUP3 ADD MSTORE ADD MSTORE DUP3 MLOAD SWAP8 PUSH3 0x1EBA DUP10 PUSH3 0x4C1C JUMP JUMPDEST DUP9 MSTORE DUP6 DUP9 ADD MSTORE PUSH1 0x64 TIMESTAMP ADD SWAP7 DUP8 TIMESTAMP GT PUSH3 0x24BF JUMPI DUP3 MLOAD SWAP1 PUSH3 0x1EDB DUP3 PUSH3 0x4BFF JUMP JUMPDEST DUP1 DUP3 MSTORE DUP7 DUP3 ADD SWAP1 PUSH1 0x1 DUP3 MSTORE DUP5 DUP4 ADD SWAP10 DUP11 MSTORE DUP6 PUSH1 0x1D SLOAD AND PUSH1 0x1E SLOAD SWAP2 DUP7 MLOAD PUSH3 0x1F4B DUP12 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE DUP10 DUP4 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH3 0x1F5A DUP2 PUSH3 0x4C39 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP4 MLOAD DUP13 MLOAD SWAP1 DUP9 MLOAD SWAP3 DUP13 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP11 DUP6 ADD MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD SWAP2 DUP2 DUP4 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT OR PUSH3 0x2490 JUMPI DUP3 DUP9 MSTORE DUP2 MLOAD SWAP1 KECCAK256 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP4 ADD SWAP1 DUP2 MSTORE PUSH1 0xE2 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH2 0x102 SWAP1 SWAP2 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH3 0x200C PUSH1 0x62 DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP9 DUP5 MLOAD SWAP1 PUSH32 0xE341EAA400000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 SWAP11 DUP12 DUP4 ADD MSTORE PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP2 PUSH1 0x60 DUP2 PUSH1 0x44 DUP2 DUP7 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x2428 JUMPI PUSH3 0x20AA SWAP2 DUP13 SWAP2 DUP3 SWAP1 DUP4 SWAP3 PUSH3 0x2432 JUMPI JUMPDEST POP PUSH1 0xF8 SHL PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 AND SWAP2 PUSH3 0x7544 JUMP JUMPDEST SWAP2 DUP8 PUSH1 0x16 SLOAD AND DUP2 EXTCODESIZE ISZERO PUSH3 0x23E0 JUMPI DUP12 SWAP2 DUP14 DUP4 SWAP3 DUP11 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2428 JUMPI SWAP1 DUP12 SWAP2 PUSH3 0x2410 JUMPI JUMPDEST POP POP DUP7 PUSH1 0x1D SLOAD AND SWAP3 DUP8 PUSH1 0x16 SLOAD AND SWAP5 PUSH1 0x18 SLOAD SWAP11 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP12 DUP13 DUP2 AND DUP2 SUB PUSH3 0x23E4 JUMPI DUP10 MLOAD SWAP8 PUSH3 0x214A DUP10 PUSH3 0x4C1C JUMP JUMPDEST DUP9 MSTORE PUSH1 0x1 SHL SWAP1 DUP8 ADD MSTORE DUP5 EXTCODESIZE ISZERO PUSH3 0x23E0 JUMPI DUP7 PUSH3 0x2214 PUSH3 0x21CB SWAP8 SWAP6 DUP16 SWAP5 SWAP6 DUP16 SWAP9 SWAP7 PUSH3 0x21F4 DUP11 SWAP7 DUP15 MLOAD SWAP13 DUP14 SWAP12 DUP13 SWAP11 DUP12 SWAP10 PUSH32 0x5541E68400000000000000000000000000000000000000000000000000000000 DUP12 MSTORE PUSH1 0x4 DUP12 ADD MSTORE DUP10 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST MLOAD DUP1 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x64 DUP9 ADD MSTORE PUSH1 0x20 ADD MLOAD PUSH1 0x84 DUP8 ADD MSTORE JUMP JUMPDEST MLOAD PUSH1 0xA4 DUP6 ADD MSTORE MLOAD PUSH1 0xC4 DUP5 ADD MSTORE PUSH2 0x100 PUSH1 0xE4 DUP5 ADD MSTORE PUSH2 0x104 DUP4 ADD SWAP1 PUSH3 0x5543 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x23D6 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x23BE JUMPI JUMPDEST POP DUP4 PUSH1 0x1D SLOAD AND SWAP2 DUP9 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x23B5 JUMPI POP SWAP1 PUSH3 0x227E SWAP2 DUP7 SWAP2 PUSH3 0x2397 JUMPI JUMPDEST POP PUSH3 0x581C JUMP JUMPDEST MLOAD DUP2 PUSH1 0x16 SLOAD AND SWAP1 PUSH1 0x18 SLOAD SWAP2 DUP6 DUP4 AND DUP4 SUB PUSH3 0x236B JUMPI PUSH3 0x22A2 SWAP3 PUSH1 0x1 SHL SWAP2 PUSH3 0x6D88 JUMP JUMPDEST PUSH3 0x22B7 DUP2 PUSH1 0x23 SLOAD AND DUP3 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP2 PUSH1 0x18 SLOAD SWAP3 DUP5 DUP5 AND DUP5 SUB PUSH3 0x233F JUMPI PUSH3 0x22DE PUSH3 0x22E5 SWAP3 PUSH3 0x22F5 SWAP6 PUSH1 0x1 SHL SWAP1 PUSH3 0x5890 JUMP JUMPDEST SWAP1 PUSH3 0x540C JUMP JUMPDEST PUSH1 0x23 SLOAD PUSH1 0x1D SLOAD DUP3 AND SWAP2 AND PUSH3 0x6F8E JUMP JUMPDEST SWAP1 PUSH1 0x18 SLOAD SWAP1 DUP2 AND DUP2 SUB PUSH3 0x2313 JUMPI SWAP1 PUSH3 0xC06 SWAP2 PUSH1 0x1 SHL SWAP1 PUSH3 0x540C JUMP JUMPDEST POP POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP7 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x23AE SWAP2 POP RETURNDATASIZE DUP1 DUP9 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x2277 JUMP JUMPDEST MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x23C9 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x2228 JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP12 DUP1 REVERT JUMPDEST DUP15 DUP15 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x241B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1A54 JUMPI DUP10 CODESIZE PUSH3 0x20FE JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP14 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 POP PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP3 POP PUSH3 0x247D SWAP2 POP PUSH1 0x60 RETURNDATASIZE DUP2 GT PUSH3 0x2488 JUMPI JUMPDEST PUSH3 0x2474 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x751D JUMP JUMPDEST SWAP3 SWAP1 SWAP3 SWAP2 SWAP1 PUSH3 0x207D JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x2468 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x24 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH3 0x7489 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x2526 PUSH3 0x5EFA JUMP JUMPDEST PUSH3 0x2530 PUSH3 0x6BB1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP5 DUP4 PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP10 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2793 JUMPI PUSH3 0x279D JUMPI JUMPDEST POP DUP4 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP7 MLOAD DUP1 SWAP3 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP2 DUP4 DUP2 PUSH3 0x25F7 DUP11 DUP11 PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x2793 JUMPI PUSH3 0x277B JUMPI JUMPDEST POP PUSH1 0x24 SWAP1 DUP5 PUSH1 0x1D SLOAD AND DUP7 MLOAD SWAP3 DUP4 DUP1 SWAP3 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP7 PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH1 0xA0 SWAP2 DUP8 SWAP2 PUSH3 0x2753 JUMPI JUMPDEST POP ADD MLOAD PUSH1 0x4 DUP2 LT ISZERO PUSH3 0x2726 JUMPI PUSH3 0x266C SWAP1 PUSH3 0x6C48 JUMP JUMPDEST DUP5 DUP4 PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP4 DUP5 ISZERO PUSH3 0x271D JUMPI POP PUSH3 0x26E8 PUSH3 0x26F2 PUSH3 0xC06 SWAP6 PUSH1 0x20 SWAP4 DUP9 SWAP2 PUSH3 0x26FF JUMPI JUMPDEST POP PUSH3 0x1D30 PUSH3 0x26D6 DUP3 PUSH3 0x581C JUMP JUMPDEST MLOAD DUP8 PUSH1 0x16 SLOAD AND DUP7 PUSH3 0x26E8 DUP10 PUSH3 0x581C JUMP JUMPDEST MLOAD ADD MLOAD SWAP2 PUSH3 0x6E8B JUMP JUMPDEST MLOAD SWAP4 PUSH1 0x17 SLOAD AND SWAP3 PUSH3 0x5859 JUMP JUMPDEST PUSH3 0x2716 SWAP2 POP RETURNDATASIZE DUP1 DUP11 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x26C6 JUMP JUMPDEST MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x276A SWAP2 POP RETURNDATASIZE DUP1 DUP10 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x2654 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x2786 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x2608 JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x27A8 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x25AE JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x27D2 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x27DE DUP3 PUSH3 0x6651 JUMP JUMPDEST PUSH3 0x27E8 PUSH3 0x6782 JUMP JUMPDEST SWAP3 SWAP2 SWAP4 PUSH1 0x17 SLOAD SWAP5 PUSH1 0x0 SWAP6 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP6 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x409 JUMPI PUSH3 0x2924 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x6D9BF6DF00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x3CD JUMPI POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x391 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST PUSH3 0x2932 SWAP1 SWAP9 SWAP2 SWAP9 PUSH3 0x4BEA JUMP JUMPDEST SWAP7 CODESIZE PUSH3 0x2867 JUMP JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH3 0x5588 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP2 MSTORE RETURN JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH3 0x29BF PUSH3 0x4BC6 JUMP JUMPDEST PUSH3 0x5997 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x2A1E PUSH3 0x5BAA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x23 SLOAD AND SWAP3 PUSH3 0x2A4B DUP4 PUSH1 0x16 SLOAD AND DUP1 SWAP6 PUSH3 0x6F8E JUMP JUMPDEST SWAP2 DUP6 PUSH1 0x18 SLOAD DUP7 DUP3 MSTORE PUSH1 0x20 SWAP7 PUSH1 0x1C DUP9 MSTORE PUSH3 0x2A7C DUP6 DUP5 KECCAK256 DUP7 MLOAD SWAP4 PUSH3 0x2A6F DUP6 PUSH3 0x4BFF JUMP JUMPDEST DUP4 DUP6 MSTORE DUP11 DUP6 ADD MSTORE PUSH3 0x58CD JUMP JUMPDEST DUP6 DUP4 ADD MSTORE PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP4 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP9 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1DB7 JUMPI SWAP1 DUP4 SWAP2 PUSH3 0x2DA2 JUMPI JUMPDEST POP POP DUP6 PUSH1 0x14 SLOAD AND SWAP7 PUSH1 0x1D SWAP8 DUP4 DUP3 PUSH3 0x2B57 DUP11 DUP13 SLOAD AND SWAP4 PUSH1 0x18 SLOAD DUP11 MLOAD SWAP5 DUP6 DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP10 DUP11 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP3 ADD SWAP6 AND DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x2D98 JUMPI SWAP2 DUP4 SWAP2 PUSH3 0x2BB6 SWAP4 PUSH3 0x2D76 JUMPI JUMPDEST POP DUP10 PUSH1 0x15 SLOAD AND DUP11 DUP13 SLOAD AND DUP8 PUSH1 0x25 SLOAD SWAP4 DUP12 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP3 ADD SWAP6 AND DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x2D6C JUMPI PUSH3 0x2D37 JUMPI JUMPDEST POP POP DUP6 DUP8 SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI PUSH3 0x2C20 DUP4 SWAP3 SWAP2 DUP4 SWAP3 DUP8 MLOAD SWAP5 DUP6 DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xA37EE28C00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP11 PUSH1 0x4 DUP5 ADD MSTORE DUP12 PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD SWAP1 PUSH3 0x601F JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x2D2D JUMPI PUSH3 0x2D15 JUMPI JUMPDEST POP DUP5 DUP7 SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x23B5 JUMPI POP PUSH3 0xC06 SWAP5 SWAP3 PUSH3 0x2CA9 PUSH3 0x2C99 PUSH3 0xBFC SWAP7 SWAP5 PUSH3 0x2CCD SWAP5 DUP11 SWAP2 PUSH3 0x2CFE JUMPI POP PUSH3 0x581C JUMP JUMPDEST MLOAD DUP5 PUSH1 0x16 SLOAD AND PUSH1 0x18 SLOAD SWAP2 PUSH3 0x6D88 JUMP JUMPDEST PUSH3 0x22DE PUSH3 0x2CC2 DUP5 PUSH1 0x23 SLOAD AND DUP6 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP2 PUSH1 0x18 SLOAD SWAP1 PUSH3 0x5890 JUMP JUMPDEST PUSH3 0x2CEF PUSH3 0x2CE5 DUP3 PUSH1 0x23 SLOAD AND DUP4 DUP6 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x18 SLOAD SWAP1 PUSH3 0x540C JUMP JUMPDEST DUP1 PUSH1 0x24 SLOAD AND SWAP2 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x23AE SWAP2 POP RETURNDATASIZE DUP1 DUP13 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST PUSH3 0x2D20 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x2C31 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP2 PUSH3 0x2D5B SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x2D64 JUMPI JUMPDEST PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x4D46 JUMP JUMPDEST POP CODESIZE DUP1 PUSH3 0x2BC7 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x2D46 JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x2D90 SWAP1 DUP4 RETURNDATASIZE DUP6 GT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE PUSH3 0x2B70 JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x2DAD SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x413 JUMPI DUP2 CODESIZE PUSH3 0x2AE5 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x2E13 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP4 DUP4 PUSH1 0x23 SLOAD AND SWAP2 PUSH3 0x2E52 PUSH3 0x2E46 DUP7 PUSH1 0x16 SLOAD AND DUP1 SWAP6 PUSH3 0x6F8E JUMP JUMPDEST SWAP4 DUP7 PUSH1 0x24 SLOAD AND PUSH3 0x6F8E JUMP JUMPDEST SWAP4 PUSH3 0x2E5E DUP3 PUSH3 0x613C JUMP JUMPDEST DUP6 PUSH1 0x16 SLOAD AND SWAP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD SWAP1 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x303E JUMPI JUMPDEST POP POP DUP7 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP8 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x3026 JUMPI JUMPDEST POP POP DUP7 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP6 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0x186799A400000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1560 JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x300E JUMPI JUMPDEST POP POP DUP2 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x2FF6 JUMPI JUMPDEST POP POP DUP3 PUSH3 0x2FE6 PUSH3 0x2FE0 SWAP3 PUSH3 0x2FE0 PUSH3 0xC06 SWAP7 PUSH1 0x23 SLOAD AND DUP5 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x540C JUMP JUMPDEST PUSH1 0x24 SLOAD PUSH1 0x16 SLOAD DUP3 AND SWAP2 AND PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x3001 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x2FBB JUMP JUMPDEST PUSH3 0x3019 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B74 JUMPI DUP3 CODESIZE PUSH3 0x2F72 JUMP JUMPDEST PUSH3 0x3031 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x2F1B JUMP JUMPDEST PUSH3 0x3049 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x2EC6 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x3073 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x307F DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH1 0x17 SLOAD SWAP2 PUSH1 0x0 SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP4 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH3 0x31DC JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x31C4 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP6 SWAP5 SWAP3 DUP6 SWAP4 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3A7 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x31CF SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x316A JUMP JUMPDEST PUSH3 0x31EA SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x30FB JUMP JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x3210 PUSH3 0x5EFA JUMP JUMPDEST DUP3 MLOAD SWAP3 PUSH3 0x321E DUP5 PUSH3 0x4C39 JUMP JUMPDEST PUSH1 0x3 DUP5 MSTORE PUSH1 0x0 JUMPDEST PUSH1 0x60 DUP2 LT PUSH3 0x35B9 JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 PUSH1 0x16 SLOAD AND SWAP5 DUP3 MLOAD SWAP6 PUSH3 0x3259 DUP8 PUSH3 0x4C1C JUMP JUMPDEST DUP7 MSTORE PUSH1 0x20 SWAP6 DUP6 DUP8 DUP3 ADD MSTORE PUSH3 0x326E DUP4 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x327A DUP3 PUSH3 0x581C JUMP JUMPDEST POP DUP1 PUSH1 0x17 SLOAD AND PUSH1 0x19 SLOAD DUP5 MLOAD SWAP2 PUSH3 0x3291 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE DUP8 DUP3 ADD MSTORE PUSH3 0x32A2 DUP4 PUSH3 0x5859 JUMP JUMPDEST MSTORE PUSH3 0x32AE DUP3 PUSH3 0x5859 JUMP JUMPDEST POP DUP1 PUSH1 0x1F SLOAD AND SWAP2 PUSH1 0x18 SLOAD DUP5 MLOAD SWAP1 PUSH3 0x32C6 DUP3 PUSH3 0x4C1C JUMP JUMPDEST DUP5 DUP3 MSTORE DUP9 DUP3 ADD MSTORE PUSH3 0x32D8 DUP3 PUSH3 0x586A JUMP JUMPDEST MSTORE PUSH3 0x32E4 DUP2 PUSH3 0x586A JUMP JUMPDEST POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP5 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP5 DUP6 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x24 DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x35A1 JUMPI JUMPDEST POP POP DUP2 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP5 MLOAD PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP3 MSTORE PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 PUSH1 0x4 DUP3 ADD MSTORE DUP10 DUP2 PUSH1 0x24 DUP2 DUP4 DUP10 GAS CALL DUP1 ISZERO PUSH3 0x353D JUMPI SWAP1 DUP11 SWAP2 PUSH3 0x3589 JUMPI JUMPDEST POP POP DUP5 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1A54 JUMPI DUP10 PUSH3 0x340F DUP11 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 DUP3 SWAP4 DUP12 MLOAD SWAP5 DUP6 DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x353D JUMPI SWAP1 DUP11 SWAP2 PUSH3 0x3571 JUMPI JUMPDEST POP POP DUP7 MLOAD SWAP5 PUSH3 0x3433 DUP7 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x1 DUP7 MSTORE PUSH1 0x0 JUMPDEST DUP12 DUP2 LT PUSH3 0x354B JUMPI POP DUP10 SWAP11 DUP6 PUSH1 0x1F SLOAD AND SWAP1 PUSH3 0x345C PUSH1 0x18 SLOAD PUSH1 0x19 SLOAD SWAP1 PUSH3 0x5B4F JUMP JUMPDEST DUP11 MLOAD SWAP2 PUSH3 0x346A DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP4 DUP4 MSTORE DUP3 ADD MSTORE PUSH3 0x347B DUP9 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x3487 DUP8 PUSH3 0x581C JUMP JUMPDEST POP DUP5 EXTCODESIZE ISZERO PUSH3 0x3547 JUMPI DUP9 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP10 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x353D JUMPI SWAP1 DUP11 SWAP2 PUSH3 0x3525 JUMPI JUMPDEST POP POP DUP3 EXTCODESIZE ISZERO PUSH3 0x630 JUMPI PUSH1 0x24 DUP10 SWAP3 DUP4 DUP10 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x350D JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI PUSH3 0x5D8 SWAP5 DUP7 DUP1 SWAP5 DUP7 MLOAD SWAP8 DUP9 SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST PUSH3 0x3518 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x34E2 JUMP JUMPDEST PUSH3 0x3530 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x630 JUMPI DUP9 CODESIZE PUSH3 0x34B3 JUMP JUMPDEST DUP9 MLOAD RETURNDATASIZE DUP13 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST DUP12 SWAP1 DUP10 MLOAD PUSH3 0x355A DUP2 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE PUSH1 0x0 DUP4 DUP3 ADD MSTORE DUP3 DUP3 DUP11 ADD ADD MSTORE ADD PUSH3 0x343A JUMP JUMPDEST PUSH3 0x357C SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x630 JUMPI DUP9 CODESIZE PUSH3 0x3423 JUMP JUMPDEST PUSH3 0x3594 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x630 JUMPI DUP9 CODESIZE PUSH3 0x33BA JUMP JUMPDEST PUSH3 0x35AC SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x3348 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 MLOAD PUSH3 0x35C9 DUP2 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH3 0x3225 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP2 MSTORE RETURN JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x3676 PUSH3 0x5BAA JUMP JUMPDEST SWAP2 PUSH3 0x3682 DUP4 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x368D DUP4 PUSH3 0x6651 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH1 0x16 SLOAD AND SWAP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP5 DUP6 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP4 MLOAD SWAP6 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP9 MSTORE PUSH1 0x4 DUP9 ADD MSTORE PUSH1 0x24 SWAP7 DUP7 DUP2 DUP10 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x38E6 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x38CE JUMPI JUMPDEST POP POP DUP3 PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP6 MLOAD DUP8 DUP2 DUP11 DUP2 DUP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 SWAP9 DUP10 DUP4 MSTORE DUP12 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x38C4 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x38AC JUMPI JUMPDEST POP POP DUP4 PUSH1 0x17 SLOAD AND SWAP1 DUP3 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI SWAP1 DUP9 DUP9 SWAP3 DUP4 DUP10 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3894 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 SWAP2 DUP8 DUP4 SWAP3 DUP8 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 DUP4 MSTORE DUP9 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x387C JUMPI JUMPDEST POP SWAP1 PUSH1 0x1D SLOAD AND SWAP2 DUP6 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x3C0 JUMPI POP SWAP1 PUSH1 0xA0 SWAP2 DUP4 SWAP2 PUSH3 0x385E JUMPI JUMPDEST POP ADD MLOAD PUSH1 0x4 DUP2 LT ISZERO PUSH3 0x3833 JUMPI PUSH3 0xC06 SWAP1 PUSH3 0x6C48 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x3875 SWAP2 POP RETURNDATASIZE DUP1 DUP6 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x381B JUMP JUMPDEST PUSH3 0x3887 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x37CE JUMP JUMPDEST PUSH3 0x389F SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x3798 JUMP JUMPDEST PUSH3 0x38B7 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x3763 JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x38D9 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x370F JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0x390E PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x391A DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x3925 DUP3 PUSH3 0x6651 JUMP JUMPDEST PUSH3 0x392F PUSH3 0x6BB1 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP5 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x3A80 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP1 SWAP2 PUSH1 0x24 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x4E16946C00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3A68 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI PUSH3 0x5D8 SWAP4 DUP6 SWAP3 DUP4 DUP6 MLOAD DUP1 SWAP8 DUP2 SWAP6 DUP3 SWAP5 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST PUSH3 0x3A73 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 DUP8 PUSH3 0x3A1C JUMP JUMPDEST PUSH3 0x3A8B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 DUP9 PUSH3 0x39AC JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x3AB5 PUSH3 0x5EFA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x23 SLOAD AND SWAP2 DUP2 PUSH1 0x16 SLOAD AND PUSH3 0x3AE1 DUP2 DUP6 PUSH3 0x6F8E JUMP JUMPDEST SWAP5 PUSH1 0x24 SWAP5 DUP8 PUSH3 0x3B13 PUSH3 0x3AFA DUP8 DUP10 SLOAD AND SWAP6 DUP7 PUSH3 0x6F8E JUMP JUMPDEST SWAP3 PUSH3 0x3B0C DUP9 PUSH1 0x17 SLOAD AND DUP1 SWAP3 PUSH3 0x6F8E JUMP JUMPDEST SWAP6 PUSH3 0x6F8E JUMP JUMPDEST SWAP5 PUSH3 0x3B1E PUSH3 0x6BB1 JUMP JUMPDEST SWAP4 DUP8 PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP3 DUP4 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 DUP14 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3DF7 JUMPI JUMPDEST POP POP DUP10 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 DUP7 SWAP1 DUP3 SWAP1 DUP2 DUP4 DUP2 PUSH3 0x3BD1 DUP15 DUP13 PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3DDF JUMPI JUMPDEST POP POP DUP10 PUSH1 0x16 SLOAD AND DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD SWAP1 DUP4 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 DUP14 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3DC7 JUMPI JUMPDEST POP POP DUP10 PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP12 DUP7 DUP6 MLOAD DUP1 SWAP3 DUP2 DUP4 PUSH32 0x186799A400000000000000000000000000000000000000000000000000000000 SWAP9 DUP10 DUP4 MSTORE DUP12 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x3DAF JUMPI JUMPDEST POP POP DUP11 PUSH1 0x17 SLOAD AND DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP13 DUP8 SWAP3 DUP4 DUP8 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x3D97 JUMPI JUMPDEST POP POP DUP9 PUSH1 0x1D SLOAD AND SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP11 DUP6 SWAP3 DUP4 DUP6 MLOAD SWAP7 DUP8 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3D77 JUMPI JUMPDEST POP POP SWAP3 PUSH3 0x3D5E DUP6 SWAP5 SWAP4 PUSH3 0x22DE PUSH3 0x3D68 SWAP5 PUSH3 0x3D3C DUP9 SWAP8 PUSH3 0x3D28 PUSH3 0xC06 SWAP14 PUSH3 0x22DE PUSH3 0x3D11 PUSH3 0x22DE SWAP15 PUSH1 0x23 SLOAD AND DUP14 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x20 PUSH3 0x3D1E DUP9 PUSH3 0x581C JUMP JUMPDEST MLOAD ADD MLOAD SWAP1 PUSH3 0x5890 JUMP JUMPDEST PUSH3 0x22DE DUP10 DUP14 SLOAD AND DUP11 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x20 PUSH3 0x3D1E PUSH3 0x3D57 DUP10 PUSH1 0x23 SLOAD AND DUP11 PUSH1 0x17 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP3 PUSH3 0x5859 JUMP JUMPDEST PUSH1 0x25 SLOAD SWAP1 PUSH3 0x5B4F JUMP JUMPDEST SWAP4 SLOAD AND SWAP1 PUSH1 0x17 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x3D87 SWAP1 SWAP7 SWAP6 SWAP3 SWAP5 SWAP7 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3EF JUMPI SWAP3 SWAP4 SWAP2 DUP8 CODESIZE PUSH3 0x3CD2 JUMP JUMPDEST PUSH3 0x3DA2 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x3C9F JUMP JUMPDEST PUSH3 0x3DBA SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x3C6C JUMP JUMPDEST PUSH3 0x3DD2 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x3C17 JUMP JUMPDEST PUSH3 0x3DEA SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x3BE5 JUMP JUMPDEST PUSH3 0x3E02 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x3B85 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x3E2C PUSH3 0x5BAA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH3 0x3E57 DUP4 PUSH1 0x23 SLOAD AND DUP5 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP2 PUSH3 0x3E63 DUP2 PUSH3 0x613C JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x271D JUMPI POP PUSH3 0xBFC SWAP3 PUSH3 0x2CA9 PUSH3 0x2C99 PUSH3 0xC06 SWAP7 SWAP5 PUSH3 0x3ECB SWAP5 DUP10 SWAP2 PUSH3 0x3EF4 JUMPI POP PUSH3 0x581C JUMP JUMPDEST PUSH3 0x3EE4 PUSH3 0x2CE5 DUP3 PUSH1 0x23 SLOAD AND DUP4 PUSH1 0x1D SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x24 SLOAD PUSH1 0x1D SLOAD DUP3 AND SWAP2 AND PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x23AE SWAP2 POP RETURNDATASIZE DUP1 DUP12 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0x3F29 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x3F35 DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x17 SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x4090 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x4078 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x12E0 JUMPI DUP4 SWAP3 PUSH1 0x24 DUP5 SWAP3 DUP5 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5ED JUMPI POP RETURN JUMPDEST PUSH3 0x4083 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x4021 JUMP JUMPDEST PUSH3 0x409B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 DUP8 PUSH3 0x3FB1 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH9 0x246DDF97976680000 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x40EB PUSH3 0x6782 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 PUSH1 0x17 SLOAD SWAP4 PUSH1 0x0 SWAP5 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP6 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x38C4 JUMPI PUSH3 0x4244 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP7 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x38E6 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x422C JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI SWAP2 DUP5 SWAP4 SWAP2 DUP7 DUP1 SWAP5 PUSH3 0x391 SWAP8 MLOAD SWAP8 DUP9 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 CALLDATALOAD PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST PUSH3 0x4237 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x41D9 JUMP JUMPDEST PUSH3 0x4252 SWAP1 SWAP8 SWAP2 SWAP8 PUSH3 0x4BEA JUMP JUMPDEST SWAP6 CODESIZE PUSH3 0x416A JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x4277 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x4283 DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x428E DUP3 PUSH3 0x6651 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x16 SLOAD AND SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP5 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP7 DUP8 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP2 DUP2 PUSH1 0x24 DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH3 0x2793 JUMPI PUSH3 0x4484 JUMPI JUMPDEST POP DUP3 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP11 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2793 JUMPI PUSH3 0x446C JUMPI JUMPDEST POP POP PUSH1 0x17 SLOAD SWAP5 PUSH1 0x0 SWAP6 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP6 MLOAD SWAP2 DUP3 MSTORE DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH3 0x4456 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x31C4 JUMPI POP POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP6 SWAP5 SWAP3 DUP6 SWAP4 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3A7 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x4464 SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x438E JUMP JUMPDEST PUSH3 0x4477 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x435B JUMP JUMPDEST PUSH3 0x448F SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x430A JUMP JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x44BA PUSH3 0x76C8 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x13 SLOAD AND SWAP3 DUP1 MLOAD PUSH32 0x3644E51500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 DUP2 PUSH1 0x4 DUP2 DUP10 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x12E5 JUMPI DUP6 SWAP2 PUSH3 0x46D0 JUMPI JUMPDEST POP PUSH1 0x1E SSTORE DUP3 PUSH1 0x15 SLOAD AND SWAP1 DUP4 PUSH1 0x1F SLOAD AND DUP4 MLOAD PUSH3 0x4531 DUP2 PUSH3 0x4BFF JUMP JUMPDEST DUP4 DUP2 MSTORE DUP2 DUP6 PUSH8 0x16345785D8A0000 SWAP3 DUP4 DUP7 DUP3 ADD MSTORE ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP4 DUP5 PUSH1 0x24 SLOAD AND OR PUSH1 0x24 SSTORE PUSH1 0x25 SSTORE DUP3 PUSH1 0x26 SLOAD AND OR PUSH1 0x26 SSTORE DUP3 MLOAD SWAP1 PUSH2 0x306C SWAP7 DUP8 DUP4 ADD SWAP8 DUP4 DUP10 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP11 GT OR PUSH3 0x46A3 JUMPI SWAP8 DUP6 SWAP3 DUP5 SWAP3 DUP10 SWAP11 SWAP10 SWAP9 SWAP10 PUSH3 0xB10B DUP6 CODECOPY DUP3 MSTORE ADDRESS SWAP1 DUP3 ADD MSTORE SUB ADD SWAP1 DUP5 CREATE DUP1 ISZERO PUSH3 0x183E JUMPI DUP5 DUP5 SWAP2 AND SWAP2 DUP3 PUSH1 0x1D SLOAD SWAP2 DUP3 AND OR PUSH1 0x1D SSTORE AND OR SWAP1 DUP4 PUSH1 0x1F SLOAD AND DUP3 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP4 SWAP3 PUSH1 0x84 DUP5 SWAP3 DUP5 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0xAF0F9DF300000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE DUP10 PUSH1 0x24 SLOAD AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x25 SLOAD PUSH1 0x44 DUP5 ADD MSTORE DUP10 PUSH1 0x26 SLOAD AND PUSH1 0x64 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x468B JUMPI JUMPDEST POP PUSH3 0xC06 DUP3 PUSH3 0x4657 DUP2 PUSH1 0x16 SLOAD AND PUSH3 0x78D5 JUMP JUMPDEST PUSH3 0x4666 DUP2 PUSH1 0x17 SLOAD AND PUSH3 0x78D5 JUMP JUMPDEST PUSH3 0x467B DUP2 PUSH1 0x16 SLOAD AND DUP3 PUSH1 0x13 SLOAD AND SWAP1 PUSH3 0x79B0 JUMP JUMPDEST PUSH1 0x17 SLOAD PUSH1 0x13 SLOAD DUP3 AND SWAP2 AND PUSH3 0x79B0 JUMP JUMPDEST PUSH3 0x4696 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x413 JUMPI DUP2 CODESIZE PUSH3 0x4642 JUMP JUMPDEST PUSH1 0x24 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST SWAP1 POP DUP2 DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x46FB JUMPI JUMPDEST PUSH3 0x46EA DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x1B6B JUMPI MLOAD CODESIZE PUSH3 0x4515 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x46DE JUMP JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x4721 PUSH3 0x5BAA JUMP JUMPDEST SWAP2 PUSH3 0x472D DUP4 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x4738 DUP4 PUSH3 0x6651 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x16 SLOAD AND SWAP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD SWAP6 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x24 SWAP4 DUP6 DUP8 DUP7 DUP2 DUP4 DUP6 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI PUSH3 0x49B4 JUMPI JUMPDEST DUP6 SWAP7 POP DUP2 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP5 MLOAD DUP8 DUP2 DUP9 DUP2 DUP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 SWAP7 DUP8 DUP4 MSTORE DUP11 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x499C JUMPI JUMPDEST POP POP DUP3 PUSH1 0x17 SLOAD AND DUP3 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP6 MLOAD SWAP1 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP8 DUP2 DUP9 DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x4984 JUMPI JUMPDEST POP POP DUP3 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 SWAP2 DUP8 DUP4 SWAP3 DUP9 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 DUP4 MSTORE DUP10 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x496C JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP1 SWAP2 DUP7 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x4954 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 SWAP4 DUP5 SWAP3 DUP5 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5ED JUMPI POP RETURN JUMPDEST PUSH3 0x495F SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x4900 JUMP JUMPDEST PUSH3 0x4977 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x4891 JUMP JUMPDEST PUSH3 0x498F SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x485B JUMP JUMPDEST PUSH3 0x49A7 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x4809 JUMP JUMPDEST SWAP5 SWAP1 SWAP6 PUSH3 0x49C2 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 DUP6 SWAP1 PUSH3 0x47B5 JUMP JUMPDEST SWAP2 SWAP1 POP CALLVALUE PUSH3 0x1B74 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x1B74 JUMPI PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND DUP1 SWAP3 SUB PUSH3 0x12C4 JUMPI PUSH1 0x24 CALLDATALOAD SWAP4 DUP2 DUP6 AND DUP1 SWAP6 SUB PUSH3 0x156A JUMPI PUSH1 0x44 CALLDATALOAD SWAP1 DUP3 DUP3 AND DUP1 SWAP3 SUB PUSH3 0x3C9 JUMPI DUP4 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP7 SWAP6 PUSH1 0x4 DUP3 ADD MSTORE DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI PUSH3 0x4BAE JUMPI JUMPDEST POP SWAP1 DUP5 SWAP2 DUP2 PUSH1 0x14 SLOAD AND SWAP2 DUP6 MLOAD SWAP1 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP2 MSTORE DUP4 PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x24 DUP4 ADD MSTORE DUP2 PUSH1 0x44 DUP2 PUSH1 0x20 SWAP10 DUP11 SWAP5 GAS CALL DUP1 ISZERO PUSH3 0x4BA4 JUMPI PUSH1 0x44 SWAP3 DUP8 SWAP6 SWAP5 SWAP3 DUP12 SWAP3 PUSH3 0x4B82 JUMPI JUMPDEST POP PUSH1 0x15 SLOAD AND DUP10 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI PUSH3 0x4B5F JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI SWAP1 DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3A7 JUMPI DUP3 DUP1 RETURN JUMPDEST DUP2 PUSH3 0x4B79 SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE DUP1 PUSH3 0x4B12 JUMP JUMPDEST PUSH3 0x4B9C SWAP1 DUP8 RETURNDATASIZE DUP10 GT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE PUSH3 0x4AEB JUMP JUMPDEST DUP9 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x4BBC SWAP2 SWAP3 SWAP6 POP PUSH3 0x4BEA JUMP JUMPDEST DUP5 SWAP4 SWAP1 CODESIZE PUSH3 0x4A6A JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH3 0x1B6B JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x2490 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH3 0x4CC5 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x4CB4 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x2490 JUMPI PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH3 0x4D41 JUMPI RETURNDATASIZE SWAP1 PUSH3 0x4D25 DUP3 PUSH3 0x4CD6 JUMP JUMPDEST SWAP2 PUSH3 0x4D35 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH3 0x4C56 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH3 0x1B6B JUMPI MLOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH3 0x1B6B JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH3 0x4D7A JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x4D9C JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 DUP3 ADD DUP4 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x40 DUP4 MSTORE PUSH3 0x4DDF DUP4 PUSH3 0x4BFF JUMP JUMPDEST PUSH3 0x4E34 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP4 PUSH3 0x4E23 PUSH1 0x20 DUP4 ADD SWAP8 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP10 MSTORE MLOAD DUP1 SWAP3 DUP6 DUP6 ADD SWAP1 PUSH3 0x4CB1 JUMP JUMPDEST DUP2 ADD SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP PUSH3 0x4E57 PUSH3 0x4E47 PUSH3 0x4D11 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH3 0x4D46 JUMP JUMPDEST SWAP1 JUMP JUMPDEST MLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH3 0x1B6B JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP1 DUP2 DUP4 DUP3 SUB SLT PUSH3 0x1B6B JUMPI DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP5 DUP3 GT PUSH3 0x1B6B JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH3 0x1B6B JUMPI PUSH1 0x40 MLOAD SWAP4 PUSH1 0xC0 DUP6 ADD DUP6 DUP2 LT DUP3 DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE DUP3 MLOAD DUP6 MSTORE DUP4 DUP4 ADD MLOAD DUP5 DUP7 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 DUP2 GT PUSH3 0x1B6B JUMPI DUP3 ADD SWAP3 DUP2 PUSH1 0x1F DUP6 ADD SLT ISZERO PUSH3 0x1B6B JUMPI DUP4 MLOAD PUSH3 0x4EF7 DUP2 PUSH3 0x4CD6 JUMP JUMPDEST SWAP3 PUSH3 0x4F07 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH3 0x4C56 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x1B6B JUMPI PUSH1 0xA0 SWAP5 DUP3 PUSH3 0x4F28 SWAP4 DUP6 ADD SWAP2 ADD PUSH3 0x4CB1 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD MSTORE PUSH3 0x4F3B PUSH1 0x60 DUP3 ADD PUSH3 0x4E5A JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x4 DUP2 LT ISZERO PUSH3 0x1B6B JUMPI PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x4FA9 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F7A JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4F6E JUMP JUMPDEST PUSH1 0x22 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH3 0x4FC6 DUP3 PUSH3 0x4F5E JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH3 0x5041 JUMPI POP PUSH1 0x1 EQ PUSH3 0x4FE6 JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x22 PUSH1 0x0 MSTORE PUSH32 0x61035B26E3E9EEE00E0D72FD1EE8DDCA6894550DCA6916EA2AC6BAA90D11E510 SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH3 0x5028 JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH3 0x5015 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP5 SWAP6 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP2 POP SWAP3 SWAP2 SWAP3 AND DUP4 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND SWAP2 AND DUP2 DUP2 SUB PUSH3 0x50A3 JUMPI POP POP JUMP JUMPDEST PUSH3 0x51CE SWAP1 PUSH1 0x40 SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x25 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B616464 DUP6 DUP3 ADD MSTORE PUSH32 0x726573735D000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x5165 DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0x9C4E8541CA8F0DC1C413F9108F66D82D3CECB1BDDBCE437A61CAA3175C4CC96F SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x51E1 PUSH3 0x51E3 JUMP JUMPDEST JUMP JUMPDEST PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x522F JUMPI JUMPDEST POP PUSH2 0x100 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF PUSH1 0x0 SLOAD AND OR PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 DUP3 ADD DUP4 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x60 DUP4 MSTORE PUSH3 0x527A DUP4 PUSH3 0x4C39 JUMP JUMPDEST PUSH3 0x52BE PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP4 PUSH3 0x4E23 PUSH1 0x20 DUP4 ADD SWAP8 PUSH32 0x70CA10BB00000000000000000000000000000000000000000000000000000000 DUP10 MSTORE MLOAD DUP1 SWAP3 DUP6 DUP6 ADD SWAP1 PUSH3 0x4CB1 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP PUSH3 0x52CD PUSH3 0x4D11 JUMP JUMPDEST POP CODESIZE PUSH3 0x5200 JUMP JUMPDEST DUP2 DUP2 SUB PUSH3 0x52E1 JUMPI POP POP JUMP JUMPDEST PUSH3 0x51CE SWAP1 PUSH1 0x40 SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x25 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B627974 DUP6 DUP3 ADD MSTORE PUSH32 0x657333325D000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x53A3 DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xAFB795C9C61E4FE7468C386F925D7A5429ECAD9C0495DDB8D38D690614D32F99 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH3 0x5418 JUMPI POP POP JUMP JUMPDEST PUSH3 0x51CE SWAP1 PUSH1 0x40 SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x22 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B75696E DUP6 DUP3 ADD MSTORE PUSH32 0x745D000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x54DA DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x20 SWAP4 PUSH3 0x5581 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP8 MSTORE DUP8 DUP1 DUP9 ADD SWAP2 ADD PUSH3 0x4CB1 JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 SWAP3 DUP4 ISZERO PUSH3 0x5709 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x1D SLOAD AND SWAP1 PUSH1 0x40 SWAP6 DUP7 SWAP3 DUP4 MLOAD SWAP3 PUSH1 0x0 PUSH1 0x20 SWAP6 DUP6 DUP8 DUP1 SWAP8 ADD SWAP1 DUP6 DUP3 MSTORE DUP5 DUP4 DUP3 ADD MSTORE DUP11 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH3 0x55DF DUP2 PUSH3 0x4C39 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP9 DUP9 PUSH1 0x14 SLOAD AND SWAP1 DUP3 MLOAD SWAP5 PUSH3 0x55F7 DUP7 PUSH3 0x4C39 JUMP JUMPDEST DUP6 MSTORE DUP8 DUP6 ADD SWAP7 DUP8 MSTORE DUP3 MLOAD SWAP10 PUSH3 0x560D DUP12 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x4 DUP12 MSTORE PUSH32 0x6970667300000000000000000000000000000000000000000000000000000000 DUP10 DUP13 ADD MSTORE DUP4 DUP7 ADD SWAP11 DUP12 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 DUP4 MSTORE PUSH3 0x5697 DUP5 MLOAD SWAP12 DUP13 SWAP10 DUP11 SWAP9 DUP10 SWAP8 PUSH32 0x8F34A85900000000000000000000000000000000000000000000000000000000 DUP10 MSTORE PUSH1 0x4 DUP10 ADD MSTORE MLOAD PUSH1 0x44 DUP9 ADD MSTORE MLOAD PUSH1 0x64 DUP8 ADD MSTORE MLOAD PUSH1 0x80 PUSH1 0x84 DUP8 ADD MSTORE PUSH1 0xC4 DUP7 ADD SWAP1 PUSH3 0x5543 JUMP JUMPDEST SWAP3 MLOAD AND PUSH1 0xA4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE SUB SWAP3 GAS CALL SWAP5 DUP6 ISZERO PUSH3 0x56FF JUMPI POP PUSH1 0x0 SWAP5 PUSH3 0x56C9 JUMPI JUMPDEST POP POP SWAP2 PUSH3 0x51E1 SWAP2 SWAP3 PUSH3 0x52D5 JUMP JUMPDEST DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x56F7 JUMPI JUMPDEST PUSH3 0x56E0 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x1B70 JUMPI MLOAD SWAP3 POP PUSH3 0x51E1 CODESIZE PUSH3 0x56BA JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x56D4 JUMP JUMPDEST MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP POP SWAP1 POP JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP1 DUP4 DUP4 SUB SLT PUSH3 0x1B6B JUMPI DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP5 DUP3 GT PUSH3 0x1B6B JUMPI ADD SWAP2 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x1B6B JUMPI DUP3 MLOAD SWAP1 PUSH3 0x574C DUP3 PUSH3 0x4C98 JUMP JUMPDEST SWAP5 PUSH1 0x40 SWAP2 PUSH3 0x575E DUP4 MLOAD SWAP8 DUP9 PUSH3 0x4C56 JUMP JUMPDEST DUP4 DUP8 MSTORE DUP5 DUP1 DUP9 ADD SWAP5 PUSH1 0x7 SHL DUP8 ADD ADD SWAP6 DUP2 DUP8 GT PUSH3 0x1B6B JUMPI DUP6 ADD SWAP4 JUMPDEST DUP7 DUP6 LT PUSH3 0x578B JUMPI POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x80 SWAP1 DUP2 DUP7 DUP5 SUB SLT PUSH3 0x1B6B JUMPI DUP5 MLOAD SWAP2 DUP3 ADD DUP3 DUP2 LT DUP6 DUP3 GT OR PUSH3 0x57EE JUMPI DUP6 MSTORE PUSH3 0x57B6 DUP7 PUSH3 0x4E5A JUMP JUMPDEST DUP3 MSTORE DUP7 DUP7 ADD MLOAD DUP8 DUP4 ADD MSTORE DUP5 DUP7 ADD MLOAD DUP6 DUP4 ADD MSTORE PUSH1 0x60 SWAP1 DUP2 DUP8 ADD MLOAD SWAP3 PUSH1 0x5 DUP5 LT ISZERO PUSH3 0x1B6B JUMPI PUSH1 0x80 SWAP4 DUP10 SWAP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP5 ADD SWAP4 PUSH3 0x5779 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD ISZERO PUSH3 0x582A JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH3 0x582A JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x2 LT ISZERO PUSH3 0x582A JUMPI PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH3 0x582A JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH3 0x589E JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 DUP2 SLOAD SWAP2 DUP3 DUP3 MSTORE PUSH1 0x20 SWAP3 DUP4 DUP4 ADD SWAP2 PUSH1 0x0 MSTORE DUP4 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH3 0x5905 JUMPI POP POP POP PUSH3 0x51E1 SWAP3 POP SUB DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP6 SLOAD DUP5 MSTORE PUSH1 0x1 SWAP6 DUP7 ADD SWAP6 DUP9 SWAP6 POP SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP2 ADD SWAP1 PUSH3 0x58EC JUMP JUMPDEST SWAP1 PUSH1 0x60 PUSH1 0x40 SWAP3 DUP4 DUP2 ADD SWAP3 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP2 DUP6 DUP5 DUP1 SWAP5 ADD MSTORE DUP7 MLOAD DUP1 SWAP6 MSTORE ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH3 0x5953 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP4 DUP3 DUP3 PUSH3 0x5989 PUSH1 0x1 SWAP5 DUP11 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP7 ADD SWAP5 SWAP4 SWAP3 ADD SWAP1 PUSH3 0x5943 JUMP JUMPDEST PUSH1 0x1F SLOAD PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 SWAP3 AND SWAP3 AND DUP3 EQ PUSH3 0x5B4A JUMPI PUSH3 0x59C9 PUSH3 0x5EFA JUMP JUMPDEST PUSH3 0x59D3 PUSH3 0x6BB1 JUMP JUMPDEST SWAP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI PUSH1 0x40 SWAP5 DUP6 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x38E6 JUMPI PUSH3 0x5B34 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP1 SWAP2 PUSH1 0x24 DUP8 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x5B1C JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI SWAP2 DUP5 SWAP2 DUP5 SWAP4 DUP4 PUSH3 0x5AF2 SWAP7 MLOAD DUP1 SWAP8 DUP2 SWAP6 DUP3 SWAP5 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST PUSH3 0x5B14 DUP3 SWAP2 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3BD JUMPI POP JUMP JUMPDEST PUSH3 0x5B27 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x5AA4 JUMP JUMPDEST PUSH3 0x5B42 SWAP1 SWAP7 SWAP2 SWAP7 PUSH3 0x4BEA JUMP JUMPDEST SWAP5 CODESIZE PUSH3 0x5A35 JUMP JUMPDEST POP POP POP JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH3 0x589E JUMPI JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH3 0x5B6E DUP4 PUSH3 0x4BFF JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE DUP3 PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT PUSH3 0x5B85 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP5 MLOAD PUSH3 0x5B95 DUP2 PUSH3 0x4C1C JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH3 0x5B77 JUMP JUMPDEST PUSH3 0x5BB4 PUSH3 0x7489 JUMP JUMPDEST PUSH1 0x1B SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x14 SLOAD AND SWAP3 PUSH1 0x40 SWAP2 DUP3 MLOAD SWAP5 PUSH3 0x5BE4 DUP7 PUSH3 0x4C39 JUMP JUMPDEST PUSH32 0xA74911826A63A1E8059B5834149EA5905CBE277AAF3536B4A44DB1822D86970A DUP7 MSTORE PUSH1 0x20 SWAP3 DUP4 DUP8 ADD SWAP1 DUP2 MSTORE DUP5 MLOAD SWAP7 PUSH3 0x5C1E DUP9 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0xD DUP9 MSTORE PUSH32 0x697066733A2F2F73686132353600000000000000000000000000000000000000 DUP6 DUP10 ADD MSTORE DUP8 DUP7 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD SWAP3 DUP4 MSTORE MLOAD DUP5 SSTORE MLOAD PUSH1 0x21 SSTORE DUP6 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x2490 JUMPI PUSH3 0x5C79 PUSH1 0x22 SLOAD PUSH3 0x4F5E JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0x5E90 JUMPI JUMPDEST POP DUP4 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0x5DC3 JUMPI SWAP2 DUP2 DUP5 SWAP4 SWAP3 DUP7 SWAP6 SWAP4 PUSH1 0x0 SWAP10 SWAP11 DUP11 SWAP3 PUSH3 0x5DB7 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x22 SSTORE JUMPDEST MLOAD AND SWAP1 DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x23 SLOAD AND OR PUSH1 0x23 SSTORE PUSH1 0x1D SLOAD AND DUP5 MLOAD DUP1 SWAP7 DUP2 DUP1 SWAP5 PUSH32 0x8F34A85900000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP9 PUSH1 0x4 DUP4 ADD MSTORE DUP7 SLOAD PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x21 SLOAD PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x80 PUSH1 0x84 DUP4 ADD MSTORE PUSH3 0x5D5D PUSH1 0xC4 DUP4 ADD PUSH3 0x4FB4 JUMP JUMPDEST SWAP1 PUSH1 0xA4 DUP4 ADD MSTORE DUP3 PUSH1 0x24 DUP4 ADD MSTORE SUB SWAP3 GAS CALL SWAP2 DUP3 ISZERO PUSH3 0x56FF JUMPI POP PUSH1 0x0 SWAP2 PUSH3 0x5D85 JUMPI JUMPDEST POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x5DAF JUMPI JUMPDEST PUSH3 0x5D9C DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x3BD JUMPI POP MLOAD DUP1 CODESIZE PUSH3 0x5D7F JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x5D90 JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x5CA5 JUMP JUMPDEST SWAP7 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP1 PUSH1 0x22 PUSH1 0x0 MSTORE PUSH32 0x61035B26E3E9EEE00E0D72FD1EE8DDCA6894550DCA6916EA2AC6BAA90D11E510 SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x5E78 JUMPI POP SWAP3 DUP6 SWAP5 SWAP3 PUSH1 0x0 SWAP10 SWAP11 PUSH1 0x1 SWAP4 DUP4 DUP11 SWAP10 SWAP8 LT PUSH3 0x5E40 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x22 SSTORE PUSH3 0x5CD8 JUMP JUMPDEST ADD MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x5E31 JUMP JUMPDEST DUP3 DUP12 ADD MLOAD DUP5 SSTORE SWAP10 DUP8 ADD SWAP10 PUSH1 0x1 SWAP1 SWAP4 ADD SWAP3 DUP8 ADD PUSH3 0x5E12 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x22 DUP2 MSTORE PUSH32 0x61035B26E3E9EEE00E0D72FD1EE8DDCA6894550DCA6916EA2AC6BAA90D11E510 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP3 DUP8 DUP6 LT PUSH3 0x5EEF JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x5EE3 JUMPI POP POP PUSH3 0x5C83 JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x5ED3 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH3 0x5ECA JUMP JUMPDEST PUSH3 0x5F04 PUSH3 0x5BAA JUMP JUMPDEST PUSH3 0x5F0F DUP2 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x5F1A DUP2 PUSH3 0x6651 JUMP JUMPDEST PUSH1 0x16 SLOAD PUSH1 0x0 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP10 AND PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6002 JUMPI PUSH3 0x600D JUMPI JUMPDEST POP SWAP1 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP9 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6002 JUMPI PUSH3 0x5FED JUMPI POP POP SWAP1 JUMP JUMPDEST PUSH3 0x5FF9 DUP3 SWAP2 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3BD JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x6018 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST CODESIZE PUSH3 0x5F97 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH1 0x60 DUP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE PUSH1 0x80 PUSH1 0x20 SWAP4 DUP3 DUP6 DUP1 SWAP5 ADD MLOAD DUP5 DUP9 ADD MSTORE ADD MLOAD SWAP5 PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE DUP6 MLOAD DUP1 SWAP5 MSTORE ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH3 0x6075 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH3 0x6066 JUMP JUMPDEST SWAP1 SWAP5 SWAP4 SWAP2 SWAP5 DUP2 MSTORE PUSH3 0x60A9 PUSH1 0x20 SWAP6 PUSH1 0x80 DUP8 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD SWAP1 PUSH3 0x601F JUMP JUMPDEST PUSH1 0x40 DUP3 DUP3 SUB DUP2 DUP5 ADD MSTORE PUSH1 0x60 DUP3 ADD SWAP5 DUP1 MLOAD SWAP6 PUSH1 0x60 DUP5 MSTORE DUP7 MLOAD DUP1 SWAP2 MSTORE DUP9 PUSH1 0x80 DUP6 ADD SWAP8 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x60FC JUMPI POP POP POP DUP1 DUP9 PUSH3 0x4E57 SWAP9 SWAP10 DUP5 SWAP4 ADD MLOAD SWAP1 DUP6 ADD MSTORE ADD MLOAD SWAP2 ADD MSTORE PUSH1 0x60 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH3 0x5543 JUMP JUMPDEST SWAP1 SWAP2 SWAP8 DUP11 DUP6 DUP3 PUSH3 0x6130 PUSH1 0x1 SWAP5 DUP14 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP10 ADD SWAP3 SWAP2 ADD PUSH3 0x60CE JUMP JUMPDEST SWAP1 PUSH1 0x16 SLOAD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP1 PUSH1 0x18 SLOAD SWAP4 DUP3 DUP3 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1C DUP4 MSTORE PUSH1 0x40 SWAP4 PUSH3 0x61A8 PUSH3 0x61A2 DUP7 DUP5 KECCAK256 SWAP9 PUSH3 0x6198 DUP9 MLOAD SWAP11 PUSH3 0x618A DUP13 PUSH3 0x4BFF JUMP JUMPDEST DUP6 DUP13 MSTORE DUP3 DUP10 DUP14 ADD MSTORE PUSH3 0x58CD JUMP JUMPDEST DUP9 DUP12 ADD MSTORE PUSH3 0x6AE9 JUMP JUMPDEST PUSH3 0x758B JUMP JUMPDEST DUP7 PUSH1 0x1D SLOAD AND SWAP9 PUSH1 0x1E SLOAD SWAP9 PUSH3 0x61BF DUP4 MLOAD MLOAD PUSH3 0x7030 JUMP JUMPDEST SWAP9 DUP6 JUMPDEST DUP5 MLOAD DUP1 MLOAD DUP3 LT ISZERO PUSH3 0x6263 JUMPI SWAP1 DUP12 PUSH3 0x6256 DUP3 DUP14 DUP14 PUSH3 0x623D PUSH3 0x61EB DUP5 PUSH3 0x625D SWAP10 PUSH3 0x587B JUMP JUMPDEST MLOAD DUP4 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP6 MSTORE DUP4 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH3 0x624C DUP2 PUSH3 0x4C39 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x587B JUMP JUMPDEST MSTORE PUSH3 0x7085 JUMP JUMPDEST PUSH3 0x61C2 JUMP JUMPDEST POP POP SWAP4 SWAP9 SWAP1 SWAP5 SWAP10 SWAP3 SWAP7 SWAP2 SWAP6 SWAP11 DUP9 MLOAD SWAP1 DUP9 DUP5 DUP4 ADD DUP14 DUP2 DUP8 DUP8 MLOAD SWAP2 SWAP8 ADD SWAP2 JUMPDEST DUP9 DUP3 DUP3 LT PUSH3 0x64EA JUMPI POP POP POP POP PUSH3 0x634C SWAP1 DUP5 PUSH3 0x63A0 SWAP7 SUB SWAP5 PUSH3 0x62CC PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP7 DUP8 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x633F DUP14 DUP1 DUP10 DUP7 ADD MLOAD SWAP6 ADD MLOAD SWAP1 MLOAD SWAP5 DUP6 SWAP4 DUP11 DUP6 ADD SWAP8 DUP9 SWAP1 SWAP5 SWAP4 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x80 SWAP4 PUSH1 0xA0 DUP5 ADD SWAP8 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP6 MSTORE PUSH1 0x20 DUP6 ADD MSTORE AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x6393 DUP11 MLOAD SWAP5 DUP6 SWAP3 DUP4 ADD SWAP7 DUP8 SWAP1 SWAP2 PUSH1 0x42 SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x2 DUP4 ADD MSTORE PUSH1 0x22 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 DUP6 MLOAD SWAP1 PUSH32 0xE341EAA400000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 PUSH1 0x60 DUP2 PUSH1 0x44 DUP2 DUP6 GAS STATICCALL DUP1 ISZERO PUSH3 0x409 JUMPI SWAP1 PUSH3 0x6439 SWAP2 DUP11 DUP12 SWAP3 DUP13 SWAP3 PUSH3 0x2432 JUMPI POP PUSH1 0xF8 SHL PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 AND SWAP2 PUSH3 0x7544 JUMP JUMPDEST SWAP7 DUP2 EXTCODESIZE ISZERO PUSH3 0x630 JUMPI DUP9 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP10 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI PUSH3 0x64D4 JUMPI JUMPDEST POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x5AF2 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST PUSH3 0x64E2 SWAP1 SWAP8 SWAP2 SWAP8 PUSH3 0x4BEA JUMP JUMPDEST SWAP6 CODESIZE PUSH3 0x6486 JUMP JUMPDEST DUP4 MLOAD DUP10 MSTORE SWAP8 DUP9 ADD SWAP8 DUP15 SWAP6 POP SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH3 0x6280 JUMP JUMPDEST PUSH1 0x16 SLOAD PUSH1 0x0 SWAP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI PUSH1 0x40 SWAP3 DUP4 MLOAD PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH3 0x663B JUMPI JUMPDEST POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP7 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xA6A JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x6623 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI SWAP1 DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST PUSH3 0x662E SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B74 JUMPI DUP3 CODESIZE PUSH3 0x65D6 JUMP JUMPDEST PUSH3 0x6649 SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x6581 JUMP JUMPDEST PUSH3 0x665B PUSH3 0x6782 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x17 SLOAD SWAP4 PUSH1 0x0 SWAP5 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP7 DUP1 SWAP2 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP9 AND PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6755 JUMPI PUSH3 0x673F JUMPI JUMPDEST POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI SWAP1 DUP6 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x672B PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x6002 JUMPI PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST PUSH3 0x674D SWAP1 SWAP7 SWAP2 SWAP7 PUSH3 0x4BEA JUMP JUMPDEST SWAP5 CODESIZE PUSH3 0x66DC JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH3 0x676F DUP3 PUSH3 0x4BFF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 PUSH1 0x60 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH3 0x6792 DUP2 PUSH3 0x4BFF JUMP JUMPDEST DUP3 PUSH1 0x0 SWAP2 DUP3 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP4 DUP3 DUP3 ADD MSTORE PUSH1 0x60 SWAP6 DUP7 SWAP2 ADD MSTORE PUSH3 0x67B2 PUSH3 0x6760 JUMP JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x17 SLOAD AND PUSH3 0x680E PUSH3 0x61A2 PUSH1 0x19 SLOAD SWAP3 DUP1 DUP9 MSTORE PUSH1 0x1C DUP7 MSTORE PUSH3 0x6803 DUP8 DUP10 KECCAK256 DUP9 MLOAD SWAP3 PUSH3 0x67F6 DUP5 PUSH3 0x4BFF JUMP JUMPDEST DUP4 MSTORE DUP6 DUP9 DUP5 ADD MSTORE PUSH3 0x58CD JUMP JUMPDEST DUP8 DUP3 ADD MSTORE SWAP3 PUSH3 0x6AE9 JUMP JUMPDEST SWAP7 PUSH1 0x1D SLOAD AND SWAP7 PUSH1 0x1E SLOAD SWAP7 PUSH3 0x6825 DUP3 MLOAD MLOAD PUSH3 0x7030 JUMP JUMPDEST SWAP7 DUP1 JUMPDEST DUP4 MLOAD DUP1 MLOAD DUP3 LT ISZERO PUSH3 0x68BF JUMPI SWAP1 PUSH3 0x6845 DUP2 PUSH3 0x68B9 SWAP4 PUSH3 0x587B JUMP JUMPDEST MLOAD DUP10 MLOAD PUSH3 0x689C DUP11 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE DUP13 DUP4 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST DUP9 DUP2 MSTORE PUSH3 0x68AA DUP2 PUSH3 0x4C39 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH3 0x6256 DUP3 DUP13 PUSH3 0x587B JUMP JUMPDEST PUSH3 0x6828 JUMP JUMPDEST POP POP SWAP6 SWAP5 SWAP2 SWAP8 SWAP3 SWAP9 SWAP7 SWAP1 SWAP7 DUP6 MLOAD SWAP1 DUP10 DUP5 DUP4 ADD DUP1 DUP7 DUP7 MLOAD SWAP2 SWAP7 ADD SWAP1 DUP12 JUMPDEST DUP9 DUP3 DUP3 LT PUSH3 0x6AD1 JUMPI POP POP POP POP PUSH3 0x6999 SWAP1 DUP5 PUSH3 0x69E0 SWAP7 SUB SWAP5 PUSH3 0x6927 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP7 DUP8 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x633F DUP11 DUP9 DUP6 ADD MLOAD SWAP5 ADD MLOAD DUP12 MLOAD SWAP5 DUP6 SWAP4 DUP11 DUP6 ADD SWAP8 DUP9 SWAP1 SWAP5 SWAP4 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x80 SWAP4 PUSH1 0xA0 DUP5 ADD SWAP8 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP6 MSTORE PUSH1 0x20 DUP6 ADD MSTORE AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x6393 DUP8 MLOAD SWAP5 DUP6 SWAP3 DUP4 ADD SWAP7 DUP8 SWAP1 SWAP2 PUSH1 0x42 SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x2 DUP4 ADD MSTORE PUSH1 0x22 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 DUP3 MLOAD SWAP1 PUSH32 0xE341EAA400000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH3 0xA11CE PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE DUP2 DUP2 PUSH1 0x44 DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL SWAP3 DUP4 ISZERO PUSH3 0x6AC8 JUMPI POP PUSH3 0x4E57 SWAP4 SWAP3 DUP4 SWAP3 DUP4 SWAP3 SWAP2 PUSH3 0x6A7B JUMPI JUMPDEST POP POP PUSH1 0xF8 SHL PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 AND SWAP2 PUSH3 0x7544 JUMP JUMPDEST PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP5 POP PUSH3 0x6ABC SWAP4 POP DUP1 SWAP2 SWAP3 POP SWAP1 RETURNDATASIZE LT PUSH3 0x2488 JUMPI PUSH3 0x2474 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST SWAP3 SWAP1 SWAP3 SWAP2 SWAP1 CODESIZE PUSH3 0x6A4D JUMP JUMPDEST MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP4 MLOAD DUP10 MSTORE SWAP8 DUP9 ADD SWAP8 DUP16 SWAP6 POP SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH3 0x68DB JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH3 0x6AFA DUP3 PUSH3 0x4BFF JUMP JUMPDEST PUSH1 0x2 DUP3 MSTORE PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT PUSH3 0x6B8C JUMPI POP POP SWAP1 PUSH3 0x6B89 SWAP2 DUP2 SWAP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x15 SLOAD AND PUSH1 0x25 SLOAD DUP5 MLOAD SWAP2 PUSH3 0x6B3F DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x6B51 DUP6 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x6B5D DUP5 PUSH3 0x581C JUMP JUMPDEST POP PUSH1 0x14 SLOAD AND SWAP2 MLOAD SWAP2 PUSH3 0x6B70 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x6B82 DUP3 PUSH3 0x5859 JUMP JUMPDEST MSTORE PUSH3 0x5859 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH3 0x6B9C DUP2 PUSH3 0x4C1C JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP8 ADD ADD MSTORE ADD PUSH3 0x6B02 JUMP JUMPDEST PUSH3 0x6BBB PUSH3 0x5B5D JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x16 SLOAD AND PUSH3 0x6BE7 PUSH1 0x18 SLOAD PUSH1 0x19 SLOAD SWAP1 PUSH3 0x5B4F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 PUSH3 0x6BF6 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x6C08 DUP5 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x6C14 DUP4 PUSH3 0x581C JUMP JUMPDEST POP PUSH1 0x17 SLOAD AND PUSH1 0x40 MLOAD SWAP1 PUSH3 0x6C28 DUP3 PUSH3 0x4C1C JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x6C3C DUP4 PUSH3 0x5859 JUMP JUMPDEST MSTORE PUSH3 0x6B89 DUP3 PUSH3 0x5859 JUMP JUMPDEST PUSH1 0x4 DUP2 LT ISZERO PUSH3 0xD4D JUMPI PUSH1 0x2 DUP2 SUB PUSH3 0x6C5E JUMPI POP JUMP JUMPDEST PUSH3 0x51CE PUSH1 0x40 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP3 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2D PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B416772 DUP5 DUP3 ADD MSTORE PUSH32 0x65656D656E745374617475735D00000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0x6D1E DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 SWAP3 PUSH3 0xBA0 PUSH3 0x6DB3 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 MLOAD AND PUSH3 0x507D JUMP JUMPDEST ADD MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0xD4D JUMPI PUSH1 0x1 DUP2 SUB PUSH3 0x6DCB JUMPI POP JUMP JUMPDEST PUSH3 0x51CE PUSH1 0x40 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP3 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2C PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B506F73 DUP5 DUP3 ADD MSTORE PUSH32 0x6974696F6E5374617475735D0000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0x1770 DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 SWAP3 PUSH3 0xBA0 PUSH3 0x6EB6 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 MLOAD AND PUSH3 0x507D JUMP JUMPDEST ADD MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0xD4D JUMPI PUSH1 0x2 DUP2 SUB PUSH3 0x6ECE JUMPI POP JUMP JUMPDEST PUSH3 0x51CE PUSH1 0x40 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP3 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2C PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B506F73 DUP5 DUP3 ADD MSTORE PUSH32 0x6974696F6E5374617475735D0000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0x6D1E DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x4 DUP5 ADD MSTORE AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x7024 JUMPI PUSH1 0x0 SWAP2 PUSH3 0x6FF1 JUMPI POP SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP3 RETURNDATASIZE DUP3 GT PUSH3 0x701B JUMPI JUMPDEST DUP2 PUSH3 0x700D PUSH1 0x20 SWAP4 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x3BD JUMPI POP MLOAD SWAP1 JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0x6FFE JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH3 0x703C DUP3 PUSH3 0x4C98 JUMP JUMPDEST PUSH3 0x704B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH3 0x4C56 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH3 0x707B DUP3 SWAP5 PUSH3 0x4C98 JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH3 0x589E JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH3 0x70D4 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH3 0x70C5 JUMP JUMPDEST PUSH3 0x70F5 DUP2 MLOAD PUSH3 0x7030 JUMP JUMPDEST SWAP1 PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0x71BB JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH3 0x7129 PUSH3 0x71B5 SWAP4 DUP6 PUSH3 0x587B JUMP JUMPDEST MLOAD MLOAD AND PUSH1 0x20 PUSH3 0x71A6 DUP2 PUSH3 0x713F DUP6 DUP9 PUSH3 0x587B JUMP JUMPDEST MLOAD ADD MLOAD SWAP2 PUSH3 0x7179 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 ADD SWAP6 DUP7 PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP3 ADD SWAP6 AND DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH3 0x6256 DUP3 DUP7 PUSH3 0x587B JUMP JUMPDEST PUSH3 0x70F9 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0x73D9 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1A SLOAD AND PUSH1 0x40 DUP1 MLOAD SWAP3 PUSH32 0xB861619500000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 SWAP4 DUP3 DUP6 DUP3 ADD MSTORE PUSH1 0x0 DUP2 PUSH3 0x7225 PUSH1 0x44 DUP3 ADD DUP12 PUSH3 0x70B3 JUMP JUMPDEST SWAP6 DUP2 DUP1 PUSH1 0x24 SWAP9 DUP12 DUP11 DUP4 ADD MSTORE SUB SWAP2 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x73CE JUMPI PUSH1 0x0 SWAP2 PUSH3 0x7333 JUMPI JUMPDEST POP SWAP1 PUSH3 0x7253 DUP7 DUP9 PUSH3 0x587B JUMP JUMPDEST MLOAD MLOAD AND PUSH1 0x0 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1C DUP4 MSTORE PUSH1 0x0 KECCAK256 SWAP3 DUP2 MLOAD SWAP5 PUSH8 0xFFFFFFFFFFFFFFFF DUP7 GT PUSH3 0x7307 JUMPI PUSH9 0x10000000000000000 DUP7 GT PUSH3 0x7307 JUMPI POP POP DUP2 SWAP1 DUP4 SLOAD DUP6 DUP6 SSTORE DUP1 DUP7 LT PUSH3 0x72D9 JUMPI JUMPDEST POP ADD SWAP2 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 JUMPDEST DUP5 DUP2 LT PUSH3 0x72C6 JUMPI POP POP POP POP POP PUSH3 0x72C0 SWAP1 PUSH3 0x7085 JUMP JUMPDEST PUSH3 0x71BF JUMP JUMPDEST DUP4 MLOAD DUP4 DUP3 ADD SSTORE SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH3 0x72A8 JUMP JUMPDEST DUP5 PUSH1 0x0 MSTORE DUP6 DUP4 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD SWAP2 ADD JUMPDEST DUP2 DUP2 LT PUSH3 0x72F7 JUMPI POP PUSH3 0x729A JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x72E8 JUMP JUMPDEST PUSH1 0x41 SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST RETURNDATASIZE DUP1 DUP4 DUP4 RETURNDATACOPY PUSH3 0x7344 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 SWAP2 DUP3 DUP2 DUP4 SUB SLT PUSH3 0x1B70 JUMPI DUP1 MLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH3 0x12C4 JUMPI ADD DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH3 0x1B70 JUMPI DUP1 MLOAD SWAP1 PUSH3 0x7381 DUP3 PUSH3 0x4C98 JUMP JUMPDEST SWAP5 PUSH3 0x7390 DUP9 MLOAD SWAP7 DUP8 PUSH3 0x4C56 JUMP JUMPDEST DUP3 DUP7 MSTORE DUP5 DUP1 DUP8 ADD SWAP4 PUSH1 0x5 SHL DUP4 ADD ADD SWAP4 DUP5 GT PUSH3 0x3BD JUMPI POP DUP4 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH3 0x73BE JUMPI POP POP POP POP CODESIZE PUSH3 0x7245 JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE SWAP1 DUP4 ADD SWAP1 DUP4 ADD PUSH3 0x73AB JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP POP PUSH1 0x20 PUSH3 0x7437 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1A SLOAD AND PUSH1 0x40 MLOAD DUP1 DUP1 SWAP6 DUP2 SWAP5 PUSH32 0x2E08D60200000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP7 PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP1 PUSH3 0x70B3 JUMP JUMPDEST SUB SWAP2 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x7024 JUMPI PUSH1 0x0 SWAP2 PUSH3 0x7452 JUMPI JUMPDEST POP PUSH1 0x1B SSTORE JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP3 RETURNDATASIZE DUP3 GT PUSH3 0x7480 JUMPI JUMPDEST DUP2 PUSH3 0x746E PUSH1 0x20 SWAP4 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x3BD JUMPI POP MLOAD CODESIZE PUSH3 0x744C JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0x745F JUMP JUMPDEST PUSH3 0x51E1 PUSH3 0x7497 PUSH3 0x5B5D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x16 SLOAD AND PUSH1 0x18 SLOAD PUSH1 0x40 MLOAD SWAP2 PUSH3 0x74C3 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x74D5 DUP4 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x74E1 DUP3 PUSH3 0x581C JUMP JUMPDEST POP PUSH1 0x17 SLOAD AND PUSH1 0x19 SLOAD PUSH1 0x40 MLOAD SWAP2 PUSH3 0x74F8 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x750A DUP3 PUSH3 0x5859 JUMP JUMPDEST MSTORE PUSH3 0x7516 DUP2 PUSH3 0x5859 JUMP JUMPDEST POP PUSH3 0x70E9 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x60 SWAP2 SUB SLT PUSH3 0x1B6B JUMPI DUP1 MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x1B6B JUMPI SWAP2 PUSH1 0x40 PUSH1 0x20 DUP4 ADD MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP2 PUSH1 0x40 MLOAD SWAP5 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x41 DUP3 MSTORE PUSH3 0x51E1 DUP3 PUSH3 0x4C39 JUMP JUMPDEST PUSH3 0x7595 PUSH3 0x6760 JUMP JUMPDEST POP DUP1 MLOAD SWAP1 PUSH3 0x75A4 DUP3 PUSH3 0x4C98 JUMP JUMPDEST SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH3 0x75E4 PUSH1 0x40 SWAP3 PUSH3 0x75DB DUP5 MLOAD SWAP7 DUP8 PUSH3 0x4C56 JUMP JUMPDEST DUP1 DUP7 MSTORE PUSH3 0x4C98 JUMP JUMPDEST ADD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x76A1 JUMPI POP POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH3 0x7674 JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH3 0x7625 PUSH3 0x766E SWAP4 DUP7 PUSH3 0x587B JUMP JUMPDEST MLOAD MLOAD AND PUSH1 0x20 DUP1 PUSH3 0x7637 DUP5 DUP9 PUSH3 0x587B JUMP JUMPDEST MLOAD ADD MLOAD SWAP1 DUP6 MLOAD SWAP3 PUSH3 0x7649 DUP5 PUSH3 0x4C1C JUMP JUMPDEST DUP4 MSTORE DUP3 ADD MSTORE PUSH3 0x765A DUP3 DUP8 PUSH3 0x587B JUMP JUMPDEST MSTORE PUSH3 0x7667 DUP2 DUP7 PUSH3 0x587B JUMP JUMPDEST POP PUSH3 0x7085 JUMP JUMPDEST PUSH3 0x75F5 JUMP JUMPDEST POP SWAP1 POP PUSH1 0x64 TIMESTAMP ADD SWAP1 DUP2 TIMESTAMP GT PUSH3 0x589E JUMPI DUP1 MLOAD SWAP3 PUSH3 0x7692 DUP5 PUSH3 0x4BFF JUMP JUMPDEST DUP4 MSTORE PUSH1 0x0 PUSH1 0x20 DUP5 ADD MSTORE DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH3 0x76B1 DUP2 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH3 0x75E8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x22CA SWAP1 DUP2 DUP4 ADD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP6 LT DUP5 DUP7 GT OR PUSH3 0x2490 JUMPI PUSH3 0x7B82 DUP3 CODECOPY DUP1 PUSH1 0x0 SWAP5 SUB SWAP1 DUP5 CREATE SWAP3 DUP4 ISZERO PUSH3 0x78CA JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP6 AND DUP6 PUSH1 0x13 SLOAD AND OR PUSH1 0x13 SSTORE DUP3 MLOAD SWAP1 PUSH2 0x12BF DUP1 DUP4 ADD SWAP3 DUP1 DUP5 LT DUP4 DUP6 GT OR PUSH3 0x7893 JUMPI PUSH1 0xE0 DUP2 PUSH3 0x9E4C SWAP6 DUP5 DUP8 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20410000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5441000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP10 DUP3 ADD MSTORE SUB ADD SWAP1 DUP6 CREATE DUP1 ISZERO PUSH3 0x78C0 JUMPI DUP7 AND DUP8 PUSH1 0x14 SLOAD AND OR PUSH1 0x14 SSTORE DUP5 MLOAD SWAP3 DUP2 DUP5 ADD SWAP3 DUP5 DUP5 LT SWAP1 DUP5 GT OR PUSH3 0x7893 JUMPI SWAP2 DUP4 SWAP2 PUSH1 0xE0 SWAP4 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20420000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5442000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP7 DUP3 ADD MSTORE SUB ADD SWAP1 DUP3 CREATE SWAP2 DUP3 ISZERO PUSH3 0x7889 JUMPI POP POP AND SWAP1 PUSH1 0x15 SLOAD AND OR PUSH1 0x15 SSTORE JUMP JUMPDEST MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP6 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x14 SLOAD SWAP1 PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI PUSH1 0x40 MLOAD SWAP2 DUP1 PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 SWAP3 DUP4 DUP6 MSTORE AND SWAP3 DUP4 PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x44 DUP2 DUP4 PUSH9 0x246DDF97976680000 SWAP10 DUP11 PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x79A5 JUMPI PUSH3 0x798F JUMPI JUMPDEST POP PUSH1 0x15 SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 SWAP3 SWAP2 DUP4 PUSH1 0x44 SWAP3 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6002 JUMPI PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST PUSH3 0x799D SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x7955 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x1B6B JUMPI PUSH1 0x40 SWAP2 DUP3 MLOAD SWAP4 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x0 SWAP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH3 0x7B69 JUMPI JUMPDEST POP SWAP1 DUP2 DUP6 SWAP3 PUSH1 0x14 SLOAD AND SWAP2 DUP6 MLOAD SWAP2 DUP1 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP3 DUP4 DUP6 MSTORE AND SWAP3 DUP4 PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x24 DUP4 ADD MSTORE DUP2 PUSH1 0x44 DUP2 PUSH1 0x20 SWAP10 DUP11 SWAP5 GAS CALL DUP1 ISZERO PUSH3 0x4BA4 JUMPI PUSH1 0x44 SWAP3 DUP8 SWAP6 SWAP5 SWAP3 DUP12 SWAP3 PUSH3 0x7B47 JUMPI JUMPDEST POP PUSH1 0x15 SLOAD AND DUP10 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI PUSH3 0x7B24 JUMPI POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI SWAP1 DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH3 0x7B3E SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE DUP1 PUSH3 0x65D6 JUMP JUMPDEST PUSH3 0x7B61 SWAP1 DUP8 RETURNDATASIZE DUP10 GT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE PUSH3 0x7AB1 JUMP JUMPDEST PUSH3 0x7B78 SWAP1 SWAP6 SWAP2 SWAP3 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 SWAP1 CODESIZE PUSH3 0x7A2D JUMP INVALID PUSH1 0xC0 CALLVALUE PUSH2 0xBB JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA5 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x2209 SWAP1 DUP2 PUSH2 0xC1 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x18B0 ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0x188A ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0x10C8 JUMPI DUP1 PUSH4 0x137C29FE EQ PUSH2 0xEEF JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0xC4F JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x9B2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x98F JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x938 JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x8D6 JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x716 JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0xCC53287F EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x31C JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x318 JUMPI PUSH1 0xC0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0xF6 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x10D SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x143A JUMP JUMPDEST PUSH2 0x115 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x30C JUMPI PUSH2 0x12D SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x308 JUMPI PUSH2 0x146 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x155 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x204 PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x23D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x24D DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2DB JUMPI POP POP PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0x2CF SWAP2 DUP4 MLOAD PUSH2 0x282 DUP2 PUSH2 0x276 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x1A60 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0x2ED PUSH2 0x303 SWAP4 DUP13 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH2 0x2FD DUP3 DUP7 PUSH2 0x157E JUMP JUMPDEST MSTORE PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x250 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0x34F SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x366 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x143A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x371 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0x388 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x398 DUP10 PUSH2 0x1C24 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x441 JUMPI POP POP PUSH2 0x2D8 SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x3BD PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x2CF DUP2 PUSH2 0x1259 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2FD DUP3 PUSH2 0x458 PUSH2 0x2ED PUSH2 0x45E SWAP7 DUP14 MLOAD PUSH2 0x157E JUMP JUMPDEST SWAP3 PUSH2 0x157E JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x310 JUMPI PUSH2 0x49A SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x143A JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0x4AA JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0x4C0 PUSH2 0x4BB PUSH1 0x1 SWAP4 DUP9 DUP9 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0x16E5 JUMP JUMPDEST PUSH2 0x4D5 DUP5 PUSH2 0x4CF DUP5 DUP11 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD PUSH2 0x16E5 JUMP JUMPDEST CALLER DUP10 MSTORE DUP4 DUP6 MSTORE DUP6 DUP10 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 DUP12 MSTORE DUP7 MSTORE DUP7 DUP11 KECCAK256 SWAP2 AND SWAP1 DUP2 DUP11 MSTORE DUP6 MSTORE DUP6 DUP10 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE DUP6 MLOAD SWAP2 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 DUP6 CALLER SWAP3 LOG2 ADD PUSH2 0x49F JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x5FE DUP2 PUSH2 0x587 PUSH2 0x12DE JUMP JUMPDEST SWAP4 PUSH2 0x590 PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x598 PUSH2 0x1324 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 DUP8 AND DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP5 DUP5 KECCAK256 SWAP3 DUP9 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP8 AND DUP4 MSTORE DUP2 MSTORE SWAP2 SWAP1 KECCAK256 SLOAD SWAP3 MLOAD SWAP4 DUP4 AND DUP5 MSTORE PUSH1 0xA0 DUP4 SWAP1 SHR PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP5 ADD MSTORE PUSH1 0xD0 SWAP2 SWAP1 SWAP2 SHR PUSH1 0x40 DUP4 ADD MSTORE DUP2 SWAP1 PUSH1 0x60 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x61C PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x625 PUSH2 0x1301 JUMP JUMPDEST SWAP2 PUSH2 0x62E PUSH2 0x1324 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 AND SWAP1 DUP2 DUP2 SUB PUSH2 0x30C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP5 PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B SWAP5 CALLER DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP6 DUP12 KECCAK256 SWAP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP10 DUP11 DUP14 MSTORE PUSH1 0x20 MSTORE DUP4 DUP8 DUP14 KECCAK256 SWAP12 AND SWAP11 DUP12 DUP14 MSTORE PUSH1 0x20 MSTORE DUP7 DUP13 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x70E JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP8 DUP9 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST SWAP1 POP SWAP3 PUSH2 0x6ED JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x731 PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x73A PUSH2 0x1301 JUMP JUMPDEST SWAP3 PUSH6 0xFFFFFFFFFFFF PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND SWAP4 SWAP1 DUP5 DUP2 SUB PUSH2 0x30C JUMPI CALLER DUP9 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1 DUP4 MSTORE DUP5 DUP10 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP8 DUP9 DUP12 MSTORE DUP5 MSTORE DUP6 DUP11 KECCAK256 SWAP9 AND SWAP8 DUP9 DUP11 MSTORE DUP4 MSTORE DUP5 DUP10 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP4 DUP5 DUP8 GT ISZERO PUSH2 0x863 JUMPI PUSH2 0xFFFF SWAP1 DUP6 DUP5 SUB AND GT PUSH2 0x83C JUMPI POP SWAP1 PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 SWAP4 SWAP3 SWAP2 CALLER DUP10 MSTORE PUSH1 0x1 DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP8 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP9 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE DUP3 MLOAD SWAP5 DUP6 MSTORE DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST DUP5 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x8BD PUSH2 0x12DE JUMP JUMPDEST AND DUP2 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0x98C JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x98C JUMPI PUSH2 0x952 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x95A PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x962 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x310 JUMPI PUSH2 0x2D8 SWAP4 PUSH2 0x15C1 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x9AB PUSH2 0x1887 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x9D0 CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xA02 PUSH2 0x12B6 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xA90 JUMPI PUSH2 0x2D8 SWAP5 PUSH2 0xA25 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0xA32 DUP4 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0xA87 DUP2 PUSH2 0x1259 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0x198E JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0xAB0 PUSH2 0x12DE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD PUSH1 0xC0 DUP2 SLT PUSH2 0x314 JUMPI PUSH1 0x80 DUP6 MLOAD SWAP2 PUSH2 0xAE9 DUP4 PUSH2 0x1221 JUMP JUMPDEST SLT PUSH2 0x314 JUMPI DUP5 MLOAD SWAP1 PUSH2 0xAFA DUP3 PUSH2 0x11D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x30C JUMPI DUP9 DUP4 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP4 DUP3 DUP6 AND DUP6 SUB PUSH2 0xA90 JUMPI PUSH1 0x20 DUP3 ADD SWAP5 DUP6 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP8 DUP4 ADD DUP3 DUP2 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x308 JUMPI PUSH2 0xB96 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 DUP1 TIMESTAMP GT PUSH2 0xC20 JUMPI POP POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0xC16 SWAP6 PUSH2 0xBBB DUP9 MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP1 DUP10 DUP13 MLOAD AND SWAP1 MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP7 MSTORE DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x1942 JUMP JUMPDEST SWAP2 PUSH2 0x1E30 JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1706 JUMP JUMPDEST PUSH1 0x24 SWAP3 POP DUP11 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT SWAP4 DUP2 DUP6 CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xC6D PUSH2 0x12DE JUMP JUMPDEST SWAP3 PUSH1 0x24 SWAP1 DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP8 DUP9 DUP6 GT PUSH2 0x30C JUMPI DUP6 SWAP1 DUP6 CALLDATASIZE SUB ADD SLT PUSH2 0x463 JUMPI DUP1 MLOAD SWAP8 DUP6 DUP10 ADD DUP10 DUP2 LT DUP3 DUP3 GT OR PUSH2 0xEC4 JUMPI DUP3 MSTORE DUP5 DUP4 ADD CALLDATALOAD DUP2 DUP2 GT PUSH2 0x308 JUMPI DUP6 ADD SWAP1 CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x308 JUMPI DUP4 DUP3 ADD CALLDATALOAD SWAP2 PUSH2 0xCCA DUP4 PUSH2 0x140F JUMP JUMPDEST SWAP1 PUSH2 0xCD7 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP4 DUP3 MSTORE PUSH1 0x20 SWAP4 DUP8 DUP6 DUP5 ADD SWAP2 PUSH1 0x7 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xEC0 JUMPI DUP9 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xE63 JUMPI POP POP POP DUP11 MSTORE PUSH1 0x44 PUSH2 0xD0D DUP7 DUP9 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP7 DUP4 DUP13 ADD SWAP8 DUP9 MSTORE ADD CALLDATALOAD SWAP5 DUP4 DUP12 ADD SWAP2 DUP7 DUP4 MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xE5F JUMPI PUSH2 0xD35 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP6 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0xE34 JUMPI POP POP POP DUP10 SWAP9 SWAP10 MLOAD MLOAD PUSH2 0xD50 DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP12 JUMPDEST DUP2 DUP2 LT PUSH2 0xE11 JUMPI POP POP SWAP3 DUP9 SWAP5 SWAP3 PUSH2 0xC10 SWAP3 PUSH2 0xDDE SWAP8 SWAP6 DUP4 MLOAD PUSH2 0xD7C DUP2 PUSH2 0x3BD DUP7 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP11 DUP12 DUP12 MLOAD AND SWAP2 MLOAD SWAP3 DUP6 MLOAD SWAP5 DUP6 ADD SWAP6 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP8 MSTORE DUP6 ADD MSTORE DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD AND SWAP1 DUP3 MLOAD MLOAD SWAP3 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0xDF2 JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0xE0B DUP6 DUP6 PUSH2 0xE05 PUSH1 0x1 SWAP6 DUP8 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1706 JUMP JUMPDEST ADD PUSH2 0xDE7 JUMP JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0xE26 DUP15 SWAP16 SWAP15 SWAP4 PUSH2 0xE2C SWAP5 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP12 SWAP11 SWAP12 PUSH2 0xD53 JUMP JUMPDEST DUP6 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x80 DUP3 CALLDATASIZE SUB SLT PUSH2 0xEC0 JUMPI DUP6 PUSH1 0x80 SWAP2 DUP9 MLOAD PUSH2 0xE7C DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0xE85 DUP6 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xE92 DUP4 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xEA1 DUP11 DUP7 ADD PUSH2 0x1427 JUMP JUMPDEST DUP11 DUP3 ADD MSTORE DUP14 PUSH2 0xEB1 DUP2 DUP8 ADD PUSH2 0x1427 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP13 DUP1 REVERT JUMPDEST DUP5 DUP10 PUSH1 0x41 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x140 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0xF0C CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xF3E PUSH2 0x12B6 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0xF61 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x30C JUMPI PUSH2 0xF81 PUSH2 0xA87 SWAP7 PUSH2 0x2D8 SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0xF90 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x103F PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x1078 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x1086 DUP7 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x2C3 JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP3 GT PUSH2 0xA90 JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xA90 JUMPI DUP2 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x310 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP7 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x463 JUMPI DUP7 JUMPDEST DUP6 DUP2 LT PUSH2 0x1123 JUMPI DUP8 DUP1 RETURN JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x308 JUMPI PUSH2 0x11D0 DUP9 DUP8 PUSH1 0x1 SWAP5 PUSH1 0x60 DUP4 MLOAD PUSH2 0x116A DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x11A6 PUSH1 0x84 PUSH2 0x117A DUP14 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP5 DUP6 DUP5 MSTORE PUSH2 0x118A PUSH1 0x44 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP8 DUP6 ADD MSTORE PUSH2 0x119B PUSH1 0x64 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP9 DUP6 ADD MSTORE ADD PUSH2 0x1347 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0x15C1 JUMP JUMPDEST ADD PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x3 NOT ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x1383 DUP3 PUSH2 0x1221 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x12D9 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x11F2 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0x1486 DUP4 PUSH2 0x1221 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x12D9 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP1 CALLDATALOAD PUSH2 0x14B3 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 PUSH2 0x14C0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x1275 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x12D9 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1503 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x12D9 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD SWAP1 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x1550 JUMPI DUP11 SWAP3 DUP10 SWAP3 DUP5 MSTORE PUSH2 0x1534 DUP8 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0x14E6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 PUSH1 0x0 DUP3 DUP5 AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP3 DUP3 DUP3 KECCAK256 SWAP7 AND SWAP6 DUP7 DUP3 MSTORE PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 CALLER DUP3 MSTORE PUSH1 0x20 MSTORE KECCAK256 SWAP5 DUP6 SLOAD SWAP6 PUSH6 0xFFFFFFFFFFFF DUP8 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0x16A4 JUMPI POP DUP3 DUP8 AND SWAP7 DUP4 DUP9 SUB PUSH2 0x1632 JUMPI JUMPDEST POP POP PUSH2 0x1630 SWAP6 POP AND SWAP3 PUSH2 0x211C JUMP JUMPDEST JUMP JUMPDEST DUP8 DUP5 DUP5 AND GT PUSH1 0x0 EQ PUSH2 0x166F JUMPI PUSH1 0x24 DUP9 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP5 DUP5 PUSH2 0x1630 SWAP11 SUB AND SWAP2 AND OR SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x185E JUMPI SWAP2 DUP6 PUSH2 0x1837 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x183C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x17C9 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x18D2 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x194A PUSH2 0x1887 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1A2F JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0x19FE JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x19CE SWAP5 PUSH2 0x19C9 PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH2 0x1942 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI PUSH2 0x1630 SWAP4 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP6 SWAP1 SWAP4 SWAP6 DUP1 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP3 DUP4 DUP4 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1B80 JUMPI POP DUP5 DUP9 SUB PUSH2 0x1B57 JUMPI PUSH2 0x1A97 SWAP2 DUP7 SWAP2 PUSH2 0xC10 PUSH1 0x20 SWAP12 PUSH2 0x19C9 DUP14 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT PUSH2 0x1AAB JUMPI POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AB6 DUP2 DUP4 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD DUP9 PUSH2 0x1AC3 DUP4 DUP8 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP10 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0x1B27 JUMPI POP SWAP2 DUP2 DUP9 DUP9 DUP9 PUSH1 0x1 SWAP7 DUP6 SWAP7 PUSH2 0x1AED JUMPI JUMPDEST POP POP POP POP POP POP ADD PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x1B1C SWAP6 PUSH2 0x1B16 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x4BB SWAP4 MLOAD AND SWAP6 PUSH2 0x16D5 JUMP JUMPDEST SWAP2 PUSH2 0x211C JUMP JUMPDEST DUP1 CODESIZE DUP9 DUP9 DUP9 DUP4 PUSH2 0x1AE1 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP7 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP6 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0x1BFA JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x1C2E DUP3 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x1C3B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1275 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1C69 DUP3 SWAP5 PUSH2 0x140F JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1CA0 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1CE8 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1CDA JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x1D14 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x1D03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x1F97 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1F15 JUMPI PUSH2 0x1E4D DUP3 DUP3 ADD DUP3 PUSH2 0x1E1A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1F09 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x1EDF JUMPI AND SUB PUSH2 0x1EB5 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1F6D JUMPI PUSH2 0x1F29 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E1A JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x1CA0 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1E6B JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x2111 JUMPI DUP3 SWAP2 PUSH2 0x2093 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x2069 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x2109 JUMPI JUMPDEST DUP2 PUSH2 0x20AD PUSH1 0x20 SWAP4 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x318 JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x98C JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x203D JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x20A0 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x2175 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 SWAP9 0xBA CALLVALUE 0xBD COINBASE 0xCC 0xB3 CALLER SWAP5 SELFBALANCE PUSH32 0x24CCA6191C4FC58C8E7D9ADAE8E27920B835FF1D64736F6C6343000811003360 0xE0 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH3 0x43C JUMPI PUSH3 0x12BF DUP1 CODESIZE SUB DUP1 SWAP2 PUSH3 0x22 DUP3 DUP6 PUSH3 0x441 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD PUSH1 0x60 DUP3 DUP3 SUB SLT PUSH3 0x43C JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP4 SWAP1 DUP5 DUP2 GT PUSH3 0x43C JUMPI DUP3 PUSH3 0x53 SWAP2 DUP6 ADD PUSH3 0x465 JUMP JUMPDEST SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP3 ADD MLOAD DUP7 DUP2 GT PUSH3 0x43C JUMPI DUP4 SWAP2 PUSH3 0x72 SWAP2 DUP5 ADD PUSH3 0x465 JUMP JUMPDEST SWAP2 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x43C JUMPI DUP5 MLOAD SWAP5 DUP7 DUP7 GT PUSH3 0x426 JUMPI PUSH1 0x0 SWAP6 DUP1 PUSH3 0x9B DUP9 SLOAD PUSH3 0x4DC JUMP JUMPDEST SWAP3 PUSH1 0x1F SWAP4 DUP5 DUP2 GT PUSH3 0x3D5 JUMPI JUMPDEST POP DUP8 SWAP1 DUP5 DUP4 GT PUSH1 0x1 EQ PUSH3 0x36D JUMPI DUP10 SWAP3 PUSH3 0x361 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR DUP7 SSTORE JUMPDEST DUP3 MLOAD SWAP1 DUP8 DUP3 GT PUSH3 0x34D JUMPI DUP2 SWAP1 PUSH1 0x1 SWAP5 PUSH3 0xEF DUP7 SLOAD PUSH3 0x4DC JUMP JUMPDEST DUP3 DUP2 GT PUSH3 0x2F8 JUMPI JUMPDEST POP DUP8 SWAP2 DUP4 GT PUSH1 0x1 EQ PUSH3 0x294 JUMPI DUP9 SWAP3 PUSH3 0x288 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP4 SHL OR DUP3 SSTORE JUMPDEST PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE DUP2 MLOAD DUP5 SLOAD SWAP2 DUP2 DUP7 PUSH3 0x13A DUP6 PUSH3 0x4DC JUMP JUMPDEST SWAP3 DUP4 DUP4 MSTORE DUP8 DUP4 ADD SWAP6 DUP9 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH3 0x268 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0x228 JUMPI JUMPDEST POP PUSH3 0x16A SWAP3 POP SUB DUP3 PUSH3 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP2 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP6 MSTORE DUP3 DUP5 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP5 ADD MSTORE CHAINID PUSH1 0x80 DUP5 ADD MSTORE ADDRESS PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 MSTORE PUSH1 0xC0 DUP4 ADD SWAP5 DUP4 DUP7 LT SWAP1 DUP7 GT OR PUSH3 0x214 JUMPI POP DUP4 SWAP1 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0xC0 MSTORE PUSH2 0xDA5 SWAP1 DUP2 PUSH3 0x51A DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x77E ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xB97 ADD MSTORE PUSH1 0xC0 MLOAD DUP2 PUSH2 0xBBE ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP8 SWAP2 POP DUP9 DUP1 MSTORE DUP2 DUP10 KECCAK256 SWAP1 DUP10 SWAP2 JUMPDEST DUP6 DUP4 LT PUSH3 0x24F JUMPI POP POP PUSH3 0x16A SWAP4 POP DUP3 ADD ADD CODESIZE PUSH3 0x15B JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP10 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH3 0x235 JUMP JUMPDEST PUSH1 0xFF NOT AND DUP9 MSTORE PUSH3 0x16A SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH3 0x15B SWAP1 POP JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x10D JUMP JUMPDEST DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP7 SWAP5 POP SWAP2 SWAP1 PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x2E1 JUMPI POP POP DUP5 GT PUSH3 0x2C7 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP3 SSTORE PUSH3 0x121 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x2B9 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE DUP10 SWAP8 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH3 0x2A6 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 POP DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP4 DUP1 DUP7 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP8 LT PUSH3 0x343 JUMPI JUMPDEST SWAP2 DUP7 SWAP6 DUP10 SWAP3 SWAP6 SWAP5 SWAP4 ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x334 JUMPI POP POP PUSH3 0xF8 JUMP JUMPDEST DUP12 DUP2 SSTORE DUP7 SWAP6 POP DUP9 SWAP2 ADD PUSH3 0x324 JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x315 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xBE JUMP JUMPDEST DUP10 DUP1 MSTORE DUP9 DUP11 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x3BE JUMPI POP POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH3 0x3A4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP7 SSTORE PUSH3 0xD3 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x396 JUMP JUMPDEST PUSH1 0x1 DUP6 SWAP7 DUP3 SWAP4 SWAP7 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH3 0x37C JUMP JUMPDEST SWAP1 SWAP2 POP DUP9 DUP1 MSTORE DUP8 DUP10 KECCAK256 DUP5 DUP1 DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP7 LT PUSH3 0x41C JUMPI JUMPDEST SWAP1 DUP6 SWAP5 SWAP4 SWAP3 SWAP2 ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH3 0x40D JUMPI POP PUSH3 0xA8 JUMP JUMPDEST DUP11 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x3FE JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x3F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x426 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x43C JUMPI DUP3 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 SWAP2 PUSH3 0x4A1 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP5 ADD DUP6 PUSH3 0x441 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x43C JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x4C8 JUMPI POP DUP3 PUSH1 0x0 SWAP4 SWAP5 SWAP6 POP ADD ADD MSTORE SWAP1 JUMP JUMPDEST DUP6 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x4B2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x50E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F8 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4EC JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER PUSH1 0xA0 CALLVALUE PUSH3 0xCE JUMPI PUSH1 0x1F PUSH3 0x306C CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH3 0xD3 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH3 0xCE JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH3 0xCE JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH3 0xCE JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP4 OR DUP2 SSTORE PUSH1 0x40 MLOAD SWAP3 SWAP1 CALLER SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP1 LOG3 PUSH1 0x1 PUSH1 0x2 SSTORE PUSH1 0x80 MSTORE PUSH2 0x2F82 SWAP1 DUP2 PUSH3 0xEA DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x389 ADD MSTORE DUP2 DUP2 PUSH2 0x1F5C ADD MSTORE PUSH2 0x24BE ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x61AB0BC EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0x186799A4 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0x1BD747A2 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0x33099405 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x5541E684 EQ PUSH2 0x128 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x8135FE23 EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x8F34A859 EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0xA37EE28C EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xAB4F5678 EQ PUSH2 0xF2 JUMPI DUP1 PUSH4 0xAC41B751 EQ PUSH2 0xE9 JUMPI DUP1 PUSH4 0xAF0F9DF3 EQ PUSH2 0xE0 JUMPI PUSH4 0xF2FDE38B EQ PUSH2 0xD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x17F0 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x16AC JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x157F JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1425 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1307 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1129 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x10F4 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xF2C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xEF7 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xE3C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xB52 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xA5E JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x908 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x7FA JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x3AD JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x35B JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x190 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x199 DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x1AA PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x1 SWAP1 PUSH2 0x2B9 PUSH2 0x1BC PUSH2 0x206C JUMP JUMPDEST SWAP2 PUSH2 0x1EA CALLER PUSH1 0x8 DUP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x0 PUSH1 0x2 DUP6 ADD PUSH2 0x225 PUSH1 0x6 DUP3 SLOAD SWAP6 ADD PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x257 PUSH1 0x3 DUP8 ADD PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST SSTORE PUSH2 0x2B3 PUSH1 0x40 PUSH2 0x297 PUSH2 0x27E DUP5 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x2717 JUMP JUMPDEST ADD SLOAD DUP2 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x2FA CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x4 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 CALLER SWAP1 PUSH32 0xB67E3AC5AA7B56D61E366985EA94BE26DB935ECA5C55E0359FD36C5852B6FA39 PUSH1 0x0 DUP1 LOG3 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP2 SUB SLT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x3D0 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x3E8 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x3F0 PUSH2 0x206C JUMP JUMPDEST SWAP1 PUSH2 0x3FD PUSH2 0x1A6 DUP3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x524 JUMPI PUSH2 0x40E PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x4D7 SWAP2 PUSH2 0x4B5 PUSH2 0x446 CALLER PUSH1 0x8 DUP6 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP4 PUSH2 0x48B PUSH1 0x3 DUP7 SLOAD SWAP4 PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 DUP2 SLOAD SWAP11 SSTORE SSTORE ADD PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E PUSH1 0x3 CALLER SWAP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2717 JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E CALLER SWAP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 CALLER SWAP3 DUP1 PUSH2 0x515 DUP2 SWAP1 PUSH1 0x3 PUSH1 0x20 PUSH1 0x40 DUP5 ADD SWAP4 PUSH1 0x0 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x522 PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xA3B1C9DE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x60 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x60 SWAP2 SUB SLT PUSH2 0xE JUMPI SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x5DF PUSH2 0x58B JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x600 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x6D0 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x6D8 PUSH2 0x58B JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SUB PUSH2 0xE JUMPI JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x732 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x64 CALLDATALOAD PUSH2 0x73F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x84 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x782 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x24 CALLDATALOAD PUSH2 0x78F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x44 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0x7B3 DUP2 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 SWAP5 DUP1 CALLDATALOAD PUSH2 0x7C3 DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP5 MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x3 NOT PUSH1 0x80 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xE JUMPI PUSH2 0x82F SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI PUSH1 0x60 SWAP1 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 DUP1 MLOAD SWAP3 PUSH2 0x854 DUP5 PUSH2 0x5E4 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD CALLDATALOAD DUP6 DUP2 GT PUSH2 0xE JUMPI DUP2 ADD CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xE JUMPI PUSH1 0x4 DUP2 ADD CALLDATALOAD SWAP1 PUSH2 0x87C DUP3 PUSH2 0x6B6 JUMP JUMPDEST SWAP1 PUSH2 0x889 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x64C JUMP JUMPDEST DUP3 DUP3 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x24 DUP5 DUP5 ADD SWAP2 PUSH1 0x6 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP8 SWAP2 ADD SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x8EF JUMPI POP POP POP SWAP1 DUP7 MSTORE POP PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE PUSH1 0x44 ADD CALLDATALOAD SWAP1 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP3 DUP4 GT PUSH2 0xE JUMPI PUSH2 0x8E4 PUSH2 0x522 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP1 SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x1E66 JUMP JUMPDEST DUP6 SWAP1 PUSH2 0x8FB CALLDATASIZE DUP6 PUSH2 0x79B JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 DUP7 SWAP1 PUSH2 0x8AA JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND SWAP1 PUSH1 0x4 SLOAD SWAP1 PUSH1 0x5 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH2 0x997 PUSH2 0x952 JUMP JUMPDEST MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD MSTORE DUP1 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 PUSH1 0xC0 PUSH1 0x60 DUP5 ADD MSTORE DUP2 MLOAD SWAP2 DUP3 PUSH1 0xE0 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA49 JUMPI POP POP POP PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 PUSH2 0xA42 PUSH1 0xA0 PUSH2 0x100 SWAP7 PUSH1 0x0 DUP9 DUP6 DUP10 ADD ADD MSTORE PUSH2 0xA2D PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x80 DUP10 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD MLOAD DUP3 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP7 ADD SWAP1 PUSH2 0x982 JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH2 0x100 ADD MSTORE DUP3 ADD PUSH2 0x9C7 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0xA0 PUSH1 0x40 MLOAD PUSH2 0xA80 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE DUP3 PUSH1 0x80 DUP3 ADD MSTORE ADD MSTORE PUSH2 0xB4E PUSH2 0xAB7 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xB42 DUP2 SLOAD SWAP2 PUSH1 0x1 DUP2 ADD SLOAD SWAP1 PUSH2 0xB34 PUSH2 0xAE7 PUSH1 0x3 DUP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0xB12 PUSH1 0x2 PUSH1 0x4 DUP6 ADD SLOAD SWAP5 PUSH2 0xAFB DUP2 PUSH2 0x27E6 JUMP JUMPDEST SWAP7 PUSH2 0xB04 PUSH2 0x68D JUMP JUMPDEST SWAP10 DUP11 MSTORE PUSH1 0x20 DUP11 ADD MSTORE ADD PUSH2 0x18D6 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 DUP7 ADD MSTORE JUMP JUMPDEST PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x99A JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 DUP1 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI CALLDATASIZE PUSH1 0x23 DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 DUP3 ADD CALLDATALOAD SWAP4 DUP5 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP4 ADD SWAP3 PUSH1 0x24 CALLDATASIZE SWAP2 DUP7 PUSH1 0x6 SHL ADD ADD GT PUSH2 0xE JUMPI PUSH2 0xBCB PUSH2 0x27E PUSH1 0x1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST CALLER SUB PUSH2 0xE16 JUMPI PUSH2 0xBE5 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH2 0xBF7 PUSH2 0x1A6 PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xDEF JUMPI PUSH2 0xC04 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0xDC8 JUMPI PUSH1 0x0 SWAP1 PUSH1 0x7 DUP6 ADD SWAP1 DUP2 SLOAD DUP8 SUB PUSH2 0xD9F JUMPI DUP3 JUMPDEST DUP8 DUP2 LT PUSH2 0xC80 JUMPI POP POP POP DUP3 DUP5 ADD SLOAD SUB PUSH2 0xC5A JUMPI POP POP PUSH1 0x5 ADD SSTORE PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST MLOAD PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH2 0xCAD PUSH2 0xC8D DUP3 DUP6 PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x3 SHL SHR AND SWAP1 JUMP JUMPDEST PUSH2 0xCC3 PUSH2 0x27E PUSH2 0xCBE DUP5 DUP13 DUP8 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x1BA3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SUB PUSH2 0xD77 JUMPI SWAP1 DUP9 DUP11 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH2 0xD72 SWAP5 PUSH2 0xD24 PUSH2 0xD1E PUSH2 0xD19 DUP8 DUP8 DUP12 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x2696 JUMP JUMPDEST DUP14 PUSH2 0x2DA4 JUMP JUMPDEST PUSH2 0xD3E PUSH1 0x20 SWAP10 DUP11 PUSH2 0xD36 DUP9 DUP9 DUP13 PUSH2 0x27C8 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 PUSH2 0x270A JUMP JUMPDEST SWAP9 PUSH2 0xD58 DUP7 PUSH2 0xD51 PUSH2 0xCBE DUP3 DUP10 DUP14 PUSH2 0x27C8 JUMP JUMPDEST SWAP7 DUP11 PUSH2 0x27C8 JUMP JUMPDEST DUP12 MLOAD SWAP2 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP3 ADD MSTORE SWAP4 AND SWAP3 PUSH1 0x40 SWAP1 LOG3 PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0xC1A JUMP JUMPDEST DUP7 DUP7 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP POP POP MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x4E16946C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0xEAF DUP2 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0xEB8 CALLDATASIZE PUSH2 0x6FB JUMP JUMPDEST DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0xE4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH2 0xEEE PUSH2 0x522 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x2388 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xF55 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xF5E DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0xF6B PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x8 DUP2 ADD SWAP1 PUSH1 0x2 PUSH2 0xFAD PUSH1 0x3 PUSH2 0xFA5 CALLER DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xFB6 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x1 PUSH2 0x1054 PUSH2 0x109D SWAP4 PUSH2 0x101F PUSH1 0x3 PUSH2 0xFF3 CALLER DUP5 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x5 DUP5 ADD PUSH2 0x102D DUP2 SLOAD PUSH2 0x26FC JUMP JUMPDEST SWAP1 SSTORE CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD DUP4 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x1095 CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x2 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x10A3 JUMPI STOP JUMPDEST PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAF20EF4A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x0 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT DUP2 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x80 DUP3 PUSH1 0x4 ADD SWAP2 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP2 ISZERO PUSH2 0x12DE JUMPI DUP4 MLOAD ADDRESS PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP3 CALLDATALOAD PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x60 DUP5 ADD MSTORE SWAP3 SWAP2 PUSH2 0x11BE DUP2 PUSH1 0x80 DUP2 ADD JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x64C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x11D6 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x1 DUP4 ADD DUP1 SLOAD PUSH2 0x12B5 JUMPI DUP4 PUSH2 0x1298 PUSH2 0x1290 DUP9 SWAP6 DUP9 SWAP6 PUSH2 0xB4E SWAP13 SWAP11 PUSH2 0x12A4 SWAP7 DUP14 SWAP12 PUSH32 0xF7CBEAC7C87F7E00FCF9440CF10B123FB3D766366A39EEB572C219C8EAC3AB46 SWAP12 SSTORE SSTORE PUSH2 0x128B PUSH1 0x64 PUSH1 0x44 DUP5 ADD SWAP4 PUSH2 0x123C PUSH2 0x1232 DUP7 DUP7 PUSH2 0x1BAD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP12 ADD PUSH2 0x1C52 JUMP JUMPDEST ADD SWAP6 PUSH1 0x3 PUSH2 0x1249 DUP9 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1BAD JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 DUP9 MLOAD SWAP6 DUP7 SWAP6 DUP7 PUSH2 0x1DC0 JUMP JUMPDEST SUB SWAP1 LOG2 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST PUSH1 0x4 DUP9 MLOAD PUSH32 0xD8876C2D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x133C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST SWAP1 PUSH2 0x134B PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH2 0x13F1 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x136B CALLER DUP6 DUP4 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1373 PUSH2 0x206C JUMP JUMPDEST DUP1 MLOAD PUSH2 0x13A1 SWAP1 PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 ADD SWAP2 DUP3 MLOAD SWAP1 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13D8 PUSH1 0x20 PUSH2 0x13CA PUSH2 0x27E PUSH1 0x3 DUP7 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP7 ADD CALLDATALOAD DUP1 SWAP7 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST CALLER DUP2 MSTORE SWAP1 DUP6 PUSH1 0x20 DUP4 ADD MSTORE MLOAD SWAP2 PUSH2 0x2CA2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD PUSH2 0x515 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x1443 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x5 GT ISZERO PUSH2 0x14EA JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x952 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 ADD SWAP1 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 SWAP3 MSTORE DUP1 PUSH1 0x40 DUP1 SWAP5 ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1529 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP4 PUSH1 0x80 PUSH1 0x1 SWAP3 PUSH2 0x1572 DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP4 MSTORE DUP5 DUP2 ADD MLOAD DUP6 DUP5 ADD MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP5 ADD MSTORE PUSH1 0x60 DUP1 SWAP2 ADD MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST ADD SWAP7 ADD SWAP5 SWAP4 SWAP3 ADD SWAP1 PUSH2 0x151A JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH2 0x15A8 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SWAP2 DUP3 SLOAD SWAP2 PUSH2 0x15B9 DUP4 PUSH2 0x19A5 JUMP JUMPDEST SWAP4 PUSH1 0x8 PUSH1 0x0 SWAP3 ADD SWAP2 JUMPDEST DUP5 DUP2 LT PUSH2 0x15D7 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH2 0xB4E DUP9 DUP3 PUSH2 0x14FF JUMP JUMPDEST DUP1 PUSH2 0x1619 PUSH2 0x1614 PUSH2 0x15EE PUSH2 0xC8D PUSH2 0x16A7 SWAP6 DUP8 PUSH2 0x1AC9 JUMP JUMPDEST DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1AFB JUMP JUMPDEST PUSH2 0x168C PUSH2 0x163A DUP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 DUP8 DUP2 ADD MLOAD SWAP1 PUSH1 0x40 DUP1 DUP3 ADD MLOAD SWAP1 PUSH1 0x60 DUP1 SWAP4 ADD MLOAD SWAP4 PUSH2 0x1657 DUP6 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x167E PUSH2 0x1662 PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP9 AND DUP9 MSTORE JUMP JUMPDEST DUP12 DUP8 ADD MSTORE DUP6 ADD MSTORE DUP4 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH2 0x1696 DUP3 DUP10 PUSH2 0x1B72 JUMP JUMPDEST MSTORE PUSH2 0x16A1 DUP2 DUP9 PUSH2 0x1B72 JUMP JUMPDEST POP PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0x15C2 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x16CA DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH2 0x16D3 CALLDATASIZE PUSH2 0x54E JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH1 0x40 DUP2 PUSH2 0x174A PUSH2 0x179E SWAP4 CALLDATALOAD PUSH2 0x1709 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x3 SLOAD AND OR PUSH1 0x3 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x4 SSTORE ADD CALLDATALOAD PUSH2 0x175D DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x5 SLOAD AND OR PUSH1 0x5 SSTORE JUMP JUMPDEST AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x180E DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x18CC JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x189D JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1892 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x18EA DUP5 PUSH2 0x1883 JUMP JUMPDEST SWAP1 DUP2 DUP5 MSTORE PUSH1 0x1 SWAP5 DUP6 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x1957 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1914 JUMPI JUMPDEST POP POP PUSH2 0x69A SWAP3 POP SUB DUP4 PUSH2 0x64C JUMP JUMPDEST SWAP1 SWAP4 SWAP2 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 DUP2 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x193F JUMPI POP POP PUSH2 0x69A SWAP4 POP DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST DUP6 SLOAD DUP9 DUP5 ADD DUP6 ADD MSTORE SWAP5 DUP6 ADD SWAP5 DUP8 SWAP5 POP SWAP2 DUP4 ADD SWAP2 PUSH2 0x1927 JUMP JUMPDEST SWAP1 POP PUSH2 0x69A SWAP6 POP PUSH1 0x20 SWAP4 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP2 POP AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x19AF DUP3 PUSH2 0x6B6 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH2 0x19BE DUP3 MLOAD SWAP2 DUP3 PUSH2 0x64C JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x19EC DUP3 SWAP6 PUSH2 0x6B6 JUMP JUMPDEST ADD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x19FE JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 MLOAD PUSH2 0x1A0C DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE PUSH1 0x0 DUP6 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x60 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH2 0x19F1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1A8D JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A2F JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 SLOAD DUP3 LT ISZERO PUSH2 0x1AE2 JUMPI JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SWAP1 PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1AEA PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1AD3 JUMP JUMPDEST PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x69A PUSH1 0x40 MLOAD PUSH2 0x1B0B DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x60 PUSH1 0xFF PUSH1 0x3 DUP4 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 SLOAD AND DUP6 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 DUP7 ADD MSTORE ADD SLOAD AND SWAP2 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP1 MLOAD ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A99 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP2 DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B87 JUMPI JUMPDEST PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x1B8F PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1B7F JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0xE JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0xE JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x1C0C JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP4 ADD SWAP5 LT PUSH2 0x1C48 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH2 0x1C3D JUMPI POP POP POP JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1C31 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x1C28 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1D74 JUMPI JUMPDEST PUSH2 0x1C79 DUP2 PUSH2 0x1C73 DUP5 SLOAD PUSH2 0x1883 JUMP JUMPDEST DUP5 PUSH2 0x1BFE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1CD0 JUMPI DUP2 SWAP3 SWAP4 SWAP5 PUSH1 0x0 SWAP3 PUSH2 0x1CC5 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE JUMP JUMPDEST ADD CALLDATALOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x1C92 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP5 PUSH2 0x1D03 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 DUP1 JUMPDEST DUP8 DUP2 LT PUSH2 0x1D5C JUMPI POP DUP4 PUSH1 0x1 SWAP6 SWAP7 SWAP8 LT PUSH2 0x1D24 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x1D1A JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP7 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP5 ADD SWAP2 ADD PUSH2 0x1D06 JUMP JUMPDEST PUSH2 0x1D7C PUSH2 0x58B JUMP JUMPDEST PUSH2 0x1C65 JUMP JUMPDEST PUSH1 0x1F DUP3 PUSH1 0x20 SWAP5 SWAP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP4 DUP2 DUP7 MSTORE DUP7 DUP7 ADD CALLDATACOPY PUSH1 0x0 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST SWAP4 SWAP3 PUSH1 0x60 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 PUSH2 0x1DFA SWAP4 SWAP9 SWAP8 SWAP9 DUP8 MSTORE PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x80 PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x80 DUP7 ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST SWAP5 AND SWAP2 ADD MSTORE JUMP JUMPDEST ISZERO PUSH2 0x1E08 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5245454E5452414E435900000000000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP1 SWAP4 PUSH2 0x1E78 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x1E90 DUP5 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x1E9C CALLER DUP8 DUP6 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1EA4 PUSH2 0x206C JUMP JUMPDEST SWAP6 PUSH2 0x1ECD PUSH2 0x1EB2 DUP7 MLOAD PUSH2 0x1B4B JUMP JUMPDEST MLOAD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x1EEF PUSH2 0x27E DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x1F19 PUSH2 0x1EB2 DUP8 MLOAD PUSH2 0x1B61 JUMP JUMPDEST DUP3 PUSH2 0x1F3E PUSH2 0x27E PUSH1 0x3 DUP10 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x2042 JUMPI PUSH1 0x20 DUP1 SWAP2 ADD CALLDATALOAD SWAP8 ADD SWAP3 PUSH2 0x1F59 DUP5 MLOAD DUP10 PUSH2 0x2B70 JUMP JUMPDEST SWAP2 PUSH32 0x0 AND DUP1 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x1FDF SWAP7 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x1FC6 PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0xEDD9444B00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x210A JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x2035 JUMPI JUMPDEST PUSH2 0x201C JUMPI JUMPDEST POP PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD JUMPDEST SUB SWAP1 LOG3 PUSH2 0x69A PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x202F SWAP3 PUSH2 0x638 JUMP JUMPDEST DUP1 PUSH2 0x350 JUMP JUMPDEST CODESIZE PUSH2 0x1FD6 JUMP JUMPDEST PUSH2 0x203D PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x1FD1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x2079 DUP3 PUSH2 0x5E4 JUMP JUMPDEST DUP2 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND DUP4 MSTORE PUSH1 0x4 SLOAD PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x5 SLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x20C9 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 DUP3 PUSH1 0x40 DUP3 PUSH2 0x20FE PUSH1 0x1 SWAP5 DUP10 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 ADD PUSH2 0x20BB JUMP JUMPDEST SWAP1 SWAP6 SWAP5 SWAP3 SWAP4 SWAP2 PUSH1 0x80 DUP3 MSTORE PUSH1 0xE0 DUP3 ADD SWAP7 DUP1 MLOAD SWAP1 PUSH1 0x60 PUSH1 0x80 DUP6 ADD MSTORE DUP2 MLOAD DUP1 SWAP10 MSTORE PUSH2 0x100 DUP5 ADD SWAP9 PUSH1 0x20 DUP1 SWAP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x2199 JUMPI POP POP POP SWAP8 PUSH2 0x218C SWAP3 DUP3 PUSH1 0x40 DUP12 PUSH2 0x216D SWAP6 PUSH2 0x1BA0 SWAP13 SWAP14 ADD MLOAD PUSH1 0xA0 DUP10 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP8 ADD MSTORE DUP6 DUP4 SUB SWAP1 DUP7 ADD MSTORE PUSH2 0x20A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP6 AND PUSH1 0x40 DUP4 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 DUP6 SUB SWAP2 ADD MSTORE PUSH2 0x1D81 JUMP JUMPDEST SWAP1 SWAP2 SWAP11 DUP5 PUSH1 0x40 DUP3 PUSH2 0x21CE DUP16 SWAP5 PUSH1 0x1 SWAP6 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP13 ADD SWAP3 SWAP2 ADD PUSH2 0x2137 JUMP JUMPDEST POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x226F PUSH1 0x20 DUP1 DUP7 ADD SWAP6 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH2 0x2257 DUP2 PUSH2 0x1192 DUP7 DUP10 DUP10 PUSH1 0x24 DUP6 ADD PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 SWAP5 PUSH1 0x60 DUP3 ADD SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP4 MSTORE AND PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x0 SWAP7 DUP8 SWAP2 MLOAD SWAP1 DUP3 DUP11 GAS CALL DUP6 MLOAD PUSH1 0x1 EQ RETURNDATASIZE ISZERO OR AND ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x227B JUMPI JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2284 SWAP1 PUSH2 0x233D JUMP JUMPDEST SWAP4 PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 SWAP2 DUP3 EXTCODESIZE ISZERO PUSH2 0x2339 JUMPI PUSH1 0x40 MLOAD PUSH32 0x36C7851600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP4 DUP2 AND PUSH1 0x24 DUP6 ADD MSTORE SWAP5 DUP6 AND PUSH1 0x44 DUP5 ADD MSTORE SWAP1 SWAP4 AND PUSH1 0x64 DUP3 ADD MSTORE SWAP2 DUP3 SWAP1 PUSH1 0x84 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x232C JUMPI JUMPDEST PUSH2 0x2319 JUMPI JUMPDEST DUP1 DUP1 DUP1 DUP1 PUSH2 0x2274 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x2326 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x2310 JUMP JUMPDEST PUSH2 0x2334 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x230B JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x235E JUMPI AND SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC4BD89A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x2399 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x23B1 DUP4 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP4 PUSH2 0x23BB DUP6 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x23CF PUSH2 0x1A6 PUSH2 0x23C9 PUSH2 0x1B94 JUMP JUMPDEST DUP8 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x240A PUSH2 0x1614 PUSH2 0x23E1 PUSH2 0x1B94 JUMP JUMPDEST PUSH1 0x8 DUP9 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 DUP3 ADD SWAP2 PUSH1 0x2 DUP4 MLOAD PUSH2 0x241D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2426 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x20 ADD SWAP6 DUP7 MLOAD SWAP7 PUSH1 0x44 CALLDATALOAD DUP1 SWAP9 GT PUSH2 0x25BB JUMPI PUSH2 0x2447 SWAP1 MLOAD DUP9 PUSH2 0x25E5 JUMP JUMPDEST SWAP4 PUSH2 0x2468 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 MLOAD AND SWAP1 JUMP JUMPDEST SWAP5 PUSH2 0x248D PUSH2 0x27E PUSH1 0x3 DUP6 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP8 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x24B2 PUSH2 0x69C JUMP JUMPDEST ADDRESS DUP2 MSTORE SWAP1 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH32 0x0 AND SWAP7 DUP8 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 SWAP8 PUSH2 0x2577 SWAP6 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x254B PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x25FA JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x25AE JUMPI JUMPDEST PUSH2 0x259B JUMPI JUMPDEST POP DUP3 MLOAD SWAP1 PUSH2 0x2568 DUP3 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2571 CALLDATASIZE PUSH2 0x74B JUMP JUMPDEST SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH2 0x200F PUSH2 0x2582 PUSH2 0x1B94 JUMP JUMPDEST SWAP2 MLOAD PUSH2 0x258D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 AND SWAP7 DUP4 PUSH2 0x26A1 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x25A8 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x255B JUMP JUMPDEST PUSH2 0x25B6 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x2556 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC52E3EFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x1A2F JUMP JUMPDEST SWAP2 SWAP3 PUSH2 0x267F PUSH2 0x1BA0 SWAP7 SWAP5 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 PUSH2 0x2647 DUP8 DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD DUP9 DUP5 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x60 DUP8 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP8 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE JUMP JUMPDEST AND PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x100 SWAP1 DUP2 PUSH1 0xE0 DUP3 ADD MSTORE ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST PUSH2 0x1BA0 SWAP1 CALLDATASIZE SWAP1 PUSH2 0x79B JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP2 ADD SWAP3 SWAP2 PUSH2 0x69A SWAP2 PUSH1 0x20 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x26EF JUMPI JUMPDEST PUSH1 0xFF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP4 SLOAD AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x26F7 PUSH2 0x952 JUMP JUMPDEST PUSH2 0x26C2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 PUSH1 0x44 SWAP3 PUSH1 0x20 SWAP6 PUSH1 0x40 MLOAD SWAP4 PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x276A JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F4641494C45440000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x27D9 JUMPI JUMPDEST PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x27E1 PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x27D2 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO PUSH2 0x2817 JUMPI PUSH1 0x5 DUP3 ADD SLOAD LT ISZERO PUSH2 0x2811 JUMPI PUSH1 0x6 ADD SLOAD PUSH1 0xFF AND PUSH2 0x280C JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST POP PUSH1 0x2 SWAP1 JUMP JUMPDEST POP PUSH1 0x1 ADD SLOAD PUSH2 0x284A JUMPI PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 SWAP2 DUP3 DUP2 MSTORE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 SWAP3 PUSH1 0x5 SHL DUP1 SWAP3 DUP5 DUP4 ADD CALLDATACOPY ADD ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 MSTORE PUSH1 0x40 PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD PUSH2 0x28B7 DUP2 PUSH2 0x6DD JUMP JUMPDEST AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP3 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0xE JUMPI ADD PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI DUP1 PUSH1 0x5 SHL CALLDATASIZE SUB DUP3 SGT PUSH2 0xE JUMPI PUSH1 0xA0 DUP4 PUSH1 0x60 PUSH1 0x80 PUSH2 0x1BA0 SWAP7 ADD MSTORE ADD SWAP2 PUSH2 0x284F JUMP JUMPDEST SWAP2 PUSH2 0x2939 DUP4 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x2943 DUP2 DUP5 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x2A23 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2968 PUSH2 0x27E DUP5 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x29F9 JUMPI PUSH1 0x1 PUSH20 0x17C1E395FE81A90AF2D0289A009317D5ACB98F9F SWAP3 ADD SLOAD SWAP1 DUP3 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x29CD SWAP3 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP6 DUP2 SWAP5 DUP3 SWAP4 PUSH32 0xBA5D2C3400000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH2 0x288C JUMP JUMPDEST SUB SWAP2 GAS DELEGATECALL DUP1 ISZERO PUSH2 0x29EC JUMPI JUMPDEST PUSH2 0x29DF JUMPI POP JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x69A SWAP3 PUSH2 0x638 JUMP JUMPDEST PUSH2 0x29F4 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x29D8 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6D9BF6DF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD ISZERO PUSH2 0x2AC6 JUMPI PUSH1 0xFF PUSH1 0x6 DUP3 ADD SLOAD AND PUSH2 0x2A9C JUMPI PUSH2 0x2A6C SWAP1 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x2A72 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B03 JUMPI POP POP SWAP1 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD LT ISZERO SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 PUSH1 0x7 DUP3 ADD SLOAD ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B21 JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH2 0x2B68 PUSH1 0x8 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 SWAP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SLOAD AND SWAP2 AND EQ SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x2B82 DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT PUSH2 0x2BE8 JUMPI POP POP SWAP1 DUP3 SWAP2 PUSH2 0x2BE5 SWAP4 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x2BA7 DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BB8 DUP5 PUSH2 0x1B4B JUMP JUMPDEST MSTORE PUSH2 0x2BC2 DUP4 PUSH2 0x1B4B JUMP JUMPDEST POP MLOAD SWAP1 PUSH2 0x2BCE DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BDF DUP3 PUSH2 0x1B61 JUMP JUMPDEST MSTORE PUSH2 0x1B61 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH2 0x2BF6 DUP2 PUSH2 0x5BB JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH2 0x2B8A JUMP JUMPDEST PUSH1 0x3 PUSH1 0x60 PUSH2 0x69A SWAP4 PUSH2 0x2C6E PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 MLOAD AND DUP6 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 DUP6 ADD SSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x2 DUP6 ADD SSTORE ADD MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI JUMPDEST ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x2C9D PUSH2 0x952 JUMP JUMPDEST PUSH2 0x2C8F JUMP JUMPDEST SWAP2 PUSH1 0x4 SWAP1 PUSH2 0x2D88 PUSH2 0x2D93 SWAP4 PUSH1 0x7 DUP7 ADD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 PUSH2 0x2CEF DUP3 DUP5 MLOAD AND SWAP2 DUP1 SLOAD SWAP1 PUSH9 0x10000000000000000 DUP3 LT ISZERO PUSH2 0x2D97 JUMPI JUMPDEST PUSH1 0x1 DUP3 ADD DUP2 SSTORE PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SWAP3 DUP4 SLOAD SWAP2 PUSH1 0x3 SHL SWAP1 DUP2 SHL SWAP3 DUP4 SWAP2 SHL AND SWAP2 NOT AND OR SWAP1 SSTORE PUSH2 0x2D83 PUSH2 0x23E1 PUSH2 0x2D29 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x20 DUP2 ADD SWAP6 DUP7 MLOAD PUSH2 0x2D58 PUSH2 0x2D3C PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP8 AND DUP8 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP6 ADD MSTORE MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2C0A JUMP JUMPDEST MLOAD SWAP3 ADD SWAP2 DUP3 SLOAD PUSH2 0x270A JUMP JUMPDEST SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x2D9F PUSH2 0x58B JUMP JUMPDEST PUSH2 0x2CE4 JUMP JUMPDEST SWAP1 PUSH1 0x3 PUSH1 0x8 PUSH2 0x69A SWAP4 ADD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 PUSH2 0x2DF2 DUP5 DUP4 MLOAD AND DUP3 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x2E9F DUP6 DUP5 MLOAD AND SWAP6 PUSH2 0x2E5B PUSH1 0x2 PUSH1 0x20 DUP8 ADD MLOAD SWAP5 ADD SLOAD SWAP5 PUSH1 0x40 MLOAD SWAP9 PUSH2 0x2E15 DUP11 PUSH2 0x61C JUMP JUMPDEST DUP10 MSTORE PUSH1 0x20 DUP10 ADD SWAP5 DUP6 MSTORE PUSH1 0x40 DUP10 ADD SWAP6 DUP7 MSTORE DUP3 PUSH1 0x60 DUP11 ADD SWAP8 PUSH2 0x2E35 DUP10 PUSH1 0x2 SWAP1 MSTORE JUMP JUMPDEST MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP7 MLOAD AND DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST MLOAD PUSH1 0x1 DUP6 ADD SSTORE MLOAD PUSH1 0x2 DUP5 ADD SSTORE MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x69A SWAP3 PUSH1 0x8 PUSH1 0x3 SWAP3 ADD SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2E9F PUSH2 0x2F0C DUP3 DUP5 MLOAD AND DUP8 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x2E5B DUP2 DUP6 MLOAD AND SWAP8 DUP3 PUSH1 0x2 PUSH1 0x20 DUP9 ADD MLOAD SWAP7 ADD SLOAD SWAP7 PUSH1 0x40 MLOAD SWAP11 PUSH2 0x2F2E DUP13 PUSH2 0x61C JUMP JUMPDEST DUP12 MSTORE PUSH1 0x20 DUP12 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP12 ADD SWAP8 DUP9 MSTORE PUSH2 0x2E35 PUSH1 0x60 DUP13 ADD SWAP10 DUP11 PUSH2 0x1AEF JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 ADDRESS MUL 0x5E 0xB7 STATICCALL 0xEE GT JUMPDEST SWAP3 PUSH11 0xE2DACAC846043B74762EAB CALLCODE XOR 0xD7 0xAF PUSH9 0x7E916F583764736F6C PUSH4 0x43000811 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP13 MSIZE 0xF PUSH23 0xCBDC66E52F387C44E90AB8384493801CB81D023399D49E 0xDA 0xA5 0xFC 0xFC PC PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x16 JUMPI PUSH2 0x9CB SWAP1 DUP2 PUSH2 0x1C DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2E08D602 EQ PUSH2 0x8E JUMPI POP DUP1 PUSH4 0x58161A42 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0xB8616195 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xCF06C7B7 EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0xDD1D2599 EQ PUSH2 0x6A JUMPI PUSH4 0xE27D5153 EQ PUSH2 0x62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x540 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x500 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x4BB JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x389 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x2BC JUMP JUMPDEST CALLVALUE PUSH2 0x1B6 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1B6 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1B2 JUMPI PUSH2 0xDD SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP3 MLOAD GT ISZERO PUSH2 0x12E JUMPI DUP1 JUMPDEST PUSH2 0x110 JUMPI JUMPDEST PUSH2 0x10C PUSH2 0xFB DUP4 PUSH2 0x5C2 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST DUP1 DUP3 MLOAD GT ISZERO PUSH2 0x129 JUMPI PUSH2 0x123 DUP2 SWAP3 PUSH2 0x6E1 JUMP JUMPDEST SWAP2 PUSH2 0xEA JUMP JUMPDEST PUSH2 0xEF JUMP JUMPDEST PUSH1 0x84 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x776F6E27742067656E657261746520726F6F7420666F722073696E676C65206C PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6561660000000000000000000000000000000000000000000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST DUP1 REVERT JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x40 MLOAD SWAP4 ADD AND DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x22D JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x235 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x254 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1B9 JUMP JUMPDEST PUSH2 0x24D JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0xE JUMPI DUP2 CALLDATALOAD SWAP1 PUSH2 0x281 PUSH2 0x27C DUP4 PUSH2 0x23A JUMP JUMPDEST PUSH2 0x1E9 JUMP JUMPDEST SWAP2 DUP3 SWAP4 DUP2 DUP5 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP6 ADD SWAP3 PUSH1 0x5 SHL DUP3 ADD ADD SWAP3 DUP4 GT PUSH2 0xE JUMPI DUP4 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x2AD JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP2 CALLDATALOAD DUP2 MSTORE SWAP1 DUP4 ADD SWAP1 DUP4 ADD PUSH2 0x29F JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x30C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD DUP2 MLOAD PUSH1 0x0 SWAP3 JUMPDEST DUP2 DUP5 LT PUSH2 0x32B JUMPI PUSH1 0x40 MLOAD PUSH1 0x4 CALLDATALOAD DUP5 EQ DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST SWAP1 SWAP2 PUSH2 0x344 PUSH1 0x1 SWAP2 PUSH2 0x33D DUP7 DUP6 PUSH2 0x5FE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x59F JUMP JUMPDEST SWAP4 ADD SWAP3 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 PUSH1 0x40 DUP2 DUP4 ADD SWAP3 DUP3 DUP2 MSTORE DUP6 MLOAD DUP1 SWAP5 MSTORE ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x375 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x367 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x3D9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3EC DUP3 DUP3 MLOAD GT PUSH2 0x612 JUMP JUMPDEST PUSH2 0x3FE PUSH2 0x3F9 DUP3 MLOAD PUSH2 0x857 JUMP JUMPDEST PUSH2 0x69C JUMP JUMPDEST SWAP3 PUSH1 0x0 DUP1 DUP5 JUMPDEST PUSH2 0x417 JUMPI JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x10C DUP9 DUP3 PUSH2 0x34E JUMP JUMPDEST DUP4 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x4B5 JUMPI DUP6 DUP5 SWAP4 SWAP3 PUSH2 0x47A SWAP3 DUP3 DUP1 DUP1 SWAP9 AND EQ PUSH1 0x0 EQ PUSH2 0x484 JUMPI POP PUSH2 0x463 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 ADD DUP9 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x46E DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST MSTORE JUMPDEST ADD SWAP3 DUP5 SHR SWAP5 PUSH2 0x6E1 JUMP JUMPDEST SWAP4 SWAP3 SWAP2 SWAP1 SWAP2 PUSH2 0x404 JUMP JUMPDEST DUP6 DUP4 ADD SWAP1 DUP2 SUB PUSH2 0x4A0 JUMPI POP DUP4 PUSH2 0x49A DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST MSTORE PUSH2 0x470 JUMP JUMPDEST PUSH2 0x4AA SWAP1 DUP9 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x49A DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST POP PUSH2 0x409 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH2 0x4F8 PUSH1 0x4 CALLDATALOAD PUSH2 0x857 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH2 0x4F8 PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH2 0x59F JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD DUP1 PUSH1 0x0 DUP2 JUMPDEST PUSH2 0x592 JUMPI PUSH1 0x20 SWAP3 POP PUSH1 0x40 MLOAD SWAP2 DUP1 PUSH1 0x1 DUP2 NOT ADD AND EQ SWAP1 SUB DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 SWAP3 DUP4 SHR SWAP3 ADD DUP3 PUSH2 0x578 JUMP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5B6 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE JUMPDEST PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH2 0x5AE JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x5CF JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x5CF JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST ISZERO PUSH2 0x619 JUMPI JUMP JUMPDEST PUSH1 0x84 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x776F6E27742067656E65726174652070726F6F6620666F722073696E676C6520 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6C65616600000000000000000000000000000000000000000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x6A9 PUSH2 0x27C DUP4 PUSH2 0x23A JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x6D7 DUP3 SWAP5 PUSH2 0x23A JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD PUSH1 0x1 SWAP1 DUP2 DUP1 DUP3 AND EQ PUSH1 0x0 EQ PUSH2 0x7B5 JUMPI PUSH2 0x700 DUP3 DUP3 DUP2 SHR ADD PUSH2 0x69C JUMP JUMPDEST SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x72E DUP2 DUP5 ADD DUP8 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 MSTORE PUSH2 0x748 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 DUP6 MLOAD ADD DUP6 PUSH2 0x5FE JUMP JUMPDEST MSTORE JUMPDEST PUSH1 0x0 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SWAP2 ADD SWAP3 JUMPDEST DUP4 DUP3 LT PUSH2 0x783 JUMPI POP SWAP3 SWAP5 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x2 SWAP2 PUSH2 0x7A1 PUSH2 0x794 DUP6 DUP12 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x33D DUP5 DUP8 ADD DUP13 PUSH2 0x5FE JUMP JUMPDEST PUSH2 0x7AB DUP3 DUP10 PUSH2 0x5FE JUMP JUMPDEST MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x773 JUMP JUMPDEST PUSH2 0x7C0 DUP2 DUP4 SHR PUSH2 0x69C JUMP JUMPDEST SWAP2 PUSH2 0x74A JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x10 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x8 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x98F JUMPI PUSH1 0x0 SWAP1 DUP1 PUSH17 0x100000000000000000000000000000000 DUP2 LT ISZERO PUSH2 0x984 JUMPI JUMPDEST DUP1 PUSH9 0x10000000000000000 PUSH1 0x2 SWAP3 LT ISZERO PUSH2 0x971 JUMPI JUMPDEST PUSH5 0x100000000 DUP2 LT ISZERO PUSH2 0x95E JUMPI JUMPDEST PUSH3 0x10000 DUP2 LT ISZERO PUSH2 0x94B JUMPI JUMPDEST PUSH2 0x100 DUP2 LT ISZERO PUSH2 0x938 JUMPI JUMPDEST PUSH1 0x10 DUP2 LT ISZERO PUSH2 0x925 JUMPI JUMPDEST PUSH1 0x4 DUP2 LT ISZERO PUSH2 0x913 JUMPI JUMPDEST LT ISZERO PUSH2 0x903 JUMPI JUMPDEST DUP1 PUSH2 0x8DE DUP2 NOT PUSH2 0x849 JUMP JUMPDEST AND EQ DUP1 PUSH2 0x8FA JUMPI JUMPDEST ISZERO PUSH2 0x8EE JUMPI SWAP1 JUMP JUMPDEST PUSH2 0x8F7 SWAP1 PUSH2 0x849 JUMP JUMPDEST SWAP1 JUMP JUMPDEST POP DUP1 ISZERO ISZERO PUSH2 0x8E6 JUMP JUMPDEST SWAP1 PUSH2 0x90D SWAP1 PUSH2 0x849 JUMP JUMPDEST SWAP1 PUSH2 0x8D3 JUMP JUMPDEST PUSH2 0x91F SWAP1 DUP3 SHR SWAP4 PUSH2 0x83B JUMP JUMPDEST SWAP3 PUSH2 0x8CC JUMP JUMPDEST PUSH2 0x932 SWAP1 PUSH1 0x4 SHR SWAP4 PUSH2 0x82D JUMP JUMPDEST SWAP3 PUSH2 0x8C2 JUMP JUMPDEST PUSH2 0x945 SWAP1 PUSH1 0x8 SHR SWAP4 PUSH2 0x81F JUMP JUMPDEST SWAP3 PUSH2 0x8B8 JUMP JUMPDEST PUSH2 0x958 SWAP1 PUSH1 0x10 SHR SWAP4 PUSH2 0x811 JUMP JUMPDEST SWAP3 PUSH2 0x8AD JUMP JUMPDEST PUSH2 0x96B SWAP1 PUSH1 0x20 SHR SWAP4 PUSH2 0x803 JUMP JUMPDEST SWAP3 PUSH2 0x8A1 JUMP JUMPDEST PUSH2 0x97E SWAP1 PUSH1 0x40 SHR SWAP4 PUSH2 0x7C6 JUMP JUMPDEST SWAP3 PUSH2 0x893 JUMP JUMPDEST PUSH1 0x80 SWAP3 POP DUP3 SHR PUSH2 0x87E JUMP JUMPDEST POP PUSH1 0x0 SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0x92D06C64A8 SLOAD SWAP10 DUP11 PC 0xE5 0xCD SWAP7 0xF8 0xE0 DIFFICULTY DUP16 0xD7 PUSH32 0xEC5223C7C61572A2D37349DD64736F6C63430008110033000000000000000000 ", + "sourceMap": "1439:20676:55:-:0;;;;;;;;1594:4:0;1439:20676:55;;-1:-1:-1;;1439:20676:55;1594:4:0;1439:20676:55;;;-1:-1:-1;;;;;;170:14:57;;;178:5;170:14;;;1220::1;1594:4:0;;1439:20676:55;170:14:57;1439:20676:55;170:14:57;1439:20676:55;1220:14:1;1439:20676:55;;170:14:57;;;;;;;;;;;-1:-1:-1;;170:14:57;1439:20676:55;;-1:-1:-1;;;;;;1439:20676:55;;;-1:-1:-1;;;;;1439:20676:55;;;;;;;;;206:16:57;;;214:7;170:14;206:16;;1220:14:1;1439:20676:55;;;;;;;1220:14:1;;1439:20676:55;;206:16:57;;;;;;;;;;;;;-1:-1:-1;1439:20676:55;;;;206:16:57;1439:20676:55;;;206:16:57;1439:20676:55;248:8:57;;1220:14:1;283:8:57;;1220:14:1;1439:20676:55;;377:12:56;;;;;;;;1220:14:1;377:12:56;;;;;;;;;;;;;;;;;;;;;;;1701:6:55;1439:20676;;;;;377:12:56;1439:20676:55;;;377:12:56;1439:20676:55;1693:15;1439:20676;;;1693:15;1439:20676;;;;;;;;;377:12:56;1439:20676:55;;;;;;;;;;;;377:12:56;-1:-1:-1;;;1439:20676:55;;;170:14:57;1439:20676:55;1220:14:1;1439:20676:55;;206:16:57;;;;;;-1:-1:-1;206:16:57;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1439:20676:55;;;;;;;;;170:14:57;;;;;;;;;;;;;;;:::i;:::-;;;;;1439:20676:55;;;;1220:14:1;;;;;-1:-1:-1;;1220:14:1;;;;-1:-1:-1;;;;;1220:14:1;;;;;;;;377:12:56;1220:14:1;:::o;:::-;1439:20676:55;;;;;;;;;;;1220:14:1;;;;;;;;;;-1:-1:-1;;;;;1439:20676:55;;1220:14:1;;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_address": { + "entryPoint": 19398, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_address_fromMemory": { + "entryPoint": 20058, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_array_struct_PositionData_dyn_fromMemory": { + "entryPoint": 22287, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_bool_fromMemory": { + "entryPoint": 19782, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_struct_AgreementData_fromMemory": { + "entryPoint": 20092, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_uint8t_bytes32t_bytes32_fromMemory": { + "entryPoint": 29981, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_encode_address_uint256": { + "entryPoint": null, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_array_bytes32_dyn": { + "entryPoint": 28851, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_bytes32_array_struct_PositionParams_dyn": { + "entryPoint": 22816, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_bytes32_bytes32_address_uint256_uint256": { + "entryPoint": null, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_bytes32_struct_CriteriaResolver_struct_PermitBatchTransferFrom_bytes": { + "entryPoint": 24714, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "abi_encode_packed_stringliteral_301a_bytes32_bytes32": { + "entryPoint": null, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_string": { + "entryPoint": 21827, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_string_storage": { + "entryPoint": 20404, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_stringliteral_42fa": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_stringliteral_d789": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_struct_CriteriaResolver": { + "entryPoint": 24607, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_struct_PositionParams": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "allocate_and_zero_memory_array_array_bytes32_dyn": { + "entryPoint": 28720, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_and_zero_memory_array_array_struct_PositionParams_dyn": { + "entryPoint": 23389, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "allocate_and_zero_memory_struct_struct_PermitBatchTransferFrom": { + "entryPoint": 26464, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_array_struct_PositionParams_dyn": { + "entryPoint": 19608, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_bytes": { + "entryPoint": 19670, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "bytes_concat_bytes32_bytes32_bytes1": { + "entryPoint": 30020, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "checked_add_uint256": { + "entryPoint": 23375, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_uint256": { + "entryPoint": 22672, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "copy_array_from_storage_to_memory_array_bytes32_dyn": { + "entryPoint": 22733, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 19633, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 20318, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_returndata": { + "entryPoint": 19729, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 19542, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_40178": { + "entryPoint": 19434, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_40184": { + "entryPoint": 19455, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_40216": { + "entryPoint": 19484, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_40449": { + "entryPoint": 19513, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_aliceJoinsAgreement": { + "entryPoint": 26193, + "id": 35938, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_assertEq": { + "entryPoint": 21516, + "id": 514, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_assertEq_320": { + "entryPoint": 20605, + "id": 320, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_assertEq_375": { + "entryPoint": 21205, + "id": 375, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_assertEq_40214": { + "entryPoint": 27720, + "id": 36286, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_assertPosition": { + "entryPoint": 28040, + "id": 36318, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_assertPosition_40252": { + "entryPoint": 28299, + "id": 36318, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_assertPosition_40264": { + "entryPoint": null, + "id": 36318, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_balanceOf": { + "entryPoint": 28558, + "id": 36337, + "parameterSlots": 2, + "returnSlots": 1 + }, + "fun_bobDisputesAgreement": { + "entryPoint": 25858, + "id": 35906, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_bobJoinsAgreement": { + "entryPoint": 24892, + "id": 35832, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_createAgreement": { + "entryPoint": 23466, + "id": 35734, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_createDispute": { + "entryPoint": 24314, + "id": 35769, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_defaultERC20PermitMultiple": { + "entryPoint": 30091, + "id": 36981, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_fail": { + "entryPoint": 20963, + "id": 216, + "parameterSlots": 0, + "returnSlots": 0 + }, + "fun_failed": { + "entryPoint": 19808, + "id": 172, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_getAliceJoinParams": { + "entryPoint": 26498, + "id": 36096, + "parameterSlots": 0, + "returnSlots": 3 + }, + "fun_getJoinTokenPairs": { + "entryPoint": 27369, + "id": 36140, + "parameterSlots": 1, + "returnSlots": 1 + }, + "fun_getValidSettlement": { + "entryPoint": 27569, + "id": 36177, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_initializeERC20Tokens": { + "entryPoint": 30408, + "id": 37038, + "parameterSlots": 0, + "returnSlots": 0 + }, + "fun_setCriteria": { + "entryPoint": 28905, + "id": 36459, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_setDefaultCriteria": { + "entryPoint": 29833, + "id": 36497, + "parameterSlots": 0, + "returnSlots": 0 + }, + "fun_setERC20TestTokenApprovals": { + "entryPoint": 31152, + "id": 37102, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_setERC20TestTokens": { + "entryPoint": 30933, + "id": 37058, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_testDeterministicId": { + "entryPoint": 21896, + "id": 34349, + "parameterSlots": 3, + "returnSlots": 0 + }, + "fun_testOnlyArbitratorCanSettleDispute": { + "entryPoint": 22935, + "id": 35321, + "parameterSlots": 1, + "returnSlots": 0 + }, + "increment_uint256": { + "entryPoint": 28805, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionData_dyn": { + "entryPoint": 22651, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionData_dyn_40197": { + "entryPoint": 22556, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionData_dyn_40206": { + "entryPoint": 22617, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionData_dyn_40223": { + "entryPoint": 22634, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionData_dyn_40616": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + } + }, + "object": "6080604081815260043610156200001557600080fd5b600091823560e01c908163035c3deb14620049cb575080630850ceee14620047035780630a9254e4146200449c5780630f7997cd146200425a57806313af342914620040cd5780631b21029314620040a857828163222dcf4b1462003f0b57508063271f18091462003e0f57806327acef531462003a985782816328aec53014620038f05750806333bdcd9014620036585780633eb8b8fd146200361c578063415e982d14620035e057806344a45ffe14620031f2578063545b1a26146200305657806360f00d7e1462002df65780636302c3cf1462002dba578063638b79f81462002a015780636e4f277514620029c557806374ffbf9a146200299d57806378f1683014620029615780637e333758146200293a5780638372164714620027b5578063ac73b6ce1462002509578063b681cffe14620024ec578063b9959d781462001e1a578063ba414fa61462001df1578063c5bfaae21462001bb4578063c5df4f031462001b78578063cc8b3eab1462001a92578063d34eb0d3146200184a578063d9b51fc4146200160f578063e2acb0f814620015f2578063e6d9ff3d14620015ca57828163e8a19796146200134f578163ea104a701462000f3c57508063eb9e5a691462000a77578063f5ef7b7e146200063757828163f73fe224146200043a57508063fa7626d414620004175763fe6688eb146200021757600080fd5b3462000413578160031936011262000413576200023362005baa565b906200023f826200613c565b6200024a8262006502565b6200025462006782565b92919360175494600095737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620003ef5785517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8093166004820152888160248183865af180156200040957620003f3575b50803b15620003ef5787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f031445140000000000000000000000000000000000000000000000000000000060048401525af18015620003e557908891620003cd575b5050601d541691823b15620003c957908680949392620003918751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b03925af1908115620003c05750620003a7578280f35b620003b3829162004bea565b620003bd57808280f35b80fd5b513d84823e3d90fd5b8680fd5b620003d89062004bea565b620003c957863862000342565b86513d8a823e3d90fd5b8780fd5b620004019098919862004bea565b9638620002d3565b87513d8b823e3d90fd5b5080fd5b5034620004135781600319360112620004135760ff602092541690519015158152f35b80833462000634578160031936011262000634576200045862005baa565b9073ffffffffffffffffffffffffffffffffffffffff918260175416808552601c602052828520620004a8845191620004918362004bff565b83835267016345785d8a00006020840152620058cd565b84820152620004b662006782565b96915092737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562000630578651907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152888160248183865af18015620004095790899162000618575b5050803b15620003ef5787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f4a361a470000000000000000000000000000000000000000000000000000000060048401525af18015620003e55790889162000600575b5050601d541690813b15620003c957868094620005d88751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b03925af1908115620003c05750620005ed5750f35b620005f89062004bea565b620003bd5780f35b6200060b9062004bea565b620003c95786896200058c565b620006239062004bea565b620003ef57878a6200051c565b8880fd5b50fd5b503462000413578160031936011262000413576200065462005baa565b73ffffffffffffffffffffffffffffffffffffffff908382601d54169160248551809481937f3309940500000000000000000000000000000000000000000000000000000000835260048301525afa801562000a6a5760a091859162000a43575b5062000767815193620006cd602095865490620052d5565b620006df85840151602154906200540c565b85830151865190620006fe82620006f68162004fb4565b038362004c56565b87518781019062000729898285516200071b8187858a0162004cb1565b810103808452018262004c56565b519020885188810190620007498a8287516200071b8187858c0162004cb1565b51902003620008e9575b50506060830151602354821691166200507d565b0151916004831015620008bc57826200077e578380f35b620008a4917f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060808351838152602d848201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b416772858201527f65656d656e745374617475735d000000000000000000000000000000000000006060820152a18151938285526200083b838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b600083870152857fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89687920390a182519383859485528401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b918301520390a1620008b5620051e3565b3880808380f35b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b62000a2e907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060808a518a815260248b8201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b7374728c8201527f696e675d000000000000000000000000000000000000000000000000000000006060820152a1885192898452620009a68a8501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b938085038a82015280620009dd7f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358396879462005543565b0390a188519182918a835262000a208b8401604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b908382038b85015262005543565b0390a162000a3b620051e3565b388062000753565b62000a6391503d8087833e62000a5a818362004c56565b81019062004e7c565b38620006b5565b50505051903d90823e3d90fd5b5034620004135781600319360112620004135762000a9462005baa565b62000a9f816200613c565b62000aaa8162006651565b62000ab58162006502565b73ffffffffffffffffffffffffffffffffffffffff60248482601d54168551928380927f330994050000000000000000000000000000000000000000000000000000000082528760048301525afa801562000f325760a091869162000f14575b500151600481101562000ee7576003810362000da5575b508381601d54169260248551809581937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa91821562000a6a57849262000d7c575b50606062000b84836200581c565b5162000bab836016541662000ba060185491868551166200507d565b60208301516200540c565b0151600581101562000d4d5762000bdc62000bfc938262000c0696600462000bec950362000c09575b505062005859565b5182601754166019549162006d88565b6024546026548216911662006f8e565b602554906200540c565b80f35b807f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50608062000d32935160208152602c60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b506f73848201527f6974696f6e5374617475735d00000000000000000000000000000000000000006060820152a180519281845262000cc8828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60046020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162000d45620051e3565b388062000bd4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b62000d9d9192503d8086833e62000d94818362004c56565b8101906200570f565b903862000b76565b7f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080855160208152602d60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b416772878201527f65656d656e745374617475735d000000000000000000000000000000000000006060820152a183519084825262000e5f858301604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60036020840152827fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89384920390a18451809186825262000ecd878301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a162000ee0620051e3565b3862000b2c565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b62000f2b91503d8088833e62000a5a818362004c56565b3862000b15565b84513d87823e3d90fd5b808334620006345781600319360112620006345762000f5a62005efa565b9062000f6562006bb1565b9162000f776019546018549062005b4f565b602062000f848562005859565b51015273ffffffffffffffffffffffffffffffffffffffff601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620012c4578251907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152848160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620012e55790859162001337575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620012e05781517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f595fa923000000000000000000000000000000000000000000000000000000006004820152848160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620012e5579085916200131f575b505073ffffffffffffffffffffffffffffffffffffffff601d5416803b15620012c45784835180927f3d3e73d7000000000000000000000000000000000000000000000000000000008252818381620011088a896004840162005920565b03925af18015620012e55790859162001307575b5060206200112a856200581c565b51015260185460206200113d8562005859565b51015273ffffffffffffffffffffffffffffffffffffffff601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620012c4578251907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152848160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620012e557908591620012ef575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620012e05781517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f595fa923000000000000000000000000000000000000000000000000000000006004820152848160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620012e557908591620012c8575b505073ffffffffffffffffffffffffffffffffffffffff601d541692833b15620012c457620005d89385928385518097819582947f3d3e73d70000000000000000000000000000000000000000000000000000000084526004840162005920565b8480fd5b620012d39062004bea565b620012e057838662001263565b505050fd5b83513d87823e3d90fd5b620012fa9062004bea565b620012e0578386620011cd565b620013129062004bea565b620012e05783866200111c565b6200132a9062004bea565b620012e0578386620010aa565b620013429062004bea565b620012e057838662001014565b80833462000634578160031936011262000634576200136d62005baa565b9062001379826200613c565b620013848262006651565b73ffffffffffffffffffffffffffffffffffffffff91826016541692737109709ecfa91a80626ff3989d68f67f5b1dd12d93843b156200156a578351907f06447d560000000000000000000000000000000000000000000000000000000082526004820152858160248183895af18015620015c057908691620015a8575b505080601d541690813b156200156a5783518681602481837f8135fe2300000000000000000000000000000000000000000000000000000000978883528960048401525af18015620015865790879162001590575b5050843b156200156a5783517fc31eb0e00000000000000000000000000000000000000000000000000000000081527faf20ef4a0000000000000000000000000000000000000000000000000000000060048201528681602481838a5af1801562001586579087916200156e575b5050601d541691823b156200156a57602486928386519586948593845260048401525af18015620015605790849162001548575b5050813b15620015445782809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c05750620005ed5750f35b5050fd5b620015539062004bea565b62001544578285620014f9565b82513d86823e3d90fd5b8580fd5b620015799062004bea565b6200156a578588620014c5565b85513d89823e3d90fd5b6200159b9062004bea565b6200156a57858862001457565b620015b39062004bea565b620012c457848762001402565b84513d88823e3d90fd5b8234620003bd576020600319360112620003bd5762000c06620015ec62004bc6565b620078d5565b8234620003bd5780600319360112620003bd5762000c06620076c8565b503462000413578160031936011262000413576200162c62005baa565b62001637816200613c565b8273ffffffffffffffffffffffffffffffffffffffff601d54169160248451809481937f3309940500000000000000000000000000000000000000000000000000000000835260048301525afa80156200183e5760a091849162001820575b500151906004821015620017f35760018203620016b1578280f35b807f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080620017da935160208152602d60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b416772848201527f65656d656e745374617475735d000000000000000000000000000000000000006060820152a180519281845262001770828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60016020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a1620017ed620051e3565b38808280f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6200183791503d8086833e62000a5a818362004c56565b3862001696565b505051903d90823e3d90fd5b503462000413578160031936011262000413576200186762005baa565b9062001873826200613c565b73ffffffffffffffffffffffffffffffffffffffff90816016541692737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b156200156a578583517fca669fa700000000000000000000000000000000000000000000000000000000968782526004820152818160248183885af1801562001a705762001a7a575b5084601d5416803b15620004135781809160248751809481937f8135fe230000000000000000000000000000000000000000000000000000000083528860048401525af1801562001a705762001a58575b50506200194d62006782565b95909360175497600098823b1562001a5457875191825283166004820152888160248183865af18015620004095762001a3e575b50803b15620003ef5787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f8d87dbb60000000000000000000000000000000000000000000000000000000060048401525af18015620003e557908891620003cd575050601d541691823b15620003c957908680949392620003918751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b62001a4c9098919862004bea565b963862001981565b8980fd5b62001a639062004bea565b6200156a57853862001941565b85513d84823e3d90fd5b62001a859062004bea565b6200156a578538620018f0565b503462000413576020908160031936011262001b745760043567ffffffffffffffff811162001b70573660238201121562001b705780600401359262001ad88462004c98565b9362001ae78451958662004c56565b80855260248286019160061b84010192368411620003c957602401905b83821062001b18578662000c0687620070e9565b8482360312620003c95784519062001b308262004c1c565b82359073ffffffffffffffffffffffffffffffffffffffff8216820362001b6b57828592889452828501358382015281520191019062001b04565b600080fd5b8380fd5b8280fd5b50346200041357816003193601126200041357602090517ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08152f35b5034620004135781600319360112620004135762001bd162005baa565b62001bdc816200613c565b62001be78162006651565b8273ffffffffffffffffffffffffffffffffffffffff8060165416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562001b7057839160248392885194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af190811562001db757839162001dd9575b505080601d5416803b1562001b745782809160248751809481937f8135fe230000000000000000000000000000000000000000000000000000000083528960048401525af190811562001db757839162001dc1575b5060249082601d54168651928380927fac41b7510000000000000000000000000000000000000000000000000000000082528860048301525afa90811562001db75762001d369162000bdc91859162001d99575b5062001d3062001d20826200581c565b5185601654166018549162006e8b565b62005859565b601d54169160248451809481937f3309940500000000000000000000000000000000000000000000000000000000835260048301525afa80156200183e5760a09184916200182057500151906004821015620017f35760018203620016b1578280f35b62001db091503d8087833e62000d94818362004c56565b3862001d10565b85513d85823e3d90fd5b62001dcc9062004bea565b6200041357813862001cbc565b62001de49062004bea565b6200041357813862001c67565b5034620004135781600319360112620004135760209062001e1162004d60565b90519015158152f35b509034620003bd5780600319360112620003bd5762001e3862005baa565b73ffffffffffffffffffffffffffffffffffffffff62001e62816023541682601654169062006f8e565b9062001e6e836200613c565b8060235416946018549381519462001e868662004bff565b868380519762001e968962004c1c565b6000895260209860008a82015281528289820152015282519762001eba8962004c1c565b8852858801526064420196874211620024bf5782519062001edb8262004bff565b8082528682019060018252848301998a5285601d5416601e5491865162001f4b8b8201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18452898301906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b6060815262001f5a8162004c39565b5190209083518c51908851928c8401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d8010686528a8501526060840152608083015260a082015260a0815260c081019181831067ffffffffffffffff8411176200249057828852815190207f190100000000000000000000000000000000000000000000000000000000000060e0830190815260e283019490945261010290910152604281526200200c60628262004c56565b519020988451907fe341eaa4000000000000000000000000000000000000000000000000000000008252610b0b600483015260249a8b830152737109709ecfa91a80626ff3989d68f67f5b1dd12d91606081604481865afa9081156200242857620020aa918c918290839262002432575b5060f81b7fff00000000000000000000000000000000000000000000000000000000000000169162007544565b918760165416813b15620023e0578b918d83928a5194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af180156200242857908b9162002410575b505086601d5416928760165416946018549a7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9b8c81168103620023e4578951976200214a8962004c1c565b885260011b90870152843b15620023e0578662002214620021cb97958f94958f9896620021f48a968e519c8d9b8c9a8b997f5541e684000000000000000000000000000000000000000000000000000000008b5260048b01528901906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b51805173ffffffffffffffffffffffffffffffffffffffff166064880152602001516084870152565b5160a48501525160c484015261010060e484015261010483019062005543565b03925af18015620023d657908791620023be575b5083601d541691888451809481937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa918215620023b55750906200227e91869162002397575b506200581c565b518160165416906018549185831683036200236b57620022a29260011b9162006d88565b620022b7816023541682601654169062006f8e565b916018549284841684036200233f57620022de620022e592620022f59560011b9062005890565b906200540c565b602354601d548216911662006f8e565b90601854908116810362002313579062000c069160011b906200540c565b50507f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b86867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b87877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b620023ae91503d8088833e62000d94818362004c56565b3862002277565b513d87823e3d90fd5b620023c99062004bea565b6200156a57853862002228565b83513d89823e3d90fd5b8b80fd5b8e8e7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6200241b9062004bea565b62001a54578938620020fe565b87513d8d823e3d90fd5b90507fff0000000000000000000000000000000000000000000000000000000000000092506200247d915060603d811162002488575b62002474818362004c56565b8101906200751d565b92909291906200207d565b503d62002468565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b8234620003bd5780600319360112620003bd5762000c0662007489565b503462000413578160031936011262000413576200252662005efa565b6200253062006bb1565b73ffffffffffffffffffffffffffffffffffffffff918483601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562001b7457829160248392895194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af1801562002793576200279d575b5083601d5416803b15620004135781865180927f3d3e73d7000000000000000000000000000000000000000000000000000000008252818381620025f78a8a6004840162005920565b03925af1801562002793576200277b575b5060249084601d54168651928380927f330994050000000000000000000000000000000000000000000000000000000082528660048301525afa8015620027715760a091879162002753575b500151600481101562002726576200266c9062006c48565b8483601d54169160248651809481937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa9384156200271d5750620026e8620026f262000c06956020938891620026ff575b5062001d30620026d6826200581c565b51876016541686620026e8896200581c565b5101519162006e8b565b5193601754169262005859565b6200271691503d808a833e62000d94818362004c56565b38620026c6565b513d86823e3d90fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6200276a91503d8089833e62000a5a818362004c56565b3862002654565b85513d88823e3d90fd5b620027869062004bea565b620012c457843862002608565b86513d84823e3d90fd5b620027a89062004bea565b620012c4578438620025ae565b50346200041357816003193601126200041357620027d262005baa565b90620027de8262006651565b620027e862006782565b92919360175494600095737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620003ef5785517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8093166004820152888160248183865af18015620004095762002924575b50803b15620003ef5787809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f6d9bf6df0000000000000000000000000000000000000000000000000000000060048401525af18015620003e557908891620003cd575050601d541691823b15620003c957908680949392620003918751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b620029329098919862004bea565b963862002867565b8234620003bd576060600319360112620003bd5762000c0660443560243560043562005588565b50346200041357816003193601126200041357602090517f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068152f35b8234620003bd576020600319360112620003bd5762000c06620029bf62004bc6565b62005997565b50346200041357816003193601126200041357602090517f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b36788152f35b5034620004135781600319360112620004135762002a1e62005baa565b73ffffffffffffffffffffffffffffffffffffffff9081602354169262002a4b8360165416809562006f8e565b9185601854868252602096601c885262002a7c85842086519362002a6f8562004bff565b8385528a850152620058cd565b85830152737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562001b7057839160248392885194859384927f06447d5600000000000000000000000000000000000000000000000000000000845260048401525af1801562001db75790839162002da2575b5050856014541696601d97838262002b578a8c5416936018548a519485809481937f095ea7b300000000000000000000000000000000000000000000000000000000998a8452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801562002d985791839162002bb69362002d76575b5089601554168a8c541687602554938b51968795869485938452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801562002d6c5762002d37575b505085875416803b1562001b745762002c20839291839287519485809481937fa37ee28c0000000000000000000000000000000000000000000000000000000083528a60048401528b602484015260448301906200601f565b03925af1801562002d2d5762002d15575b50848654169160248451809481937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa918215620023b5575062000c06949262002ca962002c9962000bfc969462002ccd948a9162002cfe57506200581c565b5184601654166018549162006d88565b620022de62002cc2846023541685601654169062006f8e565b916018549062005890565b62002cef62002ce58260235416838554169062006f8e565b601854906200540c565b80602454169154169062006f8e565b620023ae91503d808c833e62000d94818362004c56565b62002d209062004bea565b6200156a57853862002c31565b84513d84823e3d90fd5b8162002d5b92903d1062002d64575b62002d52818362004c56565b81019062004d46565b50388062002bc7565b503d62002d46565b86513d86823e3d90fd5b62002d9090833d851162002d645762002d52818362004c56565b503862002b70565b87513d87823e3d90fd5b62002dad9062004bea565b6200041357813862002ae5565b50346200041357816003193601126200041357602090517faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638152f35b5034620004135781600319360112620004135762002e1362005baa565b9073ffffffffffffffffffffffffffffffffffffffff918383602354169162002e5262002e468660165416809562006f8e565b93866024541662006f8e565b9362002e5e826200613c565b856016541691737109709ecfa91a80626ff3989d68f67f5b1dd12d92833b15620012c4578251907f06447d560000000000000000000000000000000000000000000000000000000082526004820152848160248183885af18015620012e5579085916200303e575b505086601d5416803b15620012c45784809160248551809481937f8135fe230000000000000000000000000000000000000000000000000000000083528760048401525af18015620012e55790859162003026575b505086601d541690813b15620012c457849160248392855194859384927f186799a400000000000000000000000000000000000000000000000000000000845260048401525af1801562001560579084916200300e575b5050813b1562001b745782809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c0575062002ff6575b50508262002fe662002fe09262002fe062000c06966023541684601654169062006f8e565b6200540c565b6024546016548216911662006f8e565b620030019062004bea565b62001b7057833862002fbb565b620030199062004bea565b62001b7457823862002f72565b620030319062004bea565b62001b7057833862002f1b565b620030499062004bea565b62001b7057833862002ec6565b503462000413578160031936011262000413576200307362005baa565b906200307f826200613c565b60175491600092737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620012c45783517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8093166004820152858160248183865af180156200277157620031dc575b50803b15620012c45784809160248651809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f3b278a7a0000000000000000000000000000000000000000000000000000000060048401525af1801562000f3257908591620031c4575b5050601d541690813b1562001b70578291602485949285935195869384927f8135fe2300000000000000000000000000000000000000000000000000000000845260048401525af1908115620003c05750620003a7578280f35b620031cf9062004bea565b62001b705783386200316a565b620031ea9095919562004bea565b9338620030fb565b509034620003bd5780600319360112620003bd576200321062005efa565b8251926200321e8462004c39565b6003845260005b60608110620035b9575073ffffffffffffffffffffffffffffffffffffffff93846016541694825195620032598762004c1c565b865260209585878201526200326e836200581c565b526200327a826200581c565b508060175416601954845191620032918362004c1c565b825287820152620032a28362005859565b52620032ae8262005859565b5080601f541691601854845190620032c68262004c1c565b84825288820152620032d8826200586a565b52620032e4816200586a565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b15620003c95784517fca669fa700000000000000000000000000000000000000000000000000000000948582526004820152878160248183875af18015620003e557908891620035a1575b5050813b15620003c95784517fc31eb0e000000000000000000000000000000000000000000000000000000000918282527f3a78f7d40000000000000000000000000000000000000000000000000000000091826004820152898160248183895af180156200353d57908a9162003589575b505084601d541690813b1562001a5457896200340f8a98979695949382938b519485809481937f3d3e73d7000000000000000000000000000000000000000000000000000000009e8f84526004840162005920565b03925af180156200353d57908a9162003571575b5050865194620034338662004c1c565b6001865260005b8b81106200354b5750899a85601f5416906200345c6018546019549062005b4f565b8a51916200346a8362004c1c565b8383528201526200347b886200581c565b5262003487876200581c565b50843b15620035475788519182526004820152898160248183885af180156200353d57908a9162003525575b5050823b156200063057602489928389519586948593845260048401525af1801562001586579087916200350d575b5050601d5416803b156200156a57620005d89486809486519788958694859384526004840162005920565b620035189062004bea565b6200156a578538620034e2565b620035309062004bea565b62000630578838620034b3565b88513d8c823e3d90fd5b8a80fd5b8b9089516200355a8162004c1c565b6000815260008382015282828a010152016200343a565b6200357c9062004bea565b6200063057883862003423565b620035949062004bea565b62000630578838620033ba565b620035ac9062004bea565b620003c957863862003348565b6020908251620035c98162004c1c565b600081528260008183015282880101520162003225565b50346200041357816003193601126200041357602090517f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18152f35b50346200041357816003193601126200041357602090517ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668152f35b509034620003bd5780600319360112620003bd576200367662005baa565b9162003682836200613c565b6200368d8362006651565b73ffffffffffffffffffffffffffffffffffffffff92836016541693737109709ecfa91a80626ff3989d68f67f5b1dd12d94853b15620012c4578351957fca669fa7000000000000000000000000000000000000000000000000000000009182885260048801526024968681898183865af18015620038e657908791620038ce575b505082601d541691823b15620003c957855187818a81837f8135fe2300000000000000000000000000000000000000000000000000000000988983528b60048401525af18015620038c457908891620038ac575b5050836017541690823b15620003ef57908888928389519586948593845260048401525af18015620027715790869162003894575b505081601d541690813b156200156a5785918783928751948593849283528860048401525af1801562000f32579085916200387c575b5090601d541691858451809481937f3309940500000000000000000000000000000000000000000000000000000000835260048301525afa918215620003c057509060a09183916200385e575b5001516004811015620038335762000c069062006c48565b507f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6200387591503d8085833e62000a5a818362004c56565b386200381b565b620038879062004bea565b62001b70578338620037ce565b6200389f9062004bea565b620012c457843862003798565b620038b79062004bea565b620003c957863862003763565b87513d8a823e3d90fd5b620038d99062004bea565b6200156a5785386200370f565b86513d89823e3d90fd5b80833462000634578160031936011262000634576200390e62005baa565b906200391a826200613c565b620039258262006651565b6200392f62006bb1565b9173ffffffffffffffffffffffffffffffffffffffff80601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b15620003c9578451907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152868160248183865af18015620015865790879162003a80575b5050803b156200156a5785809160248651809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f4e16946c0000000000000000000000000000000000000000000000000000000060048401525af18015620015c05790869162003a68575b5050601d541692833b15620012c457620005d89385928385518097819582947f3d3e73d70000000000000000000000000000000000000000000000000000000084526004840162005920565b62003a739062004bea565b620012c457848762003a1c565b62003a8b9062004bea565b6200156a578588620039ac565b5034620004135781600319360112620004135762003ab562005efa565b73ffffffffffffffffffffffffffffffffffffffff806023541691816016541662003ae1818562006f8e565b946024948762003b1362003afa87895416958662006f8e565b9262003b0c8860175416809262006f8e565b9562006f8e565b9462003b1e62006bb1565b9387601f5416737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620012c45782517fca669fa70000000000000000000000000000000000000000000000000000000092838252600482015285818d8183865af18015620015c05790869162003df7575b505089601d5416803b156200156a5783517f3d3e73d7000000000000000000000000000000000000000000000000000000008152908690829081838162003bd18e8c6004840162005920565b03925af18015620015c05790869162003ddf575b50508960165416813b156200156a57835190838252600482015285818d8183865af18015620015c05790869162003dc7575b505089601d541691823b156200156a578b868551809281837f186799a400000000000000000000000000000000000000000000000000000000988983528b60048401525af18015620015865790879162003daf575b50508a60175416823b15620003c9578c87928387519586948593845260048401525af18015620012e55790859162003d97575b505088601d541692833b15620012c4578a85928385519687948593845260048401525af1908115620003c0575062003d77575b50509262003d5e859493620022de62003d689462003d3c889762003d2862000c069d620022de62003d11620022de9e602354168d601654169062006f8e565b602062003d1e886200581c565b5101519062005890565b620022de898d54168a601654169062006f8e565b602062003d1e62003d5789602354168a601754169062006f8e565b9262005859565b6025549062005b4f565b93541690601754169062006f8e565b62003d8790969592949662004bea565b620003ef57929391873862003cd2565b62003da29062004bea565b62001b7057833862003c9f565b62003dba9062004bea565b6200156a57853862003c6c565b62003dd29062004bea565b620012c457843862003c17565b62003dea9062004bea565b620012c457843862003be5565b62003e029062004bea565b620012c457843862003b85565b5034620004135781600319360112620004135762003e2c62005baa565b73ffffffffffffffffffffffffffffffffffffffff9162003e57836023541684601654169062006f8e565b9162003e63816200613c565b8484601d54169160248451809481937fac41b75100000000000000000000000000000000000000000000000000000000835260048301525afa9182156200271d575062000bfc9262002ca962002c9962000c06969462003ecb94899162003ef457506200581c565b62003ee462002ce5826023541683601d54169062006f8e565b602454601d548216911662006f8e565b620023ae91503d808b833e62000d94818362004c56565b808334620006345781600319360112620006345762003f2962005baa565b9062003f35826200613c565b73ffffffffffffffffffffffffffffffffffffffff8060175416737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b156200156a578351907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152858160248183865af18015620015c05790869162004090575b5050803b15620012c45784809160248551809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f3b278a7a0000000000000000000000000000000000000000000000000000000060048401525af18015620012e55790859162004078575b5050601d541691823b15620012e057839260248492845195869384927f061ab0bc00000000000000000000000000000000000000000000000000000000845260048401525af1908115620003c05750620005ed5750f35b620040839062004bea565b620012e057838662004021565b6200409b9062004bea565b620012c457848762003fb1565b5034620004135781600319360112620004135760209051680246ddf979766800008152f35b5034620004135760206003193601126200041357620040eb62006782565b90929160175493600094737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620003c95785517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8093166004820152878160248183865af18015620038c45762004244575b50803b15620003c95786809160248851809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527fb9e8c16f0000000000000000000000000000000000000000000000000000000060048401525af18015620038e6579087916200422c575b5050601d541691823b156200156a5791849391868094620003919751978895869485937f1bd747a2000000000000000000000000000000000000000000000000000000008552600435600486016200608a565b620042379062004bea565b6200156a578538620041d9565b620042529097919762004bea565b95386200416a565b503462000413578160031936011262000413576200427762005baa565b9062004283826200613c565b6200428e8262006651565b73ffffffffffffffffffffffffffffffffffffffff91826016541692737109709ecfa91a80626ff3989d68f67f5b1dd12d803b156200156a578584517fca669fa700000000000000000000000000000000000000000000000000000000968782526004820152818160248183875af18015620027935762004484575b5082601d5416803b15620004135781809160248851809481937f061ab0bc0000000000000000000000000000000000000000000000000000000083528a60048401525af1801562002793576200446c575b505060175494600095823b15620003c957855191825283166004820152858160248183865af18015620027715762004456575b50803b15620012c45784809160248651809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f031445140000000000000000000000000000000000000000000000000000000060048401525af1801562000f3257908591620031c4575050601d541690813b1562001b70578291602485949285935195869384927f8135fe2300000000000000000000000000000000000000000000000000000000845260048401525af1908115620003c05750620003a7578280f35b620044649095919562004bea565b93386200438e565b620044779062004bea565b6200156a5785386200435b565b6200448f9062004bea565b6200156a5785386200430a565b509034620003bd5780600319360112620003bd57620044ba620076c8565b73ffffffffffffffffffffffffffffffffffffffff80601354169280517f3644e5150000000000000000000000000000000000000000000000000000000081526020908181600481895afa908115620012e5578591620046d0575b50601e5582601554169083601f54168351620045318162004bff565b838152818567016345785d8a000092838682015201527fffffffffffffffffffffffff00000000000000000000000000000000000000009384602454161760245560255582602654161760265582519061306c968783019783891067ffffffffffffffff8a1117620046a3579785928492899a9998996200b10b85398252309082015203019084f080156200183e57848491169182601d5491821617601d5516179083601f5416823b1562001b7057839260848492845195869384927faf0f9df30000000000000000000000000000000000000000000000000000000084526004840152896024541660248401526025546044840152896026541660648401525af1908115620003c057506200468b575b5062000c0682620046578160165416620078d5565b620046668160175416620078d5565b6200467b8160165416826013541690620079b0565b60175460135482169116620079b0565b620046969062004bea565b6200041357813862004642565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b90508181813d8311620046fb575b620046ea818362004c56565b8101031262001b6b57513862004515565b503d620046de565b509034620003bd5780600319360112620003bd576200472162005baa565b916200472d836200613c565b620047388362006651565b73ffffffffffffffffffffffffffffffffffffffff90816016541693737109709ecfa91a80626ff3989d68f67f5b1dd12d92833b15620012c4578251957fca669fa700000000000000000000000000000000000000000000000000000000875260048701526024938587868183855af18015620015c057620049b4575b85965081601d5416803b15620003c957845187818881837f8135fe2300000000000000000000000000000000000000000000000000000000968783528a60048401525af18015620003e5579088916200499c575b50508260175416823b15620003ef578551907f06447d5600000000000000000000000000000000000000000000000000000000825260048201528781888183875af18015620003e55790889162004984575b505082601d541690813b15620003ef5787918783928851948593849283528960048401525af1801562001586579087916200496c575b5050803b156200156a57858091868651809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f8d87dbb60000000000000000000000000000000000000000000000000000000060048401525af18015620015c05790869162004954575b5050601d5416803b15620012c45784938492845195869384927f061ab0bc00000000000000000000000000000000000000000000000000000000845260048401525af1908115620003c05750620005ed5750f35b6200495f9062004bea565b620012c457843862004900565b620049779062004bea565b6200156a57853862004891565b6200498f9062004bea565b620003c95786386200485b565b620049a79062004bea565b620003c957863862004809565b949095620049c29062004bea565b938590620047b5565b9190503462001b7457606060031936011262001b745760043573ffffffffffffffffffffffffffffffffffffffff808216809203620012c457602435938185168095036200156a5760443590828216809203620003c957833b15620003c9577f06447d5600000000000000000000000000000000000000000000000000000000815286956004820152868160248183885af18015620015865762004bae575b509084918160145416918551907f095ea7b300000000000000000000000000000000000000000000000000000000918281528360048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94856024830152816044816020998a945af1801562004ba457604492879594928b9262004b82575b5060155416895196879586948552600485015260248401525af1801562000f325762004b5f575b5050803b1562001b74579082809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c05750620003a7578280f35b8162004b7992903d1062002d645762002d52818362004c56565b50388062004b12565b62004b9c90873d891162002d645762002d52818362004c56565b503862004aeb565b88513d8b823e3d90fd5b62004bbc9192955062004bea565b8493903862004a6a565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820362001b6b57565b67ffffffffffffffff81116200249057604052565b6060810190811067ffffffffffffffff8211176200249057604052565b6040810190811067ffffffffffffffff8211176200249057604052565b6080810190811067ffffffffffffffff8211176200249057604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200249057604052565b67ffffffffffffffff8111620024905760051b60200190565b60005b83811062004cc55750506000910152565b818101518382015260200162004cb4565b67ffffffffffffffff81116200249057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d1562004d41573d9062004d258262004cd6565b9162004d35604051938462004c56565b82523d6000602084013e565b606090565b9081602091031262001b6b5751801515810362001b6b5790565b6000805460081c60ff161562004d7a575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b62004d9c57505090565b81925060405182602082018381527f6661696c6564000000000000000000000000000000000000000000000000000060408401526040835262004ddf8362004bff565b62004e346024604051809362004e2360208301977f667f9d700000000000000000000000000000000000000000000000000000000089525180928585019062004cb1565b810103600481018452018262004c56565b51925af15062004e5762004e4762004d11565b6020808251830101910162004d46565b90565b519073ffffffffffffffffffffffffffffffffffffffff8216820362001b6b57565b90602090818382031262001b6b57825167ffffffffffffffff9384821162001b6b57019060c08282031262001b6b576040519360c08501858110828211176200249057604052825185528383015184860152604083015190811162001b6b5782019281601f8501121562001b6b57835162004ef78162004cd6565b9262004f07604051948562004c56565b81845282828701011162001b6b5760a0948262004f28938501910162004cb1565b604084015262004f3b6060820162004e5a565b6060840152608081015160808401520151600481101562001b6b5760a082015290565b90600182811c9216801562004fa9575b602083101462004f7a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f169162004f6e565b6022546000929162004fc68262004f5e565b8082529160019081811690811562005041575060011462004fe657505050565b9192935060226000527f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510916000925b8484106200502857505060209250010190565b8054602085850181019190915290930192810162005015565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b73ffffffffffffffffffffffffffffffffffffffff9182169116818103620050a3575050565b620051ce906040907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602560208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464858201527f726573735d0000000000000000000000000000000000000000000000000000006060820152a181519382855262005165838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b906020860152847f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060208301520390a1620051e1620051e3565b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6200522f575b506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6000809160405182602082018381527f6661696c65640000000000000000000000000000000000000000000000000000604084015260016060840152606083526200527a8362004c39565b620052be6024604051809362004e2360208301977f70ca10bb0000000000000000000000000000000000000000000000000000000089525180928585019062004cb1565b51925af150620052cd62004d11565b503862005200565b818103620052e1575050565b620051ce906040907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602560208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974858201527f657333325d0000000000000000000000000000000000000000000000000000006060820152a1815193828552620053a3838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b906020860152847fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f999586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b81810362005418575050565b620051ce906040907f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080835160208152602260208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e858201527f745d0000000000000000000000000000000000000000000000000000000000006060820152a1815193828552620054da838601604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b906020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093620055818151809281875287808801910162004cb1565b0116010190565b929190928315620057095773ffffffffffffffffffffffffffffffffffffffff9081601d5416906040958692835192600060209585878097019085825284838201528a606082015260608152620055df8162004c39565b51902098886014541690825194620055f78662004c39565b85528785019687528251996200560d8b62004c1c565b60048b527f6970667300000000000000000000000000000000000000000000000000000000898c01528386019a8b52606086019283526200569784519b8c998a9889977f8f34a8590000000000000000000000000000000000000000000000000000000089526004890152516044880152516064870152516080608487015260c486019062005543565b92511660a4840152602483015203925af1948515620056ff5750600094620056c9575b505091620051e19192620052d5565b81813d8311620056f7575b620056e0818362004c56565b8101031262001b7057519250620051e138620056ba565b503d620056d4565b513d6000823e3d90fd5b50509050565b906020808383031262001b6b57825167ffffffffffffffff9384821162001b6b57019180601f8401121562001b6b578251906200574c8262004c98565b946040916200575e8351978862004c56565b838752848088019460071b8701019581871162001b6b578501935b8685106200578b575050505050505090565b608090818684031262001b6b57845191820182811085821117620057ee578552620057b68662004e5a565b8252868601518783015284860151858301526060908187015192600584101562001b6b57608093899382015281520194019362005779565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8051156200582a5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051600110156200582a5760400190565b8051600210156200582a5760600190565b80518210156200582a5760209160051b010190565b919082039182116200589e57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9060405191828154918282526020928383019160005283600020936000905b8282106200590557505050620051e19250038362004c56565b855484526001958601958895509381019390910190620058ec565b906060604092838101928152602091818584809401528651809552019401926000905b8382106200595357505050505090565b9091929394838282620059896001948a516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019601949392019062005943565b601f5460009173ffffffffffffffffffffffffffffffffffffffff808092169216821462005b4a57620059c962005efa565b620059d362006bb1565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d803b156200156a576040948551907fca669fa70000000000000000000000000000000000000000000000000000000082526004820152868160248183865af18015620038e65762005b34575b50803b156200156a5785809160248751809481937fc31eb0e00000000000000000000000000000000000000000000000000000000083527f2eef310a0000000000000000000000000000000000000000000000000000000060048401525af18015620027715790869162005b1c575b5050601d541690813b15620012c45791849184938362005af296518097819582947f3d3e73d70000000000000000000000000000000000000000000000000000000084526004840162005920565b03925af1908115620003c0575062005b08575050565b62005b14829162004bea565b620003bd5750565b62005b279062004bea565b620012c457843862005aa4565b62005b429096919662004bea565b943862005a35565b505050565b919082018092116200589e57565b60409081519162005b6e8362004bff565b60028352826000805b83811062005b855750505050565b602090845162005b958162004c1c565b83815282848183015282860101520162005b77565b62005bb462007489565b601b549073ffffffffffffffffffffffffffffffffffffffff80601454169260409182519462005be48662004c39565b7fa74911826a63a1e8059b5834149ea5905cbe277aaf3536b4a44db1822d86970a865260209283870190815284519662005c1e8862004c1c565b600d88527f697066733a2f2f736861323536000000000000000000000000000000000000008589015287868201526060810192835251845551602155855167ffffffffffffffff8111620024905762005c7960225462004f5e565b601f811162005e90575b5083601f821160011462005dc35791818493928695936000999a8a9262005db7575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176022555b511690817fffffffffffffffffffffffff00000000000000000000000000000000000000006023541617602355601d5416845180968180947f8f34a8590000000000000000000000000000000000000000000000000000000082528860048301528654604483015260215460648301526080608483015262005d5d60c4830162004fb4565b9060a483015282602483015203925af1918215620056ff575060009162005d85575b50905090565b82813d831162005daf575b62005d9c818362004c56565b81010312620003bd575051803862005d7f565b503d62005d90565b01519050388062005ca5565b967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082169060226000527f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5109160005b81811062005e785750928594926000999a600193838a99971062005e40575b505050811b0160225562005cd8565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c1916905538808062005e31565b828b0151845599870199600190930192870162005e12565b6000602281527f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510601f840160051c81019287851062005eef575b601f0160051c01915b82811062005ee357505062005c83565b81815560010162005ed3565b909250829062005eca565b62005f0462005baa565b62005f0f816200613c565b62005f1a8162006651565b6016546000737109709ecfa91a80626ff3989d68f67f5b1dd12d803b1562000413578180916024604051809481937fca669fa700000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff80991660048401525af1801562006002576200600d575b5090601d5416803b1562000413578180916024604051809481937f061ab0bc0000000000000000000000000000000000000000000000000000000083528860048401525af18015620060025762005fed57505090565b62005ff9829162004bea565b620003bd575090565b6040513d84823e3d90fd5b620060189062004bea565b3862005f97565b604090606083019073ffffffffffffffffffffffffffffffffffffffff81511684526080602093828580940151848801520151946060604082015285518094520193019160005b82811062006075575050505090565b83518552938101939281019260010162006066565b90949391948152620060a960209560808784015260808301906200601f565b6040828203818401526060820194805195606084528651809152886080850197019060005b818110620060fc57505050808862004e57989984930151908501520151910152606081840391015262005543565b9091978a8582620061306001948d516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019901929101620060ce565b90601654600073ffffffffffffffffffffffffffffffffffffffff8092169060185493828252602091601c8352604093620061a8620061a2868420986200619888519a6200618a8c62004bff565b858c5282898d0152620058cd565b888b015262006ae9565b6200758b565b86601d541698601e5498620061bf83515162007030565b98855b845180518210156200626357908b62006256828d8d6200623d620061eb846200625d996200587b565b518351928301937f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a185528301906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b606081526200624c8162004c39565b519020926200587b565b5262007085565b620061c2565b50509398909499929691959a885190888483018d81878751919701915b88828210620064ea57505050506200634c9084620063a0960394620062cc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09687810183528262004c56565b519020926200633f8d808986015195015190519485938a850197889094939273ffffffffffffffffffffffffffffffffffffffff60809360a08401977ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668552602085015216604083015260608201520152565b0384810183528262004c56565b51902092620063938a519485928301968790916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b0390810183528262004c56565b5190208551907fe341eaa4000000000000000000000000000000000000000000000000000000008252610b0b60048301526024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90606081604481855afa801562000409579062006439918a8b928c9262002432575060f81b7fff00000000000000000000000000000000000000000000000000000000000000169162007544565b96813b156200063057889160248392895194859384927fca669fa700000000000000000000000000000000000000000000000000000000845260048401525af18015620003e557620064d4575b50601d541691823b15620003c95790868094939262005af28751988996879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b620064e29097919762004bea565b953862006486565b83518952978801978e95509092019160010162006280565b601654600091737109709ecfa91a80626ff3989d68f67f5b1dd12d90813b1562001b705760409283517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8092166004820152858160248183885af1801562002771576200663b575b50601d541690813b15620012c457849160248392865194859384927f061ab0bc00000000000000000000000000000000000000000000000000000000845260048401525af1801562000a6a5790849162006623575b5050803b1562001b74579082809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c0575062005b08575050565b6200662e9062004bea565b62001b74578238620065d6565b620066499095919562004bea565b933862006581565b6200665b62006782565b919260175493600094737109709ecfa91a80626ff3989d68f67f5b1dd12d803b15620003c9578680916024604051809481937fca669fa700000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff80981660048401525af1801562006755576200673f575b50601d541691823b156200156a579085809493926200672b604051978896879586947f1bd747a2000000000000000000000000000000000000000000000000000000008652600486016200608a565b03925af18015620060025762005b08575050565b6200674d9096919662004bea565b9438620066dc565b6040513d89823e3d90fd5b604051906200676f8262004bff565b6000604083606081528260208201520152565b6040908151620067928162004bff565b82600091828152602090838282015260609586910152620067b262006760565b5073ffffffffffffffffffffffffffffffffffffffff9485601754166200680e620061a260195492808852601c865262006803878920885192620067f68462004bff565b83528588840152620058cd565b878201529262006ae9565b96601d541696601e54966200682582515162007030565b96805b83518051821015620068bf57906200684581620068b9936200587b565b5189516200689c8a8201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a184528c8301906020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b888152620068aa8162004c39565b51902062006256828c6200587b565b62006828565b50509594919792989690968551908984830180868651919601908b5b8882821062006ad15750505050620069999084620069e0960394620069277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09687810183528262004c56565b519020926200633f8a888501519401518b519485938a850197889094939273ffffffffffffffffffffffffffffffffffffffff60809360a08401977ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668552602085015216604083015260608201520152565b519020926200639387519485928301968790916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b5190208251907fe341eaa4000000000000000000000000000000000000000000000000000000008252620a11ce600483015260248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa92831562006ac8575062004e579392839283929162006a7b575b505060f81b7fff00000000000000000000000000000000000000000000000000000000000000169162007544565b7fff00000000000000000000000000000000000000000000000000000000000000945062006abc935080919250903d10620024885762002474818362004c56565b92909291903862006a4d565b513d85823e3d90fd5b83518952978801978f955090920191600101620068db565b90604080519062006afa8262004bff565b600282526000805b82811062006b8c5750509062006b8991819473ffffffffffffffffffffffffffffffffffffffff806015541660255484519162006b3f8362004c1c565b8252602082015262006b51856200581c565b5262006b5d846200581c565b506014541691519162006b708362004c1c565b8252602082015262006b828262005859565b5262005859565b50565b602090835162006b9c8162004c1c565b83815282848183015282870101520162006b02565b62006bbb62005b5d565b9073ffffffffffffffffffffffffffffffffffffffff806016541662006be76018546019549062005b4f565b6040519162006bf68362004c1c565b8252602082015262006c08846200581c565b5262006c14836200581c565b50601754166040519062006c288262004c1c565b81526000602082015262006c3c8362005859565b5262006b898262005859565b600481101562000d4d576002810362006c5e5750565b620051ce60407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602d60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b416772848201527f65656d656e745374617475735d000000000000000000000000000000000000006060820152a180519281845262006d1e828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b60026020860152847fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89586920390a181519282849384528301604090600a81527f2020202041637475616c0000000000000000000000000000000000000000000060208201520190565b9060609262000ba062006db39273ffffffffffffffffffffffffffffffffffffffff8551166200507d565b0151600581101562000d4d576001810362006dcb5750565b620051ce60407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602c60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b506f73848201527f6974696f6e5374617475735d00000000000000000000000000000000000000006060820152a180519281845262001770828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b9060609262000ba062006eb69273ffffffffffffffffffffffffffffffffffffffff8551166200507d565b0151600581101562000d4d576002810362006ece5750565b620051ce60407f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506080825160208152602c60208201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b506f73848201527f6974696f6e5374617475735d00000000000000000000000000000000000000006060820152a180519281845262006d1e828501604090600a81527f202045787065637465640000000000000000000000000000000000000000000060208201520190565b6020906024604051809481937f70a0823100000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff8092166004840152165afa908115620070245760009162006ff1575090565b906020823d82116200701b575b816200700d6020938362004c56565b81010312620003bd57505190565b3d915062006ffe565b6040513d6000823e3d90fd5b906200703c8262004c98565b6200704b604051918262004c56565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200707b829462004c98565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146200589e5760010190565b90815180825260208080930193019160005b828110620070d4575050505090565b835185529381019392810192600101620070c5565b620070f5815162007030565b9060005b8151811015620071bb578073ffffffffffffffffffffffffffffffffffffffff62007129620071b593856200587b565b5151166020620071a6816200713f85886200587b565b5101519162007179604051938492830195866020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262004c56565b5190206200625682866200587b565b620070f9565b5060005b8151811015620073d95773ffffffffffffffffffffffffffffffffffffffff80601a541660408051927fb8616195000000000000000000000000000000000000000000000000000000008452600493828582015260008162007225604482018b620070b3565b9581806024988b8a83015203915afa908115620073ce5760009162007333575b50906200725386886200587b565b515116600052602091601c83526000209281519467ffffffffffffffff861162007307576801000000000000000086116200730757505081908354858555808610620072d9575b500191600052806000209060005b848110620072c6575050505050620072c09062007085565b620071bf565b83518382015592810192600101620072a8565b84600052858360002091820191015b818110620072f757506200729a565b60008155849350600101620072e8565b6041907f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b3d8083833e62007344818362004c56565b8101602091828183031262001b705780519067ffffffffffffffff8211620012c4570181601f8201121562001b7057805190620073818262004c98565b94620073908851968762004c56565b828652848087019360051b830101938411620003bd57508301905b828210620073be57505050503862007245565b81518152908301908301620073ab565b83513d6000823e3d90fd5b50506020620074379173ffffffffffffffffffffffffffffffffffffffff601a541660405180809581947f2e08d6020000000000000000000000000000000000000000000000000000000083528660048401526024830190620070b3565b03915afa908115620070245760009162007452575b50601b55565b906020823d821162007480575b816200746e6020938362004c56565b81010312620003bd575051386200744c565b3d91506200745f565b620051e16200749762005b5d565b73ffffffffffffffffffffffffffffffffffffffff806016541660185460405191620074c38362004c1c565b82526020820152620074d5836200581c565b52620074e1826200581c565b506017541660195460405191620074f88362004c1c565b825260208201526200750a8262005859565b52620075168162005859565b50620070e9565b9081606091031262001b6b57805160ff8116810362001b6b57916040602083015192015190565b92917fff0000000000000000000000000000000000000000000000000000000000000091604051946020860152604085015216606083015260418252620051e18262004c39565b6200759562006760565b50805190620075a48262004c98565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0620075e4604092620075db8451968762004c56565b80865262004c98565b0160005b818110620076a157505060005b825181101562007674578073ffffffffffffffffffffffffffffffffffffffff620076256200766e93866200587b565b5151166020806200763784886200587b565b51015190855192620076498462004c1c565b83528201526200765a82876200587b565b526200766781866200587b565b5062007085565b620075f5565b50905060644201908142116200589e57805192620076928462004bff565b83526000602084015282015290565b6020908351620076b18162004c1c565b6000815282600081830152828801015201620075e8565b60408051906122ca908183019267ffffffffffffffff9281851084861117620024905762007b82823980600094039084f0928315620078ca5773ffffffffffffffffffffffffffffffffffffffff92837fffffffffffffffffffffffff000000000000000000000000000000000000000095168560135416176013558251906112bf8083019280841083851117620078935760e08162009e4c958487833960608152600c60608201527f5465737420546f6b656e20410000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544100000000000000000000000000000000000000000000000000000000000060c082015260128982015203019085f08015620078c05786168760145416176014558451928184019284841090841117620078935791839160e093833960608152600c60608201527f5465737420546f6b656e20420000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544200000000000000000000000000000000000000000000000000000000000060c082015260128682015203019082f09182156200788957505016906015541617601555565b51903d90823e3d90fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b85513d86823e3d90fd5b9051903d90823e3d90fd5b6014549060009173ffffffffffffffffffffffffffffffffffffffff80911691823b1562001b705760405191807f40c10f1900000000000000000000000000000000000000000000000000000000928385521692836004820152858160448183680246ddf97976680000998a60248401525af18015620079a5576200798f575b5060155416803b15620012c4578492918360449260405196879586948552600485015260248401525af18015620060025762005b08575050565b6200799d9095919562004bea565b933862007955565b6040513d88823e3d90fd5b90737109709ecfa91a80626ff3989d68f67f5b1dd12d803b1562001b6b576040918251937f06447d5600000000000000000000000000000000000000000000000000000000855260009473ffffffffffffffffffffffffffffffffffffffff8092166004820152858160248183885af18015620027715762007b69575b50908185926014541691855191807f095ea7b3000000000000000000000000000000000000000000000000000000009283855216928360048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94856024830152816044816020998a945af1801562004ba457604492879594928b9262007b47575b5060155416895196879586948552600485015260248401525af1801562000f325762007b24575050803b1562001b74579082809260048351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620003c0575062005b08575050565b8162007b3e92903d1062002d645762002d52818362004c56565b503880620065d6565b62007b6190873d891162002d645762002d52818362004c56565b503862007ab1565b62007b78909591929562004bea565b93903862007a2d56fe60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a5578260405251902060805261220990816100c18239608051816118b0015260a0518161188a0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db146110c8578063137c29fe14610eef5780632a2d80d114610c4f5780632b67b57014610a9457806330f28b7a146109b25780633644e5151461098f57806336c78516146109385780633ff9dcb1146108d65780634fe02b441461088b57806365d9723c1461071657806387517c4514610602578063927da10514610569578063cc53287f14610467578063edd9444b1461031c5763fe8ec1a7146100c657600080fd5b346103185760c06003193601126103185767ffffffffffffffff8335818111610314576100f6903690860161146b565b6024358281116103105761010d903690870161143a565b610115611324565b9160843585811161030c5761012d9036908a016113e1565b98909560a43590811161030857610146913691016113e1565b9690958151906101558261123d565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610204602085018096611cfc565b918237018a8152039961023d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611275565b5190209085515161024d81611c24565b908a5b8181106102db5750506102d8999a6102cf91835161028281610276602082018095611ccf565b03848101835282611275565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611275565b51902093611a60565b80f35b806102f36102ed610303938c5161157e565b51611dbd565b6102fd828661157e565b52611c73565b610250565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103185760806003193601126103185767ffffffffffffffff9080358281116103145761034f903690830161146b565b60243583811161031057610366903690840161143a565b939092610371611324565b9160643590811161046357610388913691016113e1565b9490938351519761039889611c24565b98885b8181106104415750506102d8979881516103e9816103bd602082018095611ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611275565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102cf81611259565b808b6102fd826104586102ed61045e968d5161157e565b9261157e565b61039b565b8680fd5b50823461056557602090816003193601126103145780359067ffffffffffffffff82116103105761049a9136910161143a565b929091845b8481106104aa578580f35b806104c06104bb60019388886116d5565b6116e5565b6104d5846104cf848a8a6116d5565b016116e5565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a20161049f565b8280fd5b5034610318576060600319360112610318576105fe816105876112de565b93610590611301565b610598611324565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103185760806003193601126103185761061c6112de565b90610625611301565b9161062e611324565b65ffffffffffff926064358481169081810361030c5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c2094861560001461070e57504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b9050926106ed565b508234610565576060600319360112610565576107316112de565b9061073a611301565b9265ffffffffffff604435818116939084810361030c57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156108635761ffff90858403161161083c5750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b50346103185780600319360112610318578060209273ffffffffffffffffffffffffffffffffffffffff6108bd6112de565b1681528084528181206024358252845220549051908152f35b5082346105655781600319360112610565577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b823461098c57608060031936011261098c576109526112de565b61095a611301565b610962611324565b6064359173ffffffffffffffffffffffffffffffffffffffff83168303610310576102d8936115c1565b80fd5b50346103185781600319360112610318576020906109ab611887565b9051908152f35b5082903461056557610100600319360112610565576109d036611368565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610a026112b6565b9160e43567ffffffffffffffff8111610a90576102d894610a25913691016113e1565b939092610a328351611dbd565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610a8781611259565b5190209161198e565b8580fd5b5091346103185761010060031936011261031857610ab06112de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610314576080855191610ae983611221565b1261031457845190610afa826111d6565b73ffffffffffffffffffffffffffffffffffffffff916024358381168103610463578152604435838116810361046357602082015265ffffffffffff606435818116810361030c57888301526084359081168103610463576060820152815260a435938285168503610a90576020820194855260c4359087830182815260e43567ffffffffffffffff811161030857610b9690369084016113e1565b929093804211610c20575050918591610c106102d8999a610c1695610bbb8851611d27565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610c088161123d565b519020611942565b91611e30565b5192511691611706565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b50913461031857606060031993818536011261031457610c6d6112de565b9260249081359267ffffffffffffffff9788851161030c57859085360301126104635780519785890189811082821117610ec4578252848301358181116103085785019036602383011215610308578382013591610cca8361140f565b90610cd785519283611275565b838252602093878584019160071b83010191368311610ec0578801905b828210610e63575050508a526044610d0d868801611347565b96838c01978852013594838b0191868352604435908111610e5f57610d3590369087016113e1565b959096804211610e34575050508998995151610d5081611c24565b908b5b818110610e1157505092889492610c1092610dde97958351610d7c816103bd8682018095611ccf565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610c088161123d565b51169082515192845b848110610df2578580f35b80610e0b8585610e05600195875161157e565b51611706565b01610de7565b806102f3610e268e9f9e93610e2c945161157e565b51611d27565b9b9a9b610d53565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b608082360312610ec057856080918851610e7c816111d6565b610e8585611347565b8152610e92838601611347565b83820152610ea18a8601611427565b8a8201528d610eb1818701611427565b90820152815201910190610cf4565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105655761014060031936011261056557610f0c36611368565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610f3e6112b6565b67ffffffffffffffff93906101043585811161046357610f6190369086016113e1565b90936101243596871161030c57610f81610a87966102d8983691016113e1565b969095825190610f908261123d565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c00000000000000000000000000000000000000000000000000000000608083015283519485918161103f602085018096611cfc565b918237018b815203936110787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611275565b519020926110868651611dbd565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102c3565b5082346105655760208060031936011261031457813567ffffffffffffffff92838211610a905736602383011215610a9057810135928311610310576024906007368386831b8401011161046357865b858110611123578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8336030112610308576111d088876001946060835161116a816111d6565b6111a6608461117a8d8601611347565b9485845261118a60448201611347565b809785015261119b60648201611347565b809885015201611347565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166115c1565b01611118565b6080810190811067ffffffffffffffff8211176111f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176111f257604052565b60a0810190811067ffffffffffffffff8211176111f257604052565b60c0810190811067ffffffffffffffff8211176111f257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176111f257604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6003190190608082126112d957604080519061138382611221565b808294126112d957805181810181811067ffffffffffffffff8211176111f257825260043573ffffffffffffffffffffffffffffffffffffffff811681036112d9578152602435602082015282526044356020830152606435910152565b9181601f840112156112d95782359167ffffffffffffffff83116112d957602083818601950101116112d957565b67ffffffffffffffff81116111f25760051b60200190565b359065ffffffffffff821682036112d957565b9181601f840112156112d95782359167ffffffffffffffff83116112d9576020808501948460061b0101116112d957565b9190916060818403126112d957604080519161148683611221565b8294813567ffffffffffffffff908181116112d957830182601f820112156112d95780356114b38161140f565b926114c087519485611275565b818452602094858086019360061b850101938185116112d9579086899897969594939201925b848410611503575050505050855280820135908501520135910152565b9091929394959697848303126112d9578851908982019082821085831117611550578a928992845261153487611347565b81528287013583820152815201930191908897969594936114e6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156115925760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c168042116116a4575082871696838803611632575b50506116309550169261211c565b565b878484161160001461166f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846116309a031691161790553880611622565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b91908110156115925760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036112d95790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c0361185e57918561183794927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec9897969450871560001461183c5779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff0000000000000000000000000000000000000000876117c9565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f0000000000000000000000000000000000000000000000000000000000000000036118d2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261193c8161123d565b51902090565b61194a611887565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261193c816111d6565b9192909360a435936040840151804211611a2f57506020845101518086116119fe5750918591610c106119ce946119c9602088015186611bb0565b611942565b73ffffffffffffffffffffffffffffffffffffffff80915151169260843591821682036112d9576116309361211c565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611b805750848803611b5757611a97918691610c1060209b6119c98d88015186611bb0565b60005b868110611aab575050505050505050565b611ab681835161157e565b5188611ac383878a6116d5565b01359089810151808311611b27575091818888886001968596611aed575b50505050505001611a9a565b611b1c95611b169273ffffffffffffffffffffffffffffffffffffffff6104bb935116956116d5565b9161211c565b803888888883611ae1565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611bfa57565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611c2e8261140f565b611c3b6040519182611275565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611c69829461140f565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ca05760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611ce8575050505090565b835185529381019392810192600101611cda565b9081519160005b838110611d14575050016000815290565b8060208092840101518185015201611d03565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176111f25760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff8151166040840152015160608201526060815261193c816111d6565b91908260409103126112d9576020823592013590565b6000843b611f97575060418203611f1557611e4d82820182611e1a565b939092604010156115925760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa15611f095773ffffffffffffffffffffffffffffffffffffffff8060005116918215611edf571603611eb557565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203611f6d57611f2991810190611e1a565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611ca05760209360009360ff608094611e6b565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa908115612111578291612093575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361206957565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211612109575b816120ad60209383611275565b810103126103185751907fffffffff000000000000000000000000000000000000000000000000000000008216820361098c57507fffffffff00000000000000000000000000000000000000000000000000000000903861203d565b3d91506120a0565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561217557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea2646970667358221220c798ba34bd41ccb33394477f24cca6191c4fc58c8e7d9adae8e27920b835ff1d64736f6c6343000811003360e0604090808252346200043c57620012bf803803809162000022828562000441565b833981016060828203126200043c5781516001600160401b0393908481116200043c57826200005391850162000465565b92602092838201518681116200043c5783916200007291840162000465565b91015160ff811681036200043c578451948686116200042657600095806200009b8854620004dc565b92601f93848111620003d5575b5087908483116001146200036d57899262000361575b50508160011b916000199060031b1c19161786555b8251908782116200034d578190600194620000ef8654620004dc565b828111620002f8575b50879183116001146200029457889262000288575b5050600019600383901b1c191690831b1782555b6080524660a052815184549181866200013a85620004dc565b92838352878301958882821691826000146200026857505060011462000228575b506200016a9250038262000441565b519020928151928301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8552828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401524660808401523060a084015260a0835260c08301948386109086111762000214575083905251902060c052610da590816200051a82396080518161077e015260a05181610b97015260c05181610bbe0152f35b634e487b7160e01b81526041600452602490fd5b8791508880528189209089915b8583106200024f5750506200016a9350820101386200015b565b8054838801850152869450899390920191810162000235565b60ff191688526200016a95151560051b85010192503891506200015b9050565b0151905038806200010d565b8589528789208694509190601f1984168a5b8a828210620002e15750508411620002c7575b505050811b01825562000121565b015160001960f88460031b161c19169055388080620002b9565b8385015186558997909501949384019301620002a6565b909192508589528789208380860160051c8201928a871062000343575b91869589929594930160051c01915b82811062000334575050620000f8565b8b815586955088910162000324565b9250819262000315565b634e487b7160e01b87526041600452602487fd5b015190503880620000be565b898052888a209250601f1984168a5b8a828210620003be575050908460019594939210620003a4575b505050811b018655620000d3565b015160001960f88460031b161c1916905538808062000396565b60018596829396860151815501950193016200037c565b9091508880528789208480850160051c8201928a86106200041c575b9085949392910160051c01905b8181106200040d5750620000a8565b8a8155849350600101620003fe565b92508192620003f1565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200042657604052565b919080601f840112156200043c578251906001600160401b038211620004265760405191602091620004a1601f8301601f191684018562000441565b8184528282870101116200043c5760005b818110620004c857508260009394955001015290565b8581018301518482018401528201620004b2565b90600182811c921680156200050e575b6020831014620004f857565b634e487b7160e01b600052602260045260246000fd5b91607f1691620004ec56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c6343000811003360a034620000ce57601f6200306c38819003918201601f19168301916001600160401b03831184841017620000d3578084926040948552833981010312620000ce5780516001600160a01b03918282168203620000ce5760200151918216809203620000ce57600080546001600160a01b03191683178155604051929033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600255608052612f829081620000ea823960805181818161038901528181611f5c01526124be0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610013575b600080fd5b60003560e01c8063061ab0bc1461016757806312261ee71461015e578063186799a4146101555780631bd747a21461014c578063323a5e0b14610143578063330994051461013a5780633d3e73d7146101315780635541e684146101285780636cc6cde11461011f5780638135fe23146101165780638da5cb5b1461010d5780638f34a85914610104578063a37ee28c146100fb578063ab4f5678146100f2578063ac41b751146100e9578063af0f9df3146100e05763f2fde38b146100d857600080fd5b61000e6117f0565b5061000e6116ac565b5061000e61157f565b5061000e611425565b5061000e611307565b5061000e611129565b5061000e6110f4565b5061000e610f2c565b5061000e610ef7565b5061000e610e3c565b5061000e610b52565b5061000e610a5e565b5061000e610908565b5061000e6107fa565b5061000e6103ad565b5061000e61035b565b503461000e57602060031936011261000e57600435610190816000526006602052604060002090565b61019981612a4d565b6101aa6101a63383612b0e565b1590565b610326576001906102b96101bc61206c565b916101ea33600883019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9260006002850161022560068254950160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6102576003870160047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b556102b3604061029761027e845173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b92015173ffffffffffffffffffffffffffffffffffffffff1690565b90612717565b0154817ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806102fa3395826020600491939293604081019481520152565b0390a333907fb67e3ac5aa7b56d61e366985ea94be26db935eca5c55e0359fd36c5852b6fa39600080a3005b60046040517f3b278a7a000000000000000000000000000000000000000000000000000000008152fd5b600091031261000e57565b503461000e57600060031936011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461000e57602060031936011261000e576004356103d0600160025414611e01565b600280556103e8816000526006602052604060002090565b6103f061206c565b906103fd6101a682612af0565b6105245761040e6101a63383612b0e565b610326576104d7916104b561044633600885019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b600181019361048b60038654936000600282018181549a55550160037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6104b061027e60033393015473ffffffffffffffffffffffffffffffffffffffff1690565b612717565b6104b061027e33925173ffffffffffffffffffffffffffffffffffffffff1690565b604051907ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b63392806105158190600360206040840193600081520152565b0390a36105226001600255565b005b60046040517fa3b1c9de000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc606091011261000e57602490565b9081606091031261000e5790565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176105d757604052565b6105df61058b565b604052565b6060810190811067ffffffffffffffff8211176105d757604052565b60c0810190811067ffffffffffffffff8211176105d757604052565b6080810190811067ffffffffffffffff8211176105d757604052565b67ffffffffffffffff81116105d757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d757604052565b6040519061069a82610600565b565b6040519061069a826105bb565b6040519061069a8261061c565b60209067ffffffffffffffff81116106d0575b60051b0190565b6106d861058b565b6106c9565b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c604091011261000e5760405190610732826105bb565b8160643561073f816106dd565b81526020608435910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc604091011261000e5760405190610782826105bb565b8160243561078f816106dd565b81526020604435910152565b919082604091031261000e576040516107b3816105bb565b602080829480356107c3816106dd565b84520135910152565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020838186019501011161000e57565b503461000e5760031960808136011261000e5767ffffffffffffffff9060243582811161000e5761082f90369060040161057d565b6044359183831161000e57606090833603011261000e576040805192610854846105e4565b806004013585811161000e5781013660238201121561000e5760048101359061087c826106b6565b906108898551928361064c565b82825260209260248484019160061b8301019136831161000e576024879101915b8383106108ef5750505090865250602482013590850152604401359083015260643592831161000e576108e46105229336906004016107cc565b929091600435611e66565b85906108fb368561079b565b81520191019086906108aa565b503461000e57600060031936011261000e57606073ffffffffffffffffffffffffffffffffffffffff80600354169060045490600554169060405192835260208301526040820152f35b507f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90600482101561098f5752565b610997610952565b52565b602080825282518183015280830151604083015260408301519060c060608401528151918260e085015260005b838110610a4957505050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe091610a4260a0610100966000888589010152610a2d6060820151608089019073ffffffffffffffffffffffffffffffffffffffff169052565b608081015182880152015160c0860190610982565b0116010190565b818101830151858201610100015282016109c7565b503461000e57602060031936011261000e57600060a0604051610a8081610600565b828152826020820152606060408201528260608201528260808201520152610b4e610ab76004356000526006602052604060002090565b610b42815491600181015490610b34610ae7600383015473ffffffffffffffffffffffffffffffffffffffff1690565b610b126002600485015494610afb816127e6565b96610b0461068d565b998a5260208a0152016118d6565b604087015273ffffffffffffffffffffffffffffffffffffffff166060860152565b608084015260a08301611999565b6040519182918261099a565b0390f35b503461000e5760408060031936011261000e57600480359167ffffffffffffffff916024359183831161000e573660238401121561000e578282013593841161000e576024830192602436918660061b01011161000e57610bcb61027e60015473ffffffffffffffffffffffffffffffffffffffff1690565b3303610e1657610be5856000526006602052604060002090565b92610bf76101a6600686015460ff1690565b610def57610c0484612af0565b610dc857600090600785019081548703610d9f57825b878110610c80575050508284015403610c5a575050600501557fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b517f595fa923000000000000000000000000000000000000000000000000000000008152fd5b610cad610c8d8285611ac9565b905473ffffffffffffffffffffffffffffffffffffffff9160031b1c1690565b610cc361027e610cbe848c876127c8565b611ba3565b73ffffffffffffffffffffffffffffffffffffffff80921603610d775790888a7ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6610d7294610d24610d1e610d1987878b6127c8565b612696565b8d612da4565b610d3e6020998a610d3688888c6127c8565b01359061270a565b98610d5886610d51610cbe82898d6127c8565b968a6127c8565b8b51910135815260026020820152931692604090a3611a5f565b610c1a565b8686517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b505050517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b50517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b50517f4e16946c000000000000000000000000000000000000000000000000000000008152fd5b517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b503461000e5761010060031936011261000e5760407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261000e5760807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c36011261000e57604051610eaf816105e4565b610eb8366106fb565b815260a435602082015260c435604082015260e4359067ffffffffffffffff821161000e57610eee6105229236906004016107cc565b91600435612388565b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b503461000e57602060031936011261000e57600435610f55816000526006602052604060002090565b610f5e81612a4d565b610f6b6101a63383612b0e565b6103265760088101906002610fad6003610fa533869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b015460ff1690565b610fb6816114e0565b146110ca57600161105461109d9361101f6003610ff333849073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0160027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6005840161102d81546126fc565b90553373ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b0154837ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b6604051806110953395826020600291939293604081019481520152565b0390a3612af0565b6110a357005b7fc1efb9b165d126a4a64b456bec4ab69b7bf85d85e16aa5acda227f2ba88126c4600080a2005b60046040517faf20ef4a000000000000000000000000000000000000000000000000000000008152fd5b503461000e57600060031936011261000e57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b503461000e576040600319818136011261000e576004359067ffffffffffffffff821161000e5760808260040191833603011261000e5760248201359081156112de5783513060208201908152823560408301819052602435606084015292916111be81608081015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261064c565b519020936111d6856000526006602052604060002090565b916001830180546112b5578361129861129088958895610b4e9c9a6112a4968d9b7ff7cbeac7c87f7e00fcf9440cf10b123fb3d766366a39eeb572c219c8eac3ab469b555561128b6064604484019361123c6112328686611bad565b9060028b01611c52565b0195600361124988611ba3565b91019073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b611bad565b919092611ba3565b91885195869586611dc0565b0390a2519081529081906020820190565b600488517fd8876c2d000000000000000000000000000000000000000000000000000000008152fd5b600484517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b503461000e57604060031936011261000e5760043560243567ffffffffffffffff811161000e5761133c90369060040161057d565b9061134b600160025414611e01565b600280558060005260066020526113f1604060002061136b33858361292f565b61137361206c565b80516113a19060209073ffffffffffffffffffffffffffffffffffffffff16920191825190309033906121e6565b6113d860206113ca61027e600386015473ffffffffffffffffffffffffffffffffffffffff1690565b9601358096309033906121e6565b6113e061069c565b338152908560208301525191612ca2565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf70908060208101610515565b503461000e57602060031936011261000e57600435611443816106dd565b73ffffffffffffffffffffffffffffffffffffffff90816000541633036114b65716807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b60046040517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b600511156114ea57565b61069a610952565b90600582101561098f5752565b60208082019080835283518092528060408094019401926000905b83821061152957505050505090565b9091929394836080600192611572895173ffffffffffffffffffffffffffffffffffffffff815116835284810151858401528681015187840152606080910151908301906114f2565b019601949392019061151a565b503461000e5760208060031936011261000e576115a86004356000526006602052604060002090565b60078101918254916115b9836119a5565b93600860009201915b8481106115d75760405180610b4e88826114ff565b806116196116146115ee610c8d6116a79587611ac9565b869073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b611afb565b61168c61163a825173ffffffffffffffffffffffffffffffffffffffff1690565b9187810151906040808201519060608093015193611657856114e0565b61167e6116626106a9565b73ffffffffffffffffffffffffffffffffffffffff9098168852565b8b8701528501528301611aef565b6116968289611b72565b526116a18188611b72565b50611a5f565b6115c2565b503461000e57608060031936011261000e576004356116ca816106dd565b6116d33661054e565b9073ffffffffffffffffffffffffffffffffffffffff91826000541633036114b65760408161174a61179e9335611709816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b6020810135600455013561175d816106dd565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006005541617600555565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060015416176001557f15751365e25548da6591a182cf680d8c896ca976a2fd6e5f845bc86b4a81002f600080a2005b503461000e57602060031936011261000e5760043561180e816106dd565b600090815473ffffffffffffffffffffffffffffffffffffffff80821633036114b6577fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116178255337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b90600182811c921680156118cc575b602083101461189d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611892565b90604051918260008254926118ea84611883565b9081845260019485811690816000146119575750600114611914575b505061069a9250038361064c565b9093915060005260209081600020936000915b81831061193f57505061069a93508201013880611906565b85548884018501529485019487945091830191611927565b905061069a9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611906565b600482101561098f5752565b906119af826106b6565b6040906119be8251918261064c565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06119ec82956106b6565b019160005b8381106119fe5750505050565b6020908251611a0c8161061c565b6000815282600081830152600085830152600060608301528286010152016119f1565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a8d570190565b611a95611a2f565b0190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015611ae2575b60005260206000200190600090565b611aea611a99565b611ad3565b600582101561098f5752565b9061069a604051611b0b8161061c565b606060ff6003839673ffffffffffffffffffffffffffffffffffffffff815416855260018101546020860152600281015460408601520154169101611aef565b602090805115611b59570190565b611a95611a99565b604090805160011015611b59570190565b6020918151811015611b87575b60051b010190565b611b8f611a99565b611b7f565b602435611ba0816106dd565b90565b35611ba0816106dd565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e5760200191813603831361000e57565b90601f8111611c0c57505050565b600091825260208220906020601f850160051c83019410611c48575b601f0160051c01915b828110611c3d57505050565b818155600101611c31565b9092508290611c28565b90929167ffffffffffffffff8111611d74575b611c7981611c738454611883565b84611bfe565b6000601f8211600114611cd05781929394600092611cc5575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916179055565b013590503880611c92565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0821694611d0384600052602060002090565b91805b878110611d5c575083600195969710611d24575b505050811b019055565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080611d1a565b90926020600181928686013581550194019101611d06565b611d7c61058b565b611c65565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b939260609373ffffffffffffffffffffffffffffffffffffffff93611dfa9398979887526020870152608060408701526080860191611d81565b9416910152565b15611e0857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152fd5b92939093611e78600160025414611e01565b60028055611e90846000526006602052604060002090565b91611e9c33878561292f565b611ea461206c565b95611ecd611eb28651611b4b565b515173ffffffffffffffffffffffffffffffffffffffff1690565b90611eef61027e895173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff8093160361204257611f19611eb28751611b61565b82611f3e61027e600389015473ffffffffffffffffffffffffffffffffffffffff1690565b91160361204257602080910135970192611f59845189612b70565b917f000000000000000000000000000000000000000000000000000000000000000016803b1561000e57611fdf9660008094611fc6604051978896879586947fedd9444b00000000000000000000000000000000000000000000000000000000865233916004870161210a565b03925af18015612035575b61201c575b506113e061069c565b60405191825233917f314e33b9d3471b9e382d2ab35ef89aa6e094c1be576ddd9090b5d7d1195cbf709080602081015b0390a361069a6001600255565b8061202961202f92610638565b80610350565b38611fd6565b61203d6121d9565b611fd1565b60046040517fddafbaef000000000000000000000000000000000000000000000000000000008152fd5b60405190612079826105e4565b81604073ffffffffffffffffffffffffffffffffffffffff80600354168352600454602084015260055416910152565b90815180825260208080930193019160005b8281106120c9575050505090565b90919293826040826120fe60019489516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019501939291016120bb565b9095949293916080825260e082019680519060606080850152815180995261010084019860208093019060005b818110612199575050509761218c928260408b61216d95611ba09c9d015160a0890152015160c0870152858303908601526120a9565b73ffffffffffffffffffffffffffffffffffffffff9095166040830152565b6060818503910152611d81565b90919a846040826121ce8f94600195516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b019c01929101612137565b506040513d6000823e3d90fd5b9291906040519261226f6020808601957f23b872dd000000000000000000000000000000000000000000000000000000008752612257816111928689896024850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b60009687915190828a5af185516001143d1517161590565b61227b575b5050505050565b6122849061233d565b936e22d473030f116ddee9f6b43ac78ba391823b15612339576040517f36c7851600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152938116602485015294851660448401529093166064820152918290608490829084905af1801561232c575b612319575b80808080612274565b8061202961232692610638565b38612310565b6123346121d9565b61230b565b8480fd5b73ffffffffffffffffffffffffffffffffffffffff9081811161235e571690565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b919092612399600160025414611e01565b600280556123b1836000526006602052604060002090565b936123bb85612a4d565b6123cf6101a66123c9611b94565b87612b0e565b6103265761240a6116146123e1611b94565b600888019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9060608201916002835161241d816114e0565b612426816114e0565b146110ca57602001958651966044358098116125bb576124479051886125e5565b93612468835173ffffffffffffffffffffffffffffffffffffffff90511690565b9461248d61027e600385015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff80971603612042576124b261069c565b308152906020820152857f00000000000000000000000000000000000000000000000000000000000000001696873b1561000e577ff478e398a575434f5cfcff203322ebf8e4a1f357653fcde0cf89762888e099b697612577956000809461254b604051978896879586947f30f28b7a0000000000000000000000000000000000000000000000000000000086523391600487016125fa565b03925af180156125ae575b61259b575b50825190612568826114e0565b6125713661074b565b90612ebc565b61200f612582611b94565b915161258d816114e0565b6040519384931696836126a1565b806120296125a892610638565b3861255b565b6125b66121d9565b612556565b60046040517fc52e3eff000000000000000000000000000000000000000000000000000000008152fd5b919082039182116125f257565b61069a611a2f565b919261267f611ba09694604073ffffffffffffffffffffffffffffffffffffffff946126478782516020809173ffffffffffffffffffffffffffffffffffffffff81511684520151910152565b602081810151888401529101516060870152815173ffffffffffffffffffffffffffffffffffffffff166080870152015160a0850152565b1660c0820152610100908160e08201520191611d81565b611ba090369061079b565b90815260408101929161069a91602001906114f2565b9060058110156126ef575b60ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116179055565b6126f7610952565b6126c2565b90600182018092116125f257565b919082018092116125f257565b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561276a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b91908110156127d9575b60061b0190565b6127e1611a99565b6127d2565b600781015480156128175760058201541015612811576006015460ff1661280c57600190565b600390565b50600290565b506001015461284a5760046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b600090565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161000e5760209260051b809284830137010190565b919082526040602083015273ffffffffffffffffffffffffffffffffffffffff81356128b7816106dd565b1660408301526020810135606083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561000e57016020813591019067ffffffffffffffff811161000e578060051b3603821361000e5760a08360606080611ba0960152019161284f565b9161293983612a4d565b6129438184612b0e565b612a235773ffffffffffffffffffffffffffffffffffffffff61296861027e84611ba3565b9116036129f95760017317c1e395fe81a90af2d0289a009317d5acb98f9f92015490823b1561000e576129cd926000926040518095819482937fba5d2c340000000000000000000000000000000000000000000000000000000084526004840161288c565b03915af480156129ec575b6129df5750565b8061202961069a92610638565b6129f46121d9565b6129d8565b60046040517f206f6fea000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6d9bf6df000000000000000000000000000000000000000000000000000000008152fd5b600181015415612ac65760ff600682015416612a9c57612a6c90612af0565b612a7257565b60046040517f8d87dbb6000000000000000000000000000000000000000000000000000000008152fd5b60046040517f03144514000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb9e8c16f000000000000000000000000000000000000000000000000000000008152fd5b60078101548015159182612b0357505090565b600501541015919050565b90600782015415159182612b2157505090565b819250612b6860089273ffffffffffffffffffffffffffffffffffffffff938493019073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b541691161490565b919091604090815191612b82836105e4565b600283526000805b828110612be8575050908291612be59395815190612ba7826105bb565b3082526020820152612bb884611b4b565b52612bc283611b4b565b505190612bce826105bb565b3082526020820152612bdf82611b61565b52611b61565b50565b6020908351612bf6816105bb565b838152828481830152828801015201612b8a565b6003606061069a93612c6e73ffffffffffffffffffffffffffffffffffffffff825116859073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60208101516001850155604081015160028501550151916005831015612c95575b016126b7565b612c9d610952565b612c8f565b91600490612d88612d93936007860173ffffffffffffffffffffffffffffffffffffffff90612cef828451169180549068010000000000000000821015612d97575b600182018155611ac9565b909283549160031b90811b9283911b16911916179055612d836123e1612d29835173ffffffffffffffffffffffffffffffffffffffff1690565b9260208101958651612d58612d3c6106a9565b73ffffffffffffffffffffffffffffffffffffffff9097168752565b60208601526040850152600160608501525173ffffffffffffffffffffffffffffffffffffffff1690565b612c0a565b51920191825461270a565b9055565b612d9f61058b565b612ce4565b906003600861069a93019173ffffffffffffffffffffffffffffffffffffffff92612df284835116829073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b612e9f8584511695612e5b600260208701519401549460405198612e158a61061c565b895260208901948552604089019586528260608a0197612e358960029052565b511673ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b965116869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b51600185015551600284015551916005831015612c9557016126b7565b61069a926008600392019273ffffffffffffffffffffffffffffffffffffffff612e9f612f0c82845116879073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b91612e5b81855116978260026020880151960154966040519a612f2e8c61061c565b8b5260208b0196875260408b01978852612e3560608c01998a611aef56fea2646970667358221220a130025eb7faee115b926ae2dacac846043b74762eabf218d7af687e916f583764736f6c63430008110033a26469706673582212209c590f76cbdc66e52f387c44e90ab8384493801cb81d023399d49edaa5fcfc5864736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x35C3DEB EQ PUSH3 0x49CB JUMPI POP DUP1 PUSH4 0x850CEEE EQ PUSH3 0x4703 JUMPI DUP1 PUSH4 0xA9254E4 EQ PUSH3 0x449C JUMPI DUP1 PUSH4 0xF7997CD EQ PUSH3 0x425A JUMPI DUP1 PUSH4 0x13AF3429 EQ PUSH3 0x40CD JUMPI DUP1 PUSH4 0x1B210293 EQ PUSH3 0x40A8 JUMPI DUP3 DUP2 PUSH4 0x222DCF4B EQ PUSH3 0x3F0B JUMPI POP DUP1 PUSH4 0x271F1809 EQ PUSH3 0x3E0F JUMPI DUP1 PUSH4 0x27ACEF53 EQ PUSH3 0x3A98 JUMPI DUP3 DUP2 PUSH4 0x28AEC530 EQ PUSH3 0x38F0 JUMPI POP DUP1 PUSH4 0x33BDCD90 EQ PUSH3 0x3658 JUMPI DUP1 PUSH4 0x3EB8B8FD EQ PUSH3 0x361C JUMPI DUP1 PUSH4 0x415E982D EQ PUSH3 0x35E0 JUMPI DUP1 PUSH4 0x44A45FFE EQ PUSH3 0x31F2 JUMPI DUP1 PUSH4 0x545B1A26 EQ PUSH3 0x3056 JUMPI DUP1 PUSH4 0x60F00D7E EQ PUSH3 0x2DF6 JUMPI DUP1 PUSH4 0x6302C3CF EQ PUSH3 0x2DBA JUMPI DUP1 PUSH4 0x638B79F8 EQ PUSH3 0x2A01 JUMPI DUP1 PUSH4 0x6E4F2775 EQ PUSH3 0x29C5 JUMPI DUP1 PUSH4 0x74FFBF9A EQ PUSH3 0x299D JUMPI DUP1 PUSH4 0x78F16830 EQ PUSH3 0x2961 JUMPI DUP1 PUSH4 0x7E333758 EQ PUSH3 0x293A JUMPI DUP1 PUSH4 0x83721647 EQ PUSH3 0x27B5 JUMPI DUP1 PUSH4 0xAC73B6CE EQ PUSH3 0x2509 JUMPI DUP1 PUSH4 0xB681CFFE EQ PUSH3 0x24EC JUMPI DUP1 PUSH4 0xB9959D78 EQ PUSH3 0x1E1A JUMPI DUP1 PUSH4 0xBA414FA6 EQ PUSH3 0x1DF1 JUMPI DUP1 PUSH4 0xC5BFAAE2 EQ PUSH3 0x1BB4 JUMPI DUP1 PUSH4 0xC5DF4F03 EQ PUSH3 0x1B78 JUMPI DUP1 PUSH4 0xCC8B3EAB EQ PUSH3 0x1A92 JUMPI DUP1 PUSH4 0xD34EB0D3 EQ PUSH3 0x184A JUMPI DUP1 PUSH4 0xD9B51FC4 EQ PUSH3 0x160F JUMPI DUP1 PUSH4 0xE2ACB0F8 EQ PUSH3 0x15F2 JUMPI DUP1 PUSH4 0xE6D9FF3D EQ PUSH3 0x15CA JUMPI DUP3 DUP2 PUSH4 0xE8A19796 EQ PUSH3 0x134F JUMPI DUP2 PUSH4 0xEA104A70 EQ PUSH3 0xF3C JUMPI POP DUP1 PUSH4 0xEB9E5A69 EQ PUSH3 0xA77 JUMPI DUP1 PUSH4 0xF5EF7B7E EQ PUSH3 0x637 JUMPI DUP3 DUP2 PUSH4 0xF73FE224 EQ PUSH3 0x43A JUMPI POP DUP1 PUSH4 0xFA7626D4 EQ PUSH3 0x417 JUMPI PUSH4 0xFE6688EB EQ PUSH3 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x233 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x23F DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x24A DUP3 PUSH3 0x6502 JUMP JUMPDEST PUSH3 0x254 PUSH3 0x6782 JUMP JUMPDEST SWAP3 SWAP2 SWAP4 PUSH1 0x17 SLOAD SWAP5 PUSH1 0x0 SWAP6 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP6 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x409 JUMPI PUSH3 0x3F3 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x3CD JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x391 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3A7 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x3B3 DUP3 SWAP2 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3BD JUMPI DUP1 DUP3 DUP1 RETURN JUMPDEST DUP1 REVERT JUMPDEST MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST PUSH3 0x3D8 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x342 JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST PUSH3 0x401 SWAP1 SWAP9 SWAP2 SWAP9 PUSH3 0x4BEA JUMP JUMPDEST SWAP7 CODESIZE PUSH3 0x2D3 JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0x458 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x17 SLOAD AND DUP1 DUP6 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE DUP3 DUP6 KECCAK256 PUSH3 0x4A8 DUP5 MLOAD SWAP2 PUSH3 0x491 DUP4 PUSH3 0x4BFF JUMP JUMPDEST DUP4 DUP4 MSTORE PUSH8 0x16345785D8A0000 PUSH1 0x20 DUP5 ADD MSTORE PUSH3 0x58CD JUMP JUMPDEST DUP5 DUP3 ADD MSTORE PUSH3 0x4B6 PUSH3 0x6782 JUMP JUMPDEST SWAP7 SWAP2 POP SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x630 JUMPI DUP7 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x409 JUMPI SWAP1 DUP10 SWAP2 PUSH3 0x618 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x4A361A4700000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x600 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP7 DUP1 SWAP5 PUSH3 0x5D8 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5ED JUMPI POP RETURN JUMPDEST PUSH3 0x5F8 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3BD JUMPI DUP1 RETURN JUMPDEST PUSH3 0x60B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 DUP10 PUSH3 0x58C JUMP JUMPDEST PUSH3 0x623 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3EF JUMPI DUP8 DUP11 PUSH3 0x51C JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST POP REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x654 PUSH3 0x5BAA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP4 DUP3 PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0xA6A JUMPI PUSH1 0xA0 SWAP2 DUP6 SWAP2 PUSH3 0xA43 JUMPI JUMPDEST POP PUSH3 0x767 DUP2 MLOAD SWAP4 PUSH3 0x6CD PUSH1 0x20 SWAP6 DUP7 SLOAD SWAP1 PUSH3 0x52D5 JUMP JUMPDEST PUSH3 0x6DF DUP6 DUP5 ADD MLOAD PUSH1 0x21 SLOAD SWAP1 PUSH3 0x540C JUMP JUMPDEST DUP6 DUP4 ADD MLOAD DUP7 MLOAD SWAP1 PUSH3 0x6FE DUP3 PUSH3 0x6F6 DUP2 PUSH3 0x4FB4 JUMP JUMPDEST SUB DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP8 MLOAD DUP8 DUP2 ADD SWAP1 PUSH3 0x729 DUP10 DUP3 DUP6 MLOAD PUSH3 0x71B DUP2 DUP8 DUP6 DUP11 ADD PUSH3 0x4CB1 JUMP JUMPDEST DUP2 ADD SUB DUP1 DUP5 MSTORE ADD DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 DUP9 MLOAD DUP9 DUP2 ADD SWAP1 PUSH3 0x749 DUP11 DUP3 DUP8 MLOAD PUSH3 0x71B DUP2 DUP8 DUP6 DUP13 ADD PUSH3 0x4CB1 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SUB PUSH3 0x8E9 JUMPI JUMPDEST POP POP PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x23 SLOAD DUP3 AND SWAP2 AND PUSH3 0x507D JUMP JUMPDEST ADD MLOAD SWAP2 PUSH1 0x4 DUP4 LT ISZERO PUSH3 0x8BC JUMPI DUP3 PUSH3 0x77E JUMPI DUP4 DUP1 RETURN JUMPDEST PUSH3 0x8A4 SWAP2 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD DUP4 DUP2 MSTORE PUSH1 0x2D DUP5 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B416772 DUP6 DUP3 ADD MSTORE PUSH32 0x65656D656E745374617475735D00000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x83B DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP8 ADD MSTORE DUP6 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP7 DUP8 SWAP3 SUB SWAP1 LOG1 DUP3 MLOAD SWAP4 DUP4 DUP6 SWAP5 DUP6 MSTORE DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP2 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x8B5 PUSH3 0x51E3 JUMP JUMPDEST CODESIZE DUP1 DUP1 DUP4 DUP1 RETURN JUMPDEST PUSH1 0x24 DUP5 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0xA2E SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP11 MLOAD DUP11 DUP2 MSTORE PUSH1 0x24 DUP12 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B737472 DUP13 DUP3 ADD MSTORE PUSH32 0x696E675D00000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP9 MLOAD SWAP3 DUP10 DUP5 MSTORE PUSH3 0x9A6 DUP11 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP4 DUP1 DUP6 SUB DUP11 DUP3 ADD MSTORE DUP1 PUSH3 0x9DD PUSH32 0x280F4446B28A1372417DDA658D30B95B2992B12AC9C7F378535F29A97ACF3583 SWAP7 DUP8 SWAP5 PUSH3 0x5543 JUMP JUMPDEST SUB SWAP1 LOG1 DUP9 MLOAD SWAP2 DUP3 SWAP2 DUP11 DUP4 MSTORE PUSH3 0xA20 DUP12 DUP5 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB DUP12 DUP6 ADD MSTORE PUSH3 0x5543 JUMP JUMPDEST SUB SWAP1 LOG1 PUSH3 0xA3B PUSH3 0x51E3 JUMP JUMPDEST CODESIZE DUP1 PUSH3 0x753 JUMP JUMPDEST PUSH3 0xA63 SWAP2 POP RETURNDATASIZE DUP1 DUP8 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x4E7C JUMP JUMPDEST CODESIZE PUSH3 0x6B5 JUMP JUMPDEST POP POP POP MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0xA94 PUSH3 0x5BAA JUMP JUMPDEST PUSH3 0xA9F DUP2 PUSH3 0x613C JUMP JUMPDEST PUSH3 0xAAA DUP2 PUSH3 0x6651 JUMP JUMPDEST PUSH3 0xAB5 DUP2 PUSH3 0x6502 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 DUP5 DUP3 PUSH1 0x1D SLOAD AND DUP6 MLOAD SWAP3 DUP4 DUP1 SWAP3 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP8 PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0xF32 JUMPI PUSH1 0xA0 SWAP2 DUP7 SWAP2 PUSH3 0xF14 JUMPI JUMPDEST POP ADD MLOAD PUSH1 0x4 DUP2 LT ISZERO PUSH3 0xEE7 JUMPI PUSH1 0x3 DUP2 SUB PUSH3 0xDA5 JUMPI JUMPDEST POP DUP4 DUP2 PUSH1 0x1D SLOAD AND SWAP3 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0xA6A JUMPI DUP5 SWAP3 PUSH3 0xD7C JUMPI JUMPDEST POP PUSH1 0x60 PUSH3 0xB84 DUP4 PUSH3 0x581C JUMP JUMPDEST MLOAD PUSH3 0xBAB DUP4 PUSH1 0x16 SLOAD AND PUSH3 0xBA0 PUSH1 0x18 SLOAD SWAP2 DUP7 DUP6 MLOAD AND PUSH3 0x507D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MLOAD PUSH3 0x540C JUMP JUMPDEST ADD MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0xD4D JUMPI PUSH3 0xBDC PUSH3 0xBFC SWAP4 DUP3 PUSH3 0xC06 SWAP7 PUSH1 0x4 PUSH3 0xBEC SWAP6 SUB PUSH3 0xC09 JUMPI JUMPDEST POP POP PUSH3 0x5859 JUMP JUMPDEST MLOAD DUP3 PUSH1 0x17 SLOAD AND PUSH1 0x19 SLOAD SWAP2 PUSH3 0x6D88 JUMP JUMPDEST PUSH1 0x24 SLOAD PUSH1 0x26 SLOAD DUP3 AND SWAP2 AND PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x25 SLOAD SWAP1 PUSH3 0x540C JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 PUSH3 0xD32 SWAP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2C PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B506F73 DUP5 DUP3 ADD MSTORE PUSH32 0x6974696F6E5374617475735D0000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0xCC8 DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0xD45 PUSH3 0x51E3 JUMP JUMPDEST CODESIZE DUP1 PUSH3 0xBD4 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0xD9D SWAP2 SWAP3 POP RETURNDATASIZE DUP1 DUP7 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x570F JUMP JUMPDEST SWAP1 CODESIZE PUSH3 0xB76 JUMP JUMPDEST PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP6 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2D PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B416772 DUP8 DUP3 ADD MSTORE PUSH32 0x65656D656E745374617475735D00000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP4 MLOAD SWAP1 DUP5 DUP3 MSTORE PUSH3 0xE5F DUP6 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 DUP5 ADD MSTORE DUP3 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP4 DUP5 SWAP3 SUB SWAP1 LOG1 DUP5 MLOAD DUP1 SWAP2 DUP7 DUP3 MSTORE PUSH3 0xECD DUP8 DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0xEE0 PUSH3 0x51E3 JUMP JUMPDEST CODESIZE PUSH3 0xB2C JUMP JUMPDEST PUSH1 0x24 DUP6 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0xF2B SWAP2 POP RETURNDATASIZE DUP1 DUP9 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0xB15 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0xF5A PUSH3 0x5EFA JUMP JUMPDEST SWAP1 PUSH3 0xF65 PUSH3 0x6BB1 JUMP JUMPDEST SWAP2 PUSH3 0xF77 PUSH1 0x19 SLOAD PUSH1 0x18 SLOAD SWAP1 PUSH3 0x5B4F JUMP JUMPDEST PUSH1 0x20 PUSH3 0xF84 DUP6 PUSH3 0x5859 JUMP JUMPDEST MLOAD ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x1337 JUMPI JUMPDEST POP POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D EXTCODESIZE ISZERO PUSH3 0x12E0 JUMPI DUP2 MLOAD PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x131F JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP4 MLOAD DUP1 SWAP3 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP2 DUP4 DUP2 PUSH3 0x1108 DUP11 DUP10 PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x1307 JUMPI JUMPDEST POP PUSH1 0x20 PUSH3 0x112A DUP6 PUSH3 0x581C JUMP JUMPDEST MLOAD ADD MSTORE PUSH1 0x18 SLOAD PUSH1 0x20 PUSH3 0x113D DUP6 PUSH3 0x5859 JUMP JUMPDEST MLOAD ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x12EF JUMPI JUMPDEST POP POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D EXTCODESIZE ISZERO PUSH3 0x12E0 JUMPI DUP2 MLOAD PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x12C8 JUMPI JUMPDEST POP POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1D SLOAD AND SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI PUSH3 0x5D8 SWAP4 DUP6 SWAP3 DUP4 DUP6 MLOAD DUP1 SWAP8 DUP2 SWAP6 DUP3 SWAP5 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH3 0x12D3 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x1263 JUMP JUMPDEST POP POP POP REVERT JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x12FA SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x11CD JUMP JUMPDEST PUSH3 0x1312 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x111C JUMP JUMPDEST PUSH3 0x132A SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x10AA JUMP JUMPDEST PUSH3 0x1342 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x1014 JUMP JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0x136D PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x1379 DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x1384 DUP3 PUSH3 0x6651 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x16 SLOAD AND SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP4 DUP5 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD SWAP1 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP10 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x15A8 JUMPI JUMPDEST POP POP DUP1 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 SWAP8 DUP9 DUP4 MSTORE DUP10 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x1590 JUMPI JUMPDEST POP POP DUP5 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH32 0xAF20EF4A00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP3 ADD MSTORE DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 DUP11 GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x156E JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI PUSH1 0x24 DUP7 SWAP3 DUP4 DUP7 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1560 JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x1548 JUMPI JUMPDEST POP POP DUP2 EXTCODESIZE ISZERO PUSH3 0x1544 JUMPI DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5ED JUMPI POP RETURN JUMPDEST POP POP REVERT JUMPDEST PUSH3 0x1553 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1544 JUMPI DUP3 DUP6 PUSH3 0x14F9 JUMP JUMPDEST DUP3 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH3 0x1579 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 DUP9 PUSH3 0x14C5 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x159B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 DUP9 PUSH3 0x1457 JUMP JUMPDEST PUSH3 0x15B3 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 DUP8 PUSH3 0x1402 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH3 0x15EC PUSH3 0x4BC6 JUMP JUMPDEST PUSH3 0x78D5 JUMP JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH3 0x76C8 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x162C PUSH3 0x5BAA JUMP JUMPDEST PUSH3 0x1637 DUP2 PUSH3 0x613C JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0x183E JUMPI PUSH1 0xA0 SWAP2 DUP5 SWAP2 PUSH3 0x1820 JUMPI JUMPDEST POP ADD MLOAD SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH3 0x17F3 JUMPI PUSH1 0x1 DUP3 SUB PUSH3 0x16B1 JUMPI DUP3 DUP1 RETURN JUMPDEST DUP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 PUSH3 0x17DA SWAP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2D PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B416772 DUP5 DUP3 ADD MSTORE PUSH32 0x65656D656E745374617475735D00000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0x1770 DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x17ED PUSH3 0x51E3 JUMP JUMPDEST CODESIZE DUP1 DUP3 DUP1 RETURN JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x1837 SWAP2 POP RETURNDATASIZE DUP1 DUP7 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x1696 JUMP JUMPDEST POP POP MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x1867 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x1873 DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x16 SLOAD AND SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP4 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP7 DUP8 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP2 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x1A70 JUMPI PUSH3 0x1A7A JUMPI JUMPDEST POP DUP5 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 DUP8 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP9 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1A70 JUMPI PUSH3 0x1A58 JUMPI JUMPDEST POP POP PUSH3 0x194D PUSH3 0x6782 JUMP JUMPDEST SWAP6 SWAP1 SWAP4 PUSH1 0x17 SLOAD SWAP8 PUSH1 0x0 SWAP9 DUP3 EXTCODESIZE ISZERO PUSH3 0x1A54 JUMPI DUP8 MLOAD SWAP2 DUP3 MSTORE DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x409 JUMPI PUSH3 0x1A3E JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x3CD JUMPI POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x391 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST PUSH3 0x1A4C SWAP1 SWAP9 SWAP2 SWAP9 PUSH3 0x4BEA JUMP JUMPDEST SWAP7 CODESIZE PUSH3 0x1981 JUMP JUMPDEST DUP10 DUP1 REVERT JUMPDEST PUSH3 0x1A63 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x1941 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x1A85 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x18F0 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x1B74 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x1B70 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH3 0x1B70 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH3 0x1AD8 DUP5 PUSH3 0x4C98 JUMP JUMPDEST SWAP4 PUSH3 0x1AE7 DUP5 MLOAD SWAP6 DUP7 PUSH3 0x4C56 JUMP JUMPDEST DUP1 DUP6 MSTORE PUSH1 0x24 DUP3 DUP7 ADD SWAP2 PUSH1 0x6 SHL DUP5 ADD ADD SWAP3 CALLDATASIZE DUP5 GT PUSH3 0x3C9 JUMPI PUSH1 0x24 ADD SWAP1 JUMPDEST DUP4 DUP3 LT PUSH3 0x1B18 JUMPI DUP7 PUSH3 0xC06 DUP8 PUSH3 0x70E9 JUMP JUMPDEST DUP5 DUP3 CALLDATASIZE SUB SLT PUSH3 0x3C9 JUMPI DUP5 MLOAD SWAP1 PUSH3 0x1B30 DUP3 PUSH3 0x4C1C JUMP JUMPDEST DUP3 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH3 0x1B6B JUMPI DUP3 DUP6 SWAP3 DUP9 SWAP5 MSTORE DUP3 DUP6 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH3 0x1B04 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x1BD1 PUSH3 0x5BAA JUMP JUMPDEST PUSH3 0x1BDC DUP2 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x1BE7 DUP2 PUSH3 0x6651 JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x16 SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP4 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP9 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x1DB7 JUMPI DUP4 SWAP2 PUSH3 0x1DD9 JUMPI JUMPDEST POP POP DUP1 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI DUP3 DUP1 SWAP2 PUSH1 0x24 DUP8 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP10 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x1DB7 JUMPI DUP4 SWAP2 PUSH3 0x1DC1 JUMPI JUMPDEST POP PUSH1 0x24 SWAP1 DUP3 PUSH1 0x1D SLOAD AND DUP7 MLOAD SWAP3 DUP4 DUP1 SWAP3 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP9 PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x1DB7 JUMPI PUSH3 0x1D36 SWAP2 PUSH3 0xBDC SWAP2 DUP6 SWAP2 PUSH3 0x1D99 JUMPI JUMPDEST POP PUSH3 0x1D30 PUSH3 0x1D20 DUP3 PUSH3 0x581C JUMP JUMPDEST MLOAD DUP6 PUSH1 0x16 SLOAD AND PUSH1 0x18 SLOAD SWAP2 PUSH3 0x6E8B JUMP JUMPDEST PUSH3 0x5859 JUMP JUMPDEST PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0x183E JUMPI PUSH1 0xA0 SWAP2 DUP5 SWAP2 PUSH3 0x1820 JUMPI POP ADD MLOAD SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH3 0x17F3 JUMPI PUSH1 0x1 DUP3 SUB PUSH3 0x16B1 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x1DB0 SWAP2 POP RETURNDATASIZE DUP1 DUP8 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x1D10 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x1DCC SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x413 JUMPI DUP2 CODESIZE PUSH3 0x1CBC JUMP JUMPDEST PUSH3 0x1DE4 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x413 JUMPI DUP2 CODESIZE PUSH3 0x1C67 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 PUSH3 0x1E11 PUSH3 0x4D60 JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x1E38 PUSH3 0x5BAA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH3 0x1E62 DUP2 PUSH1 0x23 SLOAD AND DUP3 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP1 PUSH3 0x1E6E DUP4 PUSH3 0x613C JUMP JUMPDEST DUP1 PUSH1 0x23 SLOAD AND SWAP5 PUSH1 0x18 SLOAD SWAP4 DUP2 MLOAD SWAP5 PUSH3 0x1E86 DUP7 PUSH3 0x4BFF JUMP JUMPDEST DUP7 DUP4 DUP1 MLOAD SWAP8 PUSH3 0x1E96 DUP10 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x0 DUP10 MSTORE PUSH1 0x20 SWAP9 PUSH1 0x0 DUP11 DUP3 ADD MSTORE DUP2 MSTORE DUP3 DUP10 DUP3 ADD MSTORE ADD MSTORE DUP3 MLOAD SWAP8 PUSH3 0x1EBA DUP10 PUSH3 0x4C1C JUMP JUMPDEST DUP9 MSTORE DUP6 DUP9 ADD MSTORE PUSH1 0x64 TIMESTAMP ADD SWAP7 DUP8 TIMESTAMP GT PUSH3 0x24BF JUMPI DUP3 MLOAD SWAP1 PUSH3 0x1EDB DUP3 PUSH3 0x4BFF JUMP JUMPDEST DUP1 DUP3 MSTORE DUP7 DUP3 ADD SWAP1 PUSH1 0x1 DUP3 MSTORE DUP5 DUP4 ADD SWAP10 DUP11 MSTORE DUP6 PUSH1 0x1D SLOAD AND PUSH1 0x1E SLOAD SWAP2 DUP7 MLOAD PUSH3 0x1F4B DUP12 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE DUP10 DUP4 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH3 0x1F5A DUP2 PUSH3 0x4C39 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP4 MLOAD DUP13 MLOAD SWAP1 DUP9 MLOAD SWAP3 DUP13 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP11 DUP6 ADD MSTORE PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD SWAP2 DUP2 DUP4 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT OR PUSH3 0x2490 JUMPI DUP3 DUP9 MSTORE DUP2 MLOAD SWAP1 KECCAK256 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP4 ADD SWAP1 DUP2 MSTORE PUSH1 0xE2 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH2 0x102 SWAP1 SWAP2 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH3 0x200C PUSH1 0x62 DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP9 DUP5 MLOAD SWAP1 PUSH32 0xE341EAA400000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 SWAP11 DUP12 DUP4 ADD MSTORE PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP2 PUSH1 0x60 DUP2 PUSH1 0x44 DUP2 DUP7 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x2428 JUMPI PUSH3 0x20AA SWAP2 DUP13 SWAP2 DUP3 SWAP1 DUP4 SWAP3 PUSH3 0x2432 JUMPI JUMPDEST POP PUSH1 0xF8 SHL PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 AND SWAP2 PUSH3 0x7544 JUMP JUMPDEST SWAP2 DUP8 PUSH1 0x16 SLOAD AND DUP2 EXTCODESIZE ISZERO PUSH3 0x23E0 JUMPI DUP12 SWAP2 DUP14 DUP4 SWAP3 DUP11 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2428 JUMPI SWAP1 DUP12 SWAP2 PUSH3 0x2410 JUMPI JUMPDEST POP POP DUP7 PUSH1 0x1D SLOAD AND SWAP3 DUP8 PUSH1 0x16 SLOAD AND SWAP5 PUSH1 0x18 SLOAD SWAP11 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP12 DUP13 DUP2 AND DUP2 SUB PUSH3 0x23E4 JUMPI DUP10 MLOAD SWAP8 PUSH3 0x214A DUP10 PUSH3 0x4C1C JUMP JUMPDEST DUP9 MSTORE PUSH1 0x1 SHL SWAP1 DUP8 ADD MSTORE DUP5 EXTCODESIZE ISZERO PUSH3 0x23E0 JUMPI DUP7 PUSH3 0x2214 PUSH3 0x21CB SWAP8 SWAP6 DUP16 SWAP5 SWAP6 DUP16 SWAP9 SWAP7 PUSH3 0x21F4 DUP11 SWAP7 DUP15 MLOAD SWAP13 DUP14 SWAP12 DUP13 SWAP11 DUP12 SWAP10 PUSH32 0x5541E68400000000000000000000000000000000000000000000000000000000 DUP12 MSTORE PUSH1 0x4 DUP12 ADD MSTORE DUP10 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST MLOAD DUP1 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x64 DUP9 ADD MSTORE PUSH1 0x20 ADD MLOAD PUSH1 0x84 DUP8 ADD MSTORE JUMP JUMPDEST MLOAD PUSH1 0xA4 DUP6 ADD MSTORE MLOAD PUSH1 0xC4 DUP5 ADD MSTORE PUSH2 0x100 PUSH1 0xE4 DUP5 ADD MSTORE PUSH2 0x104 DUP4 ADD SWAP1 PUSH3 0x5543 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x23D6 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x23BE JUMPI JUMPDEST POP DUP4 PUSH1 0x1D SLOAD AND SWAP2 DUP9 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x23B5 JUMPI POP SWAP1 PUSH3 0x227E SWAP2 DUP7 SWAP2 PUSH3 0x2397 JUMPI JUMPDEST POP PUSH3 0x581C JUMP JUMPDEST MLOAD DUP2 PUSH1 0x16 SLOAD AND SWAP1 PUSH1 0x18 SLOAD SWAP2 DUP6 DUP4 AND DUP4 SUB PUSH3 0x236B JUMPI PUSH3 0x22A2 SWAP3 PUSH1 0x1 SHL SWAP2 PUSH3 0x6D88 JUMP JUMPDEST PUSH3 0x22B7 DUP2 PUSH1 0x23 SLOAD AND DUP3 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP2 PUSH1 0x18 SLOAD SWAP3 DUP5 DUP5 AND DUP5 SUB PUSH3 0x233F JUMPI PUSH3 0x22DE PUSH3 0x22E5 SWAP3 PUSH3 0x22F5 SWAP6 PUSH1 0x1 SHL SWAP1 PUSH3 0x5890 JUMP JUMPDEST SWAP1 PUSH3 0x540C JUMP JUMPDEST PUSH1 0x23 SLOAD PUSH1 0x1D SLOAD DUP3 AND SWAP2 AND PUSH3 0x6F8E JUMP JUMPDEST SWAP1 PUSH1 0x18 SLOAD SWAP1 DUP2 AND DUP2 SUB PUSH3 0x2313 JUMPI SWAP1 PUSH3 0xC06 SWAP2 PUSH1 0x1 SHL SWAP1 PUSH3 0x540C JUMP JUMPDEST POP POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP7 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x23AE SWAP2 POP RETURNDATASIZE DUP1 DUP9 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x2277 JUMP JUMPDEST MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x23C9 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x2228 JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP12 DUP1 REVERT JUMPDEST DUP15 DUP15 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x241B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1A54 JUMPI DUP10 CODESIZE PUSH3 0x20FE JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP14 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 POP PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP3 POP PUSH3 0x247D SWAP2 POP PUSH1 0x60 RETURNDATASIZE DUP2 GT PUSH3 0x2488 JUMPI JUMPDEST PUSH3 0x2474 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x751D JUMP JUMPDEST SWAP3 SWAP1 SWAP3 SWAP2 SWAP1 PUSH3 0x207D JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x2468 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x24 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH3 0x7489 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x2526 PUSH3 0x5EFA JUMP JUMPDEST PUSH3 0x2530 PUSH3 0x6BB1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP5 DUP4 PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP10 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2793 JUMPI PUSH3 0x279D JUMPI JUMPDEST POP DUP4 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP7 MLOAD DUP1 SWAP3 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP2 DUP4 DUP2 PUSH3 0x25F7 DUP11 DUP11 PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x2793 JUMPI PUSH3 0x277B JUMPI JUMPDEST POP PUSH1 0x24 SWAP1 DUP5 PUSH1 0x1D SLOAD AND DUP7 MLOAD SWAP3 DUP4 DUP1 SWAP3 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP7 PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH1 0xA0 SWAP2 DUP8 SWAP2 PUSH3 0x2753 JUMPI JUMPDEST POP ADD MLOAD PUSH1 0x4 DUP2 LT ISZERO PUSH3 0x2726 JUMPI PUSH3 0x266C SWAP1 PUSH3 0x6C48 JUMP JUMPDEST DUP5 DUP4 PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP4 DUP5 ISZERO PUSH3 0x271D JUMPI POP PUSH3 0x26E8 PUSH3 0x26F2 PUSH3 0xC06 SWAP6 PUSH1 0x20 SWAP4 DUP9 SWAP2 PUSH3 0x26FF JUMPI JUMPDEST POP PUSH3 0x1D30 PUSH3 0x26D6 DUP3 PUSH3 0x581C JUMP JUMPDEST MLOAD DUP8 PUSH1 0x16 SLOAD AND DUP7 PUSH3 0x26E8 DUP10 PUSH3 0x581C JUMP JUMPDEST MLOAD ADD MLOAD SWAP2 PUSH3 0x6E8B JUMP JUMPDEST MLOAD SWAP4 PUSH1 0x17 SLOAD AND SWAP3 PUSH3 0x5859 JUMP JUMPDEST PUSH3 0x2716 SWAP2 POP RETURNDATASIZE DUP1 DUP11 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x26C6 JUMP JUMPDEST MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x276A SWAP2 POP RETURNDATASIZE DUP1 DUP10 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x2654 JUMP JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x2786 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x2608 JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x27A8 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x25AE JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x27D2 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x27DE DUP3 PUSH3 0x6651 JUMP JUMPDEST PUSH3 0x27E8 PUSH3 0x6782 JUMP JUMPDEST SWAP3 SWAP2 SWAP4 PUSH1 0x17 SLOAD SWAP5 PUSH1 0x0 SWAP6 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP6 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP9 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x409 JUMPI PUSH3 0x2924 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x6D9BF6DF00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x3CD JUMPI POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x391 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST PUSH3 0x2932 SWAP1 SWAP9 SWAP2 SWAP9 PUSH3 0x4BEA JUMP JUMPDEST SWAP7 CODESIZE PUSH3 0x2867 JUMP JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH3 0x5588 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP2 MSTORE RETURN JUMPDEST DUP3 CALLVALUE PUSH3 0x3BD JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0xC06 PUSH3 0x29BF PUSH3 0x4BC6 JUMP JUMPDEST PUSH3 0x5997 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x2A1E PUSH3 0x5BAA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x23 SLOAD AND SWAP3 PUSH3 0x2A4B DUP4 PUSH1 0x16 SLOAD AND DUP1 SWAP6 PUSH3 0x6F8E JUMP JUMPDEST SWAP2 DUP6 PUSH1 0x18 SLOAD DUP7 DUP3 MSTORE PUSH1 0x20 SWAP7 PUSH1 0x1C DUP9 MSTORE PUSH3 0x2A7C DUP6 DUP5 KECCAK256 DUP7 MLOAD SWAP4 PUSH3 0x2A6F DUP6 PUSH3 0x4BFF JUMP JUMPDEST DUP4 DUP6 MSTORE DUP11 DUP6 ADD MSTORE PUSH3 0x58CD JUMP JUMPDEST DUP6 DUP4 ADD MSTORE PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP4 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP9 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1DB7 JUMPI SWAP1 DUP4 SWAP2 PUSH3 0x2DA2 JUMPI JUMPDEST POP POP DUP6 PUSH1 0x14 SLOAD AND SWAP7 PUSH1 0x1D SWAP8 DUP4 DUP3 PUSH3 0x2B57 DUP11 DUP13 SLOAD AND SWAP4 PUSH1 0x18 SLOAD DUP11 MLOAD SWAP5 DUP6 DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP10 DUP11 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP3 ADD SWAP6 AND DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x2D98 JUMPI SWAP2 DUP4 SWAP2 PUSH3 0x2BB6 SWAP4 PUSH3 0x2D76 JUMPI JUMPDEST POP DUP10 PUSH1 0x15 SLOAD AND DUP11 DUP13 SLOAD AND DUP8 PUSH1 0x25 SLOAD SWAP4 DUP12 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP3 ADD SWAP6 AND DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x2D6C JUMPI PUSH3 0x2D37 JUMPI JUMPDEST POP POP DUP6 DUP8 SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI PUSH3 0x2C20 DUP4 SWAP3 SWAP2 DUP4 SWAP3 DUP8 MLOAD SWAP5 DUP6 DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xA37EE28C00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP11 PUSH1 0x4 DUP5 ADD MSTORE DUP12 PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x44 DUP4 ADD SWAP1 PUSH3 0x601F JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x2D2D JUMPI PUSH3 0x2D15 JUMPI JUMPDEST POP DUP5 DUP7 SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x23B5 JUMPI POP PUSH3 0xC06 SWAP5 SWAP3 PUSH3 0x2CA9 PUSH3 0x2C99 PUSH3 0xBFC SWAP7 SWAP5 PUSH3 0x2CCD SWAP5 DUP11 SWAP2 PUSH3 0x2CFE JUMPI POP PUSH3 0x581C JUMP JUMPDEST MLOAD DUP5 PUSH1 0x16 SLOAD AND PUSH1 0x18 SLOAD SWAP2 PUSH3 0x6D88 JUMP JUMPDEST PUSH3 0x22DE PUSH3 0x2CC2 DUP5 PUSH1 0x23 SLOAD AND DUP6 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP2 PUSH1 0x18 SLOAD SWAP1 PUSH3 0x5890 JUMP JUMPDEST PUSH3 0x2CEF PUSH3 0x2CE5 DUP3 PUSH1 0x23 SLOAD AND DUP4 DUP6 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x18 SLOAD SWAP1 PUSH3 0x540C JUMP JUMPDEST DUP1 PUSH1 0x24 SLOAD AND SWAP2 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x23AE SWAP2 POP RETURNDATASIZE DUP1 DUP13 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST PUSH3 0x2D20 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x2C31 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP2 PUSH3 0x2D5B SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x2D64 JUMPI JUMPDEST PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x4D46 JUMP JUMPDEST POP CODESIZE DUP1 PUSH3 0x2BC7 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x2D46 JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x2D90 SWAP1 DUP4 RETURNDATASIZE DUP6 GT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE PUSH3 0x2B70 JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP8 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x2DAD SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x413 JUMPI DUP2 CODESIZE PUSH3 0x2AE5 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x2E13 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP4 DUP4 PUSH1 0x23 SLOAD AND SWAP2 PUSH3 0x2E52 PUSH3 0x2E46 DUP7 PUSH1 0x16 SLOAD AND DUP1 SWAP6 PUSH3 0x6F8E JUMP JUMPDEST SWAP4 DUP7 PUSH1 0x24 SLOAD AND PUSH3 0x6F8E JUMP JUMPDEST SWAP4 PUSH3 0x2E5E DUP3 PUSH3 0x613C JUMP JUMPDEST DUP6 PUSH1 0x16 SLOAD AND SWAP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD SWAP1 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP5 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x303E JUMPI JUMPDEST POP POP DUP7 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP8 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x3026 JUMPI JUMPDEST POP POP DUP7 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP6 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0x186799A400000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1560 JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x300E JUMPI JUMPDEST POP POP DUP2 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x2FF6 JUMPI JUMPDEST POP POP DUP3 PUSH3 0x2FE6 PUSH3 0x2FE0 SWAP3 PUSH3 0x2FE0 PUSH3 0xC06 SWAP7 PUSH1 0x23 SLOAD AND DUP5 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x540C JUMP JUMPDEST PUSH1 0x24 SLOAD PUSH1 0x16 SLOAD DUP3 AND SWAP2 AND PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x3001 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x2FBB JUMP JUMPDEST PUSH3 0x3019 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B74 JUMPI DUP3 CODESIZE PUSH3 0x2F72 JUMP JUMPDEST PUSH3 0x3031 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x2F1B JUMP JUMPDEST PUSH3 0x3049 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x2EC6 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x3073 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x307F DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH1 0x17 SLOAD SWAP2 PUSH1 0x0 SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP4 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH3 0x31DC JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x31C4 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP6 SWAP5 SWAP3 DUP6 SWAP4 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3A7 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x31CF SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x316A JUMP JUMPDEST PUSH3 0x31EA SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x30FB JUMP JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x3210 PUSH3 0x5EFA JUMP JUMPDEST DUP3 MLOAD SWAP3 PUSH3 0x321E DUP5 PUSH3 0x4C39 JUMP JUMPDEST PUSH1 0x3 DUP5 MSTORE PUSH1 0x0 JUMPDEST PUSH1 0x60 DUP2 LT PUSH3 0x35B9 JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 PUSH1 0x16 SLOAD AND SWAP5 DUP3 MLOAD SWAP6 PUSH3 0x3259 DUP8 PUSH3 0x4C1C JUMP JUMPDEST DUP7 MSTORE PUSH1 0x20 SWAP6 DUP6 DUP8 DUP3 ADD MSTORE PUSH3 0x326E DUP4 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x327A DUP3 PUSH3 0x581C JUMP JUMPDEST POP DUP1 PUSH1 0x17 SLOAD AND PUSH1 0x19 SLOAD DUP5 MLOAD SWAP2 PUSH3 0x3291 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE DUP8 DUP3 ADD MSTORE PUSH3 0x32A2 DUP4 PUSH3 0x5859 JUMP JUMPDEST MSTORE PUSH3 0x32AE DUP3 PUSH3 0x5859 JUMP JUMPDEST POP DUP1 PUSH1 0x1F SLOAD AND SWAP2 PUSH1 0x18 SLOAD DUP5 MLOAD SWAP1 PUSH3 0x32C6 DUP3 PUSH3 0x4C1C JUMP JUMPDEST DUP5 DUP3 MSTORE DUP9 DUP3 ADD MSTORE PUSH3 0x32D8 DUP3 PUSH3 0x586A JUMP JUMPDEST MSTORE PUSH3 0x32E4 DUP2 PUSH3 0x586A JUMP JUMPDEST POP PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP5 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP5 DUP6 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x24 DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x35A1 JUMPI JUMPDEST POP POP DUP2 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP5 MLOAD PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP3 MSTORE PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 PUSH1 0x4 DUP3 ADD MSTORE DUP10 DUP2 PUSH1 0x24 DUP2 DUP4 DUP10 GAS CALL DUP1 ISZERO PUSH3 0x353D JUMPI SWAP1 DUP11 SWAP2 PUSH3 0x3589 JUMPI JUMPDEST POP POP DUP5 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1A54 JUMPI DUP10 PUSH3 0x340F DUP11 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 DUP3 SWAP4 DUP12 MLOAD SWAP5 DUP6 DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x353D JUMPI SWAP1 DUP11 SWAP2 PUSH3 0x3571 JUMPI JUMPDEST POP POP DUP7 MLOAD SWAP5 PUSH3 0x3433 DUP7 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x1 DUP7 MSTORE PUSH1 0x0 JUMPDEST DUP12 DUP2 LT PUSH3 0x354B JUMPI POP DUP10 SWAP11 DUP6 PUSH1 0x1F SLOAD AND SWAP1 PUSH3 0x345C PUSH1 0x18 SLOAD PUSH1 0x19 SLOAD SWAP1 PUSH3 0x5B4F JUMP JUMPDEST DUP11 MLOAD SWAP2 PUSH3 0x346A DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP4 DUP4 MSTORE DUP3 ADD MSTORE PUSH3 0x347B DUP9 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x3487 DUP8 PUSH3 0x581C JUMP JUMPDEST POP DUP5 EXTCODESIZE ISZERO PUSH3 0x3547 JUMPI DUP9 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP10 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x353D JUMPI SWAP1 DUP11 SWAP2 PUSH3 0x3525 JUMPI JUMPDEST POP POP DUP3 EXTCODESIZE ISZERO PUSH3 0x630 JUMPI PUSH1 0x24 DUP10 SWAP3 DUP4 DUP10 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x350D JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI PUSH3 0x5D8 SWAP5 DUP7 DUP1 SWAP5 DUP7 MLOAD SWAP8 DUP9 SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST PUSH3 0x3518 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x34E2 JUMP JUMPDEST PUSH3 0x3530 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x630 JUMPI DUP9 CODESIZE PUSH3 0x34B3 JUMP JUMPDEST DUP9 MLOAD RETURNDATASIZE DUP13 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST DUP12 SWAP1 DUP10 MLOAD PUSH3 0x355A DUP2 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE PUSH1 0x0 DUP4 DUP3 ADD MSTORE DUP3 DUP3 DUP11 ADD ADD MSTORE ADD PUSH3 0x343A JUMP JUMPDEST PUSH3 0x357C SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x630 JUMPI DUP9 CODESIZE PUSH3 0x3423 JUMP JUMPDEST PUSH3 0x3594 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x630 JUMPI DUP9 CODESIZE PUSH3 0x33BA JUMP JUMPDEST PUSH3 0x35AC SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x3348 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 MLOAD PUSH3 0x35C9 DUP2 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH3 0x3225 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP2 MSTORE RETURN JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x3676 PUSH3 0x5BAA JUMP JUMPDEST SWAP2 PUSH3 0x3682 DUP4 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x368D DUP4 PUSH3 0x6651 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH1 0x16 SLOAD AND SWAP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP5 DUP6 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP4 MLOAD SWAP6 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP9 MSTORE PUSH1 0x4 DUP9 ADD MSTORE PUSH1 0x24 SWAP7 DUP7 DUP2 DUP10 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x38E6 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x38CE JUMPI JUMPDEST POP POP DUP3 PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP6 MLOAD DUP8 DUP2 DUP11 DUP2 DUP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 SWAP9 DUP10 DUP4 MSTORE DUP12 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x38C4 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x38AC JUMPI JUMPDEST POP POP DUP4 PUSH1 0x17 SLOAD AND SWAP1 DUP3 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI SWAP1 DUP9 DUP9 SWAP3 DUP4 DUP10 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3894 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 SWAP2 DUP8 DUP4 SWAP3 DUP8 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 DUP4 MSTORE DUP9 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x387C JUMPI JUMPDEST POP SWAP1 PUSH1 0x1D SLOAD AND SWAP2 DUP6 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x3309940500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x3C0 JUMPI POP SWAP1 PUSH1 0xA0 SWAP2 DUP4 SWAP2 PUSH3 0x385E JUMPI JUMPDEST POP ADD MLOAD PUSH1 0x4 DUP2 LT ISZERO PUSH3 0x3833 JUMPI PUSH3 0xC06 SWAP1 PUSH3 0x6C48 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH3 0x3875 SWAP2 POP RETURNDATASIZE DUP1 DUP6 DUP4 RETURNDATACOPY PUSH3 0xA5A DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST CODESIZE PUSH3 0x381B JUMP JUMPDEST PUSH3 0x3887 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x37CE JUMP JUMPDEST PUSH3 0x389F SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x3798 JUMP JUMPDEST PUSH3 0x38B7 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x3763 JUMP JUMPDEST DUP8 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x38D9 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x370F JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0x390E PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x391A DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x3925 DUP3 PUSH3 0x6651 JUMP JUMPDEST PUSH3 0x392F PUSH3 0x6BB1 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP5 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x3A80 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP1 SWAP2 PUSH1 0x24 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x4E16946C00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3A68 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI PUSH3 0x5D8 SWAP4 DUP6 SWAP3 DUP4 DUP6 MLOAD DUP1 SWAP8 DUP2 SWAP6 DUP3 SWAP5 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST PUSH3 0x3A73 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 DUP8 PUSH3 0x3A1C JUMP JUMPDEST PUSH3 0x3A8B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 DUP9 PUSH3 0x39AC JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x3AB5 PUSH3 0x5EFA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x23 SLOAD AND SWAP2 DUP2 PUSH1 0x16 SLOAD AND PUSH3 0x3AE1 DUP2 DUP6 PUSH3 0x6F8E JUMP JUMPDEST SWAP5 PUSH1 0x24 SWAP5 DUP8 PUSH3 0x3B13 PUSH3 0x3AFA DUP8 DUP10 SLOAD AND SWAP6 DUP7 PUSH3 0x6F8E JUMP JUMPDEST SWAP3 PUSH3 0x3B0C DUP9 PUSH1 0x17 SLOAD AND DUP1 SWAP3 PUSH3 0x6F8E JUMP JUMPDEST SWAP6 PUSH3 0x6F8E JUMP JUMPDEST SWAP5 PUSH3 0x3B1E PUSH3 0x6BB1 JUMP JUMPDEST SWAP4 DUP8 PUSH1 0x1F SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP3 DUP4 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 DUP14 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3DF7 JUMPI JUMPDEST POP POP DUP10 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 DUP7 SWAP1 DUP3 SWAP1 DUP2 DUP4 DUP2 PUSH3 0x3BD1 DUP15 DUP13 PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3DDF JUMPI JUMPDEST POP POP DUP10 PUSH1 0x16 SLOAD AND DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD SWAP1 DUP4 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 DUP14 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x3DC7 JUMPI JUMPDEST POP POP DUP10 PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP12 DUP7 DUP6 MLOAD DUP1 SWAP3 DUP2 DUP4 PUSH32 0x186799A400000000000000000000000000000000000000000000000000000000 SWAP9 DUP10 DUP4 MSTORE DUP12 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x3DAF JUMPI JUMPDEST POP POP DUP11 PUSH1 0x17 SLOAD AND DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP13 DUP8 SWAP3 DUP4 DUP8 MLOAD SWAP6 DUP7 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x3D97 JUMPI JUMPDEST POP POP DUP9 PUSH1 0x1D SLOAD AND SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP11 DUP6 SWAP3 DUP4 DUP6 MLOAD SWAP7 DUP8 SWAP5 DUP6 SWAP4 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3D77 JUMPI JUMPDEST POP POP SWAP3 PUSH3 0x3D5E DUP6 SWAP5 SWAP4 PUSH3 0x22DE PUSH3 0x3D68 SWAP5 PUSH3 0x3D3C DUP9 SWAP8 PUSH3 0x3D28 PUSH3 0xC06 SWAP14 PUSH3 0x22DE PUSH3 0x3D11 PUSH3 0x22DE SWAP15 PUSH1 0x23 SLOAD AND DUP14 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x20 PUSH3 0x3D1E DUP9 PUSH3 0x581C JUMP JUMPDEST MLOAD ADD MLOAD SWAP1 PUSH3 0x5890 JUMP JUMPDEST PUSH3 0x22DE DUP10 DUP14 SLOAD AND DUP11 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x20 PUSH3 0x3D1E PUSH3 0x3D57 DUP10 PUSH1 0x23 SLOAD AND DUP11 PUSH1 0x17 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP3 PUSH3 0x5859 JUMP JUMPDEST PUSH1 0x25 SLOAD SWAP1 PUSH3 0x5B4F JUMP JUMPDEST SWAP4 SLOAD AND SWAP1 PUSH1 0x17 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x3D87 SWAP1 SWAP7 SWAP6 SWAP3 SWAP5 SWAP7 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3EF JUMPI SWAP3 SWAP4 SWAP2 DUP8 CODESIZE PUSH3 0x3CD2 JUMP JUMPDEST PUSH3 0x3DA2 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B70 JUMPI DUP4 CODESIZE PUSH3 0x3C9F JUMP JUMPDEST PUSH3 0x3DBA SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x3C6C JUMP JUMPDEST PUSH3 0x3DD2 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x3C17 JUMP JUMPDEST PUSH3 0x3DEA SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x3BE5 JUMP JUMPDEST PUSH3 0x3E02 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x3B85 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x3E2C PUSH3 0x5BAA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH3 0x3E57 DUP4 PUSH1 0x23 SLOAD AND DUP5 PUSH1 0x16 SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST SWAP2 PUSH3 0x3E63 DUP2 PUSH3 0x613C JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1D SLOAD AND SWAP2 PUSH1 0x24 DUP5 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xAC41B75100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE GAS STATICCALL SWAP2 DUP3 ISZERO PUSH3 0x271D JUMPI POP PUSH3 0xBFC SWAP3 PUSH3 0x2CA9 PUSH3 0x2C99 PUSH3 0xC06 SWAP7 SWAP5 PUSH3 0x3ECB SWAP5 DUP10 SWAP2 PUSH3 0x3EF4 JUMPI POP PUSH3 0x581C JUMP JUMPDEST PUSH3 0x3EE4 PUSH3 0x2CE5 DUP3 PUSH1 0x23 SLOAD AND DUP4 PUSH1 0x1D SLOAD AND SWAP1 PUSH3 0x6F8E JUMP JUMPDEST PUSH1 0x24 SLOAD PUSH1 0x1D SLOAD DUP3 AND SWAP2 AND PUSH3 0x6F8E JUMP JUMPDEST PUSH3 0x23AE SWAP2 POP RETURNDATASIZE DUP1 DUP12 DUP4 RETURNDATACOPY PUSH3 0xD94 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP1 DUP4 CALLVALUE PUSH3 0x634 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x634 JUMPI PUSH3 0x3F29 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x3F35 DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x17 SLOAD AND PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP4 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x4090 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP6 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x12E5 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x4078 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x12E0 JUMPI DUP4 SWAP3 PUSH1 0x24 DUP5 SWAP3 DUP5 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5ED JUMPI POP RETURN JUMPDEST PUSH3 0x4083 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12E0 JUMPI DUP4 DUP7 PUSH3 0x4021 JUMP JUMPDEST PUSH3 0x409B SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 DUP8 PUSH3 0x3FB1 JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH9 0x246DDF97976680000 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x40EB PUSH3 0x6782 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 PUSH1 0x17 SLOAD SWAP4 PUSH1 0x0 SWAP5 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP6 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x38C4 JUMPI PUSH3 0x4244 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP7 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x38E6 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x422C JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI SWAP2 DUP5 SWAP4 SWAP2 DUP7 DUP1 SWAP5 PUSH3 0x391 SWAP8 MLOAD SWAP8 DUP9 SWAP6 DUP7 SWAP5 DUP6 SWAP4 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 CALLDATALOAD PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST PUSH3 0x4237 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x41D9 JUMP JUMPDEST PUSH3 0x4252 SWAP1 SWAP8 SWAP2 SWAP8 PUSH3 0x4BEA JUMP JUMPDEST SWAP6 CODESIZE PUSH3 0x416A JUMP JUMPDEST POP CALLVALUE PUSH3 0x413 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x413 JUMPI PUSH3 0x4277 PUSH3 0x5BAA JUMP JUMPDEST SWAP1 PUSH3 0x4283 DUP3 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x428E DUP3 PUSH3 0x6651 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x16 SLOAD AND SWAP3 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP5 MLOAD PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 SWAP7 DUP8 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP2 DUP2 PUSH1 0x24 DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH3 0x2793 JUMPI PUSH3 0x4484 JUMPI JUMPDEST POP DUP3 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 DUP9 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP11 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2793 JUMPI PUSH3 0x446C JUMPI JUMPDEST POP POP PUSH1 0x17 SLOAD SWAP5 PUSH1 0x0 SWAP6 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP6 MLOAD SWAP2 DUP3 MSTORE DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH3 0x4456 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 DUP1 SWAP2 PUSH1 0x24 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI SWAP1 DUP6 SWAP2 PUSH3 0x31C4 JUMPI POP POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP3 SWAP2 PUSH1 0x24 DUP6 SWAP5 SWAP3 DUP6 SWAP4 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3A7 JUMPI DUP3 DUP1 RETURN JUMPDEST PUSH3 0x4464 SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x438E JUMP JUMPDEST PUSH3 0x4477 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x435B JUMP JUMPDEST PUSH3 0x448F SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x430A JUMP JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x44BA PUSH3 0x76C8 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x13 SLOAD AND SWAP3 DUP1 MLOAD PUSH32 0x3644E51500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 DUP2 PUSH1 0x4 DUP2 DUP10 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x12E5 JUMPI DUP6 SWAP2 PUSH3 0x46D0 JUMPI JUMPDEST POP PUSH1 0x1E SSTORE DUP3 PUSH1 0x15 SLOAD AND SWAP1 DUP4 PUSH1 0x1F SLOAD AND DUP4 MLOAD PUSH3 0x4531 DUP2 PUSH3 0x4BFF JUMP JUMPDEST DUP4 DUP2 MSTORE DUP2 DUP6 PUSH8 0x16345785D8A0000 SWAP3 DUP4 DUP7 DUP3 ADD MSTORE ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP4 DUP5 PUSH1 0x24 SLOAD AND OR PUSH1 0x24 SSTORE PUSH1 0x25 SSTORE DUP3 PUSH1 0x26 SLOAD AND OR PUSH1 0x26 SSTORE DUP3 MLOAD SWAP1 PUSH2 0x306C SWAP7 DUP8 DUP4 ADD SWAP8 DUP4 DUP10 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP11 GT OR PUSH3 0x46A3 JUMPI SWAP8 DUP6 SWAP3 DUP5 SWAP3 DUP10 SWAP11 SWAP10 SWAP9 SWAP10 PUSH3 0xB10B DUP6 CODECOPY DUP3 MSTORE ADDRESS SWAP1 DUP3 ADD MSTORE SUB ADD SWAP1 DUP5 CREATE DUP1 ISZERO PUSH3 0x183E JUMPI DUP5 DUP5 SWAP2 AND SWAP2 DUP3 PUSH1 0x1D SLOAD SWAP2 DUP3 AND OR PUSH1 0x1D SSTORE AND OR SWAP1 DUP4 PUSH1 0x1F SLOAD AND DUP3 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI DUP4 SWAP3 PUSH1 0x84 DUP5 SWAP3 DUP5 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0xAF0F9DF300000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE DUP10 PUSH1 0x24 SLOAD AND PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x25 SLOAD PUSH1 0x44 DUP5 ADD MSTORE DUP10 PUSH1 0x26 SLOAD AND PUSH1 0x64 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x468B JUMPI JUMPDEST POP PUSH3 0xC06 DUP3 PUSH3 0x4657 DUP2 PUSH1 0x16 SLOAD AND PUSH3 0x78D5 JUMP JUMPDEST PUSH3 0x4666 DUP2 PUSH1 0x17 SLOAD AND PUSH3 0x78D5 JUMP JUMPDEST PUSH3 0x467B DUP2 PUSH1 0x16 SLOAD AND DUP3 PUSH1 0x13 SLOAD AND SWAP1 PUSH3 0x79B0 JUMP JUMPDEST PUSH1 0x17 SLOAD PUSH1 0x13 SLOAD DUP3 AND SWAP2 AND PUSH3 0x79B0 JUMP JUMPDEST PUSH3 0x4696 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x413 JUMPI DUP2 CODESIZE PUSH3 0x4642 JUMP JUMPDEST PUSH1 0x24 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST SWAP1 POP DUP2 DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x46FB JUMPI JUMPDEST PUSH3 0x46EA DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x1B6B JUMPI MLOAD CODESIZE PUSH3 0x4515 JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x46DE JUMP JUMPDEST POP SWAP1 CALLVALUE PUSH3 0x3BD JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x3BD JUMPI PUSH3 0x4721 PUSH3 0x5BAA JUMP JUMPDEST SWAP2 PUSH3 0x472D DUP4 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x4738 DUP4 PUSH3 0x6651 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x16 SLOAD AND SWAP4 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP3 DUP4 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP3 MLOAD SWAP6 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x24 SWAP4 DUP6 DUP8 DUP7 DUP2 DUP4 DUP6 GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI PUSH3 0x49B4 JUMPI JUMPDEST DUP6 SWAP7 POP DUP2 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP5 MLOAD DUP8 DUP2 DUP9 DUP2 DUP4 PUSH32 0x8135FE2300000000000000000000000000000000000000000000000000000000 SWAP7 DUP8 DUP4 MSTORE DUP11 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x499C JUMPI JUMPDEST POP POP DUP3 PUSH1 0x17 SLOAD AND DUP3 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP6 MLOAD SWAP1 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP8 DUP2 DUP9 DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x4984 JUMPI JUMPDEST POP POP DUP3 PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x3EF JUMPI DUP8 SWAP2 DUP8 DUP4 SWAP3 DUP9 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 DUP4 MSTORE DUP10 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI SWAP1 DUP8 SWAP2 PUSH3 0x496C JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP1 SWAP2 DUP7 DUP7 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x15C0 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x4954 JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 SWAP4 DUP5 SWAP3 DUP5 MLOAD SWAP6 DUP7 SWAP4 DUP5 SWAP3 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5ED JUMPI POP RETURN JUMPDEST PUSH3 0x495F SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x4900 JUMP JUMPDEST PUSH3 0x4977 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x156A JUMPI DUP6 CODESIZE PUSH3 0x4891 JUMP JUMPDEST PUSH3 0x498F SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x485B JUMP JUMPDEST PUSH3 0x49A7 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3C9 JUMPI DUP7 CODESIZE PUSH3 0x4809 JUMP JUMPDEST SWAP5 SWAP1 SWAP6 PUSH3 0x49C2 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 DUP6 SWAP1 PUSH3 0x47B5 JUMP JUMPDEST SWAP2 SWAP1 POP CALLVALUE PUSH3 0x1B74 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH3 0x1B74 JUMPI PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND DUP1 SWAP3 SUB PUSH3 0x12C4 JUMPI PUSH1 0x24 CALLDATALOAD SWAP4 DUP2 DUP6 AND DUP1 SWAP6 SUB PUSH3 0x156A JUMPI PUSH1 0x44 CALLDATALOAD SWAP1 DUP3 DUP3 AND DUP1 SWAP3 SUB PUSH3 0x3C9 JUMPI DUP4 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE DUP7 SWAP6 PUSH1 0x4 DUP3 ADD MSTORE DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x1586 JUMPI PUSH3 0x4BAE JUMPI JUMPDEST POP SWAP1 DUP5 SWAP2 DUP2 PUSH1 0x14 SLOAD AND SWAP2 DUP6 MLOAD SWAP1 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP2 MSTORE DUP4 PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x24 DUP4 ADD MSTORE DUP2 PUSH1 0x44 DUP2 PUSH1 0x20 SWAP10 DUP11 SWAP5 GAS CALL DUP1 ISZERO PUSH3 0x4BA4 JUMPI PUSH1 0x44 SWAP3 DUP8 SWAP6 SWAP5 SWAP3 DUP12 SWAP3 PUSH3 0x4B82 JUMPI JUMPDEST POP PUSH1 0x15 SLOAD AND DUP10 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI PUSH3 0x4B5F JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI SWAP1 DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x3A7 JUMPI DUP3 DUP1 RETURN JUMPDEST DUP2 PUSH3 0x4B79 SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE DUP1 PUSH3 0x4B12 JUMP JUMPDEST PUSH3 0x4B9C SWAP1 DUP8 RETURNDATASIZE DUP10 GT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE PUSH3 0x4AEB JUMP JUMPDEST DUP9 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x4BBC SWAP2 SWAP3 SWAP6 POP PUSH3 0x4BEA JUMP JUMPDEST DUP5 SWAP4 SWAP1 CODESIZE PUSH3 0x4A6A JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH3 0x1B6B JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x2490 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH3 0x4CC5 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x4CB4 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x2490 JUMPI PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH3 0x4D41 JUMPI RETURNDATASIZE SWAP1 PUSH3 0x4D25 DUP3 PUSH3 0x4CD6 JUMP JUMPDEST SWAP2 PUSH3 0x4D35 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH3 0x4C56 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH3 0x1B6B JUMPI MLOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH3 0x1B6B JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH3 0x4D7A JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x4D9C JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 DUP3 ADD DUP4 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x40 DUP4 MSTORE PUSH3 0x4DDF DUP4 PUSH3 0x4BFF JUMP JUMPDEST PUSH3 0x4E34 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP4 PUSH3 0x4E23 PUSH1 0x20 DUP4 ADD SWAP8 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP10 MSTORE MLOAD DUP1 SWAP3 DUP6 DUP6 ADD SWAP1 PUSH3 0x4CB1 JUMP JUMPDEST DUP2 ADD SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP PUSH3 0x4E57 PUSH3 0x4E47 PUSH3 0x4D11 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH3 0x4D46 JUMP JUMPDEST SWAP1 JUMP JUMPDEST MLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH3 0x1B6B JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP1 DUP2 DUP4 DUP3 SUB SLT PUSH3 0x1B6B JUMPI DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP5 DUP3 GT PUSH3 0x1B6B JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH3 0x1B6B JUMPI PUSH1 0x40 MLOAD SWAP4 PUSH1 0xC0 DUP6 ADD DUP6 DUP2 LT DUP3 DUP3 GT OR PUSH3 0x2490 JUMPI PUSH1 0x40 MSTORE DUP3 MLOAD DUP6 MSTORE DUP4 DUP4 ADD MLOAD DUP5 DUP7 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 DUP2 GT PUSH3 0x1B6B JUMPI DUP3 ADD SWAP3 DUP2 PUSH1 0x1F DUP6 ADD SLT ISZERO PUSH3 0x1B6B JUMPI DUP4 MLOAD PUSH3 0x4EF7 DUP2 PUSH3 0x4CD6 JUMP JUMPDEST SWAP3 PUSH3 0x4F07 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH3 0x4C56 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x1B6B JUMPI PUSH1 0xA0 SWAP5 DUP3 PUSH3 0x4F28 SWAP4 DUP6 ADD SWAP2 ADD PUSH3 0x4CB1 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD MSTORE PUSH3 0x4F3B PUSH1 0x60 DUP3 ADD PUSH3 0x4E5A JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x4 DUP2 LT ISZERO PUSH3 0x1B6B JUMPI PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x4FA9 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F7A JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4F6E JUMP JUMPDEST PUSH1 0x22 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH3 0x4FC6 DUP3 PUSH3 0x4F5E JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH3 0x5041 JUMPI POP PUSH1 0x1 EQ PUSH3 0x4FE6 JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x22 PUSH1 0x0 MSTORE PUSH32 0x61035B26E3E9EEE00E0D72FD1EE8DDCA6894550DCA6916EA2AC6BAA90D11E510 SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH3 0x5028 JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH3 0x5015 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP5 SWAP6 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP2 POP SWAP3 SWAP2 SWAP3 AND DUP4 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND SWAP2 AND DUP2 DUP2 SUB PUSH3 0x50A3 JUMPI POP POP JUMP JUMPDEST PUSH3 0x51CE SWAP1 PUSH1 0x40 SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x25 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B616464 DUP6 DUP3 ADD MSTORE PUSH32 0x726573735D000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x5165 DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0x9C4E8541CA8F0DC1C413F9108F66D82D3CECB1BDDBCE437A61CAA3175C4CC96F SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP4 ADD MSTORE SUB SWAP1 LOG1 PUSH3 0x51E1 PUSH3 0x51E3 JUMP JUMPDEST JUMP JUMPDEST PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x522F JUMPI JUMPDEST POP PUSH2 0x100 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF PUSH1 0x0 SLOAD AND OR PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 DUP3 ADD DUP4 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x60 DUP4 MSTORE PUSH3 0x527A DUP4 PUSH3 0x4C39 JUMP JUMPDEST PUSH3 0x52BE PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP4 PUSH3 0x4E23 PUSH1 0x20 DUP4 ADD SWAP8 PUSH32 0x70CA10BB00000000000000000000000000000000000000000000000000000000 DUP10 MSTORE MLOAD DUP1 SWAP3 DUP6 DUP6 ADD SWAP1 PUSH3 0x4CB1 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP PUSH3 0x52CD PUSH3 0x4D11 JUMP JUMPDEST POP CODESIZE PUSH3 0x5200 JUMP JUMPDEST DUP2 DUP2 SUB PUSH3 0x52E1 JUMPI POP POP JUMP JUMPDEST PUSH3 0x51CE SWAP1 PUSH1 0x40 SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x25 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B627974 DUP6 DUP3 ADD MSTORE PUSH32 0x657333325D000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x53A3 DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xAFB795C9C61E4FE7468C386F925D7A5429ECAD9C0495DDB8D38D690614D32F99 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH3 0x5418 JUMPI POP POP JUMP JUMPDEST PUSH3 0x51CE SWAP1 PUSH1 0x40 SWAP1 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP4 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x22 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B75696E DUP6 DUP3 ADD MSTORE PUSH32 0x745D000000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP2 MLOAD SWAP4 DUP3 DUP6 MSTORE PUSH3 0x54DA DUP4 DUP7 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x20 SWAP4 PUSH3 0x5581 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP8 MSTORE DUP8 DUP1 DUP9 ADD SWAP2 ADD PUSH3 0x4CB1 JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 SWAP3 DUP4 ISZERO PUSH3 0x5709 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x1D SLOAD AND SWAP1 PUSH1 0x40 SWAP6 DUP7 SWAP3 DUP4 MLOAD SWAP3 PUSH1 0x0 PUSH1 0x20 SWAP6 DUP6 DUP8 DUP1 SWAP8 ADD SWAP1 DUP6 DUP3 MSTORE DUP5 DUP4 DUP3 ADD MSTORE DUP11 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH3 0x55DF DUP2 PUSH3 0x4C39 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP9 DUP9 PUSH1 0x14 SLOAD AND SWAP1 DUP3 MLOAD SWAP5 PUSH3 0x55F7 DUP7 PUSH3 0x4C39 JUMP JUMPDEST DUP6 MSTORE DUP8 DUP6 ADD SWAP7 DUP8 MSTORE DUP3 MLOAD SWAP10 PUSH3 0x560D DUP12 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x4 DUP12 MSTORE PUSH32 0x6970667300000000000000000000000000000000000000000000000000000000 DUP10 DUP13 ADD MSTORE DUP4 DUP7 ADD SWAP11 DUP12 MSTORE PUSH1 0x60 DUP7 ADD SWAP3 DUP4 MSTORE PUSH3 0x5697 DUP5 MLOAD SWAP12 DUP13 SWAP10 DUP11 SWAP9 DUP10 SWAP8 PUSH32 0x8F34A85900000000000000000000000000000000000000000000000000000000 DUP10 MSTORE PUSH1 0x4 DUP10 ADD MSTORE MLOAD PUSH1 0x44 DUP9 ADD MSTORE MLOAD PUSH1 0x64 DUP8 ADD MSTORE MLOAD PUSH1 0x80 PUSH1 0x84 DUP8 ADD MSTORE PUSH1 0xC4 DUP7 ADD SWAP1 PUSH3 0x5543 JUMP JUMPDEST SWAP3 MLOAD AND PUSH1 0xA4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE SUB SWAP3 GAS CALL SWAP5 DUP6 ISZERO PUSH3 0x56FF JUMPI POP PUSH1 0x0 SWAP5 PUSH3 0x56C9 JUMPI JUMPDEST POP POP SWAP2 PUSH3 0x51E1 SWAP2 SWAP3 PUSH3 0x52D5 JUMP JUMPDEST DUP2 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x56F7 JUMPI JUMPDEST PUSH3 0x56E0 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x1B70 JUMPI MLOAD SWAP3 POP PUSH3 0x51E1 CODESIZE PUSH3 0x56BA JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x56D4 JUMP JUMPDEST MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP POP SWAP1 POP JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP1 DUP4 DUP4 SUB SLT PUSH3 0x1B6B JUMPI DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP5 DUP3 GT PUSH3 0x1B6B JUMPI ADD SWAP2 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x1B6B JUMPI DUP3 MLOAD SWAP1 PUSH3 0x574C DUP3 PUSH3 0x4C98 JUMP JUMPDEST SWAP5 PUSH1 0x40 SWAP2 PUSH3 0x575E DUP4 MLOAD SWAP8 DUP9 PUSH3 0x4C56 JUMP JUMPDEST DUP4 DUP8 MSTORE DUP5 DUP1 DUP9 ADD SWAP5 PUSH1 0x7 SHL DUP8 ADD ADD SWAP6 DUP2 DUP8 GT PUSH3 0x1B6B JUMPI DUP6 ADD SWAP4 JUMPDEST DUP7 DUP6 LT PUSH3 0x578B JUMPI POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x80 SWAP1 DUP2 DUP7 DUP5 SUB SLT PUSH3 0x1B6B JUMPI DUP5 MLOAD SWAP2 DUP3 ADD DUP3 DUP2 LT DUP6 DUP3 GT OR PUSH3 0x57EE JUMPI DUP6 MSTORE PUSH3 0x57B6 DUP7 PUSH3 0x4E5A JUMP JUMPDEST DUP3 MSTORE DUP7 DUP7 ADD MLOAD DUP8 DUP4 ADD MSTORE DUP5 DUP7 ADD MLOAD DUP6 DUP4 ADD MSTORE PUSH1 0x60 SWAP1 DUP2 DUP8 ADD MLOAD SWAP3 PUSH1 0x5 DUP5 LT ISZERO PUSH3 0x1B6B JUMPI PUSH1 0x80 SWAP4 DUP10 SWAP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP5 ADD SWAP4 PUSH3 0x5779 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD ISZERO PUSH3 0x582A JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH3 0x582A JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x2 LT ISZERO PUSH3 0x582A JUMPI PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH3 0x582A JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH3 0x589E JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 DUP2 SLOAD SWAP2 DUP3 DUP3 MSTORE PUSH1 0x20 SWAP3 DUP4 DUP4 ADD SWAP2 PUSH1 0x0 MSTORE DUP4 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH3 0x5905 JUMPI POP POP POP PUSH3 0x51E1 SWAP3 POP SUB DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP6 SLOAD DUP5 MSTORE PUSH1 0x1 SWAP6 DUP7 ADD SWAP6 DUP9 SWAP6 POP SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP2 ADD SWAP1 PUSH3 0x58EC JUMP JUMPDEST SWAP1 PUSH1 0x60 PUSH1 0x40 SWAP3 DUP4 DUP2 ADD SWAP3 DUP2 MSTORE PUSH1 0x20 SWAP2 DUP2 DUP6 DUP5 DUP1 SWAP5 ADD MSTORE DUP7 MLOAD DUP1 SWAP6 MSTORE ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH3 0x5953 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP4 DUP3 DUP3 PUSH3 0x5989 PUSH1 0x1 SWAP5 DUP11 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP7 ADD SWAP5 SWAP4 SWAP3 ADD SWAP1 PUSH3 0x5943 JUMP JUMPDEST PUSH1 0x1F SLOAD PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 SWAP3 AND SWAP3 AND DUP3 EQ PUSH3 0x5B4A JUMPI PUSH3 0x59C9 PUSH3 0x5EFA JUMP JUMPDEST PUSH3 0x59D3 PUSH3 0x6BB1 JUMP JUMPDEST SWAP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI PUSH1 0x40 SWAP5 DUP6 MLOAD SWAP1 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE DUP7 DUP2 PUSH1 0x24 DUP2 DUP4 DUP7 GAS CALL DUP1 ISZERO PUSH3 0x38E6 JUMPI PUSH3 0x5B34 JUMPI JUMPDEST POP DUP1 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI DUP6 DUP1 SWAP2 PUSH1 0x24 DUP8 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xC31EB0E000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI SWAP1 DUP7 SWAP2 PUSH3 0x5B1C JUMPI JUMPDEST POP POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI SWAP2 DUP5 SWAP2 DUP5 SWAP4 DUP4 PUSH3 0x5AF2 SWAP7 MLOAD DUP1 SWAP8 DUP2 SWAP6 DUP3 SWAP5 PUSH32 0x3D3E73D700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH3 0x5920 JUMP JUMPDEST SUB SWAP3 GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST PUSH3 0x5B14 DUP3 SWAP2 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3BD JUMPI POP JUMP JUMPDEST PUSH3 0x5B27 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x12C4 JUMPI DUP5 CODESIZE PUSH3 0x5AA4 JUMP JUMPDEST PUSH3 0x5B42 SWAP1 SWAP7 SWAP2 SWAP7 PUSH3 0x4BEA JUMP JUMPDEST SWAP5 CODESIZE PUSH3 0x5A35 JUMP JUMPDEST POP POP POP JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH3 0x589E JUMPI JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH3 0x5B6E DUP4 PUSH3 0x4BFF JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE DUP3 PUSH1 0x0 DUP1 JUMPDEST DUP4 DUP2 LT PUSH3 0x5B85 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP5 MLOAD PUSH3 0x5B95 DUP2 PUSH3 0x4C1C JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH3 0x5B77 JUMP JUMPDEST PUSH3 0x5BB4 PUSH3 0x7489 JUMP JUMPDEST PUSH1 0x1B SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x14 SLOAD AND SWAP3 PUSH1 0x40 SWAP2 DUP3 MLOAD SWAP5 PUSH3 0x5BE4 DUP7 PUSH3 0x4C39 JUMP JUMPDEST PUSH32 0xA74911826A63A1E8059B5834149EA5905CBE277AAF3536B4A44DB1822D86970A DUP7 MSTORE PUSH1 0x20 SWAP3 DUP4 DUP8 ADD SWAP1 DUP2 MSTORE DUP5 MLOAD SWAP7 PUSH3 0x5C1E DUP9 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0xD DUP9 MSTORE PUSH32 0x697066733A2F2F73686132353600000000000000000000000000000000000000 DUP6 DUP10 ADD MSTORE DUP8 DUP7 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD SWAP3 DUP4 MSTORE MLOAD DUP5 SSTORE MLOAD PUSH1 0x21 SSTORE DUP6 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x2490 JUMPI PUSH3 0x5C79 PUSH1 0x22 SLOAD PUSH3 0x4F5E JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0x5E90 JUMPI JUMPDEST POP DUP4 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0x5DC3 JUMPI SWAP2 DUP2 DUP5 SWAP4 SWAP3 DUP7 SWAP6 SWAP4 PUSH1 0x0 SWAP10 SWAP11 DUP11 SWAP3 PUSH3 0x5DB7 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x22 SSTORE JUMPDEST MLOAD AND SWAP1 DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x23 SLOAD AND OR PUSH1 0x23 SSTORE PUSH1 0x1D SLOAD AND DUP5 MLOAD DUP1 SWAP7 DUP2 DUP1 SWAP5 PUSH32 0x8F34A85900000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP9 PUSH1 0x4 DUP4 ADD MSTORE DUP7 SLOAD PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x21 SLOAD PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x80 PUSH1 0x84 DUP4 ADD MSTORE PUSH3 0x5D5D PUSH1 0xC4 DUP4 ADD PUSH3 0x4FB4 JUMP JUMPDEST SWAP1 PUSH1 0xA4 DUP4 ADD MSTORE DUP3 PUSH1 0x24 DUP4 ADD MSTORE SUB SWAP3 GAS CALL SWAP2 DUP3 ISZERO PUSH3 0x56FF JUMPI POP PUSH1 0x0 SWAP2 PUSH3 0x5D85 JUMPI JUMPDEST POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP2 RETURNDATASIZE DUP4 GT PUSH3 0x5DAF JUMPI JUMPDEST PUSH3 0x5D9C DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x3BD JUMPI POP MLOAD DUP1 CODESIZE PUSH3 0x5D7F JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x5D90 JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x5CA5 JUMP JUMPDEST SWAP7 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP1 PUSH1 0x22 PUSH1 0x0 MSTORE PUSH32 0x61035B26E3E9EEE00E0D72FD1EE8DDCA6894550DCA6916EA2AC6BAA90D11E510 SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x5E78 JUMPI POP SWAP3 DUP6 SWAP5 SWAP3 PUSH1 0x0 SWAP10 SWAP11 PUSH1 0x1 SWAP4 DUP4 DUP11 SWAP10 SWAP8 LT PUSH3 0x5E40 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x22 SSTORE PUSH3 0x5CD8 JUMP JUMPDEST ADD MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x5E31 JUMP JUMPDEST DUP3 DUP12 ADD MLOAD DUP5 SSTORE SWAP10 DUP8 ADD SWAP10 PUSH1 0x1 SWAP1 SWAP4 ADD SWAP3 DUP8 ADD PUSH3 0x5E12 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x22 DUP2 MSTORE PUSH32 0x61035B26E3E9EEE00E0D72FD1EE8DDCA6894550DCA6916EA2AC6BAA90D11E510 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP3 DUP8 DUP6 LT PUSH3 0x5EEF JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x5EE3 JUMPI POP POP PUSH3 0x5C83 JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x5ED3 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH3 0x5ECA JUMP JUMPDEST PUSH3 0x5F04 PUSH3 0x5BAA JUMP JUMPDEST PUSH3 0x5F0F DUP2 PUSH3 0x613C JUMP JUMPDEST PUSH3 0x5F1A DUP2 PUSH3 0x6651 JUMP JUMPDEST PUSH1 0x16 SLOAD PUSH1 0x0 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP10 AND PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6002 JUMPI PUSH3 0x600D JUMPI JUMPDEST POP SWAP1 PUSH1 0x1D SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x413 JUMPI DUP2 DUP1 SWAP2 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP9 PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6002 JUMPI PUSH3 0x5FED JUMPI POP POP SWAP1 JUMP JUMPDEST PUSH3 0x5FF9 DUP3 SWAP2 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x3BD JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x6018 SWAP1 PUSH3 0x4BEA JUMP JUMPDEST CODESIZE PUSH3 0x5F97 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH1 0x60 DUP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE PUSH1 0x80 PUSH1 0x20 SWAP4 DUP3 DUP6 DUP1 SWAP5 ADD MLOAD DUP5 DUP9 ADD MSTORE ADD MLOAD SWAP5 PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE DUP6 MLOAD DUP1 SWAP5 MSTORE ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH3 0x6075 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH3 0x6066 JUMP JUMPDEST SWAP1 SWAP5 SWAP4 SWAP2 SWAP5 DUP2 MSTORE PUSH3 0x60A9 PUSH1 0x20 SWAP6 PUSH1 0x80 DUP8 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD SWAP1 PUSH3 0x601F JUMP JUMPDEST PUSH1 0x40 DUP3 DUP3 SUB DUP2 DUP5 ADD MSTORE PUSH1 0x60 DUP3 ADD SWAP5 DUP1 MLOAD SWAP6 PUSH1 0x60 DUP5 MSTORE DUP7 MLOAD DUP1 SWAP2 MSTORE DUP9 PUSH1 0x80 DUP6 ADD SWAP8 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x60FC JUMPI POP POP POP DUP1 DUP9 PUSH3 0x4E57 SWAP9 SWAP10 DUP5 SWAP4 ADD MLOAD SWAP1 DUP6 ADD MSTORE ADD MLOAD SWAP2 ADD MSTORE PUSH1 0x60 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH3 0x5543 JUMP JUMPDEST SWAP1 SWAP2 SWAP8 DUP11 DUP6 DUP3 PUSH3 0x6130 PUSH1 0x1 SWAP5 DUP14 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP10 ADD SWAP3 SWAP2 ADD PUSH3 0x60CE JUMP JUMPDEST SWAP1 PUSH1 0x16 SLOAD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP1 PUSH1 0x18 SLOAD SWAP4 DUP3 DUP3 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1C DUP4 MSTORE PUSH1 0x40 SWAP4 PUSH3 0x61A8 PUSH3 0x61A2 DUP7 DUP5 KECCAK256 SWAP9 PUSH3 0x6198 DUP9 MLOAD SWAP11 PUSH3 0x618A DUP13 PUSH3 0x4BFF JUMP JUMPDEST DUP6 DUP13 MSTORE DUP3 DUP10 DUP14 ADD MSTORE PUSH3 0x58CD JUMP JUMPDEST DUP9 DUP12 ADD MSTORE PUSH3 0x6AE9 JUMP JUMPDEST PUSH3 0x758B JUMP JUMPDEST DUP7 PUSH1 0x1D SLOAD AND SWAP9 PUSH1 0x1E SLOAD SWAP9 PUSH3 0x61BF DUP4 MLOAD MLOAD PUSH3 0x7030 JUMP JUMPDEST SWAP9 DUP6 JUMPDEST DUP5 MLOAD DUP1 MLOAD DUP3 LT ISZERO PUSH3 0x6263 JUMPI SWAP1 DUP12 PUSH3 0x6256 DUP3 DUP14 DUP14 PUSH3 0x623D PUSH3 0x61EB DUP5 PUSH3 0x625D SWAP10 PUSH3 0x587B JUMP JUMPDEST MLOAD DUP4 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP6 MSTORE DUP4 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH3 0x624C DUP2 PUSH3 0x4C39 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x587B JUMP JUMPDEST MSTORE PUSH3 0x7085 JUMP JUMPDEST PUSH3 0x61C2 JUMP JUMPDEST POP POP SWAP4 SWAP9 SWAP1 SWAP5 SWAP10 SWAP3 SWAP7 SWAP2 SWAP6 SWAP11 DUP9 MLOAD SWAP1 DUP9 DUP5 DUP4 ADD DUP14 DUP2 DUP8 DUP8 MLOAD SWAP2 SWAP8 ADD SWAP2 JUMPDEST DUP9 DUP3 DUP3 LT PUSH3 0x64EA JUMPI POP POP POP POP PUSH3 0x634C SWAP1 DUP5 PUSH3 0x63A0 SWAP7 SUB SWAP5 PUSH3 0x62CC PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP7 DUP8 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x633F DUP14 DUP1 DUP10 DUP7 ADD MLOAD SWAP6 ADD MLOAD SWAP1 MLOAD SWAP5 DUP6 SWAP4 DUP11 DUP6 ADD SWAP8 DUP9 SWAP1 SWAP5 SWAP4 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x80 SWAP4 PUSH1 0xA0 DUP5 ADD SWAP8 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP6 MSTORE PUSH1 0x20 DUP6 ADD MSTORE AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x6393 DUP11 MLOAD SWAP5 DUP6 SWAP3 DUP4 ADD SWAP7 DUP8 SWAP1 SWAP2 PUSH1 0x42 SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x2 DUP4 ADD MSTORE PUSH1 0x22 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 DUP6 MLOAD SWAP1 PUSH32 0xE341EAA400000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 PUSH1 0x60 DUP2 PUSH1 0x44 DUP2 DUP6 GAS STATICCALL DUP1 ISZERO PUSH3 0x409 JUMPI SWAP1 PUSH3 0x6439 SWAP2 DUP11 DUP12 SWAP3 DUP13 SWAP3 PUSH3 0x2432 JUMPI POP PUSH1 0xF8 SHL PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 AND SWAP2 PUSH3 0x7544 JUMP JUMPDEST SWAP7 DUP2 EXTCODESIZE ISZERO PUSH3 0x630 JUMPI DUP9 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP10 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x3E5 JUMPI PUSH3 0x64D4 JUMPI JUMPDEST POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI SWAP1 DUP7 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x5AF2 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST PUSH3 0x64E2 SWAP1 SWAP8 SWAP2 SWAP8 PUSH3 0x4BEA JUMP JUMPDEST SWAP6 CODESIZE PUSH3 0x6486 JUMP JUMPDEST DUP4 MLOAD DUP10 MSTORE SWAP8 DUP9 ADD SWAP8 DUP15 SWAP6 POP SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH3 0x6280 JUMP JUMPDEST PUSH1 0x16 SLOAD PUSH1 0x0 SWAP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI PUSH1 0x40 SWAP3 DUP4 MLOAD PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH3 0x663B JUMPI JUMPDEST POP PUSH1 0x1D SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 SWAP2 PUSH1 0x24 DUP4 SWAP3 DUP7 MLOAD SWAP5 DUP6 SWAP4 DUP5 SWAP3 PUSH32 0x61AB0BC00000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xA6A JUMPI SWAP1 DUP5 SWAP2 PUSH3 0x6623 JUMPI JUMPDEST POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI SWAP1 DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST PUSH3 0x662E SWAP1 PUSH3 0x4BEA JUMP JUMPDEST PUSH3 0x1B74 JUMPI DUP3 CODESIZE PUSH3 0x65D6 JUMP JUMPDEST PUSH3 0x6649 SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x6581 JUMP JUMPDEST PUSH3 0x665B PUSH3 0x6782 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x17 SLOAD SWAP4 PUSH1 0x0 SWAP5 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x3C9 JUMPI DUP7 DUP1 SWAP2 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0xCA669FA700000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP9 AND PUSH1 0x4 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6755 JUMPI PUSH3 0x673F JUMPI JUMPDEST POP PUSH1 0x1D SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x156A JUMPI SWAP1 DUP6 DUP1 SWAP5 SWAP4 SWAP3 PUSH3 0x672B PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x1BD747A200000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD PUSH3 0x608A JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH3 0x6002 JUMPI PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST PUSH3 0x674D SWAP1 SWAP7 SWAP2 SWAP7 PUSH3 0x4BEA JUMP JUMPDEST SWAP5 CODESIZE PUSH3 0x66DC JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP10 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH3 0x676F DUP3 PUSH3 0x4BFF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 PUSH1 0x60 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH3 0x6792 DUP2 PUSH3 0x4BFF JUMP JUMPDEST DUP3 PUSH1 0x0 SWAP2 DUP3 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP4 DUP3 DUP3 ADD MSTORE PUSH1 0x60 SWAP6 DUP7 SWAP2 ADD MSTORE PUSH3 0x67B2 PUSH3 0x6760 JUMP JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x17 SLOAD AND PUSH3 0x680E PUSH3 0x61A2 PUSH1 0x19 SLOAD SWAP3 DUP1 DUP9 MSTORE PUSH1 0x1C DUP7 MSTORE PUSH3 0x6803 DUP8 DUP10 KECCAK256 DUP9 MLOAD SWAP3 PUSH3 0x67F6 DUP5 PUSH3 0x4BFF JUMP JUMPDEST DUP4 MSTORE DUP6 DUP9 DUP5 ADD MSTORE PUSH3 0x58CD JUMP JUMPDEST DUP8 DUP3 ADD MSTORE SWAP3 PUSH3 0x6AE9 JUMP JUMPDEST SWAP7 PUSH1 0x1D SLOAD AND SWAP7 PUSH1 0x1E SLOAD SWAP7 PUSH3 0x6825 DUP3 MLOAD MLOAD PUSH3 0x7030 JUMP JUMPDEST SWAP7 DUP1 JUMPDEST DUP4 MLOAD DUP1 MLOAD DUP3 LT ISZERO PUSH3 0x68BF JUMPI SWAP1 PUSH3 0x6845 DUP2 PUSH3 0x68B9 SWAP4 PUSH3 0x587B JUMP JUMPDEST MLOAD DUP10 MLOAD PUSH3 0x689C DUP11 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE DUP13 DUP4 ADD SWAP1 PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST DUP9 DUP2 MSTORE PUSH3 0x68AA DUP2 PUSH3 0x4C39 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH3 0x6256 DUP3 DUP13 PUSH3 0x587B JUMP JUMPDEST PUSH3 0x6828 JUMP JUMPDEST POP POP SWAP6 SWAP5 SWAP2 SWAP8 SWAP3 SWAP9 SWAP7 SWAP1 SWAP7 DUP6 MLOAD SWAP1 DUP10 DUP5 DUP4 ADD DUP1 DUP7 DUP7 MLOAD SWAP2 SWAP7 ADD SWAP1 DUP12 JUMPDEST DUP9 DUP3 DUP3 LT PUSH3 0x6AD1 JUMPI POP POP POP POP PUSH3 0x6999 SWAP1 DUP5 PUSH3 0x69E0 SWAP7 SUB SWAP5 PUSH3 0x6927 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP7 DUP8 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x633F DUP11 DUP9 DUP6 ADD MLOAD SWAP5 ADD MLOAD DUP12 MLOAD SWAP5 DUP6 SWAP4 DUP11 DUP6 ADD SWAP8 DUP9 SWAP1 SWAP5 SWAP4 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x80 SWAP4 PUSH1 0xA0 DUP5 ADD SWAP8 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP6 MSTORE PUSH1 0x20 DUP6 ADD MSTORE AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH3 0x6393 DUP8 MLOAD SWAP5 DUP6 SWAP3 DUP4 ADD SWAP7 DUP8 SWAP1 SWAP2 PUSH1 0x42 SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x2 DUP4 ADD MSTORE PUSH1 0x22 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 DUP3 MLOAD SWAP1 PUSH32 0xE341EAA400000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH3 0xA11CE PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD MSTORE DUP2 DUP2 PUSH1 0x44 DUP2 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D GAS STATICCALL SWAP3 DUP4 ISZERO PUSH3 0x6AC8 JUMPI POP PUSH3 0x4E57 SWAP4 SWAP3 DUP4 SWAP3 DUP4 SWAP3 SWAP2 PUSH3 0x6A7B JUMPI JUMPDEST POP POP PUSH1 0xF8 SHL PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 AND SWAP2 PUSH3 0x7544 JUMP JUMPDEST PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP5 POP PUSH3 0x6ABC SWAP4 POP DUP1 SWAP2 SWAP3 POP SWAP1 RETURNDATASIZE LT PUSH3 0x2488 JUMPI PUSH3 0x2474 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST SWAP3 SWAP1 SWAP3 SWAP2 SWAP1 CODESIZE PUSH3 0x6A4D JUMP JUMPDEST MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP4 MLOAD DUP10 MSTORE SWAP8 DUP9 ADD SWAP8 DUP16 SWAP6 POP SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH3 0x68DB JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH3 0x6AFA DUP3 PUSH3 0x4BFF JUMP JUMPDEST PUSH1 0x2 DUP3 MSTORE PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT PUSH3 0x6B8C JUMPI POP POP SWAP1 PUSH3 0x6B89 SWAP2 DUP2 SWAP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x15 SLOAD AND PUSH1 0x25 SLOAD DUP5 MLOAD SWAP2 PUSH3 0x6B3F DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x6B51 DUP6 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x6B5D DUP5 PUSH3 0x581C JUMP JUMPDEST POP PUSH1 0x14 SLOAD AND SWAP2 MLOAD SWAP2 PUSH3 0x6B70 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x6B82 DUP3 PUSH3 0x5859 JUMP JUMPDEST MSTORE PUSH3 0x5859 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH3 0x6B9C DUP2 PUSH3 0x4C1C JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP8 ADD ADD MSTORE ADD PUSH3 0x6B02 JUMP JUMPDEST PUSH3 0x6BBB PUSH3 0x5B5D JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x16 SLOAD AND PUSH3 0x6BE7 PUSH1 0x18 SLOAD PUSH1 0x19 SLOAD SWAP1 PUSH3 0x5B4F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 PUSH3 0x6BF6 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x6C08 DUP5 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x6C14 DUP4 PUSH3 0x581C JUMP JUMPDEST POP PUSH1 0x17 SLOAD AND PUSH1 0x40 MLOAD SWAP1 PUSH3 0x6C28 DUP3 PUSH3 0x4C1C JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x6C3C DUP4 PUSH3 0x5859 JUMP JUMPDEST MSTORE PUSH3 0x6B89 DUP3 PUSH3 0x5859 JUMP JUMPDEST PUSH1 0x4 DUP2 LT ISZERO PUSH3 0xD4D JUMPI PUSH1 0x2 DUP2 SUB PUSH3 0x6C5E JUMPI POP JUMP JUMPDEST PUSH3 0x51CE PUSH1 0x40 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP3 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2D PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B416772 DUP5 DUP3 ADD MSTORE PUSH32 0x65656D656E745374617475735D00000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0x6D1E DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 DUP7 ADD MSTORE DUP5 PUSH32 0xB2DE2FBE801A0DF6C0CBDDFD448BA3C41D48A040CA35C56C8196EF0FCAE721A8 SWAP6 DUP7 SWAP3 SUB SWAP1 LOG1 DUP2 MLOAD SWAP3 DUP3 DUP5 SWAP4 DUP5 MSTORE DUP4 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020202041637475616C00000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 SWAP3 PUSH3 0xBA0 PUSH3 0x6DB3 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 MLOAD AND PUSH3 0x507D JUMP JUMPDEST ADD MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0xD4D JUMPI PUSH1 0x1 DUP2 SUB PUSH3 0x6DCB JUMPI POP JUMP JUMPDEST PUSH3 0x51CE PUSH1 0x40 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP3 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2C PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B506F73 DUP5 DUP3 ADD MSTORE PUSH32 0x6974696F6E5374617475735D0000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0x1770 DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 SWAP3 PUSH3 0xBA0 PUSH3 0x6EB6 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 MLOAD AND PUSH3 0x507D JUMP JUMPDEST ADD MLOAD PUSH1 0x5 DUP2 LT ISZERO PUSH3 0xD4D JUMPI PUSH1 0x2 DUP2 SUB PUSH3 0x6ECE JUMPI POP JUMP JUMPDEST PUSH3 0x51CE PUSH1 0x40 PUSH32 0x41304FACD9323D75B11BCDD609CB38EFFFFDB05710F7CAF0E9B16C6D9D709F50 PUSH1 0x80 DUP3 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH1 0x2C PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x4572726F723A2061203D3D2062206E6F7420736174697366696564205B506F73 DUP5 DUP3 ADD MSTORE PUSH32 0x6974696F6E5374617475735D0000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE LOG1 DUP1 MLOAD SWAP3 DUP2 DUP5 MSTORE PUSH3 0x6D1E DUP3 DUP6 ADD PUSH1 0x40 SWAP1 PUSH1 0xA DUP2 MSTORE PUSH32 0x2020457870656374656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x4 DUP5 ADD MSTORE AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x7024 JUMPI PUSH1 0x0 SWAP2 PUSH3 0x6FF1 JUMPI POP SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP3 RETURNDATASIZE DUP3 GT PUSH3 0x701B JUMPI JUMPDEST DUP2 PUSH3 0x700D PUSH1 0x20 SWAP4 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x3BD JUMPI POP MLOAD SWAP1 JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0x6FFE JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH3 0x703C DUP3 PUSH3 0x4C98 JUMP JUMPDEST PUSH3 0x704B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH3 0x4C56 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH3 0x707B DUP3 SWAP5 PUSH3 0x4C98 JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH3 0x589E JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH3 0x70D4 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH3 0x70C5 JUMP JUMPDEST PUSH3 0x70F5 DUP2 MLOAD PUSH3 0x7030 JUMP JUMPDEST SWAP1 PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0x71BB JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH3 0x7129 PUSH3 0x71B5 SWAP4 DUP6 PUSH3 0x587B JUMP JUMPDEST MLOAD MLOAD AND PUSH1 0x20 PUSH3 0x71A6 DUP2 PUSH3 0x713F DUP6 DUP9 PUSH3 0x587B JUMP JUMPDEST MLOAD ADD MLOAD SWAP2 PUSH3 0x7179 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 ADD SWAP6 DUP7 PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 DUP3 ADD SWAP6 AND DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH3 0x4C56 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH3 0x6256 DUP3 DUP7 PUSH3 0x587B JUMP JUMPDEST PUSH3 0x70F9 JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0x73D9 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x1A SLOAD AND PUSH1 0x40 DUP1 MLOAD SWAP3 PUSH32 0xB861619500000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 SWAP4 DUP3 DUP6 DUP3 ADD MSTORE PUSH1 0x0 DUP2 PUSH3 0x7225 PUSH1 0x44 DUP3 ADD DUP12 PUSH3 0x70B3 JUMP JUMPDEST SWAP6 DUP2 DUP1 PUSH1 0x24 SWAP9 DUP12 DUP11 DUP4 ADD MSTORE SUB SWAP2 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x73CE JUMPI PUSH1 0x0 SWAP2 PUSH3 0x7333 JUMPI JUMPDEST POP SWAP1 PUSH3 0x7253 DUP7 DUP9 PUSH3 0x587B JUMP JUMPDEST MLOAD MLOAD AND PUSH1 0x0 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1C DUP4 MSTORE PUSH1 0x0 KECCAK256 SWAP3 DUP2 MLOAD SWAP5 PUSH8 0xFFFFFFFFFFFFFFFF DUP7 GT PUSH3 0x7307 JUMPI PUSH9 0x10000000000000000 DUP7 GT PUSH3 0x7307 JUMPI POP POP DUP2 SWAP1 DUP4 SLOAD DUP6 DUP6 SSTORE DUP1 DUP7 LT PUSH3 0x72D9 JUMPI JUMPDEST POP ADD SWAP2 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 JUMPDEST DUP5 DUP2 LT PUSH3 0x72C6 JUMPI POP POP POP POP POP PUSH3 0x72C0 SWAP1 PUSH3 0x7085 JUMP JUMPDEST PUSH3 0x71BF JUMP JUMPDEST DUP4 MLOAD DUP4 DUP3 ADD SSTORE SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH3 0x72A8 JUMP JUMPDEST DUP5 PUSH1 0x0 MSTORE DUP6 DUP4 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD SWAP2 ADD JUMPDEST DUP2 DUP2 LT PUSH3 0x72F7 JUMPI POP PUSH3 0x729A JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x72E8 JUMP JUMPDEST PUSH1 0x41 SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST RETURNDATASIZE DUP1 DUP4 DUP4 RETURNDATACOPY PUSH3 0x7344 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 SWAP2 DUP3 DUP2 DUP4 SUB SLT PUSH3 0x1B70 JUMPI DUP1 MLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH3 0x12C4 JUMPI ADD DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH3 0x1B70 JUMPI DUP1 MLOAD SWAP1 PUSH3 0x7381 DUP3 PUSH3 0x4C98 JUMP JUMPDEST SWAP5 PUSH3 0x7390 DUP9 MLOAD SWAP7 DUP8 PUSH3 0x4C56 JUMP JUMPDEST DUP3 DUP7 MSTORE DUP5 DUP1 DUP8 ADD SWAP4 PUSH1 0x5 SHL DUP4 ADD ADD SWAP4 DUP5 GT PUSH3 0x3BD JUMPI POP DUP4 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH3 0x73BE JUMPI POP POP POP POP CODESIZE PUSH3 0x7245 JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE SWAP1 DUP4 ADD SWAP1 DUP4 ADD PUSH3 0x73AB JUMP JUMPDEST DUP4 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP POP PUSH1 0x20 PUSH3 0x7437 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1A SLOAD AND PUSH1 0x40 MLOAD DUP1 DUP1 SWAP6 DUP2 SWAP5 PUSH32 0x2E08D60200000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP7 PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP1 PUSH3 0x70B3 JUMP JUMPDEST SUB SWAP2 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH3 0x7024 JUMPI PUSH1 0x0 SWAP2 PUSH3 0x7452 JUMPI JUMPDEST POP PUSH1 0x1B SSTORE JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP3 RETURNDATASIZE DUP3 GT PUSH3 0x7480 JUMPI JUMPDEST DUP2 PUSH3 0x746E PUSH1 0x20 SWAP4 DUP4 PUSH3 0x4C56 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH3 0x3BD JUMPI POP MLOAD CODESIZE PUSH3 0x744C JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH3 0x745F JUMP JUMPDEST PUSH3 0x51E1 PUSH3 0x7497 PUSH3 0x5B5D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x16 SLOAD AND PUSH1 0x18 SLOAD PUSH1 0x40 MLOAD SWAP2 PUSH3 0x74C3 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x74D5 DUP4 PUSH3 0x581C JUMP JUMPDEST MSTORE PUSH3 0x74E1 DUP3 PUSH3 0x581C JUMP JUMPDEST POP PUSH1 0x17 SLOAD AND PUSH1 0x19 SLOAD PUSH1 0x40 MLOAD SWAP2 PUSH3 0x74F8 DUP4 PUSH3 0x4C1C JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH3 0x750A DUP3 PUSH3 0x5859 JUMP JUMPDEST MSTORE PUSH3 0x7516 DUP2 PUSH3 0x5859 JUMP JUMPDEST POP PUSH3 0x70E9 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x60 SWAP2 SUB SLT PUSH3 0x1B6B JUMPI DUP1 MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x1B6B JUMPI SWAP2 PUSH1 0x40 PUSH1 0x20 DUP4 ADD MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP2 PUSH1 0x40 MLOAD SWAP5 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x41 DUP3 MSTORE PUSH3 0x51E1 DUP3 PUSH3 0x4C39 JUMP JUMPDEST PUSH3 0x7595 PUSH3 0x6760 JUMP JUMPDEST POP DUP1 MLOAD SWAP1 PUSH3 0x75A4 DUP3 PUSH3 0x4C98 JUMP JUMPDEST SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH3 0x75E4 PUSH1 0x40 SWAP3 PUSH3 0x75DB DUP5 MLOAD SWAP7 DUP8 PUSH3 0x4C56 JUMP JUMPDEST DUP1 DUP7 MSTORE PUSH3 0x4C98 JUMP JUMPDEST ADD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x76A1 JUMPI POP POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH3 0x7674 JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH3 0x7625 PUSH3 0x766E SWAP4 DUP7 PUSH3 0x587B JUMP JUMPDEST MLOAD MLOAD AND PUSH1 0x20 DUP1 PUSH3 0x7637 DUP5 DUP9 PUSH3 0x587B JUMP JUMPDEST MLOAD ADD MLOAD SWAP1 DUP6 MLOAD SWAP3 PUSH3 0x7649 DUP5 PUSH3 0x4C1C JUMP JUMPDEST DUP4 MSTORE DUP3 ADD MSTORE PUSH3 0x765A DUP3 DUP8 PUSH3 0x587B JUMP JUMPDEST MSTORE PUSH3 0x7667 DUP2 DUP7 PUSH3 0x587B JUMP JUMPDEST POP PUSH3 0x7085 JUMP JUMPDEST PUSH3 0x75F5 JUMP JUMPDEST POP SWAP1 POP PUSH1 0x64 TIMESTAMP ADD SWAP1 DUP2 TIMESTAMP GT PUSH3 0x589E JUMPI DUP1 MLOAD SWAP3 PUSH3 0x7692 DUP5 PUSH3 0x4BFF JUMP JUMPDEST DUP4 MSTORE PUSH1 0x0 PUSH1 0x20 DUP5 ADD MSTORE DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH3 0x76B1 DUP2 PUSH3 0x4C1C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH3 0x75E8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x22CA SWAP1 DUP2 DUP4 ADD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP6 LT DUP5 DUP7 GT OR PUSH3 0x2490 JUMPI PUSH3 0x7B82 DUP3 CODECOPY DUP1 PUSH1 0x0 SWAP5 SUB SWAP1 DUP5 CREATE SWAP3 DUP4 ISZERO PUSH3 0x78CA JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP6 AND DUP6 PUSH1 0x13 SLOAD AND OR PUSH1 0x13 SSTORE DUP3 MLOAD SWAP1 PUSH2 0x12BF DUP1 DUP4 ADD SWAP3 DUP1 DUP5 LT DUP4 DUP6 GT OR PUSH3 0x7893 JUMPI PUSH1 0xE0 DUP2 PUSH3 0x9E4C SWAP6 DUP5 DUP8 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20410000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5441000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP10 DUP3 ADD MSTORE SUB ADD SWAP1 DUP6 CREATE DUP1 ISZERO PUSH3 0x78C0 JUMPI DUP7 AND DUP8 PUSH1 0x14 SLOAD AND OR PUSH1 0x14 SSTORE DUP5 MLOAD SWAP3 DUP2 DUP5 ADD SWAP3 DUP5 DUP5 LT SWAP1 DUP5 GT OR PUSH3 0x7893 JUMPI SWAP2 DUP4 SWAP2 PUSH1 0xE0 SWAP4 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20420000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5442000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP7 DUP3 ADD MSTORE SUB ADD SWAP1 DUP3 CREATE SWAP2 DUP3 ISZERO PUSH3 0x7889 JUMPI POP POP AND SWAP1 PUSH1 0x15 SLOAD AND OR PUSH1 0x15 SSTORE JUMP JUMPDEST MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP6 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x14 SLOAD SWAP1 PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x1B70 JUMPI PUSH1 0x40 MLOAD SWAP2 DUP1 PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 SWAP3 DUP4 DUP6 MSTORE AND SWAP3 DUP4 PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x44 DUP2 DUP4 PUSH9 0x246DDF97976680000 SWAP10 DUP11 PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x79A5 JUMPI PUSH3 0x798F JUMPI JUMPDEST POP PUSH1 0x15 SLOAD AND DUP1 EXTCODESIZE ISZERO PUSH3 0x12C4 JUMPI DUP5 SWAP3 SWAP2 DUP4 PUSH1 0x44 SWAP3 PUSH1 0x40 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6002 JUMPI PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST PUSH3 0x799D SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 CODESIZE PUSH3 0x7955 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE ISZERO PUSH3 0x1B6B JUMPI PUSH1 0x40 SWAP2 DUP3 MLOAD SWAP4 PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x0 SWAP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP9 GAS CALL DUP1 ISZERO PUSH3 0x2771 JUMPI PUSH3 0x7B69 JUMPI JUMPDEST POP SWAP1 DUP2 DUP6 SWAP3 PUSH1 0x14 SLOAD AND SWAP2 DUP6 MLOAD SWAP2 DUP1 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP3 DUP4 DUP6 MSTORE AND SWAP3 DUP4 PUSH1 0x4 DUP3 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x24 DUP4 ADD MSTORE DUP2 PUSH1 0x44 DUP2 PUSH1 0x20 SWAP10 DUP11 SWAP5 GAS CALL DUP1 ISZERO PUSH3 0x4BA4 JUMPI PUSH1 0x44 SWAP3 DUP8 SWAP6 SWAP5 SWAP3 DUP12 SWAP3 PUSH3 0x7B47 JUMPI JUMPDEST POP PUSH1 0x15 SLOAD AND DUP10 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0xF32 JUMPI PUSH3 0x7B24 JUMPI POP POP DUP1 EXTCODESIZE ISZERO PUSH3 0x1B74 JUMPI SWAP1 DUP3 DUP1 SWAP3 PUSH1 0x4 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x3C0 JUMPI POP PUSH3 0x5B08 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH3 0x7B3E SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE DUP1 PUSH3 0x65D6 JUMP JUMPDEST PUSH3 0x7B61 SWAP1 DUP8 RETURNDATASIZE DUP10 GT PUSH3 0x2D64 JUMPI PUSH3 0x2D52 DUP2 DUP4 PUSH3 0x4C56 JUMP JUMPDEST POP CODESIZE PUSH3 0x7AB1 JUMP JUMPDEST PUSH3 0x7B78 SWAP1 SWAP6 SWAP2 SWAP3 SWAP6 PUSH3 0x4BEA JUMP JUMPDEST SWAP4 SWAP1 CODESIZE PUSH3 0x7A2D JUMP INVALID PUSH1 0xC0 CALLVALUE PUSH2 0xBB JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA5 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x2209 SWAP1 DUP2 PUSH2 0xC1 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x18B0 ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0x188A ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0x10C8 JUMPI DUP1 PUSH4 0x137C29FE EQ PUSH2 0xEEF JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0xC4F JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x9B2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x98F JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x938 JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x8D6 JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x716 JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0xCC53287F EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x31C JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x318 JUMPI PUSH1 0xC0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0xF6 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x10D SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x143A JUMP JUMPDEST PUSH2 0x115 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x30C JUMPI PUSH2 0x12D SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x308 JUMPI PUSH2 0x146 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x155 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x204 PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x23D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x24D DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2DB JUMPI POP POP PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0x2CF SWAP2 DUP4 MLOAD PUSH2 0x282 DUP2 PUSH2 0x276 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x1A60 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0x2ED PUSH2 0x303 SWAP4 DUP13 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH2 0x2FD DUP3 DUP7 PUSH2 0x157E JUMP JUMPDEST MSTORE PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x250 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0x34F SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x366 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x143A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x371 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0x388 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x398 DUP10 PUSH2 0x1C24 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x441 JUMPI POP POP PUSH2 0x2D8 SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x3BD PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x2CF DUP2 PUSH2 0x1259 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2FD DUP3 PUSH2 0x458 PUSH2 0x2ED PUSH2 0x45E SWAP7 DUP14 MLOAD PUSH2 0x157E JUMP JUMPDEST SWAP3 PUSH2 0x157E JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x310 JUMPI PUSH2 0x49A SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x143A JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0x4AA JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0x4C0 PUSH2 0x4BB PUSH1 0x1 SWAP4 DUP9 DUP9 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0x16E5 JUMP JUMPDEST PUSH2 0x4D5 DUP5 PUSH2 0x4CF DUP5 DUP11 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD PUSH2 0x16E5 JUMP JUMPDEST CALLER DUP10 MSTORE DUP4 DUP6 MSTORE DUP6 DUP10 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 DUP12 MSTORE DUP7 MSTORE DUP7 DUP11 KECCAK256 SWAP2 AND SWAP1 DUP2 DUP11 MSTORE DUP6 MSTORE DUP6 DUP10 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE DUP6 MLOAD SWAP2 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 DUP6 CALLER SWAP3 LOG2 ADD PUSH2 0x49F JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x5FE DUP2 PUSH2 0x587 PUSH2 0x12DE JUMP JUMPDEST SWAP4 PUSH2 0x590 PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x598 PUSH2 0x1324 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 DUP8 AND DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP5 DUP5 KECCAK256 SWAP3 DUP9 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP8 AND DUP4 MSTORE DUP2 MSTORE SWAP2 SWAP1 KECCAK256 SLOAD SWAP3 MLOAD SWAP4 DUP4 AND DUP5 MSTORE PUSH1 0xA0 DUP4 SWAP1 SHR PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP5 ADD MSTORE PUSH1 0xD0 SWAP2 SWAP1 SWAP2 SHR PUSH1 0x40 DUP4 ADD MSTORE DUP2 SWAP1 PUSH1 0x60 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x61C PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x625 PUSH2 0x1301 JUMP JUMPDEST SWAP2 PUSH2 0x62E PUSH2 0x1324 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 AND SWAP1 DUP2 DUP2 SUB PUSH2 0x30C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP5 PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B SWAP5 CALLER DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP6 DUP12 KECCAK256 SWAP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP10 DUP11 DUP14 MSTORE PUSH1 0x20 MSTORE DUP4 DUP8 DUP14 KECCAK256 SWAP12 AND SWAP11 DUP12 DUP14 MSTORE PUSH1 0x20 MSTORE DUP7 DUP13 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x70E JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP8 DUP9 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST SWAP1 POP SWAP3 PUSH2 0x6ED JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x731 PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x73A PUSH2 0x1301 JUMP JUMPDEST SWAP3 PUSH6 0xFFFFFFFFFFFF PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND SWAP4 SWAP1 DUP5 DUP2 SUB PUSH2 0x30C JUMPI CALLER DUP9 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1 DUP4 MSTORE DUP5 DUP10 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP8 DUP9 DUP12 MSTORE DUP5 MSTORE DUP6 DUP11 KECCAK256 SWAP9 AND SWAP8 DUP9 DUP11 MSTORE DUP4 MSTORE DUP5 DUP10 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP4 DUP5 DUP8 GT ISZERO PUSH2 0x863 JUMPI PUSH2 0xFFFF SWAP1 DUP6 DUP5 SUB AND GT PUSH2 0x83C JUMPI POP SWAP1 PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 SWAP4 SWAP3 SWAP2 CALLER DUP10 MSTORE PUSH1 0x1 DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP8 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP9 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE DUP3 MLOAD SWAP5 DUP6 MSTORE DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST DUP5 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x8BD PUSH2 0x12DE JUMP JUMPDEST AND DUP2 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0x98C JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x98C JUMPI PUSH2 0x952 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x95A PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x962 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x310 JUMPI PUSH2 0x2D8 SWAP4 PUSH2 0x15C1 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x9AB PUSH2 0x1887 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x9D0 CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xA02 PUSH2 0x12B6 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xA90 JUMPI PUSH2 0x2D8 SWAP5 PUSH2 0xA25 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0xA32 DUP4 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0xA87 DUP2 PUSH2 0x1259 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0x198E JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0xAB0 PUSH2 0x12DE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD PUSH1 0xC0 DUP2 SLT PUSH2 0x314 JUMPI PUSH1 0x80 DUP6 MLOAD SWAP2 PUSH2 0xAE9 DUP4 PUSH2 0x1221 JUMP JUMPDEST SLT PUSH2 0x314 JUMPI DUP5 MLOAD SWAP1 PUSH2 0xAFA DUP3 PUSH2 0x11D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x30C JUMPI DUP9 DUP4 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP4 DUP3 DUP6 AND DUP6 SUB PUSH2 0xA90 JUMPI PUSH1 0x20 DUP3 ADD SWAP5 DUP6 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP8 DUP4 ADD DUP3 DUP2 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x308 JUMPI PUSH2 0xB96 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 DUP1 TIMESTAMP GT PUSH2 0xC20 JUMPI POP POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0xC16 SWAP6 PUSH2 0xBBB DUP9 MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP1 DUP10 DUP13 MLOAD AND SWAP1 MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP7 MSTORE DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x1942 JUMP JUMPDEST SWAP2 PUSH2 0x1E30 JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1706 JUMP JUMPDEST PUSH1 0x24 SWAP3 POP DUP11 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT SWAP4 DUP2 DUP6 CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xC6D PUSH2 0x12DE JUMP JUMPDEST SWAP3 PUSH1 0x24 SWAP1 DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP8 DUP9 DUP6 GT PUSH2 0x30C JUMPI DUP6 SWAP1 DUP6 CALLDATASIZE SUB ADD SLT PUSH2 0x463 JUMPI DUP1 MLOAD SWAP8 DUP6 DUP10 ADD DUP10 DUP2 LT DUP3 DUP3 GT OR PUSH2 0xEC4 JUMPI DUP3 MSTORE DUP5 DUP4 ADD CALLDATALOAD DUP2 DUP2 GT PUSH2 0x308 JUMPI DUP6 ADD SWAP1 CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x308 JUMPI DUP4 DUP3 ADD CALLDATALOAD SWAP2 PUSH2 0xCCA DUP4 PUSH2 0x140F JUMP JUMPDEST SWAP1 PUSH2 0xCD7 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP4 DUP3 MSTORE PUSH1 0x20 SWAP4 DUP8 DUP6 DUP5 ADD SWAP2 PUSH1 0x7 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xEC0 JUMPI DUP9 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xE63 JUMPI POP POP POP DUP11 MSTORE PUSH1 0x44 PUSH2 0xD0D DUP7 DUP9 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP7 DUP4 DUP13 ADD SWAP8 DUP9 MSTORE ADD CALLDATALOAD SWAP5 DUP4 DUP12 ADD SWAP2 DUP7 DUP4 MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xE5F JUMPI PUSH2 0xD35 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP6 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0xE34 JUMPI POP POP POP DUP10 SWAP9 SWAP10 MLOAD MLOAD PUSH2 0xD50 DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP12 JUMPDEST DUP2 DUP2 LT PUSH2 0xE11 JUMPI POP POP SWAP3 DUP9 SWAP5 SWAP3 PUSH2 0xC10 SWAP3 PUSH2 0xDDE SWAP8 SWAP6 DUP4 MLOAD PUSH2 0xD7C DUP2 PUSH2 0x3BD DUP7 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP11 DUP12 DUP12 MLOAD AND SWAP2 MLOAD SWAP3 DUP6 MLOAD SWAP5 DUP6 ADD SWAP6 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP8 MSTORE DUP6 ADD MSTORE DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD AND SWAP1 DUP3 MLOAD MLOAD SWAP3 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0xDF2 JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0xE0B DUP6 DUP6 PUSH2 0xE05 PUSH1 0x1 SWAP6 DUP8 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1706 JUMP JUMPDEST ADD PUSH2 0xDE7 JUMP JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0xE26 DUP15 SWAP16 SWAP15 SWAP4 PUSH2 0xE2C SWAP5 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP12 SWAP11 SWAP12 PUSH2 0xD53 JUMP JUMPDEST DUP6 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x80 DUP3 CALLDATASIZE SUB SLT PUSH2 0xEC0 JUMPI DUP6 PUSH1 0x80 SWAP2 DUP9 MLOAD PUSH2 0xE7C DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0xE85 DUP6 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xE92 DUP4 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xEA1 DUP11 DUP7 ADD PUSH2 0x1427 JUMP JUMPDEST DUP11 DUP3 ADD MSTORE DUP14 PUSH2 0xEB1 DUP2 DUP8 ADD PUSH2 0x1427 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP13 DUP1 REVERT JUMPDEST DUP5 DUP10 PUSH1 0x41 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x140 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0xF0C CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xF3E PUSH2 0x12B6 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0xF61 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x30C JUMPI PUSH2 0xF81 PUSH2 0xA87 SWAP7 PUSH2 0x2D8 SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0xF90 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x103F PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x1078 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x1086 DUP7 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x2C3 JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP3 GT PUSH2 0xA90 JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xA90 JUMPI DUP2 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x310 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP7 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x463 JUMPI DUP7 JUMPDEST DUP6 DUP2 LT PUSH2 0x1123 JUMPI DUP8 DUP1 RETURN JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x308 JUMPI PUSH2 0x11D0 DUP9 DUP8 PUSH1 0x1 SWAP5 PUSH1 0x60 DUP4 MLOAD PUSH2 0x116A DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x11A6 PUSH1 0x84 PUSH2 0x117A DUP14 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP5 DUP6 DUP5 MSTORE PUSH2 0x118A PUSH1 0x44 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP8 DUP6 ADD MSTORE PUSH2 0x119B PUSH1 0x64 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP9 DUP6 ADD MSTORE ADD PUSH2 0x1347 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0x15C1 JUMP JUMPDEST ADD PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x3 NOT ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x1383 DUP3 PUSH2 0x1221 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x12D9 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x11F2 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0x1486 DUP4 PUSH2 0x1221 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x12D9 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP1 CALLDATALOAD PUSH2 0x14B3 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 PUSH2 0x14C0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x1275 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x12D9 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1503 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x12D9 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD SWAP1 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x1550 JUMPI DUP11 SWAP3 DUP10 SWAP3 DUP5 MSTORE PUSH2 0x1534 DUP8 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0x14E6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 PUSH1 0x0 DUP3 DUP5 AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP3 DUP3 DUP3 KECCAK256 SWAP7 AND SWAP6 DUP7 DUP3 MSTORE PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 CALLER DUP3 MSTORE PUSH1 0x20 MSTORE KECCAK256 SWAP5 DUP6 SLOAD SWAP6 PUSH6 0xFFFFFFFFFFFF DUP8 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0x16A4 JUMPI POP DUP3 DUP8 AND SWAP7 DUP4 DUP9 SUB PUSH2 0x1632 JUMPI JUMPDEST POP POP PUSH2 0x1630 SWAP6 POP AND SWAP3 PUSH2 0x211C JUMP JUMPDEST JUMP JUMPDEST DUP8 DUP5 DUP5 AND GT PUSH1 0x0 EQ PUSH2 0x166F JUMPI PUSH1 0x24 DUP9 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP5 DUP5 PUSH2 0x1630 SWAP11 SUB AND SWAP2 AND OR SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x185E JUMPI SWAP2 DUP6 PUSH2 0x1837 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x183C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x17C9 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x18D2 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x194A PUSH2 0x1887 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1A2F JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0x19FE JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x19CE SWAP5 PUSH2 0x19C9 PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH2 0x1942 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI PUSH2 0x1630 SWAP4 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP6 SWAP1 SWAP4 SWAP6 DUP1 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP3 DUP4 DUP4 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1B80 JUMPI POP DUP5 DUP9 SUB PUSH2 0x1B57 JUMPI PUSH2 0x1A97 SWAP2 DUP7 SWAP2 PUSH2 0xC10 PUSH1 0x20 SWAP12 PUSH2 0x19C9 DUP14 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT PUSH2 0x1AAB JUMPI POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AB6 DUP2 DUP4 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD DUP9 PUSH2 0x1AC3 DUP4 DUP8 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP10 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0x1B27 JUMPI POP SWAP2 DUP2 DUP9 DUP9 DUP9 PUSH1 0x1 SWAP7 DUP6 SWAP7 PUSH2 0x1AED JUMPI JUMPDEST POP POP POP POP POP POP ADD PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x1B1C SWAP6 PUSH2 0x1B16 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x4BB SWAP4 MLOAD AND SWAP6 PUSH2 0x16D5 JUMP JUMPDEST SWAP2 PUSH2 0x211C JUMP JUMPDEST DUP1 CODESIZE DUP9 DUP9 DUP9 DUP4 PUSH2 0x1AE1 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP7 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP6 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0x1BFA JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x1C2E DUP3 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x1C3B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1275 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1C69 DUP3 SWAP5 PUSH2 0x140F JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1CA0 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1CE8 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1CDA JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x1D14 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x1D03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x1F97 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1F15 JUMPI PUSH2 0x1E4D DUP3 DUP3 ADD DUP3 PUSH2 0x1E1A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1F09 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x1EDF JUMPI AND SUB PUSH2 0x1EB5 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1F6D JUMPI PUSH2 0x1F29 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E1A JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x1CA0 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1E6B JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x2111 JUMPI DUP3 SWAP2 PUSH2 0x2093 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x2069 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x2109 JUMPI JUMPDEST DUP2 PUSH2 0x20AD PUSH1 0x20 SWAP4 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x318 JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x98C JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x203D JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x20A0 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x2175 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 SWAP9 0xBA CALLVALUE 0xBD COINBASE 0xCC 0xB3 CALLER SWAP5 SELFBALANCE PUSH32 0x24CCA6191C4FC58C8E7D9ADAE8E27920B835FF1D64736F6C6343000811003360 0xE0 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH3 0x43C JUMPI PUSH3 0x12BF DUP1 CODESIZE SUB DUP1 SWAP2 PUSH3 0x22 DUP3 DUP6 PUSH3 0x441 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD PUSH1 0x60 DUP3 DUP3 SUB SLT PUSH3 0x43C JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP4 SWAP1 DUP5 DUP2 GT PUSH3 0x43C JUMPI DUP3 PUSH3 0x53 SWAP2 DUP6 ADD PUSH3 0x465 JUMP JUMPDEST SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP3 ADD MLOAD DUP7 DUP2 GT PUSH3 0x43C JUMPI DUP4 SWAP2 PUSH3 0x72 SWAP2 DUP5 ADD PUSH3 0x465 JUMP JUMPDEST SWAP2 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x43C JUMPI DUP5 MLOAD SWAP5 DUP7 DUP7 GT PUSH3 0x426 JUMPI PUSH1 0x0 SWAP6 DUP1 PUSH3 0x9B DUP9 SLOAD PUSH3 0x4DC JUMP JUMPDEST SWAP3 PUSH1 0x1F SWAP4 DUP5 DUP2 GT PUSH3 0x3D5 JUMPI JUMPDEST POP DUP8 SWAP1 DUP5 DUP4 GT PUSH1 0x1 EQ PUSH3 0x36D JUMPI DUP10 SWAP3 PUSH3 0x361 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR DUP7 SSTORE JUMPDEST DUP3 MLOAD SWAP1 DUP8 DUP3 GT PUSH3 0x34D JUMPI DUP2 SWAP1 PUSH1 0x1 SWAP5 PUSH3 0xEF DUP7 SLOAD PUSH3 0x4DC JUMP JUMPDEST DUP3 DUP2 GT PUSH3 0x2F8 JUMPI JUMPDEST POP DUP8 SWAP2 DUP4 GT PUSH1 0x1 EQ PUSH3 0x294 JUMPI DUP9 SWAP3 PUSH3 0x288 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP4 SHL OR DUP3 SSTORE JUMPDEST PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE DUP2 MLOAD DUP5 SLOAD SWAP2 DUP2 DUP7 PUSH3 0x13A DUP6 PUSH3 0x4DC JUMP JUMPDEST SWAP3 DUP4 DUP4 MSTORE DUP8 DUP4 ADD SWAP6 DUP9 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH3 0x268 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0x228 JUMPI JUMPDEST POP PUSH3 0x16A SWAP3 POP SUB DUP3 PUSH3 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP2 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP6 MSTORE DUP3 DUP5 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP5 ADD MSTORE CHAINID PUSH1 0x80 DUP5 ADD MSTORE ADDRESS PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 MSTORE PUSH1 0xC0 DUP4 ADD SWAP5 DUP4 DUP7 LT SWAP1 DUP7 GT OR PUSH3 0x214 JUMPI POP DUP4 SWAP1 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0xC0 MSTORE PUSH2 0xDA5 SWAP1 DUP2 PUSH3 0x51A DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x77E ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xB97 ADD MSTORE PUSH1 0xC0 MLOAD DUP2 PUSH2 0xBBE ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP8 SWAP2 POP DUP9 DUP1 MSTORE DUP2 DUP10 KECCAK256 SWAP1 DUP10 SWAP2 JUMPDEST DUP6 DUP4 LT PUSH3 0x24F JUMPI POP POP PUSH3 0x16A SWAP4 POP DUP3 ADD ADD CODESIZE PUSH3 0x15B JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP10 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH3 0x235 JUMP JUMPDEST PUSH1 0xFF NOT AND DUP9 MSTORE PUSH3 0x16A SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH3 0x15B SWAP1 POP JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x10D JUMP JUMPDEST DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP7 SWAP5 POP SWAP2 SWAP1 PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x2E1 JUMPI POP POP DUP5 GT PUSH3 0x2C7 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP3 SSTORE PUSH3 0x121 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x2B9 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE DUP10 SWAP8 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH3 0x2A6 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 POP DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP4 DUP1 DUP7 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP8 LT PUSH3 0x343 JUMPI JUMPDEST SWAP2 DUP7 SWAP6 DUP10 SWAP3 SWAP6 SWAP5 SWAP4 ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x334 JUMPI POP POP PUSH3 0xF8 JUMP JUMPDEST DUP12 DUP2 SSTORE DUP7 SWAP6 POP DUP9 SWAP2 ADD PUSH3 0x324 JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x315 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xBE JUMP JUMPDEST DUP10 DUP1 MSTORE DUP9 DUP11 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x3BE JUMPI POP POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH3 0x3A4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP7 SSTORE PUSH3 0xD3 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x396 JUMP JUMPDEST PUSH1 0x1 DUP6 SWAP7 DUP3 SWAP4 SWAP7 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH3 0x37C JUMP JUMPDEST SWAP1 SWAP2 POP DUP9 DUP1 MSTORE DUP8 DUP10 KECCAK256 DUP5 DUP1 DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP7 LT PUSH3 0x41C JUMPI JUMPDEST SWAP1 DUP6 SWAP5 SWAP4 SWAP3 SWAP2 ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH3 0x40D JUMPI POP PUSH3 0xA8 JUMP JUMPDEST DUP11 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x3FE JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x3F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x426 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x43C JUMPI DUP3 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 SWAP2 PUSH3 0x4A1 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP5 ADD DUP6 PUSH3 0x441 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x43C JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x4C8 JUMPI POP DUP3 PUSH1 0x0 SWAP4 SWAP5 SWAP6 POP ADD ADD MSTORE SWAP1 JUMP JUMPDEST DUP6 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x4B2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x50E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F8 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4EC JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER PUSH1 0xA0 CALLVALUE PUSH3 0xCE JUMPI PUSH1 0x1F PUSH3 0x306C CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH3 0xD3 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x40 SWAP5 DUP6 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH3 0xCE JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 DUP3 AND DUP3 SUB PUSH3 0xCE JUMPI PUSH1 0x20 ADD MLOAD SWAP2 DUP3 AND DUP1 SWAP3 SUB PUSH3 0xCE JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP4 OR DUP2 SSTORE PUSH1 0x40 MLOAD SWAP3 SWAP1 CALLER SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP1 LOG3 PUSH1 0x1 PUSH1 0x2 SSTORE PUSH1 0x80 MSTORE PUSH2 0x2F82 SWAP1 DUP2 PUSH3 0xEA DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x389 ADD MSTORE DUP2 DUP2 PUSH2 0x1F5C ADD MSTORE PUSH2 0x24BE ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x61AB0BC EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x12261EE7 EQ PUSH2 0x15E JUMPI DUP1 PUSH4 0x186799A4 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0x1BD747A2 EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x323A5E0B EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0x33099405 EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x5541E684 EQ PUSH2 0x128 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x8135FE23 EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x8F34A859 EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0xA37EE28C EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xAB4F5678 EQ PUSH2 0xF2 JUMPI DUP1 PUSH4 0xAC41B751 EQ PUSH2 0xE9 JUMPI DUP1 PUSH4 0xAF0F9DF3 EQ PUSH2 0xE0 JUMPI PUSH4 0xF2FDE38B EQ PUSH2 0xD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x17F0 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x16AC JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x157F JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1425 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1307 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x1129 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x10F4 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xF2C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xEF7 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xE3C JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xB52 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0xA5E JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x908 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x7FA JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x3AD JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x35B JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x190 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x199 DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x1AA PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x1 SWAP1 PUSH2 0x2B9 PUSH2 0x1BC PUSH2 0x206C JUMP JUMPDEST SWAP2 PUSH2 0x1EA CALLER PUSH1 0x8 DUP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x0 PUSH1 0x2 DUP6 ADD PUSH2 0x225 PUSH1 0x6 DUP3 SLOAD SWAP6 ADD PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x257 PUSH1 0x3 DUP8 ADD PUSH1 0x4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST SSTORE PUSH2 0x2B3 PUSH1 0x40 PUSH2 0x297 PUSH2 0x27E DUP5 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x2717 JUMP JUMPDEST ADD SLOAD DUP2 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x2FA CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x4 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 CALLER SWAP1 PUSH32 0xB67E3AC5AA7B56D61E366985EA94BE26DB935ECA5C55E0359FD36C5852B6FA39 PUSH1 0x0 DUP1 LOG3 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x3B278A7A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP2 SUB SLT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x3D0 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x3E8 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x3F0 PUSH2 0x206C JUMP JUMPDEST SWAP1 PUSH2 0x3FD PUSH2 0x1A6 DUP3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x524 JUMPI PUSH2 0x40E PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x4D7 SWAP2 PUSH2 0x4B5 PUSH2 0x446 CALLER PUSH1 0x8 DUP6 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP4 PUSH2 0x48B PUSH1 0x3 DUP7 SLOAD SWAP4 PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 DUP2 SLOAD SWAP11 SSTORE SSTORE ADD PUSH1 0x3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E PUSH1 0x3 CALLER SWAP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2717 JUMP JUMPDEST PUSH2 0x4B0 PUSH2 0x27E CALLER SWAP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 CALLER SWAP3 DUP1 PUSH2 0x515 DUP2 SWAP1 PUSH1 0x3 PUSH1 0x20 PUSH1 0x40 DUP5 ADD SWAP4 PUSH1 0x0 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x522 PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xA3B1C9DE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x60 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x60 SWAP2 SUB SLT PUSH2 0xE JUMPI SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x5DF PUSH2 0x58B JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x5D7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x600 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x69A DUP3 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x6D0 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x6D8 PUSH2 0x58B JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SUB PUSH2 0xE JUMPI JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x732 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x64 CALLDATALOAD PUSH2 0x73F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x84 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC PUSH1 0x40 SWAP2 ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x782 DUP3 PUSH2 0x5BB JUMP JUMPDEST DUP2 PUSH1 0x24 CALLDATALOAD PUSH2 0x78F DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 PUSH1 0x44 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0x7B3 DUP2 PUSH2 0x5BB JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 SWAP5 DUP1 CALLDATALOAD PUSH2 0x7C3 DUP2 PUSH2 0x6DD JUMP JUMPDEST DUP5 MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0xE JUMPI JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x3 NOT PUSH1 0x80 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xE JUMPI PUSH2 0x82F SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI PUSH1 0x60 SWAP1 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 DUP1 MLOAD SWAP3 PUSH2 0x854 DUP5 PUSH2 0x5E4 JUMP JUMPDEST DUP1 PUSH1 0x4 ADD CALLDATALOAD DUP6 DUP2 GT PUSH2 0xE JUMPI DUP2 ADD CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xE JUMPI PUSH1 0x4 DUP2 ADD CALLDATALOAD SWAP1 PUSH2 0x87C DUP3 PUSH2 0x6B6 JUMP JUMPDEST SWAP1 PUSH2 0x889 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x64C JUMP JUMPDEST DUP3 DUP3 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x24 DUP5 DUP5 ADD SWAP2 PUSH1 0x6 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP8 SWAP2 ADD SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x8EF JUMPI POP POP POP SWAP1 DUP7 MSTORE POP PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE PUSH1 0x44 ADD CALLDATALOAD SWAP1 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP3 DUP4 GT PUSH2 0xE JUMPI PUSH2 0x8E4 PUSH2 0x522 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP1 SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x1E66 JUMP JUMPDEST DUP6 SWAP1 PUSH2 0x8FB CALLDATASIZE DUP6 PUSH2 0x79B JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 DUP7 SWAP1 PUSH2 0x8AA JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x60 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND SWAP1 PUSH1 0x4 SLOAD SWAP1 PUSH1 0x5 SLOAD AND SWAP1 PUSH1 0x40 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE RETURN JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH2 0x997 PUSH2 0x952 JUMP JUMPDEST MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD MSTORE DUP1 DUP4 ADD MLOAD PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD SWAP1 PUSH1 0xC0 PUSH1 0x60 DUP5 ADD MSTORE DUP2 MLOAD SWAP2 DUP3 PUSH1 0xE0 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA49 JUMPI POP POP POP PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 PUSH2 0xA42 PUSH1 0xA0 PUSH2 0x100 SWAP7 PUSH1 0x0 DUP9 DUP6 DUP10 ADD ADD MSTORE PUSH2 0xA2D PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x80 DUP10 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x80 DUP2 ADD MLOAD DUP3 DUP9 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP7 ADD SWAP1 PUSH2 0x982 JUMP JUMPDEST ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH2 0x100 ADD MSTORE DUP3 ADD PUSH2 0x9C7 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0xA0 PUSH1 0x40 MLOAD PUSH2 0xA80 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE DUP3 PUSH1 0x60 DUP3 ADD MSTORE DUP3 PUSH1 0x80 DUP3 ADD MSTORE ADD MSTORE PUSH2 0xB4E PUSH2 0xAB7 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xB42 DUP2 SLOAD SWAP2 PUSH1 0x1 DUP2 ADD SLOAD SWAP1 PUSH2 0xB34 PUSH2 0xAE7 PUSH1 0x3 DUP4 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0xB12 PUSH1 0x2 PUSH1 0x4 DUP6 ADD SLOAD SWAP5 PUSH2 0xAFB DUP2 PUSH2 0x27E6 JUMP JUMPDEST SWAP7 PUSH2 0xB04 PUSH2 0x68D JUMP JUMPDEST SWAP10 DUP11 MSTORE PUSH1 0x20 DUP11 ADD MSTORE ADD PUSH2 0x18D6 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 DUP7 ADD MSTORE JUMP JUMPDEST PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD PUSH2 0x1999 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x99A JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 DUP1 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD SWAP2 DUP4 DUP4 GT PUSH2 0xE JUMPI CALLDATASIZE PUSH1 0x23 DUP5 ADD SLT ISZERO PUSH2 0xE JUMPI DUP3 DUP3 ADD CALLDATALOAD SWAP4 DUP5 GT PUSH2 0xE JUMPI PUSH1 0x24 DUP4 ADD SWAP3 PUSH1 0x24 CALLDATASIZE SWAP2 DUP7 PUSH1 0x6 SHL ADD ADD GT PUSH2 0xE JUMPI PUSH2 0xBCB PUSH2 0x27E PUSH1 0x1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST CALLER SUB PUSH2 0xE16 JUMPI PUSH2 0xBE5 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP3 PUSH2 0xBF7 PUSH2 0x1A6 PUSH1 0x6 DUP7 ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xDEF JUMPI PUSH2 0xC04 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0xDC8 JUMPI PUSH1 0x0 SWAP1 PUSH1 0x7 DUP6 ADD SWAP1 DUP2 SLOAD DUP8 SUB PUSH2 0xD9F JUMPI DUP3 JUMPDEST DUP8 DUP2 LT PUSH2 0xC80 JUMPI POP POP POP DUP3 DUP5 ADD SLOAD SUB PUSH2 0xC5A JUMPI POP POP PUSH1 0x5 ADD SSTORE PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST MLOAD PUSH32 0x595FA92300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH2 0xCAD PUSH2 0xC8D DUP3 DUP6 PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x3 SHL SHR AND SWAP1 JUMP JUMPDEST PUSH2 0xCC3 PUSH2 0x27E PUSH2 0xCBE DUP5 DUP13 DUP8 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x1BA3 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SUB PUSH2 0xD77 JUMPI SWAP1 DUP9 DUP11 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH2 0xD72 SWAP5 PUSH2 0xD24 PUSH2 0xD1E PUSH2 0xD19 DUP8 DUP8 DUP12 PUSH2 0x27C8 JUMP JUMPDEST PUSH2 0x2696 JUMP JUMPDEST DUP14 PUSH2 0x2DA4 JUMP JUMPDEST PUSH2 0xD3E PUSH1 0x20 SWAP10 DUP11 PUSH2 0xD36 DUP9 DUP9 DUP13 PUSH2 0x27C8 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 PUSH2 0x270A JUMP JUMPDEST SWAP9 PUSH2 0xD58 DUP7 PUSH2 0xD51 PUSH2 0xCBE DUP3 DUP10 DUP14 PUSH2 0x27C8 JUMP JUMPDEST SWAP7 DUP11 PUSH2 0x27C8 JUMP JUMPDEST DUP12 MLOAD SWAP2 ADD CALLDATALOAD DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 DUP3 ADD MSTORE SWAP4 AND SWAP3 PUSH1 0x40 SWAP1 LOG3 PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0xC1A JUMP JUMPDEST DUP7 DUP7 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP POP POP MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP MLOAD PUSH32 0x4E16946C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x40 MLOAD PUSH2 0xEAF DUP2 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0xEB8 CALLDATASIZE PUSH2 0x6FB JUMP JUMPDEST DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0xE4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH2 0xEEE PUSH2 0x522 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x7CC JUMP JUMPDEST SWAP2 PUSH1 0x4 CALLDATALOAD PUSH2 0x2388 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xF55 DUP2 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0xF5E DUP2 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0xF6B PUSH2 0x1A6 CALLER DUP4 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH1 0x8 DUP2 ADD SWAP1 PUSH1 0x2 PUSH2 0xFAD PUSH1 0x3 PUSH2 0xFA5 CALLER DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xFB6 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x1 PUSH2 0x1054 PUSH2 0x109D SWAP4 PUSH2 0x101F PUSH1 0x3 PUSH2 0xFF3 CALLER DUP5 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x5 DUP5 ADD PUSH2 0x102D DUP2 SLOAD PUSH2 0x26FC JUMP JUMPDEST SWAP1 SSTORE CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST ADD SLOAD DUP4 PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 PUSH1 0x40 MLOAD DUP1 PUSH2 0x1095 CALLER SWAP6 DUP3 PUSH1 0x20 PUSH1 0x2 SWAP2 SWAP4 SWAP3 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG3 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x10A3 JUMPI STOP JUMPDEST PUSH32 0xC1EFB9B165D126A4A64B456BEC4AB69B7BF85D85E16AA5ACDA227F2BA88126C4 PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xAF20EF4A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x0 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT DUP2 DUP2 CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x80 DUP3 PUSH1 0x4 ADD SWAP2 DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 DUP3 ADD CALLDATALOAD SWAP1 DUP2 ISZERO PUSH2 0x12DE JUMPI DUP4 MLOAD ADDRESS PUSH1 0x20 DUP3 ADD SWAP1 DUP2 MSTORE DUP3 CALLDATALOAD PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x60 DUP5 ADD MSTORE SWAP3 SWAP2 PUSH2 0x11BE DUP2 PUSH1 0x80 DUP2 ADD JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x64C JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x11D6 DUP6 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x1 DUP4 ADD DUP1 SLOAD PUSH2 0x12B5 JUMPI DUP4 PUSH2 0x1298 PUSH2 0x1290 DUP9 SWAP6 DUP9 SWAP6 PUSH2 0xB4E SWAP13 SWAP11 PUSH2 0x12A4 SWAP7 DUP14 SWAP12 PUSH32 0xF7CBEAC7C87F7E00FCF9440CF10B123FB3D766366A39EEB572C219C8EAC3AB46 SWAP12 SSTORE SSTORE PUSH2 0x128B PUSH1 0x64 PUSH1 0x44 DUP5 ADD SWAP4 PUSH2 0x123C PUSH2 0x1232 DUP7 DUP7 PUSH2 0x1BAD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP12 ADD PUSH2 0x1C52 JUMP JUMPDEST ADD SWAP6 PUSH1 0x3 PUSH2 0x1249 DUP9 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1BAD JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 DUP9 MLOAD SWAP6 DUP7 SWAP6 DUP7 PUSH2 0x1DC0 JUMP JUMPDEST SUB SWAP1 LOG2 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST PUSH1 0x4 DUP9 MLOAD PUSH32 0xD8876C2D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x133C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x57D JUMP JUMPDEST SWAP1 PUSH2 0x134B PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH2 0x13F1 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x136B CALLER DUP6 DUP4 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1373 PUSH2 0x206C JUMP JUMPDEST DUP1 MLOAD PUSH2 0x13A1 SWAP1 PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 ADD SWAP2 DUP3 MLOAD SWAP1 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13D8 PUSH1 0x20 PUSH2 0x13CA PUSH2 0x27E PUSH1 0x3 DUP7 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP7 ADD CALLDATALOAD DUP1 SWAP7 ADDRESS SWAP1 CALLER SWAP1 PUSH2 0x21E6 JUMP JUMPDEST PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST CALLER DUP2 MSTORE SWAP1 DUP6 PUSH1 0x20 DUP4 ADD MSTORE MLOAD SWAP2 PUSH2 0x2CA2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD PUSH2 0x515 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x1443 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x82B4290000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x5 GT ISZERO PUSH2 0x14EA JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x952 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 ADD SWAP1 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 SWAP3 MSTORE DUP1 PUSH1 0x40 DUP1 SWAP5 ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1529 JUMPI POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 DUP4 PUSH1 0x80 PUSH1 0x1 SWAP3 PUSH2 0x1572 DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP4 MSTORE DUP5 DUP2 ADD MLOAD DUP6 DUP5 ADD MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP5 ADD MSTORE PUSH1 0x60 DUP1 SWAP2 ADD MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST ADD SWAP7 ADD SWAP5 SWAP4 SWAP3 ADD SWAP1 PUSH2 0x151A JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH2 0x15A8 PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SWAP2 DUP3 SLOAD SWAP2 PUSH2 0x15B9 DUP4 PUSH2 0x19A5 JUMP JUMPDEST SWAP4 PUSH1 0x8 PUSH1 0x0 SWAP3 ADD SWAP2 JUMPDEST DUP5 DUP2 LT PUSH2 0x15D7 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH2 0xB4E DUP9 DUP3 PUSH2 0x14FF JUMP JUMPDEST DUP1 PUSH2 0x1619 PUSH2 0x1614 PUSH2 0x15EE PUSH2 0xC8D PUSH2 0x16A7 SWAP6 DUP8 PUSH2 0x1AC9 JUMP JUMPDEST DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1AFB JUMP JUMPDEST PUSH2 0x168C PUSH2 0x163A DUP3 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 DUP8 DUP2 ADD MLOAD SWAP1 PUSH1 0x40 DUP1 DUP3 ADD MLOAD SWAP1 PUSH1 0x60 DUP1 SWAP4 ADD MLOAD SWAP4 PUSH2 0x1657 DUP6 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x167E PUSH2 0x1662 PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP9 AND DUP9 MSTORE JUMP JUMPDEST DUP12 DUP8 ADD MSTORE DUP6 ADD MSTORE DUP4 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH2 0x1696 DUP3 DUP10 PUSH2 0x1B72 JUMP JUMPDEST MSTORE PUSH2 0x16A1 DUP2 DUP9 PUSH2 0x1B72 JUMP JUMPDEST POP PUSH2 0x1A5F JUMP JUMPDEST PUSH2 0x15C2 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x16CA DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH2 0x16D3 CALLDATASIZE PUSH2 0x54E JUMP JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x0 SLOAD AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH1 0x40 DUP2 PUSH2 0x174A PUSH2 0x179E SWAP4 CALLDATALOAD PUSH2 0x1709 DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x3 SLOAD AND OR PUSH1 0x3 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x4 SSTORE ADD CALLDATALOAD PUSH2 0x175D DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x5 SLOAD AND OR PUSH1 0x5 SSTORE JUMP JUMPDEST AND DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x1 SLOAD AND OR PUSH1 0x1 SSTORE PUSH32 0x15751365E25548DA6591A182CF680D8C896CA976A2FD6E5F845BC86B4A81002F PUSH1 0x0 DUP1 LOG2 STOP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x180E DUP2 PUSH2 0x6DD JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 AND CALLER SUB PUSH2 0x14B6 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP3 AND SWAP2 DUP3 SWAP2 AND OR DUP3 SSTORE CALLER PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x18CC JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x189D JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1892 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x18EA DUP5 PUSH2 0x1883 JUMP JUMPDEST SWAP1 DUP2 DUP5 MSTORE PUSH1 0x1 SWAP5 DUP6 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x1957 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1914 JUMPI JUMPDEST POP POP PUSH2 0x69A SWAP3 POP SUB DUP4 PUSH2 0x64C JUMP JUMPDEST SWAP1 SWAP4 SWAP2 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 DUP2 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x193F JUMPI POP POP PUSH2 0x69A SWAP4 POP DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST DUP6 SLOAD DUP9 DUP5 ADD DUP6 ADD MSTORE SWAP5 DUP6 ADD SWAP5 DUP8 SWAP5 POP SWAP2 DUP4 ADD SWAP2 PUSH2 0x1927 JUMP JUMPDEST SWAP1 POP PUSH2 0x69A SWAP6 POP PUSH1 0x20 SWAP4 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 SWAP2 POP AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x1906 JUMP JUMPDEST PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x19AF DUP3 PUSH2 0x6B6 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH2 0x19BE DUP3 MLOAD SWAP2 DUP3 PUSH2 0x64C JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x19EC DUP3 SWAP6 PUSH2 0x6B6 JUMP JUMPDEST ADD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x19FE JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 MLOAD PUSH2 0x1A0C DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x0 DUP2 MSTORE DUP3 PUSH1 0x0 DUP2 DUP4 ADD MSTORE PUSH1 0x0 DUP6 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0x60 DUP4 ADD MSTORE DUP3 DUP7 ADD ADD MSTORE ADD PUSH2 0x19F1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1A8D JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A2F JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 SLOAD DUP3 LT ISZERO PUSH2 0x1AE2 JUMPI JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SWAP1 PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1AEA PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1AD3 JUMP JUMPDEST PUSH1 0x5 DUP3 LT ISZERO PUSH2 0x98F JUMPI MSTORE JUMP JUMPDEST SWAP1 PUSH2 0x69A PUSH1 0x40 MLOAD PUSH2 0x1B0B DUP2 PUSH2 0x61C JUMP JUMPDEST PUSH1 0x60 PUSH1 0xFF PUSH1 0x3 DUP4 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 SLOAD AND DUP6 MSTORE PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x2 DUP2 ADD SLOAD PUSH1 0x40 DUP7 ADD MSTORE ADD SLOAD AND SWAP2 ADD PUSH2 0x1AEF JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP1 MLOAD ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1A95 PUSH2 0x1A99 JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH2 0x1B59 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 SWAP2 DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B87 JUMPI JUMPDEST PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x1B8F PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x1B7F JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x1BA0 DUP2 PUSH2 0x6DD JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0xE JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xE JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0xE JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x1C0C JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP4 ADD SWAP5 LT PUSH2 0x1C48 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH2 0x1C3D JUMPI POP POP POP JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1C31 JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x1C28 JUMP JUMPDEST SWAP1 SWAP3 SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1D74 JUMPI JUMPDEST PUSH2 0x1C79 DUP2 PUSH2 0x1C73 DUP5 SLOAD PUSH2 0x1883 JUMP JUMPDEST DUP5 PUSH2 0x1BFE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1CD0 JUMPI DUP2 SWAP3 SWAP4 SWAP5 PUSH1 0x0 SWAP3 PUSH2 0x1CC5 JUMPI JUMPDEST POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH1 0x1 SHL SWAP3 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE JUMP JUMPDEST ADD CALLDATALOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x1C92 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP3 AND SWAP5 PUSH2 0x1D03 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 DUP1 JUMPDEST DUP8 DUP2 LT PUSH2 0x1D5C JUMPI POP DUP4 PUSH1 0x1 SWAP6 SWAP7 SWAP8 LT PUSH2 0x1D24 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xF8 DUP6 PUSH1 0x3 SHL AND SHR NOT SWAP2 ADD CALLDATALOAD AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x1D1A JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP7 ADD CALLDATALOAD DUP2 SSTORE ADD SWAP5 ADD SWAP2 ADD PUSH2 0x1D06 JUMP JUMPDEST PUSH2 0x1D7C PUSH2 0x58B JUMP JUMPDEST PUSH2 0x1C65 JUMP JUMPDEST PUSH1 0x1F DUP3 PUSH1 0x20 SWAP5 SWAP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP4 DUP2 DUP7 MSTORE DUP7 DUP7 ADD CALLDATACOPY PUSH1 0x0 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST SWAP4 SWAP3 PUSH1 0x60 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 PUSH2 0x1DFA SWAP4 SWAP9 SWAP8 SWAP9 DUP8 MSTORE PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x80 PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x80 DUP7 ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST SWAP5 AND SWAP2 ADD MSTORE JUMP JUMPDEST ISZERO PUSH2 0x1E08 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5245454E5452414E435900000000000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP1 SWAP4 PUSH2 0x1E78 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x1E90 DUP5 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x1E9C CALLER DUP8 DUP6 PUSH2 0x292F JUMP JUMPDEST PUSH2 0x1EA4 PUSH2 0x206C JUMP JUMPDEST SWAP6 PUSH2 0x1ECD PUSH2 0x1EB2 DUP7 MLOAD PUSH2 0x1B4B JUMP JUMPDEST MLOAD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x1EEF PUSH2 0x27E DUP10 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP4 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x1F19 PUSH2 0x1EB2 DUP8 MLOAD PUSH2 0x1B61 JUMP JUMPDEST DUP3 PUSH2 0x1F3E PUSH2 0x27E PUSH1 0x3 DUP10 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x2042 JUMPI PUSH1 0x20 DUP1 SWAP2 ADD CALLDATALOAD SWAP8 ADD SWAP3 PUSH2 0x1F59 DUP5 MLOAD DUP10 PUSH2 0x2B70 JUMP JUMPDEST SWAP2 PUSH32 0x0 AND DUP1 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x1FDF SWAP7 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x1FC6 PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0xEDD9444B00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x210A JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x2035 JUMPI JUMPDEST PUSH2 0x201C JUMPI JUMPDEST POP PUSH2 0x13E0 PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE CALLER SWAP2 PUSH32 0x314E33B9D3471B9E382D2AB35EF89AA6E094C1BE576DDD9090B5D7D1195CBF70 SWAP1 DUP1 PUSH1 0x20 DUP2 ADD JUMPDEST SUB SWAP1 LOG3 PUSH2 0x69A PUSH1 0x1 PUSH1 0x2 SSTORE JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x202F SWAP3 PUSH2 0x638 JUMP JUMPDEST DUP1 PUSH2 0x350 JUMP JUMPDEST CODESIZE PUSH2 0x1FD6 JUMP JUMPDEST PUSH2 0x203D PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x1FD1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xDDAFBAEF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x2079 DUP3 PUSH2 0x5E4 JUMP JUMPDEST DUP2 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x3 SLOAD AND DUP4 MSTORE PUSH1 0x4 SLOAD PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x5 SLOAD AND SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x20C9 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 DUP3 PUSH1 0x40 DUP3 PUSH2 0x20FE PUSH1 0x1 SWAP5 DUP10 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP6 ADD SWAP4 SWAP3 SWAP2 ADD PUSH2 0x20BB JUMP JUMPDEST SWAP1 SWAP6 SWAP5 SWAP3 SWAP4 SWAP2 PUSH1 0x80 DUP3 MSTORE PUSH1 0xE0 DUP3 ADD SWAP7 DUP1 MLOAD SWAP1 PUSH1 0x60 PUSH1 0x80 DUP6 ADD MSTORE DUP2 MLOAD DUP1 SWAP10 MSTORE PUSH2 0x100 DUP5 ADD SWAP9 PUSH1 0x20 DUP1 SWAP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x2199 JUMPI POP POP POP SWAP8 PUSH2 0x218C SWAP3 DUP3 PUSH1 0x40 DUP12 PUSH2 0x216D SWAP6 PUSH2 0x1BA0 SWAP13 SWAP14 ADD MLOAD PUSH1 0xA0 DUP10 ADD MSTORE ADD MLOAD PUSH1 0xC0 DUP8 ADD MSTORE DUP6 DUP4 SUB SWAP1 DUP7 ADD MSTORE PUSH2 0x20A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP6 AND PUSH1 0x40 DUP4 ADD MSTORE JUMP JUMPDEST PUSH1 0x60 DUP2 DUP6 SUB SWAP2 ADD MSTORE PUSH2 0x1D81 JUMP JUMPDEST SWAP1 SWAP2 SWAP11 DUP5 PUSH1 0x40 DUP3 PUSH2 0x21CE DUP16 SWAP5 PUSH1 0x1 SWAP6 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST ADD SWAP13 ADD SWAP3 SWAP2 ADD PUSH2 0x2137 JUMP JUMPDEST POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x40 MLOAD SWAP3 PUSH2 0x226F PUSH1 0x20 DUP1 DUP7 ADD SWAP6 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH2 0x2257 DUP2 PUSH2 0x1192 DUP7 DUP10 DUP10 PUSH1 0x24 DUP6 ADD PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 SWAP5 PUSH1 0x60 DUP3 ADD SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP4 MSTORE AND PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x0 SWAP7 DUP8 SWAP2 MLOAD SWAP1 DUP3 DUP11 GAS CALL DUP6 MLOAD PUSH1 0x1 EQ RETURNDATASIZE ISZERO OR AND ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x227B JUMPI JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x2284 SWAP1 PUSH2 0x233D JUMP JUMPDEST SWAP4 PUSH15 0x22D473030F116DDEE9F6B43AC78BA3 SWAP2 DUP3 EXTCODESIZE ISZERO PUSH2 0x2339 JUMPI PUSH1 0x40 MLOAD PUSH32 0x36C7851600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP4 DUP2 AND PUSH1 0x24 DUP6 ADD MSTORE SWAP5 DUP6 AND PUSH1 0x44 DUP5 ADD MSTORE SWAP1 SWAP4 AND PUSH1 0x64 DUP3 ADD MSTORE SWAP2 DUP3 SWAP1 PUSH1 0x84 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x232C JUMPI JUMPDEST PUSH2 0x2319 JUMPI JUMPDEST DUP1 DUP1 DUP1 DUP1 PUSH2 0x2274 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x2326 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x2310 JUMP JUMPDEST PUSH2 0x2334 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x230B JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x235E JUMPI AND SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC4BD89A900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 SWAP3 PUSH2 0x2399 PUSH1 0x1 PUSH1 0x2 SLOAD EQ PUSH2 0x1E01 JUMP JUMPDEST PUSH1 0x2 DUP1 SSTORE PUSH2 0x23B1 DUP4 PUSH1 0x0 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP4 PUSH2 0x23BB DUP6 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x23CF PUSH2 0x1A6 PUSH2 0x23C9 PUSH2 0x1B94 JUMP JUMPDEST DUP8 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x326 JUMPI PUSH2 0x240A PUSH2 0x1614 PUSH2 0x23E1 PUSH2 0x1B94 JUMP JUMPDEST PUSH1 0x8 DUP9 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x60 DUP3 ADD SWAP2 PUSH1 0x2 DUP4 MLOAD PUSH2 0x241D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2426 DUP2 PUSH2 0x14E0 JUMP JUMPDEST EQ PUSH2 0x10CA JUMPI PUSH1 0x20 ADD SWAP6 DUP7 MLOAD SWAP7 PUSH1 0x44 CALLDATALOAD DUP1 SWAP9 GT PUSH2 0x25BB JUMPI PUSH2 0x2447 SWAP1 MLOAD DUP9 PUSH2 0x25E5 JUMP JUMPDEST SWAP4 PUSH2 0x2468 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 MLOAD AND SWAP1 JUMP JUMPDEST SWAP5 PUSH2 0x248D PUSH2 0x27E PUSH1 0x3 DUP6 ADD SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP8 AND SUB PUSH2 0x2042 JUMPI PUSH2 0x24B2 PUSH2 0x69C JUMP JUMPDEST ADDRESS DUP2 MSTORE SWAP1 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH32 0x0 AND SWAP7 DUP8 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH32 0xF478E398A575434F5CFCFF203322EBF8E4A1F357653FCDE0CF89762888E099B6 SWAP8 PUSH2 0x2577 SWAP6 PUSH1 0x0 DUP1 SWAP5 PUSH2 0x254B PUSH1 0x40 MLOAD SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 SWAP5 PUSH32 0x30F28B7A00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE CALLER SWAP2 PUSH1 0x4 DUP8 ADD PUSH2 0x25FA JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0x25AE JUMPI JUMPDEST PUSH2 0x259B JUMPI JUMPDEST POP DUP3 MLOAD SWAP1 PUSH2 0x2568 DUP3 PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x2571 CALLDATASIZE PUSH2 0x74B JUMP JUMPDEST SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH2 0x200F PUSH2 0x2582 PUSH2 0x1B94 JUMP JUMPDEST SWAP2 MLOAD PUSH2 0x258D DUP2 PUSH2 0x14E0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 AND SWAP7 DUP4 PUSH2 0x26A1 JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x25A8 SWAP3 PUSH2 0x638 JUMP JUMPDEST CODESIZE PUSH2 0x255B JUMP JUMPDEST PUSH2 0x25B6 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x2556 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xC52E3EFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH2 0x69A PUSH2 0x1A2F JUMP JUMPDEST SWAP2 SWAP3 PUSH2 0x267F PUSH2 0x1BA0 SWAP7 SWAP5 PUSH1 0x40 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 PUSH2 0x2647 DUP8 DUP3 MLOAD PUSH1 0x20 DUP1 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD DUP9 DUP5 ADD MSTORE SWAP2 ADD MLOAD PUSH1 0x60 DUP8 ADD MSTORE DUP2 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP8 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE JUMP JUMPDEST AND PUSH1 0xC0 DUP3 ADD MSTORE PUSH2 0x100 SWAP1 DUP2 PUSH1 0xE0 DUP3 ADD MSTORE ADD SWAP2 PUSH2 0x1D81 JUMP JUMPDEST PUSH2 0x1BA0 SWAP1 CALLDATASIZE SWAP1 PUSH2 0x79B JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP2 ADD SWAP3 SWAP2 PUSH2 0x69A SWAP2 PUSH1 0x20 ADD SWAP1 PUSH2 0x14F2 JUMP JUMPDEST SWAP1 PUSH1 0x5 DUP2 LT ISZERO PUSH2 0x26EF JUMPI JUMPDEST PUSH1 0xFF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP4 SLOAD AND SWAP2 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x26F7 PUSH2 0x952 JUMP JUMPDEST PUSH2 0x26C2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x25F2 JUMPI JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 PUSH1 0x44 SWAP3 PUSH1 0x20 SWAP6 PUSH1 0x40 MLOAD SWAP4 PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP6 MSTORE PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x276A JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F4641494C45440000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x27D9 JUMPI JUMPDEST PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x27E1 PUSH2 0x1A99 JUMP JUMPDEST PUSH2 0x27D2 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO PUSH2 0x2817 JUMPI PUSH1 0x5 DUP3 ADD SLOAD LT ISZERO PUSH2 0x2811 JUMPI PUSH1 0x6 ADD SLOAD PUSH1 0xFF AND PUSH2 0x280C JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x3 SWAP1 JUMP JUMPDEST POP PUSH1 0x2 SWAP1 JUMP JUMPDEST POP PUSH1 0x1 ADD SLOAD PUSH2 0x284A JUMPI PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 SWAP2 DUP3 DUP2 MSTORE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0xE JUMPI PUSH1 0x20 SWAP3 PUSH1 0x5 SHL DUP1 SWAP3 DUP5 DUP4 ADD CALLDATACOPY ADD ADD SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 MSTORE PUSH1 0x40 PUSH1 0x20 DUP4 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD PUSH2 0x28B7 DUP2 PUSH2 0x6DD JUMP JUMPDEST AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 DUP3 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0xE JUMPI ADD PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI DUP1 PUSH1 0x5 SHL CALLDATASIZE SUB DUP3 SGT PUSH2 0xE JUMPI PUSH1 0xA0 DUP4 PUSH1 0x60 PUSH1 0x80 PUSH2 0x1BA0 SWAP7 ADD MSTORE ADD SWAP2 PUSH2 0x284F JUMP JUMPDEST SWAP2 PUSH2 0x2939 DUP4 PUSH2 0x2A4D JUMP JUMPDEST PUSH2 0x2943 DUP2 DUP5 PUSH2 0x2B0E JUMP JUMPDEST PUSH2 0x2A23 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2968 PUSH2 0x27E DUP5 PUSH2 0x1BA3 JUMP JUMPDEST SWAP2 AND SUB PUSH2 0x29F9 JUMPI PUSH1 0x1 PUSH20 0x17C1E395FE81A90AF2D0289A009317D5ACB98F9F SWAP3 ADD SLOAD SWAP1 DUP3 EXTCODESIZE ISZERO PUSH2 0xE JUMPI PUSH2 0x29CD SWAP3 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD DUP1 SWAP6 DUP2 SWAP5 DUP3 SWAP4 PUSH32 0xBA5D2C3400000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x4 DUP5 ADD PUSH2 0x288C JUMP JUMPDEST SUB SWAP2 GAS DELEGATECALL DUP1 ISZERO PUSH2 0x29EC JUMPI JUMPDEST PUSH2 0x29DF JUMPI POP JUMP JUMPDEST DUP1 PUSH2 0x2029 PUSH2 0x69A SWAP3 PUSH2 0x638 JUMP JUMPDEST PUSH2 0x29F4 PUSH2 0x21D9 JUMP JUMPDEST PUSH2 0x29D8 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x206F6FEA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x6D9BF6DF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD ISZERO PUSH2 0x2AC6 JUMPI PUSH1 0xFF PUSH1 0x6 DUP3 ADD SLOAD AND PUSH2 0x2A9C JUMPI PUSH2 0x2A6C SWAP1 PUSH2 0x2AF0 JUMP JUMPDEST PUSH2 0x2A72 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8D87DBB600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x314451400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB9E8C16F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x7 DUP2 ADD SLOAD DUP1 ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B03 JUMPI POP POP SWAP1 JUMP JUMPDEST PUSH1 0x5 ADD SLOAD LT ISZERO SWAP2 SWAP1 POP JUMP JUMPDEST SWAP1 PUSH1 0x7 DUP3 ADD SLOAD ISZERO ISZERO SWAP2 DUP3 PUSH2 0x2B21 JUMPI POP POP SWAP1 JUMP JUMPDEST DUP2 SWAP3 POP PUSH2 0x2B68 PUSH1 0x8 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP4 DUP5 SWAP4 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SLOAD AND SWAP2 AND EQ SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x40 SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x2B82 DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH1 0x2 DUP4 MSTORE PUSH1 0x0 DUP1 JUMPDEST DUP3 DUP2 LT PUSH2 0x2BE8 JUMPI POP POP SWAP1 DUP3 SWAP2 PUSH2 0x2BE5 SWAP4 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x2BA7 DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BB8 DUP5 PUSH2 0x1B4B JUMP JUMPDEST MSTORE PUSH2 0x2BC2 DUP4 PUSH2 0x1B4B JUMP JUMPDEST POP MLOAD SWAP1 PUSH2 0x2BCE DUP3 PUSH2 0x5BB JUMP JUMPDEST ADDRESS DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x2BDF DUP3 PUSH2 0x1B61 JUMP JUMPDEST MSTORE PUSH2 0x1B61 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP4 MLOAD PUSH2 0x2BF6 DUP2 PUSH2 0x5BB JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP5 DUP2 DUP4 ADD MSTORE DUP3 DUP9 ADD ADD MSTORE ADD PUSH2 0x2B8A JUMP JUMPDEST PUSH1 0x3 PUSH1 0x60 PUSH2 0x69A SWAP4 PUSH2 0x2C6E PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 MLOAD AND DUP6 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 DUP6 ADD SSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x2 DUP6 ADD SSTORE ADD MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI JUMPDEST ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x2C9D PUSH2 0x952 JUMP JUMPDEST PUSH2 0x2C8F JUMP JUMPDEST SWAP2 PUSH1 0x4 SWAP1 PUSH2 0x2D88 PUSH2 0x2D93 SWAP4 PUSH1 0x7 DUP7 ADD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 PUSH2 0x2CEF DUP3 DUP5 MLOAD AND SWAP2 DUP1 SLOAD SWAP1 PUSH9 0x10000000000000000 DUP3 LT ISZERO PUSH2 0x2D97 JUMPI JUMPDEST PUSH1 0x1 DUP3 ADD DUP2 SSTORE PUSH2 0x1AC9 JUMP JUMPDEST SWAP1 SWAP3 DUP4 SLOAD SWAP2 PUSH1 0x3 SHL SWAP1 DUP2 SHL SWAP3 DUP4 SWAP2 SHL AND SWAP2 NOT AND OR SWAP1 SSTORE PUSH2 0x2D83 PUSH2 0x23E1 PUSH2 0x2D29 DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST SWAP3 PUSH1 0x20 DUP2 ADD SWAP6 DUP7 MLOAD PUSH2 0x2D58 PUSH2 0x2D3C PUSH2 0x6A9 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP8 AND DUP8 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x1 PUSH1 0x60 DUP6 ADD MSTORE MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x2C0A JUMP JUMPDEST MLOAD SWAP3 ADD SWAP2 DUP3 SLOAD PUSH2 0x270A JUMP JUMPDEST SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x2D9F PUSH2 0x58B JUMP JUMPDEST PUSH2 0x2CE4 JUMP JUMPDEST SWAP1 PUSH1 0x3 PUSH1 0x8 PUSH2 0x69A SWAP4 ADD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 PUSH2 0x2DF2 DUP5 DUP4 MLOAD AND DUP3 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x2E9F DUP6 DUP5 MLOAD AND SWAP6 PUSH2 0x2E5B PUSH1 0x2 PUSH1 0x20 DUP8 ADD MLOAD SWAP5 ADD SLOAD SWAP5 PUSH1 0x40 MLOAD SWAP9 PUSH2 0x2E15 DUP11 PUSH2 0x61C JUMP JUMPDEST DUP10 MSTORE PUSH1 0x20 DUP10 ADD SWAP5 DUP6 MSTORE PUSH1 0x40 DUP10 ADD SWAP6 DUP7 MSTORE DUP3 PUSH1 0x60 DUP11 ADD SWAP8 PUSH2 0x2E35 DUP10 PUSH1 0x2 SWAP1 MSTORE JUMP JUMPDEST MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP7 MLOAD AND DUP7 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP3 SLOAD AND OR SWAP1 SSTORE JUMP JUMPDEST MLOAD PUSH1 0x1 DUP6 ADD SSTORE MLOAD PUSH1 0x2 DUP5 ADD SSTORE MLOAD SWAP2 PUSH1 0x5 DUP4 LT ISZERO PUSH2 0x2C95 JUMPI ADD PUSH2 0x26B7 JUMP JUMPDEST PUSH2 0x69A SWAP3 PUSH1 0x8 PUSH1 0x3 SWAP3 ADD SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x2E9F PUSH2 0x2F0C DUP3 DUP5 MLOAD AND DUP8 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x2E5B DUP2 DUP6 MLOAD AND SWAP8 DUP3 PUSH1 0x2 PUSH1 0x20 DUP9 ADD MLOAD SWAP7 ADD SLOAD SWAP7 PUSH1 0x40 MLOAD SWAP11 PUSH2 0x2F2E DUP13 PUSH2 0x61C JUMP JUMPDEST DUP12 MSTORE PUSH1 0x20 DUP12 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP12 ADD SWAP8 DUP9 MSTORE PUSH2 0x2E35 PUSH1 0x60 DUP13 ADD SWAP10 DUP11 PUSH2 0x1AEF JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 ADDRESS MUL 0x5E 0xB7 STATICCALL 0xEE GT JUMPDEST SWAP3 PUSH11 0xE2DACAC846043B74762EAB CALLCODE XOR 0xD7 0xAF PUSH9 0x7E916F583764736F6C PUSH4 0x43000811 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP13 MSIZE 0xF PUSH23 0xCBDC66E52F387C44E90AB8384493801CB81D023399D49E 0xDA 0xA5 0xFC 0xFC PC PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "1439:20676:55:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;5377:17;;:::i;:::-;5422:11;;;;:::i;:::-;5465;;;:::i;:::-;18675:20;;:::i;:::-;1439:20676;;;18715:5;1439:20676;;;;;18706:15;;;;;1439:20676;;;18706:15;;1439:20676;;;;;18706:15;;1671:64:0;18706:15:55;;1439:20676;18706:15;;;;;;;;;;;1439:20676;18731:22;;;;;;1439:20676;;;;;;18731:22;;;;1439:20676;18731:22;;5530:28;1439:20676;18731:22;;1671:64:0;18731:22:55;;;;;;;;;;;1439:20676;;;18763:9;1439:20676;;18763:65;;;;;;1439:20676;;;;;;18763:65;1439:20676;;18763:65;;;;;;;1439:20676;18763:65;;1439:20676;18763:65;;;:::i;:::-;;;;;;;;;;;;;1439:20676;;;18763:65;;;;;:::i;:::-;1439:20676;;18763:65;1439:20676;;;;;;18763:65;1439:20676;;;;;;;;18763:65;1439:20676;;;18731:22;;;;:::i;:::-;1439:20676;;18731:22;;;;;1439:20676;;;;;;;;;18731:22;1439:20676;;;18706:15;;;;;;;:::i;:::-;;;;;;1439:20676;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;4847:17;;:::i;:::-;1439:20676;;;;4927:5;1439:20676;;;;;4940:6;1439:20676;;;;;;;;;;;;:::i;:::-;;;;4934:4;1439:20676;4910:44;;1439:20676;;:::i;:::-;4910:44;;;1439:20676;19130:20;;:::i;:::-;1439:20676;;;;;19161:15;;;;;;1439:20676;;19161:15;1439:20676;19161:15;;1439:20676;19161:15;;1671:64:0;19161:15:55;;1439:20676;19161:15;;;;;;;;;;;;;;1439:20676;19186:22;;;;;;;1439:20676;;;;;;19186:22;;;;1439:20676;19186:22;;5016:29;1439:20676;19186:22;;1671:64:0;19186:22:55;;;;;;;;;;;1439:20676;;;19218:9;1439:20676;;19218:65;;;;;;1439:20676;;;19218:65;1439:20676;;19218:65;;;;;;;1439:20676;19218:65;;1439:20676;19218:65;;;:::i;:::-;;;;;;;;;;;;;1439:20676;;19218:65;;;;:::i;:::-;1439:20676;;19218:65;1439:20676;19186:22;;;;:::i;:::-;1439:20676;;19186:22;;;;19161:15;;;;:::i;:::-;1439:20676;;19161:15;;;;;1439:20676;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;2360:17;;:::i;:::-;1439:20676;;;;2428:9;1439:20676;;;;;;2428:36;;;;1439:20676;2428:36;;1439:20676;2428:36;;1439:20676;2428:36;;;;;;2734:23;2428:36;;;;;1439:20676;;2702:12;1439:20676;;;2512:16;1439:20676;;;;2512:16;;:::i;:::-;2575:15;2548:25;;;1439:20676;2575:15;1439:20676;2575:15;;:::i;:::-;2610:28;;;;1439:20676;;;;;;;;:::i;:::-;;;;:::i;:::-;;;14773:19:0;;;1671:64;14773:19;1671:64;;;;;;;;;;;:::i;:::-;;;14773:19;;;;;;;:::i;:::-;1671:64;14763:30;;1439:20676:55;;14807:19:0;;;1671:64;14807:19;1671:64;;;;;;;;;;;:::i;14807:19::-;1671:64;14797:30;;14763:64;14759:267;;1439:20676:55;-1:-1:-1;;2678:22:55;;;1439:20676;2702:12;1439:20676;;;;;2702:12;:::i;:::-;2734:23;1439:20676;;;;;;;;21408:24;21404:250;;1439:20676;;;21404:250;1439:20676;;21453:52;1439:20676;;;;;;;;;;;;;;;;;2678:22;1439:20676;;;21453:52;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21524:40;;;;;;;;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;;;;;21583:40;;;;;:::i;:::-;21404:250;;;1439:20676;;;;;;;;;2575:15;1439:20676;;;14759:267:0;1439:20676:55;;14848:43:0;1439:20676:55;;;;;;;;;;;;;;;;;;;;;14848:43:0;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14910:33:0;1439:20676:55;14910:33:0;1439:20676:55;;;;:::i;:::-;14910:33:0;;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14962:33:0;;;;;:::i;:::-;14759:267;;;;2428:36:55;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;1439:20676;;;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;9880:17;;:::i;:::-;9926:11;;;:::i;:::-;9968;;;:::i;:::-;10012;;;:::i;:::-;1439:20676;;;;10068:9;1439:20676;;;;10068:36;;;;1439:20676;10068:36;;;1439:20676;10068:36;;1439:20676;10068:36;;;;;;10123:16;10068:36;;;;;1439:20676;10123:16;;1439:20676;;;;;;;10141:24;21408;;21404:250;;1439:20676;;;;10068:9;1439:20676;;;;;;10211:41;;;;1439:20676;10211:41;;1439:20676;10211:41;;1439:20676;10211:41;;;;;;;;;;;1439:20676;10277:12;21927:15;10277:12;;;:::i;:::-;;21900:7;1439:20676;10291:3;1439:20676;;21857:5;10296:8;1439:20676;;;;;;21857:5;:::i;:::-;21882:16;;;1439:20676;21900:7;:::i;:::-;21927:15;1439:20676;;;;;;;10355:12;10470:45;21072:24;;10517:15;21072:24;1439:20676;10388:21;21072:24;;21068:249;;1439:20676;10355:12;;;:::i;:::-;;1439:20676;10369:5;1439:20676;;10376:10;1439:20676;10388:21;;:::i;:::-;1439:20676;;10496:18;1439:20676;;;;;10470:45;:::i;:::-;10517:15;1439:20676;10517:15;;:::i;:::-;1439:20676;;21068:249;1439:20676;21117:51;1439:20676;;;;21882:16;1439:20676;;;21882:16;1439:20676;;;;;;;;;21927:15;1439:20676;;;21117:51;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;;21882:16;1439:20676;;;21187:40;;;;;;;;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;;21882:16;1439:20676;;;21246:40;;;;;:::i;:::-;21068:249;;;;1439:20676;;;;;;;;;;10211:41;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;21404:250;21453:52;1439:20676;;;;;;;;;;;;;;;;;;;;;21453:52;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;10141:24;1439:20676;;;;21524:40;;;;;;;;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21583:40;;;;;:::i;:::-;21404:250;;;1439:20676;;;;;;;;;;10068:36;;;;;;;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;13017:15;;:::i;:::-;13079:20;;;:::i;:::-;1439:20676;13133:21;:10;1439:20676;13146:8;1439:20676;13133:21;;:::i;:::-;13109;:13;;;:::i;:::-;;:21;1439:20676;;13174:10;1439:20676;;;13165:20;;;;1439:20676;;13165:20;1439:20676;13165:20;;1439:20676;13165:20;;1671:64:0;13165:20:55;;1439:20676;13165:20;;1439:20676;13165:20;;;;;;;;;;;1439:20676;13195:52;;1439:20676;13195:52;;;;1439:20676;;;13195:52;;13211:35;1439:20676;13195:52;;1671:64:0;13195:52:55;;1439:20676;13195:52;;1439:20676;13195:52;;;;;;;;;;;1439:20676;;;;13257:9;1439:20676;;13257:46;;;;;1439:20676;;;13257:46;;1439:20676;13257:46;;;;;;;;1439:20676;13257:46;;;:::i;:::-;;;;;;;;;;;;;;1439:20676;13314:13;13109:21;13314:13;;;:::i;:::-;;:21;1439:20676;13146:8;1439:20676;13109:21;13349:13;;;:::i;:::-;;:21;1439:20676;;13174:10;1439:20676;;;13392:20;;;;1439:20676;;13392:20;1439:20676;13392:20;;1439:20676;13392:20;;1671:64:0;13392:20:55;;1439:20676;13392:20;;1439:20676;13392:20;;;;;;;;;;;1439:20676;13422:52;;1439:20676;13422:52;;;;1439:20676;;;13422:52;;13211:35;1439:20676;13422:52;;1671:64:0;13422:52:55;;1439:20676;13422:52;;1439:20676;13422:52;;;;;;;;;;;1439:20676;;;;13257:9;1439:20676;;13484:46;;;;;;;1439:20676;;;;;;13484:46;;;;;;1439:20676;13484:46;;1439:20676;13484:46;;;:::i;:::-;1439:20676;;;13422:52;;;;:::i;:::-;1439:20676;;13422:52;;;;1439:20676;;;;;13422:52;1439:20676;;;;;;;;;13392:20;;;;:::i;:::-;1439:20676;;13392:20;;;;13257:46;;;;:::i;:::-;1439:20676;;13257:46;;;;13195:52;;;;:::i;:::-;1439:20676;;13195:52;;;;13165:20;;;;:::i;:::-;1439:20676;;13165:20;;;;1439:20676;;;;;;;-1:-1:-1;;1439:20676:55;;;;;9273:17;;:::i;:::-;9318:11;;;;:::i;:::-;9360;;;:::i;:::-;1439:20676;;;9397:3;1439:20676;;;;9383:18;;;;;;1439:20676;;9383:18;1439:20676;9383:18;;1439:20676;9383:18;;1671:64:0;9383:18:55;;1439:20676;9383:18;;;;;;;;;;;;;;1439:20676;;;;9411:9;1439:20676;;9411:40;;;;;;1439:20676;;;;;;;;9411:40;;;;;1439:20676;9411:40;;1439:20676;9411:40;;;;;;;;;;;1439:20676;9462:47;;;;;;;1439:20676;;;9462:47;;9478:30;1439:20676;9462:47;;1671:64:0;9462:47:55;;1439:20676;9462:47;;;;;;;;;;;;;;1439:20676;;;9411:9;1439:20676;;9519:40;;;;;;1439:20676;;;;;;9519:40;;;;;;;1439:20676;9519:40;;1439:20676;9519:40;;;;;;;;;;;1439:20676;9569:14;;;;;;;1439:20676;;;;;;9569:14;;;;1439:20676;9569:14;;;;;;;;;;;;1439:20676;;9569:14;1439:20676;;;9519:40;;;;:::i;:::-;1439:20676;;9519:40;;;;;1439:20676;;;;;;;;;9519:40;1439:20676;;;9462:47;;;;:::i;:::-;1439:20676;;9462:47;;;;;1439:20676;;;;;;;;;9411:40;;;;:::i;:::-;1439:20676;;9411:40;;;;9383:18;;;;:::i;:::-;1439:20676;;9383:18;;;;;1439:20676;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1439:20676:55;;;;;5956:17;;:::i;:::-;6001:11;;;:::i;:::-;1439:20676;;6057:9;1439:20676;;;;;;6057:36;;;;1439:20676;6057:36;;1439:20676;6057:36;;1439:20676;6057:36;;;;;;6112:16;6057:36;;;;;1439:20676;6112:16;;1439:20676;;;;;;;;6130:23;21408:24;;21404:250;;1439:20676;;;21404:250;1439:20676;21453:52;1439:20676;;;;;;;;;;;;;;;;;;;;;;21453:52;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;6130:23;1439:20676;;;;21524:40;;;;;;;;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21583:40;;;;;:::i;:::-;21404:250;;1439:20676;;;;;;;;;;;;;6057:36;;;;;;;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;5653:17;;:::i;:::-;5698:11;;;;:::i;:::-;1439:20676;;;5729:3;1439:20676;;;;5720:13;;;;;;1439:20676;;;;5720:13;;;;1439:20676;5720:13;;1671:64:0;5720:13:55;;1439:20676;5720:13;;;;;;;;;;;1439:20676;;;5743:9;1439:20676;;5743:40;;;;;1439:20676;;;;;;5743:40;;;;1439:20676;5743:40;;;1439:20676;5743:40;;1439:20676;5743:40;;;;;;;;1439:20676;18675:20;;;;:::i;:::-;1439:20676;;;18715:5;1439:20676;;;18706:15;;;;;;1439:20676;;18706:15;;;1439:20676;;;18706:15;;1671:64:0;18706:15:55;1439:20676;;;18706:15;;;;;;;;;;1439:20676;18731:22;;;;;;1439:20676;;;;;;18731:22;;;;1439:20676;18731:22;;5836:29;1439:20676;18731:22;;1671:64:0;18731:22:55;;;;;;;;;;;1439:20676;;5743:9;1439:20676;;18763:65;;;;;;1439:20676;;;;;;18763:65;1439:20676;;18763:65;;;;;;;1439:20676;18763:65;;1439:20676;18763:65;;;:::i;18706:15::-;;;;;;;:::i;:::-;;;;;;1439:20676;;;5743:40;;;;:::i;:::-;1439:20676;;5743:40;;;;;1439:20676;;;;;;;;;5720:13;;;;:::i;:::-;1439:20676;;5720:13;;;;1439:20676;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;598:180:58;1439:20676:55;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;7516:17;;:::i;:::-;7561:11;;;:::i;:::-;7603;;;:::i;:::-;1439:20676;;;7635:3;1439:20676;;;7626:13;;;;;;1439:20676;;;;;;;7626:13;;;;;1439:20676;7626:13;;1439:20676;7626:13;;1671:64:0;7626:13:55;;;;;;;;;;;1439:20676;;;;7649:9;1439:20676;;7649:40;;;;;1439:20676;;;;;;7649:40;;;;1439:20676;7649:40;;;1439:20676;7649:40;;1439:20676;7649:40;;;;;;;;;;;1439:20676;;;;;7649:9;1439:20676;;;;7734:41;;;;1439:20676;7734:41;;;1439:20676;7734:41;;1439:20676;7734:41;;;;;;;7912:21;7734:41;7879:12;7734:41;;;;;1439:20676;7800:12;7829:24;7800:12;;;:::i;:::-;;1439:20676;7635:3;1439:20676;;7819:8;1439:20676;7829:24;;:::i;:::-;7879:12;:::i;7912:21::-;7649:9;1439:20676;;;;;;7978:36;;;;1439:20676;7978:36;;1439:20676;7978:36;;1439:20676;7978:36;;;;;;8033:16;7978:36;;;;;8033:16;;1439:20676;;;;;;;;7889:1;21408:24;;21404:250;;1439:20676;;;7734:41;;;;;;;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;;;;7649:40;;;;:::i;:::-;1439:20676;;7649:40;;;;7626:13;;;;:::i;:::-;1439:20676;;7626:13;;;;1439:20676;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;6320:17;;:::i;:::-;1439:20676;6368:28;1439:20676;6378:12;1439:20676;;;6392:3;1439:20676;;6368:28;;:::i;:::-;6424:11;;;;:::i;:::-;1439:20676;6378:12;1439:20676;;;6567:8;1439:20676;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;5237:69:58;;;1439:20676:55;5382:3:58;5364:15;1439:20676:55;5364:15:58;;;1439:20676:55;;;;;;;;;:::i;:::-;;;;5170:230:58;;;1439:20676:55;6589:1;1439:20676;;5170:230:58;;;1439:20676:55;;;;6703:9;1439:20676;;6746:16;1439:20676;;;;;3137:57:58;;;1439:20676:55;1092:59:58;1439:20676:55;;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;3137:57:58;;;;;:::i;:::-;1671:64:0;3114:90:58;;1439:20676:55;;;;;;;;3381:242:58;;;;1439:20676:55;1223:174:58;1439:20676:55;;;;;;;;;1671:64:0;1439:20676:55;;;;;;;;;3381:242:58;;1439:20676:55;;;;;;;;;;;;;;;;1671:64:0;;3350:291:58;;1439:20676:55;;3255:400:58;;1439:20676:55;;;;;;;;;;;;;;;3255:400:58;;;;;1439:20676:55;3255:400:58;:::i;:::-;1671:64:0;3232:433:58;;1439:20676:55;;;3710:28:58;1439:20676:55;3710:28:58;;6727:5:55;1439:20676;3710:28:58;;1439:20676:55;;;;;;;;3710:28:58;1439:20676:55;3710:28:58;1439:20676:55;3710:28:58;;;;;;;;;3755:29;3710:28;;;;;;;;;1439:20676:55;-1:-1:-1;1439:20676:55;;;;;3755:29:58;:::i;:::-;1439:20676:55;;6392:3;1439:20676;;6783:13;;;;;1439:20676;;;;;;;6783:13;;;;;1439:20676;6783:13;;1439:20676;6783:13;;1671:64:0;6783:13:55;;;;;;;;;;;1439:20676;;;;6703:9;1439:20676;;;;6392:3;1439:20676;;;6567:8;1439:20676;;;;;;;;;;;;;;;;;:::i;:::-;;;6589:1;1439:20676;6844:33;;;1439:20676;6806:91;;;;;1439:20676;;;;;;;;;;;;;;;;6806:91;;;;;;;1439:20676;6806:91;;1439:20676;6806:91;;1439:20676;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;;;;;5382:3:58;1439:20676:55;;1671:64:0;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6806:91;;;;;;;;;;;;;1439:20676;;;6703:9;1439:20676;;;;;;6942:41;;;;1439:20676;6942:41;;1439:20676;6942:41;;1439:20676;6942:41;;;;;;;;;7008:12;6942:41;;;;;1439:20676;7008:12;;:::i;:::-;;1439:20676;6392:3;1439:20676;;;6567:8;1439:20676;;;;;;;;;7041:21;1439:20676;6589:1;1439:20676;7041:21;;:::i;:::-;7083:28;1439:20676;6378:12;1439:20676;;;6392:3;1439:20676;;7083:28;;:::i;:::-;1439:20676;6567:8;1439:20676;;;;;;;;;7113:25;;1439:20676;7158:43;1439:20676;6589:1;1439:20676;7113:25;;:::i;:::-;;;:::i;:::-;6378:12;1439:20676;6703:9;1439:20676;;;;;7158:43;:::i;:::-;1439:20676;6567:8;1439:20676;;;;;;;;;7203:12;1439:20676;6589:1;1439:20676;7203:12;;:::i;1439:20676::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6942:41;;;;;;;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;;;6806:91;;;;:::i;:::-;1439:20676;;6806:91;;;;;1439:20676;;;;;;;;;6806:91;1439:20676;;;;;;;;;;;;;6783:13;;;;:::i;:::-;1439:20676;;6783:13;;;;;1439:20676;;;;;;;;;3710:28:58;;;1439:20676:55;3710:28:58;;;;;1439:20676:55;3710:28:58;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1439:20676:55;;;;;11564:15;;:::i;:::-;11626:20;;:::i;:::-;1439:20676;;;;11666:10;1439:20676;;;11657:20;;;;;;1439:20676;;;;;;;11657:20;;;;;1439:20676;11657:20;;1439:20676;11657:20;;1671:64:0;11657:20:55;;;;;;;;1439:20676;;;11687:9;1439:20676;;11687:46;;;;;1439:20676;;;11687:46;;1439:20676;11687:46;;;;;;;;1439:20676;11687:46;;;:::i;:::-;;;;;;;;;;;1439:20676;;;;;11687:9;1439:20676;;;;11777:34;;;;1439:20676;11777:34;;;1439:20676;11777:34;;1439:20676;11777:34;;;;;;11830:16;11777:34;;;;;1439:20676;11830:16;;1439:20676;;;;;;;11848:25;;;:::i;:::-;1439:20676;;11687:9;1439:20676;;;;;;11919:39;;;;1439:20676;11919:39;;1439:20676;11919:39;;1439:20676;11919:39;;;;;;;;12096:13;12075:12;12119:24;11919:39;1439:20676;11919:39;;;;;1439:20676;11983:12;12025:24;11983:12;;;:::i;:::-;;1439:20676;11997:3;1439:20676;;12002:13;;;;:::i;:::-;;:21;1439:20676;12025:24;;:::i;12075:12::-;;1439:20676;12089:5;1439:20676;;12096:13;;:::i;11919:39::-;;;;;;;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;;;;;;;;;;;;;11777:34;;;;;;;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;;;;11687:46;;;;:::i;:::-;1439:20676;;11687:46;;;;;1439:20676;;;;;;;;;11657:20;;;;:::i;:::-;1439:20676;;11657:20;;;;1439:20676;;;;;;-1:-1:-1;;1439:20676:55;;;;;5144:17;;:::i;:::-;5191:11;;;;:::i;:::-;18675:20;;:::i;:::-;1439:20676;;;18715:5;1439:20676;;;;;18706:15;;;;;1439:20676;;;18706:15;;1439:20676;;;;;18706:15;;1671:64:0;18706:15:55;;1439:20676;18706:15;;;;;;;;;;;1439:20676;18731:22;;;;;;1439:20676;;;;;;18731:22;;;;1439:20676;18731:22;;5256:27;1439:20676;18731:22;;1671:64:0;18731:22:55;;;;;;;;;;;1439:20676;;18763:9;1439:20676;;18763:65;;;;;;1439:20676;;;;;;18763:65;1439:20676;;18763:65;;;;;;;1439:20676;18763:65;;1439:20676;18763:65;;;:::i;18706:15::-;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;1223:174:58;1439:20676:55;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;446:87:58;1439:20676:55;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;4082:17;;:::i;:::-;1439:20676;;;4140:12;1439:20676;;;4130:28;1439:20676;4154:3;1439:20676;;4130:28;;;:::i;:::-;1439:20676;;17633:8;1439:20676;;;;;;17643:6;1439:20676;;;;;;;;;;;;:::i;:::-;;;;17611:44;;;1439:20676;;:::i;:::-;17611:44;;;1439:20676;;17666:18;;;;;;1439:20676;;;;;;;17666:18;;;;;1439:20676;17666:18;;1439:20676;17666:18;;1671:64:0;17666:18:55;;;;;;;;;;;1439:20676;;;;17694:6;1439:20676;;17717:9;;1439:20676;;;17694:44;1439:20676;;;;;17633:8;1439:20676;;;;;;;;;;17694:44;;;;1439:20676;17694:44;;1439:20676;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;17694:44;;;;;;;;;;;;17748:51;17694:44;;;1439:20676;;;17748:6;1439:20676;;;;;;;17783:15;1439:20676;;;;17748:51;;;;;;;;;1439:20676;17748:51;;1439:20676;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;17748:51;;;;;;;;;;;1439:20676;;;;;;;17809:54;;;;;1439:20676;;;;;;;;17809:54;;;;;;1439:20676;17809:54;;;1439:20676;17809:54;;1439:20676;;;;;;;;;;;:::i;:::-;17809:54;;;;;;;;;;1439:20676;;;;;;;;;;4252:41;;;;1439:20676;4252:41;;1439:20676;4252:41;;1439:20676;4252:41;;;;;;;;4580:15;4252:41;;4347:21;4318:12;4533:45;4252:41;;4419:21;4252:41;;;;;4318:12;;:::i;:::-;;1439:20676;4154:3;1439:20676;;17633:8;1439:20676;4347:21;;:::i;:::-;4419;4389:28;1439:20676;4140:12;1439:20676;;;4154:3;1439:20676;;4389:28;;:::i;:::-;1439:20676;17633:8;1439:20676;4419:21;;:::i;:::-;4505:8;4460:43;1439:20676;4140:12;1439:20676;;;;;;4460:43;;:::i;:::-;17633:8;1439:20676;4505:8;;:::i;:::-;1439:20676;;;;;;;4533:45;;:::i;4252:41::-;;;;;;;;;;;;;:::i;17809:54::-;;;;:::i;:::-;1439:20676;;17809:54;;;;;1439:20676;;;;;;;;;17748:51;;;;;;-1:-1:-1;17748:51:55;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;1439:20676;;;;;;;;;17694:44;;;;;;;;;;;;;:::i;:::-;;;;;;1439:20676;;;;;;;;;17666:18;;;;:::i;:::-;1439:20676;;17666:18;;;;1439:20676;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;842:181:58;1439:20676:55;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;14610:17;;:::i;:::-;1439:20676;;;;;14671:12;1439:20676;;;14730:30;14661:28;1439:20676;14685:3;1439:20676;;14661:28;;;:::i;:::-;1439:20676;;14740:8;1439:20676;;14730:30;:::i;:::-;14789:11;;;;:::i;:::-;1439:20676;14685:3;1439:20676;;;;14811:18;;;;;;1439:20676;;14811:18;1439:20676;14811:18;;1439:20676;14811:18;;1671:64:0;14811:18:55;;14740:8;14811:18;;;;;;;;;;;;;;1439:20676;;;;14839:9;1439:20676;;14839:40;;;;;1439:20676;;;14740:8;1439:20676;;14839:40;;;;1439:20676;14839:40;;;1439:20676;14839:40;;1439:20676;14839:40;;;;;;;;;;;1439:20676;;;;14839:9;1439:20676;;14889:44;;;;;;1439:20676;;14740:8;1439:20676;;;;14889:44;;;;;1439:20676;14889:44;;1439:20676;14889:44;;1439:20676;14889:44;;;;;;;;;;;1439:20676;14943:14;;;;;;;1439:20676;;;;;;14943:14;;;;1439:20676;14943:14;;;;;;;;;;;;1439:20676;;;;15057:13;15090:30;1439:20676;15027:28;15122:20;1439:20676;14671:12;1439:20676;;;14685:3;1439:20676;;15027:28;;:::i;:::-;15057:13;:::i;:::-;14740:8;1439:20676;14685:3;1439:20676;;;;;15090:30;:::i;14943:14::-;;;;:::i;:::-;1439:20676;;14943:14;;;;14889:44;;;;:::i;:::-;1439:20676;;14889:44;;;;14839:40;;;;:::i;:::-;1439:20676;;14839:40;;;;14811:18;;;;:::i;:::-;1439:20676;;14811:18;;;;1439:20676;;;;;;-1:-1:-1;;1439:20676:55;;;;;8686:17;;:::i;:::-;8731:11;;;;:::i;:::-;19400:5;1439:20676;;;;;19391:15;;;;;1439:20676;;;19391:15;;1439:20676;;;;;19391:15;;1671:64:0;19391:15:55;;1439:20676;19391:15;;;;;;;;;;;1439:20676;19416:22;;;;;;1439:20676;;;;;;19416:22;;;;1439:20676;19416:22;;8799:26;1439:20676;19416:22;;1671:64:0;19416:22:55;;;;;;;;;;;1439:20676;;;19448:9;1439:20676;;19448:40;;;;;;1439:20676;;;;;;;;;19448:40;;;;;1439:20676;19448:40;;1439:20676;19448:40;;1439:20676;19448:40;;;;;;;;;;1439:20676;;;19416:22;;;;:::i;:::-;1439:20676;;19416:22;;;;19391:15;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;;-1:-1:-1;;1439:20676:55;;;;;13624:15;;:::i;:::-;1439:20676;;;;;;:::i;:::-;13707:1;1439:20676;;;;;;;;;;;;;13750:3;1439:20676;;;;;;;;;:::i;:::-;;;;13735:22;;;;;1439:20676;13719:38;;;:::i;:::-;;;;;:::i;:::-;;1439:20676;13798:5;1439:20676;;13805:10;1439:20676;;;;;;;:::i;:::-;;;13783:33;;;1439:20676;13767:49;;;:::i;:::-;;;;;:::i;:::-;;1439:20676;13857:10;1439:20676;;;13869:8;1439:20676;;;;;;;:::i;:::-;;;;13842:36;;;1439:20676;13826:52;;;:::i;:::-;;;;;:::i;:::-;;1439:20676;13889:20;;;;;;1439:20676;;;13889:20;;;;1439:20676;13889:20;;1671:64:0;13889:20:55;;1439:20676;13889:20;;;;;;;;;;;;;;1439:20676;13919:54;;;;;;;1439:20676;;;13919:54;;;;13935:37;13919:54;;1439:20676;13919:54;;1671:64:0;13919:54:55;;1439:20676;13919:54;;;;;;;;;;;;;;1439:20676;;;;13983:9;1439:20676;;13983:46;;;;;;1439:20676;13983:46;1439:20676;;;;;;;;;;;;;;;;;;13983:46;;;;1439:20676;13983:46;;;:::i;:::-;;;;;;;;;;;;;;1439:20676;;;;;;;;;:::i;:::-;13778:1;1439:20676;;;;;;;;;;;;;13857:10;1439:20676;;;14129:21;13869:8;1439:20676;13805:10;1439:20676;14129:21;;:::i;:::-;1439:20676;;;;;;:::i;:::-;;;;14102:49;;1439:20676;14086:65;;;:::i;:::-;;;;;:::i;:::-;;14162:20;;;;;1439:20676;;14162:20;;;1439:20676;14162:20;;1671:64:0;14162:20:55;;1439:20676;14162:20;;;;;;;;;;;;;;1439:20676;14192:54;;;;;;;1439:20676;;;;;;14192:54;;;;;;;1439:20676;14192:54;;1671:64:0;14192:54:55;;;;;;;;;;;1439:20676;;;13983:9;1439:20676;;14256:46;;;;;;1439:20676;;;;;;14256:46;;;;;;;;;1439:20676;14256:46;;;:::i;14192:54::-;;;;:::i;:::-;1439:20676;;14192:54;;;;14162:20;;;;:::i;:::-;1439:20676;;14162:20;;;;;1439:20676;;;;;;;;;14162:20;1439:20676;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;13983:46;;;;:::i;:::-;1439:20676;;13983:46;;;;13919:54;;;;:::i;:::-;1439:20676;;13919:54;;;;13889:20;;;;:::i;:::-;1439:20676;;13889:20;;;;1439:20676;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;1092:59:58;1439:20676:55;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;1475:181:58;1439:20676:55;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;8164:17;;:::i;:::-;8209:11;;;;:::i;:::-;8251;;;:::i;:::-;1439:20676;;;8283:3;1439:20676;;;;8274:13;;;;;;1439:20676;;;;8274:13;;;;1439:20676;8274:13;;1671:64:0;1439:20676:55;8274:13;;;;;;;;;;;;;;;;;;1439:20676;;;;8297:9;1439:20676;;8297:40;;;;;;1439:20676;;;;;;;;8297:40;;;;;1439:20676;8297:40;;1439:20676;8297:40;;;;;;;;;;;1439:20676;;;;8356:5;1439:20676;;8347:15;;;;;;1439:20676;;;;;;;8347:15;;;;;;;1439:20676;8347:15;;1671:64:0;8347:15:55;;;;;;;;;;;1439:20676;;;;8297:9;1439:20676;;8372:40;;;;;;1439:20676;;;;;;;8372:40;;;;;;;;1439:20676;8372:40;;1439:20676;8372:40;;;;;;;;;;;1439:20676;;;8297:9;1439:20676;;;;;;8490:36;;;;1439:20676;8490:36;;1439:20676;8490:36;;1439:20676;8490:36;;;;;;;;;8545:16;8490:36;;;;;1439:20676;8545:16;;1439:20676;;;;;;;8563:25;;;:::i;1439:20676::-;;;;;;;;;8490:36;;;;;;;;;;;;;:::i;:::-;;;;8372:40;;;;:::i;:::-;1439:20676;;8372:40;;;;8347:15;;;;:::i;:::-;1439:20676;;8347:15;;;;8297:40;;;;:::i;:::-;1439:20676;;8297:40;;;;;1439:20676;;;;;;;;;8274:13;;;;:::i;:::-;1439:20676;;8274:13;;;;;1439:20676;;;;;;;;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;12243:17;;:::i;:::-;12288:11;;;;:::i;:::-;12330;;;:::i;:::-;12389:20;;:::i;:::-;1439:20676;;;12429:10;1439:20676;;;12420:20;;;;;;1439:20676;;12420:20;1439:20676;12420:20;;1439:20676;12420:20;;1671:64:0;12420:20:55;;1439:20676;12420:20;;;;;;;;;;;;;;1439:20676;12450:46;;;;;;;1439:20676;;;;;;12450:46;;;;1439:20676;12450:46;;12466:29;1439:20676;12450:46;;1671:64:0;12450:46:55;;;;;;;;;;;1439:20676;;;12506:9;1439:20676;;12506:48;;;;;;;1439:20676;;;;;;12506:48;;;;;;1439:20676;12506:48;;1439:20676;12506:48;;;:::i;12450:46::-;;;;:::i;:::-;1439:20676;;12450:46;;;;12420:20;;;;:::i;:::-;1439:20676;;12420:20;;;;1439:20676;;;;;;-1:-1:-1;;1439:20676:55;;;;;15232:15;;:::i;:::-;1439:20676;;15288:12;1439:20676;;;;15302:3;1439:20676;;15278:28;;;;:::i;:::-;15354:8;;1439:20676;;15477:32;15344:30;1439:20676;;;;15344:30;;;:::i;:::-;1439:20676;15407:30;1439:20676;15431:5;1439:20676;;15407:30;;;:::i;:::-;15477:32;;:::i;:::-;15557:20;;;:::i;:::-;1439:20676;;15597:10;1439:20676;;;15588:20;;;;;1439:20676;;;15588:20;;;;1439:20676;15588:20;;1671:64:0;15588:20:55;;;;;;;;;;;;;;;;;1439:20676;;;;15618:9;1439:20676;;15618:46;;;;;1439:20676;;;15618:46;;1439:20676;;;;;;;;15618:46;1439:20676;15618:46;1439:20676;15618:46;;;:::i;:::-;;;;;;;;;;;;;;1439:20676;;;;15302:3;1439:20676;;15675:13;;;;;1439:20676;;15675:13;;;;1439:20676;15675:13;;1671:64:0;15675:13:55;;;;;;;;;;;;;;;;;1439:20676;;;;15618:9;1439:20676;;15698:42;;;;;;1439:20676;;;;;;;;;15698:42;;;;;1439:20676;15698:42;;1439:20676;15698:42;;;;;;;;;;;1439:20676;;;;15431:5;1439:20676;;15750:15;;;;;1439:20676;;;;;;15750:15;;;;;;;1439:20676;15750:15;;1671:64:0;15750:15:55;;;;;;;;;;;1439:20676;;;;15618:9;1439:20676;;15775:42;;;;;;1439:20676;;;;;;15775:42;;;;;;;1439:20676;15775:42;;1439:20676;15775:42;;;;;;;;;;1439:20676;;;;16112:54;1439:20676;;;16112:54;16186:37;1439:20676;15995:30;1439:20676;;15904:52;16225:32;1439:20676;15904:52;:28;16225:32;1439:20676;15288:12;1439:20676;;;15302:3;1439:20676;;15904:28;;:::i;:::-;1439:20676;15935:13;;;:::i;:::-;;:21;1439:20676;15904:52;;:::i;:::-;15995:30;1439:20676;;;;;15302:3;1439:20676;;15995:30;;:::i;:::-;1439:20676;16145:13;16112:30;1439:20676;15288:12;1439:20676;;;15431:5;1439:20676;;16112:30;;:::i;:::-;16145:13;;:::i;16112:54::-;16208:15;1439:20676;16186:37;;:::i;:::-;1439:20676;;;;15431:5;1439:20676;;16225:32;;:::i;15775:42::-;;;;;;;;;:::i;:::-;1439:20676;;15775:42;;;;;;;15750:15;;;;:::i;:::-;1439:20676;;15750:15;;;;15698:42;;;;:::i;:::-;1439:20676;;15698:42;;;;15675:13;;;;:::i;:::-;1439:20676;;15675:13;;;;15618:46;;;;:::i;:::-;1439:20676;;15618:46;;;;15588:20;;;;:::i;:::-;1439:20676;;15588:20;;;;1439:20676;;;;;;-1:-1:-1;;1439:20676:55;;;;;3487:17;;:::i;:::-;1439:20676;;3535:28;1439:20676;3545:12;1439:20676;;;3559:3;1439:20676;;3535:28;;:::i;:::-;3592:11;;;;:::i;:::-;1439:20676;;3649:9;1439:20676;;;;;;3649:41;;;;1439:20676;3649:41;;1439:20676;3649:41;;1439:20676;3649:41;;;;;;;;3930:45;3649:41;3744:21;3715:12;3977:15;3649:41;;3816:21;3649:41;;;;;3715:12;;:::i;3816:21::-;3902:8;3857:43;1439:20676;3545:12;1439:20676;;;3649:9;1439:20676;;3857:43;;:::i;3902:8::-;1439:20676;;3649:9;1439:20676;;;;;3930:45;:::i;3649:41::-;;;;;;;;;;;;;:::i;1439:20676::-;;;;;;;-1:-1:-1;;1439:20676:55;;;;;10629:17;;:::i;:::-;10674:11;;;;:::i;:::-;1439:20676;;10706:5;1439:20676;;;10697:15;;;;;;1439:20676;;10697:15;1439:20676;10697:15;;1439:20676;10697:15;;1671:64:0;10697:15:55;;1439:20676;10697:15;;;;;;;;;;;;;;1439:20676;10722:43;;;;;;;1439:20676;;;;;;10722:43;;;;1439:20676;10722:43;;10738:26;1439:20676;10722:43;;1671:64:0;10722:43:55;;;;;;;;;;;1439:20676;;;10775:9;1439:20676;;10775:39;;;;;;1439:20676;;;;;;;10775:39;;;;;1439:20676;10775:39;;1439:20676;10775:39;;1439:20676;10775:39;;;;;;;;;;1439:20676;;10722:43;;;;:::i;:::-;1439:20676;;10722:43;;;;10697:15;;;;:::i;:::-;1439:20676;;10697:15;;;;1439:20676;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;390:9:59;1439:20676:55;;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;18675:20;;:::i;:::-;1439:20676;;;18715:5;1439:20676;;;;;18706:15;;;;;1439:20676;;;18706:15;;1439:20676;;;;;18706:15;;1671:64:0;18706:15:55;;1439:20676;18706:15;;;;;;;;;;;1439:20676;18731:22;;;;;;1439:20676;;;;;;18731:22;;;;1439:20676;18731:22;;4713:29;1439:20676;18731:22;;1671:64:0;18731:22:55;;;;;;;;;;;1439:20676;;;18763:9;1439:20676;;18763:65;;;;;;1439:20676;;;;;;;18763:65;1439:20676;;18763:65;;;;;;;1439:20676;18763:65;;1439:20676;;;18763:65;;;:::i;18731:22::-;;;;:::i;:::-;1439:20676;;18731:22;;;;18706:15;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;-1:-1:-1;;1439:20676:55;;;;;8923:17;;:::i;:::-;8968:11;;;;:::i;:::-;9010;;;:::i;:::-;1439:20676;;;9042:3;1439:20676;;;;9033:13;;;;;1439:20676;;;;9033:13;;;;1439:20676;9033:13;;1671:64:0;9033:13:55;;1439:20676;9033:13;;;;;;;;;;;1439:20676;;;9056:9;1439:20676;;9056:39;;;;;1439:20676;;;;;;9056:39;;;;1439:20676;9056:39;;;1439:20676;9056:39;;1439:20676;9056:39;;;;;;;;1439:20676;;;19400:5;1439:20676;;;19391:15;;;;;;1439:20676;;19391:15;;;1439:20676;;;19391:15;;1671:64:0;19391:15:55;1439:20676;;;19391:15;;;;;;;;;;1439:20676;19416:22;;;;;;1439:20676;;;;;;19416:22;;;;1439:20676;19416:22;;9151:28;1439:20676;19416:22;;1671:64:0;19416:22:55;;;;;;;;;;;1439:20676;;9056:9;1439:20676;;19448:40;;;;;;1439:20676;;;;;;;;;19448:40;;;;;1439:20676;19448:40;;1439:20676;19448:40;;1439:20676;19448:40;;;;;;;;;;1439:20676;;;19391:15;;;;;;;:::i;:::-;;;;;9056:39;;;;:::i;:::-;1439:20676;;9056:39;;;;9033:13;;;;:::i;:::-;1439:20676;;9033:13;;;;1439:20676;;;;;;;-1:-1:-1;;1439:20676:55;;;;;1772:512;;:::i;:::-;1439:20676;;1858:7;1439:20676;;;;;;1858:26;;;;;;1439:20676;1858:26;;;;;;;;;;;;;1439:20676;;1839:45;1439:20676;;1927:6;1439:20676;;;;1942:10;1439:20676;;;;;;;:::i;:::-;;;;1936:4;;;1905:48;;;;;1439:20676;1905:48;1439:20676;;;;1894:59;1439:20676;;;1894:59;1439:20676;;;;;;;;;;;;1976:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:20676;;2026:4;1439:20676;;;1671:64:0;1976:56:55;;;;;;;;;1439:20676;;;;;;1964:68;1439:20676;;;;;1964:68;1439:20676;;;;;1942:10;1439:20676;;2043:37;;;;;1439:20676;;;;;;;2043:37;;;;;1439:20676;2043:37;;1439:20676;2043:37;;1671:64:0;1439:20676:55;1894:59;1439:20676;;1894:59;1439:20676;;1671:64:0;1439:20676:55;;;;;;;;;;;;;1671:64:0;2043:37:55;;;;;;;;;;1439:20676;;2260:16;1439:20676;2110:3;1439:20676;2110:3;1439:20676;;2110:3;:::i;:::-;2143:5;1439:20676;2143:5;1439:20676;;2143:5;:::i;:::-;2195:16;1439:20676;2110:3;1439:20676;;;1858:7;1439:20676;;2195:16;;:::i;:::-;2143:5;1439:20676;1858:7;1439:20676;;;;;2260:16;:::i;2043:37::-;;;;:::i;:::-;1439:20676;;2043:37;;;;1976:56;1894:59;1439:20676;;;;;;;;1858:26;;;;;;;;;;;;;;;;:::i;:::-;;;1439:20676;;;;;1858:26;;;;;;;;1439:20676;;;;;;;-1:-1:-1;;1439:20676:55;;;;;10911:17;;:::i;:::-;10956:11;;;;:::i;:::-;10998;;;:::i;:::-;1439:20676;;;11030:3;1439:20676;;;;11021:13;;;;;;1439:20676;;11021:13;1439:20676;11021:13;;1439:20676;11021:13;;1671:64:0;1439:20676:55;11021:13;;;;;;;;;;;;;;;1439:20676;;;;;11044:9;1439:20676;;11044:40;;;;;1439:20676;;;;;;;;11044:40;;;;;1439:20676;11044:40;;1439:20676;11044:40;;;;;;;;;;;1439:20676;;;;11108:5;1439:20676;;11094:20;;;;;1439:20676;;11094:20;1439:20676;11094:20;;1439:20676;11094:20;;1671:64:0;11094:20:55;;;;;;;;;;;;;;;;;1439:20676;;;;11044:9;1439:20676;;11124:40;;;;;;1439:20676;;;;;;;11124:40;;;;;;;;1439:20676;11124:40;;1439:20676;11124:40;;;;;;;;;;;1439:20676;11175:46;;;;;;;1439:20676;;;;;;11175:46;;;;1439:20676;11175:46;;11191:29;1439:20676;11175:46;;1671:64:0;11175:46:55;;;;;;;;;;;1439:20676;;;11044:9;1439:20676;;11231:39;;;;;1439:20676;;;;;;11231:39;;;;;1439:20676;11231:39;;1439:20676;11231:39;;1439:20676;11231:39;;;;;;;;;;1439:20676;;11175:46;;;;:::i;:::-;1439:20676;;11175:46;;;;11124:40;;;;:::i;:::-;1439:20676;;11124:40;;;;11094:20;;;;:::i;:::-;1439:20676;;11094:20;;;;11044:40;;;;:::i;:::-;1439:20676;;11044:40;;;;11021:13;;;;;;;:::i;:::-;;;;;;1439:20676;;;;;;;;-1:-1:-1;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:20:59;;;;;1439:20676:55;849:20:59;;;;1439:20676:55;849:20:59;;1671:64:0;849:20:59;;1439:20676:55;849:20:59;;;;;;;;;;;1439:20676:55;;;;;;879:6:59;1439:20676:55;;;;;;;879:42:59;;;;;1439:20676:55;879:42:59;;1671:64:0;903:17:59;1439:20676:55;;;;;;;;;;879:42:59;;;;;;;;;1439:20676:55;879:42:59;;;;;;;;;1439:20676:55;;931:6:59;1439:20676:55;;;;931:42:59;;;;;;;1439:20676:55;931:42:59;;1671:64:0;1439:20676:55;;;;931:42:59;;;;;;;;1439:20676:55;983:14:59;;;;;;;1439:20676:55;;;;;;;983:14:59;;;;1439:20676:55;983:14:59;;;;;;;;;;;;1439:20676:55;;;931:42:59;;;;;;-1:-1:-1;931:42:59;;;;;;:::i;:::-;;;;;;879;;;;;;;;;;;;;:::i;:::-;;;;;;1439:20676:55;;;;;;;;;849:20:59;;;;;;;:::i;:::-;1439:20676:55;849:20:59;;;;;1439:20676:55;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;1671:64:0:-;;;;;;;;-1:-1:-1;;1671:64:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;1439:20676:55;;;;1671:64:0;;;:::o;:::-;;;;;;;;;;:::i;:::-;1439:20676:55;;;;;;;:::i;:::-;1671:64:0;;;-1:-1:-1;1671:64:0;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;1439:20676:55;;;1671:64:0;;;;;:::o;1819:584::-;1873:7;1439:20676:55;;;;;;;;;;;;;;;1896:14:0:o;1869:528::-;1941:25;2939:104;;;1980:374;;2367:19;;;:::o;1980:374::-;1439:20676:55;;;;;2196:43:0;;;;1671:64;;;;1439:20676:55;1671:64:0;;1439:20676:55;;2196:43:0;;;;;:::i;:::-;2086:175;1671:64;1439:20676:55;;2086:175:0;;1671:64;2196:43;2086:175;;1671:64;;;;;;;;;;;;:::i;:::-;;;2086:175;1671:64;2086:175;;;;;;;:::i;:::-;2047:232;;;;;2312:27;2047:232;;:::i;:::-;2196:43;1671:64;;;2312:27;;;;;;:::i;:::-;2367:19;:::o;1439:20676:55:-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;2640:18;1439:20676;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;2640:18;-1:-1:-1;1439:20676:55;;;-1:-1:-1;1439:20676:55;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3615:277:0:-;1439:20676:55;;;;;;3678:6:0;;;3674:212;;3615:277;;:::o;3674:212::-;1439:20676:55;;;;3705:44:0;1439:20676:55;;;;;;;;;;;;;;;;;;;;;3705:44:0;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:64:0;3768:34;;;;;;;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:64:0;3821:34;;;;;:::i;:::-;3615:277::o;2410:424::-;2939:104;;;2445:359;;2410:424;1439:20676:55;;;2928:1:0;1439:20676:55;;;2928:1:0;1439:20676:55;2410:424:0:o;2445:359::-;-1:-1:-1;1439:20676:55;;;;2645:67:0;;;;1671:64;;;;1439:20676:55;;;;2705:4:0;1439:20676:55;;;;;2645:67:0;;;;;:::i;:::-;2534:196;1671:64;1439:20676:55;;2534:196:0;;1671:64;2645:67;2534:196;;1671:64;;;;;;;;;;;;:::i;2534:196::-;2499:245;;;;;;;:::i;:::-;;2445:359;;;4088:277;4151:6;;;4147:212;;4088:277;;:::o;4147:212::-;1439:20676:55;;;;4178:44:0;1439:20676:55;;;;;;;;;;;;;;;;;;;;;4178:44:0;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4241:34:0;;;;;;;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;5202:262:0;5259:6;;;5255:203;;5202:262;;:::o;5255:203::-;1439:20676:55;;;;5286:41:0;1439:20676:55;;;;;;;;;;;;;;;;;;;;;5286:41:0;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5346:31:0;;;;;;;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;;;;;:::i;:::-;;;;;;:::o;2796:407::-;;;;;2897:13;;2893:26;;1439:20676;;;2971:9;1439:20676;;;;;;;;;2952:47;-1:-1:-1;2952:47:55;;;;;;;1671:64:0;;;;1439:20676:55;;;;;;;;;;;2952:47;;;;;:::i;:::-;1671:64:0;2942:58:55;;1439:20676;;3124:6;1439:20676;;;;;;;;;:::i;:::-;;;3071:61;;;1439:20676;;;;;;;;;:::i;:::-;;1671:64:0;;1439:20676:55;;;;;3071:61;;;1439:20676;;;;3071:61;;1439:20676;;;;;;3032:128;;;;;;;1439:20676;3032:128;;1439:20676;3032:128;;1439:20676;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1671:64:0;1439:20676:55;;;;3032:128;;;;;;;;;;-1:-1:-1;3032:128:55;;;2796:407;3184:11;;;;;;;:::i;3032:128::-;;;;;;;;;;;;;:::i;:::-;;;1439:20676;;;;;;-1:-1:-1;3184:11:55;3032:128;;;;;;;;;1439:20676;;-1:-1:-1;1439:20676:55;;;;;2893:26;2912:7;;;;:::o;1439:20676::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;:::o;:::-;;;;;;;;;;;1671:64:0;;16156:1:55;1439:20676;;;;;;;:::o;:::-;1671:64:0;;13837:1:55;1439:20676;;;;;;;:::o;:::-;1671:64:0;;1439:20676:55;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1439:20676:55;;-1:-1:-1;1439:20676:55;;-1:-1:-1;1439:20676:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;;;;;;;;;;12567:365;12660:10;1439:20676;-1:-1:-1;1439:20676:55;;;;;;;;12649:21;;12645:34;;12709:15;;:::i;:::-;12771:20;;:::i;:::-;1439:20676;;12802:17;;;;;1439:20676;;;;12802:17;1439:20676;12802:17;;;;;1671:64:0;12802:17:55;;1439:20676;12802:17;;;;;;;;;;;12567:365;12829:40;;;;;;1439:20676;;;;;;12829:40;;;;1439:20676;12829:40;;12845:23;12802:17;12829:40;;1671:64:0;12829:40:55;;;;;;;;;;;12567:365;1439:20676;;12879:9;1439:20676;;12879:46;;;;;;1439:20676;;;;;;12879:46;1439:20676;;12879:46;;;;;;1439:20676;12879:46;;12802:17;12879:46;;;:::i;:::-;;;;;;;;;;;;;12567:365;;:::o;12879:46::-;;;;;:::i;:::-;1439:20676;;12567:365;:::o;12829:40::-;;;;:::i;:::-;1439:20676;;12829:40;;;;12802:17;;;;;;;:::i;:::-;;;;;12645:34;12672:7;;;:::o;1439:20676::-;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;20561:1;1439:20676;;;-1:-1:-1;1439:20676:55;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;16353:180;20694:295;;:::i;:::-;20885:8;1439:20676;;;;20964:6;1439:20676;;;;;;;;;;;:::i;:::-;20830:31;1439:20676;;20789:193;;;;;1439:20676;;;;;;;;;:::i;:::-;;1671:64:0;;1439:20676:55;;;;;20789:193;;;;1439:20676;20789:193;;;1439:20676;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;;:::i;:::-;;;;;;16353:180;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16480:9;1439:20676;;;;16480:46;;;;;1439:20676;16480:46;;;;;;1439:20676;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1671:64:0;1439:20676:55;;;;;16480:46;;;;;;;;;;1439:20676;16480:46;;;1439:20676;16466:60;;;16353:180;:::o;16480:46::-;;;;;;;;;;;;;:::i;:::-;;;1439:20676;;;;;;16480:46;;;;;;;;;1439:20676;;;;-1:-1:-1;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1439:20676:55;;;;16539:307;16633:17;;:::i;:::-;16678:11;;;:::i;:::-;16720;;;:::i;:::-;16752:3;1439:20676;-1:-1:-1;1439:20676:55;16743:13;;;;;1439:20676;;;;;;16743:13;;;;1439:20676;16743:13;;1439:20676;;;;16743:13;;;1671:64:0;16743:13:55;;;;;;;;16539:307;1439:20676;;16766:9;1439:20676;;16766:39;;;;;1439:20676;;;;;;16766:39;;;;1439:20676;16766:39;;;16743:13;16766:39;;1439:20676;16766:39;;;;;;;;16816:23;;16539:307;:::o;16766:39::-;;;;;:::i;:::-;1439:20676;;16816:23;16539:307;:::o;16766:39::-;1439:20676;;;;;;;;;16743:13;;;;:::i;:::-;;;;1439:20676;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;;;;;;;;;16852:643;;16971:3;1439:20676;-1:-1:-1;1439:20676:55;;;;;16976:8;1439:20676;;;;;;;16986:6;1439:20676;;;;17137:75;17041:27;1439:20676;;;;;;;;;;;:::i;:::-;;;;16954:44;;;;1439:20676;;:::i;:::-;16954:44;;;1439:20676;17041:27;:::i;:::-;17137:75;:::i;:::-;1439:20676;17320:9;1439:20676;;;17363:16;1439:20676;4097:16:58;4083:38;4097:16;;1671:64:0;4083:38:58;:::i;:::-;4136:13;;4180:3;4155:16;;1671:64:0;;4151:27:58;;;;;4288:19;;4199:123;4288:19;;;1439:20676:55;4288:19:58;;4180:3;4288:19;;:::i;:::-;;1439:20676:55;;4248:60:58;;;1439:20676:55;1092:59:58;1439:20676:55;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;4248:60:58;;;;;;:::i;:::-;1671:64:0;4221:101:58;;4199:123;;:::i;:::-;1439:20676:55;4180:3:58;:::i;:::-;4136:13;;4151:27;;;;;;;;;;;;;1439:20676:55;;4617:34:58;;;;;1439:20676:55;;1671:64:0;;;1439:20676:55;;;;;;;;;;;4617:34:58;;;;4509:277;4617:34;;4383:435;4617:34;;4248:60;4617:34;4248:60;4617:34;;;;;;;;:::i;:::-;1671:64:0;4607:45:58;;4711:12;4509:277;4711:12;;;;;1439:20676:55;4749:15:58;;1439:20676:55;;;4509:277:58;;;;;;;;1439:20676:55;;;;;;;;;;;1475:181:58;1439:20676:55;;;;;;;;;;1671:64:0;1439:20676:55;;;;;;;4509:277:58;;;;;;;;;:::i;:::-;1671:64:0;4478:326:58;;1439:20676:55;4383:435:58;1439:20676:55;;4383:435:58;;;;;;;1439:20676:55;;;;;;;;;;;;;;;;;;4383:435:58;;;;;;;;;:::i;:::-;1671:64:0;4360:468:58;;1439:20676:55;;4873:28:58;1439:20676:55;4873:28:58;;17344:5:55;4873:28:58;;;1439:20676:55;;;;;;4873:28:58;4248:60;4873:28;1439:20676:55;4873:28:58;;;;;;;;;4918:29;4873:28;;-1:-1:-1;;;4873:28:58;;;-1:-1:-1;1439:20676:55;;;;;4918:29:58;:::i;:::-;17400:13:55;;;;;;1439:20676;;;;;;;17400:13;;;;;1439:20676;17400:13;;4873:28:58;17400:13:55;;1671:64:0;17400:13:55;;;;;;;;1439:20676;;17320:9;1439:20676;;17423:65;;;;;;1439:20676;;;;;;17423:65;1439:20676;;17423:65;;;;;;;1439:20676;17423:65;;4873:28:58;17423:65:55;;;:::i;17400:13::-;;;;;;;:::i;:::-;;;;;1439:20676;;;;;;;;;;;-1:-1:-1;1439:20676:55;;;;;;;;17876:168;17960:3;1439:20676;-1:-1:-1;1439:20676:55;;17946:18;;;;;;1439:20676;;;;;17946:18;;1439:20676;;;;17946:18;;;1671:64:0;17946:18:55;;1439:20676;17946:18;;;;;;;;;;;17876:168;1439:20676;17974:9;1439:20676;;17974:39;;;;;;1439:20676;;;;;;;17974:39;;;;;1439:20676;17974:39;;17946:18;17974:39;;1439:20676;17974:39;;;;;;;;;;;17876:168;18023:14;;;;;;;1439:20676;;;;17946:18;1439:20676;;18023:14;;;;1439:20676;18023:14;;;;;;;;;;;;17876:168;;:::o;17974:39::-;;;;:::i;:::-;1439:20676;;17974:39;;;;17946:18;;;;;;;:::i;:::-;;;;;18050:362;18284:20;;:::i;:::-;1439:20676;;18324:5;1439:20676;;-1:-1:-1;1439:20676:55;;18315:15;;;;;1439:20676;;;;;;18315:15;;;;1439:20676;18315:15;;1439:20676;;;;18315:15;;;1671:64:0;18315:15:55;;;;;;;;18050:362;1439:20676;18340:9;1439:20676;;18340:65;;;;;;1439:20676;;;;;;18340:65;1439:20676;;18340:65;;;;;;;1439:20676;18340:65;;18315:15;18340:65;;;:::i;:::-;;;;;;;;;;;18050:362;;:::o;18315:15::-;;;;;;;:::i;:::-;;;;;;1439:20676;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1439:20676:55;;;;;;;;;;;;:::o;19501:619::-;1439:20676;;;;;;;:::i;:::-;-1:-1:-1;;1439:20676:55;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;19782:5;1439:20676;;19906:41;19858:29;19789:10;1439:20676;;;;;19801:6;1439:20676;;;;;;;;;;;;:::i;:::-;;;19765:50;;;;1439:20676;;:::i;:::-;19765:50;;;1439:20676;19858:29;;:::i;19906:41::-;1439:20676;20042:9;1439:20676;;;20087:16;1439:20676;4097:16:58;4083:38;4097:16;;1671:64:0;4083:38:58;:::i;:::-;4136:13;;4180:3;4155:16;;1671:64:0;;4151:27:58;;;;;4288:19;;;4180:3;4288:19;;:::i;:::-;;1439:20676:55;;;4248:60:58;;;1439:20676:55;1092:59:58;1439:20676:55;;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;;;;;4248:60:58;;;;;;:::i;:::-;1671:64:0;4221:101:58;;4199:123;;;;:::i;4180:3::-;4136:13;;4151:27;;;;;;;;;;;;1439:20676:55;;4617:34:58;;;;;1439:20676:55;1671:64:0;;;1439:20676:55;;;;;;;;;;;;4617:34:58;;;;4509:277;4617:34;;4383:435;4617:34;;4248:60;4617:34;4248:60;4617:34;;;;;;;;:::i;:::-;1671:64:0;4607:45:58;;4711:12;4509:277;4711:12;;;;1439:20676:55;4749:15:58;;1439:20676:55;;;4509:277:58;;;;;;;;1439:20676:55;;;;;;;;;;;1475:181:58;1439:20676:55;;;;;;;;;;1671:64:0;1439:20676:55;;;;;;;4509:277:58;1671:64:0;4478:326:58;;1439:20676:55;4383:435:58;1439:20676:55;;4383:435:58;;;;;;;1439:20676:55;;;;;;;;;;;;;;;;;;4383:435:58;1671:64:0;4360:468:58;;1439:20676:55;;4873:28:58;1439:20676:55;4873:28:58;;20066:7:55;4873:28:58;;;1439:20676:55;;;;;4873:28:58;;1439:20676:55;4873:28:58;1439:20676:55;4873:28:58;;;;;;;-1:-1:-1;4918:29:58;;4873:28;;;;;;;;1439:20676:55;-1:-1:-1;;1439:20676:55;;;;;4918:29:58;:::i;4873:28::-;1439:20676:55;4873:28:58;;;;;;;;;;;-1:-1:-1;4873:28:58;;;;;;:::i;:::-;;;;;;;;;;1439:20676:55;;;;;;;;;;;;;;;;;;;-1:-1:-1;1439:20676:55;;;;;;;;20126:296;;1439:20676;;;;;;;:::i;:::-;20280:1;1439:20676;;-1:-1:-1;1439:20676:55;;;;;;;20251:31;;;20361:54;20251:31;;1439:20676;;;20326:6;1439:20676;;20335:15;1439:20676;;;;;;;:::i;:::-;;;;20308:43;;1439:20676;20292:59;;;:::i;:::-;;;;;:::i;:::-;;20395:6;1439:20676;;;;;;;;:::i;:::-;;;;20377:38;;1439:20676;20361:54;;;:::i;:::-;;;:::i;:::-;;20126:296::o;1439:20676::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;20428:260;20540:23;;:::i;:::-;1439:20676;;;20604:3;1439:20676;;20609:21;:8;1439:20676;20620:10;1439:20676;20609:21;;:::i;:::-;1439:20676;;;;;;:::i;:::-;;;20589:42;;;1439:20676;20573:58;;;:::i;:::-;;;;;:::i;:::-;;20672:5;1439:20676;;;;;;;;:::i;:::-;;;-1:-1:-1;20589:42:55;20657:24;;1439:20676;20641:40;;;:::i;:::-;;;;;:::i;21329:331::-;1439:20676;;;;;;8563:25;21408:24;;21404:250;;21329:331;:::o;21404:250::-;1439:20676;;21453:52;1439:20676;;;;;;;;;;;;;;;;;;;;;21453:52;1439:20676;;;;;;;;;;;;;;;;;;;;;;;;8563:25;1439:20676;;;;21524:40;;;;;;;;1439:20676;;;;;;;;;;;;;;;;;;;;;;;21666:292;;21927:15;21666:292;21857:5;21900:7;21666:292;1439:20676;;;;21857:5;:::i;21900:7::-;21927:15;1439:20676;;;;;;;3744:21;21072:24;;21068:249;;21666:292;:::o;21068:249::-;1439:20676;;21117:51;1439:20676;;;21882:16;1439:20676;;;21882:16;1439:20676;;;;;;;;;21927:15;1439:20676;;;21117:51;1439:20676;;;;;;;;;;;;;;;;;;;;;;;21666:292;;21927:15;21666:292;21857:5;21900:7;21666:292;1439:20676;;;;21857:5;:::i;21900:7::-;21927:15;1439:20676;;;;;;;11848:25;21072:24;;21068:249;;21666:292;:::o;21068:249::-;1439:20676;;21117:51;1439:20676;;;21882:16;1439:20676;;;21882:16;1439:20676;;;;;;;;;21927:15;1439:20676;;;21117:51;1439:20676;;;;;;;;;;;;;;;;;;;;;;;21964:149;22075:31;21964:149;1439:20676;;;22075:31;;;;1439:20676;22075:31;;1439:20676;;;;22075:31;;;1671:64:0;1439:20676:55;22075:31;;;;;;;-1:-1:-1;22075:31:55;;;22065:41;21964:149;:::o;22075:31::-;;;;;;;;;;;;;;;;:::i;:::-;;;1439:20676;;;;;;21964:149;:::o;22075:31::-;;;-1:-1:-1;22075:31:55;;;1439:20676;;;-1:-1:-1;1439:20676:55;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;1671:64:0;;1439:20676:55;;;;;;;;;;;-1:-1:-1;1439:20676:55;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;461:509:56;559:31;1671:64:0;;559:31:56;:::i;:::-;606:13;618:1;643:3;1671:64:0;;621:20:56;;;;;694:12;1439:20676:55;694:12:56;643:3;694:12;;;:::i;:::-;;1439:20676:55;;714:20:56;683:52;714:12;;;;;:::i;:::-;;:20;1439:20676:55;;683:52:56;1439:20676:55;;683:52:56;;;;;;;1439:20676:55;;;;;;;;;;;;1671:64:0;;1439:20676:55;;;683:52:56;;;;;;;;;:::i;:::-;1671:64:0;673:63:56;;662:74;;;;:::i;643:3::-;606:13;;621:20;;618:1;799:3;1671:64:0;;777:20:56;;;;;1439:20676:55;;847:6:56;1439:20676:55;;;;;847:25:56;1439:20676:55;847:25:56;;;;;;;;1439:20676:55;618:1:56;1439:20676:55;;;;;;;:::i;:::-;;;;;;;;;;;847:25:56;;;;;;;;;618:1;847:25;;;799:3;825:12;;;;;;:::i;:::-;;1439:20676:55;;618:1:56;1439:20676:55;714:20:56;1439:20676:55;818:6:56;1439:20676:55;;618:1:56;1439:20676:55;1671:64:0;;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;799:3:56;1439:20676:55;;;618:1:56;1439:20676:55;;618:1:56;1439:20676:55;;618:1:56;1439:20676:55;;;;;;799:3:56;;;;;;;;:::i;:::-;762:13;;1439:20676:55;;;;;;;;;;;;;;;;;618:1:56;1439:20676:55;;;618:1:56;1439:20676:55;;;;;;;;;;;;;;;;618:1:56;1439:20676:55;;;;-1:-1:-1;1439:20676:55;;;;;;;;618:1:56;1439:20676:55;;618:1:56;1439:20676:55;847:25:56;;;;;;;;;;:::i;:::-;;;714:20;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;847:25:56;;;;;;;1439:20676:55;;;;;;;;;;;;;847:25:56;1439:20676:55;;;618:1:56;1439:20676:55;;;;;777:20:56;;;714;1439:20676:55;777:20:56;1439:20676:55;847:6:56;1439:20676:55;;;;908:21:56;;;;;1439:20676:55;908:21:56;;;847:25;908:21;;1439:20676:55;;;;;;:::i;:::-;908:21:56;;;;;;;;;618:1;908:21;;;757:126;1439:20676:55;939:24:56;1439:20676:55;461:509:56:o;908:21::-;;714:20;908:21;;;;;;;;;714:20;908:21;;;:::i;:::-;;;1439:20676:55;;;;;;908:21:56;;;;;;-1:-1:-1;908:21:56;;976:286;1238:16;1066:23;;:::i;:::-;1439:20676:55;;1136:3:56;1439:20676:55;;1141:8:56;1439:20676:55;;;;;;;:::i;:::-;;;1121:29:56;;;1439:20676:55;1099:51:56;;;:::i;:::-;;;;;:::i;:::-;;1197:5;1439:20676:55;;1204:10:56;1439:20676:55;;;;;;;:::i;:::-;;;1121:29:56;1182:33;;1439:20676:55;1160:55:56;;;:::i;:::-;;;;;:::i;:::-;;1238:16;:::i;1439:20676:55:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5413:766:58:-;1439:20676:55;;:::i;:::-;;1671:64:0;;1439:20676:55;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;16954:44;1439:20676;;;;;;5745:13:58;;16954:44:55;5783:3:58;1671:64:0;;5760:21:58;;;;;5878:13;1439:20676:55;5878:13:58;5783:3;5878:13;;;:::i;:::-;;1439:20676:55;;;5923:13:58;;;;;:::i;:::-;;:20;1439:20676:55;;;;;;;;:::i;:::-;;;5817:141:58;;1439:20676:55;5802:156:58;;;;:::i;:::-;;;;;;:::i;:::-;;5783:3;:::i;:::-;5745:13;;5760:21;;;;6154:3;6136:15;1439:20676:55;6136:15:58;;;1439:20676:55;;;;;;;;;:::i;:::-;;;16954:44;1439:20676;5997:175:58;;1439:20676:55;5997:175:58;;1439:20676:55;5413:766:58;:::o;1439:20676:55:-;;;;;;;;:::i;:::-;16954:44;1439:20676;;;16954:44;1439:20676;;;;;;;;;;;;406:197:59;1439:20676:55;;;466:13:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1439:20676:55;;;;;;;456:23:59;1439:20676:55;;;456:23:59;1439:20676:55;;;499:39:59;;;;;;;;;;;;;;;1439:20676:55;499:39:59;;;;;;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:2:59;1439:20676:55;;;;499:39:59;;;;;;;;;1439:20676:55;;;490:48:59;1439:20676:55;;;490:48:59;1439:20676:55;;;557:39:59;;;;;;;;;;;;;;;;;1439:20676:55;557:39:59;;;1439:20676:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:2:59;1439:20676:55;;;;557:39:59;;;;;;;;;;1439:20676:55;;;;548:48:59;1439:20676:55;;;548:48:59;1439:20676:55;406:197:59:o;557:39::-;1439:20676:55;;;;;;;;;557:39:59;1439:20676:55;;;;;;;;;499:39:59;1439:20676:55;;;;;;;;;466:13:59;1439:20676:55;;;;;;;;;;609:142:59;666:6;1439:20676:55;;-1:-1:-1;1439:20676:55;;;;;666:34:59;;;;;;1439:20676:55;;;;;666:34:59;;;;1439:20676:55;666:34:59;;;;;1671:64:0;390:9:59;;1439:20676:55;390:9:59;;;1439:20676:55;;;;;;666:34:59;;;;;;;;609:142;1439:20676:55;710:6:59;1439:20676:55;;710:34:59;;;;;1439:20676:55;;;;;;;;710:34:59;;;;;;;666;710;;1671:64:0;1439:20676:55;;;;710:34:59;;;;;;;;609:142;;:::o;666:34::-;;;;;;;:::i;:::-;;;;;;1439:20676:55;;;;;;;;;757:247:59;;1439:20676:55;849:20:59;;;;;1439:20676:55;;;;849:20:59;1439:20676:55;849:20:59;;;1439:20676:55;;;;;849:20:59;;;1671:64:0;849:20:59;;1439:20676:55;849:20:59;;;;;;;;;;;757:247;1439:20676:55;;;;;879:6:59;1439:20676:55;;;;;;;;879:42:59;;;;1439:20676:55;879:42:59;;849:20;879:42;;1671:64:0;903:17:59;1439:20676:55;;;;;;;;;;879:42:59;;;;;;;;;1439:20676:55;879:42:59;;;;;;;;;757:247;1439:20676:55;931:6:59;1439:20676:55;;;;931:42:59;;;;;;;849:20;931:42;;1671:64:0;1439:20676:55;;;;931:42:59;;;;;;;;983:14;;;;;;;1439:20676:55;;;;849:20:59;1439:20676:55;;983:14:59;;;;1439:20676:55;983:14:59;;;;;;;;;;;;757:247;;:::o;931:42::-;;;;;;-1:-1:-1;931:42:59;;;;;;:::i;:::-;;;;;;879;;;;;;;;;;;;;:::i;:::-;;;;;849:20;;;;;;;;:::i;:::-;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "MINT_AMOUNT_ERC20()": "1b210293", + "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH()": "3eb8b8fd", + "_PERMIT_BATCH_TYPEHASH()": "6302c3cf", + "_PERMIT_DETAILS_TYPEHASH()": "6e4f2775", + "_PERMIT_SINGLE_TYPEHASH()": "c5df4f03", + "_PERMIT_TRANSFER_FROM_TYPEHASH()": "78f16830", + "_TOKEN_PERMISSIONS_TYPEHASH()": "415e982d", + "failed()": "ba414fa6", + "initializeERC20Tokens()": "e2acb0f8", + "setCriteria((address,uint256)[])": "cc8b3eab", + "setDefaultCriteria()": "b681cffe", + "setERC20TestTokenApprovals(address,address,address)": "035c3deb", + "setERC20TestTokens(address)": "e6d9ff3d", + "setUp()": "0a9254e4", + "testAdjustCollateral()": "b9959d78", + "testAgreementStatusOngoing()": "d9b51fc4", + "testCantDisputeFinalizedAgreement()": "0850ceee", + "testCantFinalizeDisputedAgreement()": "0f7997cd", + "testCantFinalizeMultipleTimes()": "e8a19796", + "testCantJoinAgreementMultipleTimes()": "83721647", + "testCantJoinAgreementWithInvalidCriteria()": "f73fe224", + "testCantJoinDisputedAgreement()": "fe6688eb", + "testCantJoinFinalizedAgreement()": "d34eb0d3", + "testCantJoinNonExistentAgreement(bytes32)": "13af3429", + "testCreateAgreement()": "f5ef7b7e", + "testDeterministicId(bytes32,uint256,bytes32)": "7e333758", + "testDisputeAgreement()": "eb9e5a69", + "testFinalizationConsensus()": "33bdcd90", + "testJoinAgreement()": "271f1809", + "testJoinAgreementApproved()": "638b79f8", + "testOnlyArbitratorCanSettleDispute(address)": "74ffbf9a", + "testOnlyCanSettleDisputedAgreements()": "28aec530", + "testOnlyPartyCanDisputeAgreement()": "222dcf4b", + "testOnlyPartyCanFinalizeAgreement()": "545b1a26", + "testSettlement()": "ac73b6ce", + "testSettlementMustMatchBalance()": "ea104a70", + "testSettlementMustMatchPositions()": "44a45ffe", + "testSingleFinalization()": "c5bfaae2", + "testWithdrawAfterSettlement()": "27acef53", + "testWithdrawFromAgreement()": "60f00d7e" + } + } + } + }, + "test/utils/AgreementProvider.sol": { + "AgreementProvider": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getAgreementParams", + "inputs": [ + { + "name": "token", + "type": "address", + "internalType": "address" + }, + { + "name": "criteria", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "params", + "type": "tuple", + "internalType": "struct AgreementParams", + "components": [ + { + "name": "termsHash", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "criteria", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "metadataURI", + "type": "string", + "internalType": "string" + }, + { + "name": "token", + "type": "address", + "internalType": "address" + } + ] + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"criteria\",\"type\":\"uint256\"}],\"name\":\"getAgreementParams\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"termsHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"criteria\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"metadataURI\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct AgreementParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/AgreementProvider.sol\":\"AgreementProvider\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xb7004fe1ceab4a20ae13baec8732a5414b28d5ddb06f9f4184b49c1fc1d61521\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a60b5d84bd7d7e455f4a1ca1d260f6b50c419e4c4e7196ef32fd77d0f480d51\",\"dweb:/ipfs/QmYwRMAYYsQuvvM4mnagYs8Zhqm5VXicXmxoqEvkiUzQSd\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/murky/src/Merkle.sol\":{\"keccak256\":\"0x70e50a6d61ea806b5ba0c8ff76fadfa3e90e6dfecb6900b1c0492eac0309660f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6cc1b02a6d11e029fe24d5d638ad891a3a2552aaef9d3a0918274b1496fcd74\",\"dweb:/ipfs/QmWsU7yXsyKATkfYb8g1jbPTbgGsCg9rk7bJ3ypCYxQixB\"]},\"lib/murky/src/common/MurkyBase.sol\":{\"keccak256\":\"0x5287741b2b215c9a11cc8482b419abde0625dfc3949d539c72ee498108842894\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://259e803b0811e404bba09237bce4ef42f2ff27dacaca770d1eb7c1afddbf762b\",\"dweb:/ipfs/QmWfbsHa1siBxDEqFmbnzUuZqyitFZHmDXo2vc4cVn4uJe\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"test/utils/AgreementProvider.sol\":{\"keccak256\":\"0x8483059a6d42588a4cd70d8869afb2cc09010a1c6648df7760b4b709026a65f6\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://18fcfb335f9cd7eaf688b64740062a2ad6ef3d55f7e50307d397cbd47f0df8c5\",\"dweb:/ipfs/QmQoSZD4JkkekbTg5x7XWnWFFvNe8ePZxMfHp4GniNJjjw\"]},\"test/utils/Constants.sol\":{\"keccak256\":\"0xe83ed5c4129beb2f50e8ba6867270f3a8d3a55bc66abe55999c3f3aadfb9fde2\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d1e517e21b96c0c265669705a978a12ee1ff652b3abea83704839e77972b6cec\",\"dweb:/ipfs/QmTUJZiFFPH4ZVKJAoK94Ap3cegFhkNFGGfAbBmWZh9kW5\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "6080806040523461002357600160ff19600054161760005561050e90816100298239f35b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c908163acd3b8d0146100c857508063ba414fa6146100855763fa7626d41461004357600080fd5b3461008157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100815760ff602092541690519015158152f35b5080fd5b503461008157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610081576020906100bf61031f565b90519015158152f35b9190503461028857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610288576004359273ffffffffffffffffffffffffffffffffffffffff908185168095036102855767ffffffffffffffff9260808501848111868210176102585781526020850195818601926060845260608701958187527fa74911826a63a1e8059b5834149ea5905cbe277aaf3536b4a44db1822d86970a88526024358952835191848301918383109083111761022b5750927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09592601f959260c09998958352600d81527f697066733a2f2f73686132353600000000000000000000000000000000000000602082015283528452805198899760208952516020890152519087015251916080606087015261021b835180948160a08a015260208a8a01910161028c565b5116608085015201168101030190f35b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80fd5b8280fd5b60005b83811061029f5750506000910152565b818101518382015260200161028f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102f057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000805460081c60ff1615610338575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b61035957505090565b90915060405190602082018181527f6661696c656400000000000000000000000000000000000000000000000000006040840152604083526060830167ffffffffffffffff93808210858311176104ab57918582610404602483979596849760405260808101957f667f9d700000000000000000000000000000000000000000000000000000000087526103f482518092608485019061028c565b81010360048101845201826102af565b51925af1503d156104a3573d908111610476576040519061044d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601836102af565b81523d82602083013e5b6020818051810103126100815760200151908115158203610285575090565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506060610457565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfea2646970667358221220972ccdd98a7d1a99a30a4434752ec6ad4418b771053515bc3ec6013910fa49bc64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x23 JUMPI PUSH1 0x1 PUSH1 0xFF NOT PUSH1 0x0 SLOAD AND OR PUSH1 0x0 SSTORE PUSH2 0x50E SWAP1 DUP2 PUSH2 0x29 DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0xACD3B8D0 EQ PUSH2 0xC8 JUMPI POP DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x85 JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x81 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x81 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x81 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x81 JUMPI PUSH1 0x20 SWAP1 PUSH2 0xBF PUSH2 0x31F JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST SWAP2 SWAP1 POP CALLVALUE PUSH2 0x288 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x288 JUMPI PUSH1 0x4 CALLDATALOAD SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 AND DUP1 SWAP6 SUB PUSH2 0x285 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 PUSH1 0x80 DUP6 ADD DUP5 DUP2 GT DUP7 DUP3 LT OR PUSH2 0x258 JUMPI DUP2 MSTORE PUSH1 0x20 DUP6 ADD SWAP6 DUP2 DUP7 ADD SWAP3 PUSH1 0x60 DUP5 MSTORE PUSH1 0x60 DUP8 ADD SWAP6 DUP2 DUP8 MSTORE PUSH32 0xA74911826A63A1E8059B5834149EA5905CBE277AAF3536B4A44DB1822D86970A DUP9 MSTORE PUSH1 0x24 CALLDATALOAD DUP10 MSTORE DUP4 MLOAD SWAP2 DUP5 DUP4 ADD SWAP2 DUP4 DUP4 LT SWAP1 DUP4 GT OR PUSH2 0x22B JUMPI POP SWAP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 SWAP3 PUSH1 0x1F SWAP6 SWAP3 PUSH1 0xC0 SWAP10 SWAP9 SWAP6 DUP4 MSTORE PUSH1 0xD DUP2 MSTORE PUSH32 0x697066733A2F2F73686132353600000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE DUP4 MSTORE DUP5 MSTORE DUP1 MLOAD SWAP9 DUP10 SWAP8 PUSH1 0x20 DUP10 MSTORE MLOAD PUSH1 0x20 DUP10 ADD MSTORE MLOAD SWAP1 DUP8 ADD MSTORE MLOAD SWAP2 PUSH1 0x80 PUSH1 0x60 DUP8 ADD MSTORE PUSH2 0x21B DUP4 MLOAD DUP1 SWAP5 DUP2 PUSH1 0xA0 DUP11 ADD MSTORE PUSH1 0x20 DUP11 DUP11 ADD SWAP2 ADD PUSH2 0x28C JUMP JUMPDEST MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x29F JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x28F JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x2F0 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x338 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x359 JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD DUP2 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x40 DUP4 MSTORE PUSH1 0x60 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP1 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x4AB JUMPI SWAP2 DUP6 DUP3 PUSH2 0x404 PUSH1 0x24 DUP4 SWAP8 SWAP6 SWAP7 DUP5 SWAP8 PUSH1 0x40 MSTORE PUSH1 0x80 DUP2 ADD SWAP6 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH2 0x3F4 DUP3 MLOAD DUP1 SWAP3 PUSH1 0x84 DUP6 ADD SWAP1 PUSH2 0x28C JUMP JUMPDEST DUP2 ADD SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0x2AF JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x4A3 JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH2 0x476 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x44D PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0x2AF JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP3 PUSH1 0x20 DUP4 ADD RETURNDATACOPY JUMPDEST PUSH1 0x20 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x81 JUMPI PUSH1 0x20 ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x285 JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH1 0x60 PUSH2 0x457 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 0x2C 0xCD 0xD9 DUP11 PUSH30 0x1A99A30A4434752EC6AD4418B771053515BC3EC6013910FA49BC64736F6C PUSH4 0x43000811 STOP CALLER ", + "sourceMap": "1266:357:56:-:0;;;;;;;1594:4:0;1266:357:56;;1594:4:0;1266:357:56;;;1594:4:0;1266:357:56;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 652, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 687, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_failed": { + "entryPoint": 799, + "id": 172, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "object": "60806040818152600436101561001457600080fd5b600091823560e01c908163acd3b8d0146100c857508063ba414fa6146100855763fa7626d41461004357600080fd5b3461008157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100815760ff602092541690519015158152f35b5080fd5b503461008157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610081576020906100bf61031f565b90519015158152f35b9190503461028857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610288576004359273ffffffffffffffffffffffffffffffffffffffff908185168095036102855767ffffffffffffffff9260808501848111868210176102585781526020850195818601926060845260608701958187527fa74911826a63a1e8059b5834149ea5905cbe277aaf3536b4a44db1822d86970a88526024358952835191848301918383109083111761022b5750927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09592601f959260c09998958352600d81527f697066733a2f2f73686132353600000000000000000000000000000000000000602082015283528452805198899760208952516020890152519087015251916080606087015261021b835180948160a08a015260208a8a01910161028c565b5116608085015201168101030190f35b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80fd5b8280fd5b60005b83811061029f5750506000910152565b818101518382015260200161028f565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102f057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000805460081c60ff1615610338575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b61035957505090565b90915060405190602082018181527f6661696c656400000000000000000000000000000000000000000000000000006040840152604083526060830167ffffffffffffffff93808210858311176104ab57918582610404602483979596849760405260808101957f667f9d700000000000000000000000000000000000000000000000000000000087526103f482518092608485019061028c565b81010360048101845201826102af565b51925af1503d156104a3573d908111610476576040519061044d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601836102af565b81523d82602083013e5b6020818051810103126100815760200151908115158203610285575090565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506060610457565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfea2646970667358221220972ccdd98a7d1a99a30a4434752ec6ad4418b771053515bc3ec6013910fa49bc64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0xACD3B8D0 EQ PUSH2 0xC8 JUMPI POP DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x85 JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x81 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x81 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x81 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x81 JUMPI PUSH1 0x20 SWAP1 PUSH2 0xBF PUSH2 0x31F JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST SWAP2 SWAP1 POP CALLVALUE PUSH2 0x288 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x288 JUMPI PUSH1 0x4 CALLDATALOAD SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 AND DUP1 SWAP6 SUB PUSH2 0x285 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 PUSH1 0x80 DUP6 ADD DUP5 DUP2 GT DUP7 DUP3 LT OR PUSH2 0x258 JUMPI DUP2 MSTORE PUSH1 0x20 DUP6 ADD SWAP6 DUP2 DUP7 ADD SWAP3 PUSH1 0x60 DUP5 MSTORE PUSH1 0x60 DUP8 ADD SWAP6 DUP2 DUP8 MSTORE PUSH32 0xA74911826A63A1E8059B5834149EA5905CBE277AAF3536B4A44DB1822D86970A DUP9 MSTORE PUSH1 0x24 CALLDATALOAD DUP10 MSTORE DUP4 MLOAD SWAP2 DUP5 DUP4 ADD SWAP2 DUP4 DUP4 LT SWAP1 DUP4 GT OR PUSH2 0x22B JUMPI POP SWAP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 SWAP3 PUSH1 0x1F SWAP6 SWAP3 PUSH1 0xC0 SWAP10 SWAP9 SWAP6 DUP4 MSTORE PUSH1 0xD DUP2 MSTORE PUSH32 0x697066733A2F2F73686132353600000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE DUP4 MSTORE DUP5 MSTORE DUP1 MLOAD SWAP9 DUP10 SWAP8 PUSH1 0x20 DUP10 MSTORE MLOAD PUSH1 0x20 DUP10 ADD MSTORE MLOAD SWAP1 DUP8 ADD MSTORE MLOAD SWAP2 PUSH1 0x80 PUSH1 0x60 DUP8 ADD MSTORE PUSH2 0x21B DUP4 MLOAD DUP1 SWAP5 DUP2 PUSH1 0xA0 DUP11 ADD MSTORE PUSH1 0x20 DUP11 DUP11 ADD SWAP2 ADD PUSH2 0x28C JUMP JUMPDEST MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x29F JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x28F JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x2F0 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x338 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x359 JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD DUP2 DUP2 MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x40 DUP4 MSTORE PUSH1 0x60 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP1 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x4AB JUMPI SWAP2 DUP6 DUP3 PUSH2 0x404 PUSH1 0x24 DUP4 SWAP8 SWAP6 SWAP7 DUP5 SWAP8 PUSH1 0x40 MSTORE PUSH1 0x80 DUP2 ADD SWAP6 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP8 MSTORE PUSH2 0x3F4 DUP3 MLOAD DUP1 SWAP3 PUSH1 0x84 DUP6 ADD SWAP1 PUSH2 0x28C JUMP JUMPDEST DUP2 ADD SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0x2AF JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x4A3 JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH2 0x476 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x44D PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0x2AF JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP3 PUSH1 0x20 DUP4 ADD RETURNDATACOPY JUMPDEST PUSH1 0x20 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x81 JUMPI PUSH1 0x20 ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x285 JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x24 DUP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH1 0x60 PUSH2 0x457 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 0x2C 0xCD 0xD9 DUP11 PUSH30 0x1A99A30A4434752EC6AD4418B771053515BC3EC6013910FA49BC64736F6C PUSH4 0x43000811 STOP CALLER ", + "sourceMap": "1266:357:56:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:64:0;;1266:357:56;1671:64:0;;;;;;;;;;;;;1266:357:56;;;;;;;;1671:64:0;1266:357:56;;1671:64:0;1266:357:56;;;;;;1471:31;1266:357;;;;;;;;1671:64:0;;;;;;;;;;;;;;;;1266:357:56;1671:64:0;;1266:357:56;1671:64:0;;1266:357:56;1671:64:0;;;;;1266:357:56;1671:64:0;;1266:357:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:64:0;1266:357:56;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;1671:64:0;;;1266:357:56;1671:64:0;;;1266:357:56;1671:64:0;;;1266:357:56;1671:64:0;;;;;1266:357:56;1671:64:0;;1266:357:56;;;;;;;;;;;;;;;-1:-1:-1;;1266:357:56;;;;:::o;:::-;;;;;;;;;;;;;1671:64:0;;1266:357:56;;1671:64:0;1266:357:56;;1671:64:0;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;1819:584;1873:7;1266:357:56;;;;;;;;;;;;;;;1896:14:0:o;1869:528::-;1941:25;2939:104;;;1980:374;;2367:19;;;:::o;1980:374::-;1266:357:56;;;;;2196:43:0;;;;1266:357:56;;;1671:64:0;1266:357:56;1671:64:0;;1266:357:56;;2196:43:0;;1266:357:56;1671:64:0;;;;;;;;;;;;;;;;2086:175;1671:64;;;;;;;1266:357:56;1671:64:0;2086:175;;;1671:64;;;;;1266:357:56;;1671:64:0;;;;;;;:::i;:::-;;;2086:175;;;;;;;;;:::i;:::-;2047:232;;;;-1:-1:-1;1671:64:0;;;;;;;;;;1266:357:56;;;1671:64:0;2196:43;;1266:357:56;;;;1671:64:0;;;:::i;:::-;;;;;2196:43;1671:64;;;;2196:43;1266:357:56;;;2312:27:0;;1671:64;;;;2196:43;2312:27;1671:64;1266:357:56;;;;1671:64:0;;;;2297:42;2367:19;:::o;1671:64::-;;;;;;;2086:175;1671:64;;;;1266:357:56;1671:64:0;;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "failed()": "ba414fa6", + "getAgreementParams(address,uint256)": "acd3b8d0" + } + } + }, + "CriteriaProvider": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setCriteria", + "inputs": [ + { + "name": "positions", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setDefaultCriteria", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"positions\",\"type\":\"tuple[]\"}],\"name\":\"setCriteria\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setDefaultCriteria\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/AgreementProvider.sol\":\"CriteriaProvider\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xb7004fe1ceab4a20ae13baec8732a5414b28d5ddb06f9f4184b49c1fc1d61521\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a60b5d84bd7d7e455f4a1ca1d260f6b50c419e4c4e7196ef32fd77d0f480d51\",\"dweb:/ipfs/QmYwRMAYYsQuvvM4mnagYs8Zhqm5VXicXmxoqEvkiUzQSd\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/murky/src/Merkle.sol\":{\"keccak256\":\"0x70e50a6d61ea806b5ba0c8ff76fadfa3e90e6dfecb6900b1c0492eac0309660f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6cc1b02a6d11e029fe24d5d638ad891a3a2552aaef9d3a0918274b1496fcd74\",\"dweb:/ipfs/QmWsU7yXsyKATkfYb8g1jbPTbgGsCg9rk7bJ3ypCYxQixB\"]},\"lib/murky/src/common/MurkyBase.sol\":{\"keccak256\":\"0x5287741b2b215c9a11cc8482b419abde0625dfc3949d539c72ee498108842894\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://259e803b0811e404bba09237bce4ef42f2ff27dacaca770d1eb7c1afddbf762b\",\"dweb:/ipfs/QmWfbsHa1siBxDEqFmbnzUuZqyitFZHmDXo2vc4cVn4uJe\"]},\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"test/utils/AgreementProvider.sol\":{\"keccak256\":\"0x8483059a6d42588a4cd70d8869afb2cc09010a1c6648df7760b4b709026a65f6\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://18fcfb335f9cd7eaf688b64740062a2ad6ef3d55f7e50307d397cbd47f0df8c5\",\"dweb:/ipfs/QmQoSZD4JkkekbTg5x7XWnWFFvNe8ePZxMfHp4GniNJjjw\"]},\"test/utils/Constants.sol\":{\"keccak256\":\"0xe83ed5c4129beb2f50e8ba6867270f3a8d3a55bc66abe55999c3f3aadfb9fde2\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d1e517e21b96c0c265669705a978a12ee1ff652b3abea83704839e77972b6cec\",\"dweb:/ipfs/QmTUJZiFFPH4ZVKJAoK94Ap3cegFhkNFGGfAbBmWZh9kW5\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "functionDebugData": { + "abi_decode_address_fromMemory": { + "entryPoint": 455, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 398, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + } + }, + "object": "608060409080825234610189576000805460ff191660011781556001625e79b760e01b0319808352610b0b6004840152906020737109709ecfa91a80626ff3989d68f67f5b1dd12d8185602481845afa94851561016057839561016a575b50601380546001600160a01b03199081166001600160a01b03978816179091558651948552620a11ce60048601529493908290829060249082905afa91821561016057908492918492610133575b505016836014541617601455671bc16d674ec80000601555670de0b6b3a764000060165583516109e78082019082821060018060401b0383111761011f57908291610b848339039082f09081156101145750169060175416176017555161099d90816101e78239f35b8451903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b6101529250803d10610159575b61014a818361018e565b8101906101c7565b38806100ab565b503d610140565b86513d85823e3d90fd5b610182919550823d84116101595761014a818361018e565b933861005d565b600080fd5b601f909101601f19168101906001600160401b038211908210176101b157604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261018957516001600160a01b0381168103610189579056fe60806040818152600436101561001457600080fd5b600091823560e01c908163b681cffe146101cc57508063ba414fa614610189578063cc8b3eab146100905763fa7626d41461004e57600080fd5b3461008c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c5760ff602092541690519015158152f35b5080fd5b503461008c57602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101855760043567ffffffffffffffff81116101815736602382011215610181578060040135926100ee8461035b565b936100fb8451958661031a565b80855260248286019160061b8401019236841161017d57602401905b83821061012b5786610128876105fe565b80f35b848236031261017d57845190610140826102b3565b82359073ffffffffffffffffffffffffffffffffffffffff82168203610179578285928894528285013583820152815201910190610117565b8880fd5b8680fd5b8380fd5b8280fd5b503461008c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c576020906101c3610373565b90519015158152f35b8391503461008c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c57610206816102fe565b60028152815b8381106102915750610128919273ffffffffffffffffffffffffffffffffffffffff8060135416601554835191610242836102b3565b825260208201526102528461056a565b5261025c8361056a565b506014541690601654905191610271836102b3565b82526020820152610281826105a6565b5261028b816105a6565b506105fe565b602090845161029f816102b3565b84815282858183015282850101520161020c565b6040810190811067ffffffffffffffff8211176102cf57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176102cf57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cf57604052565b67ffffffffffffffff81116102cf5760051b60200190565b6000805460081c60ff161561038c575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6103ad57505090565b9091506040518260209280848401527f6661696c656400000000000000000000000000000000000000000000000000006040840152604083526103ef836102fe565b604051848101907f667f9d70000000000000000000000000000000000000000000000000000000008252845184955b878288106104f55750508495509061044960248287948101858382015203600481018452018261031a565b51925af1503d156104ee573d67ffffffffffffffff81116104c15760405190610499837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018361031a565b81523d838383013e5b81818051810103126101855701519081151582036104be575090565b80fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60606104a2565b8782018101516024858a0101529096019588955061041e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461053b5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8051156105775760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051600110156105775760400190565b80518210156105775760209160051b010190565b90815180825260208080930193019160005b8281106105ea575050505090565b8351855293810193928101926001016105dc565b80519061060a8261035b565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061064660409261063e8451968761031a565b80865261035b565b0190602091368386013760005b83518110156106c1578073ffffffffffffffffffffffffffffffffffffffff61067f6106bc93876105b6565b5151168461068d83886105b6565b510151845190868201928352858201528481526106a9816102fe565b5190206106b682886105b6565b5261050e565b610653565b509160005b81518110156108bc5773ffffffffffffffffffffffffffffffffffffffff80601754168551917fb86161950000000000000000000000000000000000000000000000000000000083526004928784820152600081610727604482018c6105ca565b9481806024978a8983015203915afa9081156108b157600091610822575b509061075185876105b6565b51511660005260198652866000209181519367ffffffffffffffff85116107f6576801000000000000000085116107f6575050859082548484558085106107cb575b5001906000528460002060005b8381106107b957505050506107b49061050e565b6106c6565b825182820155918601916001016107a0565b83600052848360002091820191015b8181106107e75750610793565b600081558893506001016107da565b6041907f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b3d8083833e610831818361031a565b81019088818303126101855780519067ffffffffffffffff8211610181570181601f82011215610185578051906108678261035b565b936108748c51958661031a565b8285528a8086019360051b8301019384116104be575089809101915b8383106108a1575050505038610745565b82518152918101918a9101610890565b88513d6000823e3d90fd5b5050806109169373ffffffffffffffffffffffffffffffffffffffff60175416845180809781947f2e08d60200000000000000000000000000000000000000000000000000000000835286600484015260248301906105ca565b03915afa91821561095d5750600091610931575b5060185550565b82813d8311610956575b610945818361031a565b810103126104be575051803861092a565b503d61093b565b513d6000823e3d90fdfea26469706673582212203d7c08029f80f923aa9715b8c7452bbfeb0cd37197c9a15c062b4292e039ad3e64736f6c6343000811003360808060405234610016576109cb908161001c8239f35b600080fdfe60806040526004361015610013575b600080fd5b6000803560e01c9081632e08d6021461008e5750806358161a4214610085578063b86161951461007c578063cf06c7b714610073578063dd1d25991461006a5763e27d51531461006257600080fd5b61000e610540565b5061000e610500565b5061000e6104bb565b5061000e610389565b5061000e6102bc565b346101b65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b65760043567ffffffffffffffff81116101b2576100dd903690600401610261565b6001808251111561012e57805b610110575b61010c6100fb836105c2565b516040519081529081906020820190565b0390f35b80825111156101295761012381926106e1565b916100ea565b6100ef565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f776f6e27742067656e657261746520726f6f7420666f722073696e676c65206c60448201527f65616600000000000000000000000000000000000000000000000000000000006064820152fd5b5080fd5b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761022d57604052565b6102356101b9565b604052565b60209067ffffffffffffffff8111610254575b60051b0190565b61025c6101b9565b61024d565b9080601f8301121561000e5781359061028161027c8361023a565b6101e9565b9182938184526020808095019260051b82010192831161000e578301905b8282106102ad575050505090565b8135815290830190830161029f565b503461000e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760243567ffffffffffffffff811161000e5761030c903690600401610261565b60443581516000925b81841061032b5760405160043584148152602090f35b909161034460019161033d86856105fe565b519061059f565b9301929190610315565b6020908160408183019282815285518094520193019160005b828110610375575050505090565b835185529381019392810192600101610367565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff811161000e576103d9903690600401610261565b602435906001906103ec82825111610612565b6103fe6103f98251610857565b61069c565b92600080845b610417575b6040518061010c888261034e565b8351858111156104b5578584939261047a9282808098161460001461048457506104637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8601886105fe565b5161046e828b6105fe565b525b0192841c946106e1565b9392919091610404565b8583019081036104a057508361049a828b6105fe565b52610470565b6104aa90886105fe565b5161049a828b6105fe565b50610409565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760206104f8600435610857565b604051908152f35b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760206104f860243560043561059f565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435806000815b610592576020925060405191806001811901161490038152f35b600192831c920182610578565b818110156105b6576000526020525b604060002090565b906000526020526105ae565b8051156105cf5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80518210156105cf5760209160051b010190565b1561061957565b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f776f6e27742067656e65726174652070726f6f6620666f722073696e676c652060448201527f6c656166000000000000000000000000000000000000000000000000000000006064820152fd5b906106a961027c8361023a565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06106d7829461023a565b0190602036910137565b90815160019081808216146000146107b5576107008282811c0161069c565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61072e818401876105fe565b5160008052602052610748604060002091855101856105fe565b525b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff839101925b8382106107835750929450505050565b826002916107a1610794858b6105fe565b5161033d8487018c6105fe565b6107ab82896105fe565b5201910190610773565b6107c081831c61069c565b9161074a565b90604082018092116107d457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b90602082018092116107d457565b90601082018092116107d457565b90600882018092116107d457565b90600482018092116107d457565b90600282018092116107d457565b90600182018092116107d457565b600181111561098f5760009080700100000000000000000000000000000000811015610984575b80680100000000000000006002921015610971575b64010000000081101561095e575b6201000081101561094b575b610100811015610938575b6010811015610925575b6004811015610913575b1015610903575b806108de8119610849565b1614806108fa575b156108ee5790565b6108f790610849565b90565b508015156108e6565b9061090d90610849565b906108d3565b61091f90821c9361083b565b926108cc565b6109329060041c9361082d565b926108c2565b6109459060081c9361081f565b926108b8565b6109589060101c93610811565b926108ad565b61096b9060201c93610803565b926108a1565b61097e9060401c936107c6565b92610893565b60809250821c61087e565b5060009056fea2646970667358221220650092d06c64a854998a58e5cd96f8e0448fd77fec5223c7c61572a2d37349dd64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH2 0x189 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE PUSH1 0x1 PUSH3 0x5E79B7 PUSH1 0xE0 SHL SUB NOT DUP1 DUP4 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP5 ADD MSTORE SWAP1 PUSH1 0x20 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP2 DUP6 PUSH1 0x24 DUP2 DUP5 GAS STATICCALL SWAP5 DUP6 ISZERO PUSH2 0x160 JUMPI DUP4 SWAP6 PUSH2 0x16A JUMPI JUMPDEST POP PUSH1 0x13 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND OR SWAP1 SWAP2 SSTORE DUP7 MLOAD SWAP5 DUP6 MSTORE PUSH3 0xA11CE PUSH1 0x4 DUP7 ADD MSTORE SWAP5 SWAP4 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH1 0x24 SWAP1 DUP3 SWAP1 GAS STATICCALL SWAP2 DUP3 ISZERO PUSH2 0x160 JUMPI SWAP1 DUP5 SWAP3 SWAP2 DUP5 SWAP3 PUSH2 0x133 JUMPI JUMPDEST POP POP AND DUP4 PUSH1 0x14 SLOAD AND OR PUSH1 0x14 SSTORE PUSH8 0x1BC16D674EC80000 PUSH1 0x15 SSTORE PUSH8 0xDE0B6B3A7640000 PUSH1 0x16 SSTORE DUP4 MLOAD PUSH2 0x9E7 DUP1 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP4 GT OR PUSH2 0x11F JUMPI SWAP1 DUP3 SWAP2 PUSH2 0xB84 DUP4 CODECOPY SUB SWAP1 DUP3 CREATE SWAP1 DUP2 ISZERO PUSH2 0x114 JUMPI POP AND SWAP1 PUSH1 0x17 SLOAD AND OR PUSH1 0x17 SSTORE MLOAD PUSH2 0x99D SWAP1 DUP2 PUSH2 0x1E7 DUP3 CODECOPY RETURN JUMPDEST DUP5 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP5 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP5 REVERT JUMPDEST PUSH2 0x152 SWAP3 POP DUP1 RETURNDATASIZE LT PUSH2 0x159 JUMPI JUMPDEST PUSH2 0x14A DUP2 DUP4 PUSH2 0x18E JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x1C7 JUMP JUMPDEST CODESIZE DUP1 PUSH2 0xAB JUMP JUMPDEST POP RETURNDATASIZE PUSH2 0x140 JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH2 0x182 SWAP2 SWAP6 POP DUP3 RETURNDATASIZE DUP5 GT PUSH2 0x159 JUMPI PUSH2 0x14A DUP2 DUP4 PUSH2 0x18E JUMP JUMPDEST SWAP4 CODESIZE PUSH2 0x5D JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH2 0x1B1 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x189 JUMPI MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x189 JUMPI SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0xB681CFFE EQ PUSH2 0x1CC JUMPI POP DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x189 JUMPI DUP1 PUSH4 0xCC8B3EAB EQ PUSH2 0x90 JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x185 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x181 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x181 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH2 0xEE DUP5 PUSH2 0x35B JUMP JUMPDEST SWAP4 PUSH2 0xFB DUP5 MLOAD SWAP6 DUP7 PUSH2 0x31A JUMP JUMPDEST DUP1 DUP6 MSTORE PUSH1 0x24 DUP3 DUP7 ADD SWAP2 PUSH1 0x6 SHL DUP5 ADD ADD SWAP3 CALLDATASIZE DUP5 GT PUSH2 0x17D JUMPI PUSH1 0x24 ADD SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x12B JUMPI DUP7 PUSH2 0x128 DUP8 PUSH2 0x5FE JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP5 DUP3 CALLDATASIZE SUB SLT PUSH2 0x17D JUMPI DUP5 MLOAD SWAP1 PUSH2 0x140 DUP3 PUSH2 0x2B3 JUMP JUMPDEST DUP3 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x179 JUMPI DUP3 DUP6 SWAP3 DUP9 SWAP5 MSTORE DUP3 DUP6 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x117 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x1C3 PUSH2 0x373 JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP4 SWAP2 POP CALLVALUE PUSH2 0x8C JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH2 0x206 DUP2 PUSH2 0x2FE JUMP JUMPDEST PUSH1 0x2 DUP2 MSTORE DUP2 JUMPDEST DUP4 DUP2 LT PUSH2 0x291 JUMPI POP PUSH2 0x128 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x13 SLOAD AND PUSH1 0x15 SLOAD DUP4 MLOAD SWAP2 PUSH2 0x242 DUP4 PUSH2 0x2B3 JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x252 DUP5 PUSH2 0x56A JUMP JUMPDEST MSTORE PUSH2 0x25C DUP4 PUSH2 0x56A JUMP JUMPDEST POP PUSH1 0x14 SLOAD AND SWAP1 PUSH1 0x16 SLOAD SWAP1 MLOAD SWAP2 PUSH2 0x271 DUP4 PUSH2 0x2B3 JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x281 DUP3 PUSH2 0x5A6 JUMP JUMPDEST MSTORE PUSH2 0x28B DUP2 PUSH2 0x5A6 JUMP JUMPDEST POP PUSH2 0x5FE JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP5 MLOAD PUSH2 0x29F DUP2 PUSH2 0x2B3 JUMP JUMPDEST DUP5 DUP2 MSTORE DUP3 DUP6 DUP2 DUP4 ADD MSTORE DUP3 DUP6 ADD ADD MSTORE ADD PUSH2 0x20C JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x2CF JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x2CF JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x2CF JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x2CF JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x38C JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x3AD JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 SWAP3 DUP1 DUP5 DUP5 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x40 DUP4 MSTORE PUSH2 0x3EF DUP4 PUSH2 0x2FE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 DUP2 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP5 SWAP6 JUMPDEST DUP8 DUP3 DUP9 LT PUSH2 0x4F5 JUMPI POP POP DUP5 SWAP6 POP SWAP1 PUSH2 0x449 PUSH1 0x24 DUP3 DUP8 SWAP5 DUP2 ADD DUP6 DUP4 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0x31A JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x4EE JUMPI RETURNDATASIZE PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x4C1 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x499 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0x31A JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP4 DUP4 DUP4 ADD RETURNDATACOPY JUMPDEST DUP2 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x185 JUMPI ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x4BE JUMPI POP SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x60 PUSH2 0x4A2 JUMP JUMPDEST DUP8 DUP3 ADD DUP2 ADD MLOAD PUSH1 0x24 DUP6 DUP11 ADD ADD MSTORE SWAP1 SWAP7 ADD SWAP6 DUP9 SWAP6 POP PUSH2 0x41E JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x53B JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x577 JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH2 0x577 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x577 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x5EA JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x5DC JUMP JUMPDEST DUP1 MLOAD SWAP1 PUSH2 0x60A DUP3 PUSH2 0x35B JUMP JUMPDEST SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x646 PUSH1 0x40 SWAP3 PUSH2 0x63E DUP5 MLOAD SWAP7 DUP8 PUSH2 0x31A JUMP JUMPDEST DUP1 DUP7 MSTORE PUSH2 0x35B JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 SWAP2 CALLDATASIZE DUP4 DUP7 ADD CALLDATACOPY PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x6C1 JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0x6BC SWAP4 DUP8 PUSH2 0x5B6 JUMP JUMPDEST MLOAD MLOAD AND DUP5 PUSH2 0x68D DUP4 DUP9 PUSH2 0x5B6 JUMP JUMPDEST MLOAD ADD MLOAD DUP5 MLOAD SWAP1 DUP7 DUP3 ADD SWAP3 DUP4 MSTORE DUP6 DUP3 ADD MSTORE DUP5 DUP2 MSTORE PUSH2 0x6A9 DUP2 PUSH2 0x2FE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x6B6 DUP3 DUP9 PUSH2 0x5B6 JUMP JUMPDEST MSTORE PUSH2 0x50E JUMP JUMPDEST PUSH2 0x653 JUMP JUMPDEST POP SWAP2 PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x8BC JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x17 SLOAD AND DUP6 MLOAD SWAP2 PUSH32 0xB861619500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 SWAP3 DUP8 DUP5 DUP3 ADD MSTORE PUSH1 0x0 DUP2 PUSH2 0x727 PUSH1 0x44 DUP3 ADD DUP13 PUSH2 0x5CA JUMP JUMPDEST SWAP5 DUP2 DUP1 PUSH1 0x24 SWAP8 DUP11 DUP10 DUP4 ADD MSTORE SUB SWAP2 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x8B1 JUMPI PUSH1 0x0 SWAP2 PUSH2 0x822 JUMPI JUMPDEST POP SWAP1 PUSH2 0x751 DUP6 DUP8 PUSH2 0x5B6 JUMP JUMPDEST MLOAD MLOAD AND PUSH1 0x0 MSTORE PUSH1 0x19 DUP7 MSTORE DUP7 PUSH1 0x0 KECCAK256 SWAP2 DUP2 MLOAD SWAP4 PUSH8 0xFFFFFFFFFFFFFFFF DUP6 GT PUSH2 0x7F6 JUMPI PUSH9 0x10000000000000000 DUP6 GT PUSH2 0x7F6 JUMPI POP POP DUP6 SWAP1 DUP3 SLOAD DUP5 DUP5 SSTORE DUP1 DUP6 LT PUSH2 0x7CB JUMPI JUMPDEST POP ADD SWAP1 PUSH1 0x0 MSTORE DUP5 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x7B9 JUMPI POP POP POP POP PUSH2 0x7B4 SWAP1 PUSH2 0x50E JUMP JUMPDEST PUSH2 0x6C6 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP3 ADD SSTORE SWAP2 DUP7 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x7A0 JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE DUP5 DUP4 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD SWAP2 ADD JUMPDEST DUP2 DUP2 LT PUSH2 0x7E7 JUMPI POP PUSH2 0x793 JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE DUP9 SWAP4 POP PUSH1 0x1 ADD PUSH2 0x7DA JUMP JUMPDEST PUSH1 0x41 SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST RETURNDATASIZE DUP1 DUP4 DUP4 RETURNDATACOPY PUSH2 0x831 DUP2 DUP4 PUSH2 0x31A JUMP JUMPDEST DUP2 ADD SWAP1 DUP9 DUP2 DUP4 SUB SLT PUSH2 0x185 JUMPI DUP1 MLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x181 JUMPI ADD DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x185 JUMPI DUP1 MLOAD SWAP1 PUSH2 0x867 DUP3 PUSH2 0x35B JUMP JUMPDEST SWAP4 PUSH2 0x874 DUP13 MLOAD SWAP6 DUP7 PUSH2 0x31A JUMP JUMPDEST DUP3 DUP6 MSTORE DUP11 DUP1 DUP7 ADD SWAP4 PUSH1 0x5 SHL DUP4 ADD ADD SWAP4 DUP5 GT PUSH2 0x4BE JUMPI POP DUP10 DUP1 SWAP2 ADD SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x8A1 JUMPI POP POP POP POP CODESIZE PUSH2 0x745 JUMP JUMPDEST DUP3 MLOAD DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 DUP11 SWAP2 ADD PUSH2 0x890 JUMP JUMPDEST DUP9 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP POP DUP1 PUSH2 0x916 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x17 SLOAD AND DUP5 MLOAD DUP1 DUP1 SWAP8 DUP2 SWAP5 PUSH32 0x2E08D60200000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP7 PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP1 PUSH2 0x5CA JUMP JUMPDEST SUB SWAP2 GAS STATICCALL SWAP2 DUP3 ISZERO PUSH2 0x95D JUMPI POP PUSH1 0x0 SWAP2 PUSH2 0x931 JUMPI JUMPDEST POP PUSH1 0x18 SSTORE POP JUMP JUMPDEST DUP3 DUP2 RETURNDATASIZE DUP4 GT PUSH2 0x956 JUMPI JUMPDEST PUSH2 0x945 DUP2 DUP4 PUSH2 0x31A JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x4BE JUMPI POP MLOAD DUP1 CODESIZE PUSH2 0x92A JUMP JUMPDEST POP RETURNDATASIZE PUSH2 0x93B JUMP JUMPDEST MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATASIZE PUSH29 0x8029F80F923AA9715B8C7452BBFEB0CD37197C9A15C062B4292E039AD RETURNDATACOPY PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x16 JUMPI PUSH2 0x9CB SWAP1 DUP2 PUSH2 0x1C DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x2E08D602 EQ PUSH2 0x8E JUMPI POP DUP1 PUSH4 0x58161A42 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0xB8616195 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0xCF06C7B7 EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0xDD1D2599 EQ PUSH2 0x6A JUMPI PUSH4 0xE27D5153 EQ PUSH2 0x62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE PUSH2 0x540 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x500 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x4BB JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x389 JUMP JUMPDEST POP PUSH2 0xE PUSH2 0x2BC JUMP JUMPDEST CALLVALUE PUSH2 0x1B6 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x1B6 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1B2 JUMPI PUSH2 0xDD SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x1 DUP1 DUP3 MLOAD GT ISZERO PUSH2 0x12E JUMPI DUP1 JUMPDEST PUSH2 0x110 JUMPI JUMPDEST PUSH2 0x10C PUSH2 0xFB DUP4 PUSH2 0x5C2 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST DUP1 DUP3 MLOAD GT ISZERO PUSH2 0x129 JUMPI PUSH2 0x123 DUP2 SWAP3 PUSH2 0x6E1 JUMP JUMPDEST SWAP2 PUSH2 0xEA JUMP JUMPDEST PUSH2 0xEF JUMP JUMPDEST PUSH1 0x84 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x776F6E27742067656E657261746520726F6F7420666F722073696E676C65206C PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6561660000000000000000000000000000000000000000000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST DUP1 REVERT JUMPDEST POP PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F PUSH1 0x40 MLOAD SWAP4 ADD AND DUP3 ADD DUP3 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x22D JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x235 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x20 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x254 JUMPI JUMPDEST PUSH1 0x5 SHL ADD SWAP1 JUMP JUMPDEST PUSH2 0x25C PUSH2 0x1B9 JUMP JUMPDEST PUSH2 0x24D JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0xE JUMPI DUP2 CALLDATALOAD SWAP1 PUSH2 0x281 PUSH2 0x27C DUP4 PUSH2 0x23A JUMP JUMPDEST PUSH2 0x1E9 JUMP JUMPDEST SWAP2 DUP3 SWAP4 DUP2 DUP5 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP6 ADD SWAP3 PUSH1 0x5 SHL DUP3 ADD ADD SWAP3 DUP4 GT PUSH2 0xE JUMPI DUP4 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x2AD JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP2 CALLDATALOAD DUP2 MSTORE SWAP1 DUP4 ADD SWAP1 DUP4 ADD PUSH2 0x29F JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x30C SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD DUP2 MLOAD PUSH1 0x0 SWAP3 JUMPDEST DUP2 DUP5 LT PUSH2 0x32B JUMPI PUSH1 0x40 MLOAD PUSH1 0x4 CALLDATALOAD DUP5 EQ DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST SWAP1 SWAP2 PUSH2 0x344 PUSH1 0x1 SWAP2 PUSH2 0x33D DUP7 DUP6 PUSH2 0x5FE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x59F JUMP JUMPDEST SWAP4 ADD SWAP3 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 PUSH1 0x40 DUP2 DUP4 ADD SWAP3 DUP3 DUP2 MSTORE DUP6 MLOAD DUP1 SWAP5 MSTORE ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x375 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x367 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xE JUMPI PUSH2 0x3D9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x261 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3EC DUP3 DUP3 MLOAD GT PUSH2 0x612 JUMP JUMPDEST PUSH2 0x3FE PUSH2 0x3F9 DUP3 MLOAD PUSH2 0x857 JUMP JUMPDEST PUSH2 0x69C JUMP JUMPDEST SWAP3 PUSH1 0x0 DUP1 DUP5 JUMPDEST PUSH2 0x417 JUMPI JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x10C DUP9 DUP3 PUSH2 0x34E JUMP JUMPDEST DUP4 MLOAD DUP6 DUP2 GT ISZERO PUSH2 0x4B5 JUMPI DUP6 DUP5 SWAP4 SWAP3 PUSH2 0x47A SWAP3 DUP3 DUP1 DUP1 SWAP9 AND EQ PUSH1 0x0 EQ PUSH2 0x484 JUMPI POP PUSH2 0x463 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 ADD DUP9 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x46E DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST MSTORE JUMPDEST ADD SWAP3 DUP5 SHR SWAP5 PUSH2 0x6E1 JUMP JUMPDEST SWAP4 SWAP3 SWAP2 SWAP1 SWAP2 PUSH2 0x404 JUMP JUMPDEST DUP6 DUP4 ADD SWAP1 DUP2 SUB PUSH2 0x4A0 JUMPI POP DUP4 PUSH2 0x49A DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST MSTORE PUSH2 0x470 JUMP JUMPDEST PUSH2 0x4AA SWAP1 DUP9 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x49A DUP3 DUP12 PUSH2 0x5FE JUMP JUMPDEST POP PUSH2 0x409 JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH2 0x4F8 PUSH1 0x4 CALLDATALOAD PUSH2 0x857 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x40 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x20 PUSH2 0x4F8 PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH2 0x59F JUMP JUMPDEST POP CALLVALUE PUSH2 0xE JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xE JUMPI PUSH1 0x4 CALLDATALOAD DUP1 PUSH1 0x0 DUP2 JUMPDEST PUSH2 0x592 JUMPI PUSH1 0x20 SWAP3 POP PUSH1 0x40 MLOAD SWAP2 DUP1 PUSH1 0x1 DUP2 NOT ADD AND EQ SWAP1 SUB DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 SWAP3 DUP4 SHR SWAP3 ADD DUP3 PUSH2 0x578 JUMP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x5B6 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE JUMPDEST PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH2 0x5AE JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x5CF JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x5CF JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST ISZERO PUSH2 0x619 JUMPI JUMP JUMPDEST PUSH1 0x84 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x776F6E27742067656E65726174652070726F6F6620666F722073696E676C6520 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6C65616600000000000000000000000000000000000000000000000000000000 PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x6A9 PUSH2 0x27C DUP4 PUSH2 0x23A JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x6D7 DUP3 SWAP5 PUSH2 0x23A JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD PUSH1 0x1 SWAP1 DUP2 DUP1 DUP3 AND EQ PUSH1 0x0 EQ PUSH2 0x7B5 JUMPI PUSH2 0x700 DUP3 DUP3 DUP2 SHR ADD PUSH2 0x69C JUMP JUMPDEST SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x72E DUP2 DUP5 ADD DUP8 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 MSTORE PUSH2 0x748 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 DUP6 MLOAD ADD DUP6 PUSH2 0x5FE JUMP JUMPDEST MSTORE JUMPDEST PUSH1 0x0 SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 SWAP2 ADD SWAP3 JUMPDEST DUP4 DUP3 LT PUSH2 0x783 JUMPI POP SWAP3 SWAP5 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x2 SWAP2 PUSH2 0x7A1 PUSH2 0x794 DUP6 DUP12 PUSH2 0x5FE JUMP JUMPDEST MLOAD PUSH2 0x33D DUP5 DUP8 ADD DUP13 PUSH2 0x5FE JUMP JUMPDEST PUSH2 0x7AB DUP3 DUP10 PUSH2 0x5FE JUMP JUMPDEST MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x773 JUMP JUMPDEST PUSH2 0x7C0 DUP2 DUP4 SHR PUSH2 0x69C JUMP JUMPDEST SWAP2 PUSH2 0x74A JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x10 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x8 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x7D4 JUMPI JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x98F JUMPI PUSH1 0x0 SWAP1 DUP1 PUSH17 0x100000000000000000000000000000000 DUP2 LT ISZERO PUSH2 0x984 JUMPI JUMPDEST DUP1 PUSH9 0x10000000000000000 PUSH1 0x2 SWAP3 LT ISZERO PUSH2 0x971 JUMPI JUMPDEST PUSH5 0x100000000 DUP2 LT ISZERO PUSH2 0x95E JUMPI JUMPDEST PUSH3 0x10000 DUP2 LT ISZERO PUSH2 0x94B JUMPI JUMPDEST PUSH2 0x100 DUP2 LT ISZERO PUSH2 0x938 JUMPI JUMPDEST PUSH1 0x10 DUP2 LT ISZERO PUSH2 0x925 JUMPI JUMPDEST PUSH1 0x4 DUP2 LT ISZERO PUSH2 0x913 JUMPI JUMPDEST LT ISZERO PUSH2 0x903 JUMPI JUMPDEST DUP1 PUSH2 0x8DE DUP2 NOT PUSH2 0x849 JUMP JUMPDEST AND EQ DUP1 PUSH2 0x8FA JUMPI JUMPDEST ISZERO PUSH2 0x8EE JUMPI SWAP1 JUMP JUMPDEST PUSH2 0x8F7 SWAP1 PUSH2 0x849 JUMP JUMPDEST SWAP1 JUMP JUMPDEST POP DUP1 ISZERO ISZERO PUSH2 0x8E6 JUMP JUMPDEST SWAP1 PUSH2 0x90D SWAP1 PUSH2 0x849 JUMP JUMPDEST SWAP1 PUSH2 0x8D3 JUMP JUMPDEST PUSH2 0x91F SWAP1 DUP3 SHR SWAP4 PUSH2 0x83B JUMP JUMPDEST SWAP3 PUSH2 0x8CC JUMP JUMPDEST PUSH2 0x932 SWAP1 PUSH1 0x4 SHR SWAP4 PUSH2 0x82D JUMP JUMPDEST SWAP3 PUSH2 0x8C2 JUMP JUMPDEST PUSH2 0x945 SWAP1 PUSH1 0x8 SHR SWAP4 PUSH2 0x81F JUMP JUMPDEST SWAP3 PUSH2 0x8B8 JUMP JUMPDEST PUSH2 0x958 SWAP1 PUSH1 0x10 SHR SWAP4 PUSH2 0x811 JUMP JUMPDEST SWAP3 PUSH2 0x8AD JUMP JUMPDEST PUSH2 0x96B SWAP1 PUSH1 0x20 SHR SWAP4 PUSH2 0x803 JUMP JUMPDEST SWAP3 PUSH2 0x8A1 JUMP JUMPDEST PUSH2 0x97E SWAP1 PUSH1 0x40 SHR SWAP4 PUSH2 0x7C6 JUMP JUMPDEST SWAP3 PUSH2 0x893 JUMP JUMPDEST PUSH1 0x80 SWAP3 POP DUP3 SHR PUSH2 0x87E JUMP JUMPDEST POP PUSH1 0x0 SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH6 0x92D06C64A8 SLOAD SWAP10 DUP11 PC 0xE5 0xCD SWAP7 0xF8 0xE0 DIFFICULTY DUP16 0xD7 PUSH32 0xEC5223C7C61572A2D37349DD64736F6C63430008110033000000000000000000 ", + "sourceMap": "306:958:56:-:0;;;;;;;;;1594:4:0;306:958:56;;-1:-1:-1;;306:958:56;1594:4:0;306:958:56;;;-1:-1:-1;;;;;;170:14:57;;;178:5;170:14;;;1220::1;;170::57;306:958:56;170:14:57;;1220::1;170::57;306:958:56;170:14:57;;;;;;;;;;;-1:-1:-1;;170:14:57;306:958:56;;-1:-1:-1;;;;;;306:958:56;;;-1:-1:-1;;;;;306:958:56;;;;;;;;;206:16:57;;;214:7;170:14;206:16;;1220:14:1;306:958:56;;;;;;;1220:14:1;;306:958:56;;206:16:57;;;;;;;;;;;;;;;-1:-1:-1;306:958:56;;;;206:16:57;306:958:56;;;206:16:57;306:958:56;248:8:57;;1220:14:1;283:8:57;;1220:14:1;306:958:56;;377:12;;;;;;;;1220:14:1;377:12:56;;;;;;;;;;;;;;;;;;;;;;;;306:958;;;377:12;306:958;;;377:12;306:958;;;;;;;;;377:12;306:958;;;;;;;;;;377:12;-1:-1:-1;;;306:958:56;;;170:14:57;306:958:56;1220:14:1;306:958:56;;206:16:57;;;;;;-1:-1:-1;206:16:57;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;306:958:56;;;;;;;;;170:14:57;;;;;;;;;;;;;;;:::i;:::-;;;;;306:958:56;;;;1220:14:1;;;;;-1:-1:-1;;1220:14:1;;;;-1:-1:-1;;;;;1220:14:1;;;;;;;;377:12:56;1220:14:1;:::o;:::-;306:958:56;;;;;;;;;;;1220:14:1;;;;;;;;;;-1:-1:-1;;;;;306:958:56;;1220:14:1;;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_encode_array_bytes32_dyn": { + "entryPoint": 1482, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_allocation_size_array_struct_PositionParams_dyn": { + "entryPoint": 859, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 794, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_4353": { + "entryPoint": 691, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "finalize_allocation_6284": { + "entryPoint": 766, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_failed": { + "entryPoint": 883, + "id": 172, + "parameterSlots": 0, + "returnSlots": 1 + }, + "fun_setCriteria": { + "entryPoint": 1534, + "id": 36459, + "parameterSlots": 1, + "returnSlots": 0 + }, + "increment_uint256": { + "entryPoint": 1294, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionParams_dyn": { + "entryPoint": 1462, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionParams_dyn_4355": { + "entryPoint": 1386, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "memory_array_index_access_struct_PositionParams_dyn_4358": { + "entryPoint": 1446, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + } + }, + "object": "60806040818152600436101561001457600080fd5b600091823560e01c908163b681cffe146101cc57508063ba414fa614610189578063cc8b3eab146100905763fa7626d41461004e57600080fd5b3461008c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c5760ff602092541690519015158152f35b5080fd5b503461008c57602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101855760043567ffffffffffffffff81116101815736602382011215610181578060040135926100ee8461035b565b936100fb8451958661031a565b80855260248286019160061b8401019236841161017d57602401905b83821061012b5786610128876105fe565b80f35b848236031261017d57845190610140826102b3565b82359073ffffffffffffffffffffffffffffffffffffffff82168203610179578285928894528285013583820152815201910190610117565b8880fd5b8680fd5b8380fd5b8280fd5b503461008c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c576020906101c3610373565b90519015158152f35b8391503461008c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008c57610206816102fe565b60028152815b8381106102915750610128919273ffffffffffffffffffffffffffffffffffffffff8060135416601554835191610242836102b3565b825260208201526102528461056a565b5261025c8361056a565b506014541690601654905191610271836102b3565b82526020820152610281826105a6565b5261028b816105a6565b506105fe565b602090845161029f816102b3565b84815282858183015282850101520161020c565b6040810190811067ffffffffffffffff8211176102cf57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176102cf57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cf57604052565b67ffffffffffffffff81116102cf5760051b60200190565b6000805460081c60ff161561038c575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6103ad57505090565b9091506040518260209280848401527f6661696c656400000000000000000000000000000000000000000000000000006040840152604083526103ef836102fe565b604051848101907f667f9d70000000000000000000000000000000000000000000000000000000008252845184955b878288106104f55750508495509061044960248287948101858382015203600481018452018261031a565b51925af1503d156104ee573d67ffffffffffffffff81116104c15760405190610499837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018361031a565b81523d838383013e5b81818051810103126101855701519081151582036104be575090565b80fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60606104a2565b8782018101516024858a0101529096019588955061041e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461053b5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8051156105775760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051600110156105775760400190565b80518210156105775760209160051b010190565b90815180825260208080930193019160005b8281106105ea575050505090565b8351855293810193928101926001016105dc565b80519061060a8261035b565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061064660409261063e8451968761031a565b80865261035b565b0190602091368386013760005b83518110156106c1578073ffffffffffffffffffffffffffffffffffffffff61067f6106bc93876105b6565b5151168461068d83886105b6565b510151845190868201928352858201528481526106a9816102fe565b5190206106b682886105b6565b5261050e565b610653565b509160005b81518110156108bc5773ffffffffffffffffffffffffffffffffffffffff80601754168551917fb86161950000000000000000000000000000000000000000000000000000000083526004928784820152600081610727604482018c6105ca565b9481806024978a8983015203915afa9081156108b157600091610822575b509061075185876105b6565b51511660005260198652866000209181519367ffffffffffffffff85116107f6576801000000000000000085116107f6575050859082548484558085106107cb575b5001906000528460002060005b8381106107b957505050506107b49061050e565b6106c6565b825182820155918601916001016107a0565b83600052848360002091820191015b8181106107e75750610793565b600081558893506001016107da565b6041907f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b3d8083833e610831818361031a565b81019088818303126101855780519067ffffffffffffffff8211610181570181601f82011215610185578051906108678261035b565b936108748c51958661031a565b8285528a8086019360051b8301019384116104be575089809101915b8383106108a1575050505038610745565b82518152918101918a9101610890565b88513d6000823e3d90fd5b5050806109169373ffffffffffffffffffffffffffffffffffffffff60175416845180809781947f2e08d60200000000000000000000000000000000000000000000000000000000835286600484015260248301906105ca565b03915afa91821561095d5750600091610931575b5060185550565b82813d8311610956575b610945818361031a565b810103126104be575051803861092a565b503d61093b565b513d6000823e3d90fdfea26469706673582212203d7c08029f80f923aa9715b8c7452bbfeb0cd37197c9a15c062b4292e039ad3e64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0xB681CFFE EQ PUSH2 0x1CC JUMPI POP DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x189 JUMPI DUP1 PUSH4 0xCC8B3EAB EQ PUSH2 0x90 JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x185 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x181 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x181 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH2 0xEE DUP5 PUSH2 0x35B JUMP JUMPDEST SWAP4 PUSH2 0xFB DUP5 MLOAD SWAP6 DUP7 PUSH2 0x31A JUMP JUMPDEST DUP1 DUP6 MSTORE PUSH1 0x24 DUP3 DUP7 ADD SWAP2 PUSH1 0x6 SHL DUP5 ADD ADD SWAP3 CALLDATASIZE DUP5 GT PUSH2 0x17D JUMPI PUSH1 0x24 ADD SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x12B JUMPI DUP7 PUSH2 0x128 DUP8 PUSH2 0x5FE JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP5 DUP3 CALLDATASIZE SUB SLT PUSH2 0x17D JUMPI DUP5 MLOAD SWAP1 PUSH2 0x140 DUP3 PUSH2 0x2B3 JUMP JUMPDEST DUP3 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x179 JUMPI DUP3 DUP6 SWAP3 DUP9 SWAP5 MSTORE DUP3 DUP6 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x117 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x1C3 PUSH2 0x373 JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP4 SWAP2 POP CALLVALUE PUSH2 0x8C JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH2 0x206 DUP2 PUSH2 0x2FE JUMP JUMPDEST PUSH1 0x2 DUP2 MSTORE DUP2 JUMPDEST DUP4 DUP2 LT PUSH2 0x291 JUMPI POP PUSH2 0x128 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x13 SLOAD AND PUSH1 0x15 SLOAD DUP4 MLOAD SWAP2 PUSH2 0x242 DUP4 PUSH2 0x2B3 JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x252 DUP5 PUSH2 0x56A JUMP JUMPDEST MSTORE PUSH2 0x25C DUP4 PUSH2 0x56A JUMP JUMPDEST POP PUSH1 0x14 SLOAD AND SWAP1 PUSH1 0x16 SLOAD SWAP1 MLOAD SWAP2 PUSH2 0x271 DUP4 PUSH2 0x2B3 JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x281 DUP3 PUSH2 0x5A6 JUMP JUMPDEST MSTORE PUSH2 0x28B DUP2 PUSH2 0x5A6 JUMP JUMPDEST POP PUSH2 0x5FE JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP5 MLOAD PUSH2 0x29F DUP2 PUSH2 0x2B3 JUMP JUMPDEST DUP5 DUP2 MSTORE DUP3 DUP6 DUP2 DUP4 ADD MSTORE DUP3 DUP6 ADD ADD MSTORE ADD PUSH2 0x20C JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x2CF JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x2CF JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x2CF JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x2CF JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x38C JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x3AD JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD DUP3 PUSH1 0x20 SWAP3 DUP1 DUP5 DUP5 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x40 DUP4 MSTORE PUSH2 0x3EF DUP4 PUSH2 0x2FE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 DUP2 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP5 SWAP6 JUMPDEST DUP8 DUP3 DUP9 LT PUSH2 0x4F5 JUMPI POP POP DUP5 SWAP6 POP SWAP1 PUSH2 0x449 PUSH1 0x24 DUP3 DUP8 SWAP5 DUP2 ADD DUP6 DUP4 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0x31A JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x4EE JUMPI RETURNDATASIZE PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x4C1 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x499 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0x31A JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP4 DUP4 DUP4 ADD RETURNDATACOPY JUMPDEST DUP2 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x185 JUMPI ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x4BE JUMPI POP SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST PUSH1 0x60 PUSH2 0x4A2 JUMP JUMPDEST DUP8 DUP3 ADD DUP2 ADD MLOAD PUSH1 0x24 DUP6 DUP11 ADD ADD MSTORE SWAP1 SWAP7 ADD SWAP6 DUP9 SWAP6 POP PUSH2 0x41E JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x53B JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x577 JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x1 LT ISZERO PUSH2 0x577 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x577 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x5EA JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x5DC JUMP JUMPDEST DUP1 MLOAD SWAP1 PUSH2 0x60A DUP3 PUSH2 0x35B JUMP JUMPDEST SWAP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x646 PUSH1 0x40 SWAP3 PUSH2 0x63E DUP5 MLOAD SWAP7 DUP8 PUSH2 0x31A JUMP JUMPDEST DUP1 DUP7 MSTORE PUSH2 0x35B JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 SWAP2 CALLDATASIZE DUP4 DUP7 ADD CALLDATACOPY PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x6C1 JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0x6BC SWAP4 DUP8 PUSH2 0x5B6 JUMP JUMPDEST MLOAD MLOAD AND DUP5 PUSH2 0x68D DUP4 DUP9 PUSH2 0x5B6 JUMP JUMPDEST MLOAD ADD MLOAD DUP5 MLOAD SWAP1 DUP7 DUP3 ADD SWAP3 DUP4 MSTORE DUP6 DUP3 ADD MSTORE DUP5 DUP2 MSTORE PUSH2 0x6A9 DUP2 PUSH2 0x2FE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x6B6 DUP3 DUP9 PUSH2 0x5B6 JUMP JUMPDEST MSTORE PUSH2 0x50E JUMP JUMPDEST PUSH2 0x653 JUMP JUMPDEST POP SWAP2 PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x8BC JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x17 SLOAD AND DUP6 MLOAD SWAP2 PUSH32 0xB861619500000000000000000000000000000000000000000000000000000000 DUP4 MSTORE PUSH1 0x4 SWAP3 DUP8 DUP5 DUP3 ADD MSTORE PUSH1 0x0 DUP2 PUSH2 0x727 PUSH1 0x44 DUP3 ADD DUP13 PUSH2 0x5CA JUMP JUMPDEST SWAP5 DUP2 DUP1 PUSH1 0x24 SWAP8 DUP11 DUP10 DUP4 ADD MSTORE SUB SWAP2 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x8B1 JUMPI PUSH1 0x0 SWAP2 PUSH2 0x822 JUMPI JUMPDEST POP SWAP1 PUSH2 0x751 DUP6 DUP8 PUSH2 0x5B6 JUMP JUMPDEST MLOAD MLOAD AND PUSH1 0x0 MSTORE PUSH1 0x19 DUP7 MSTORE DUP7 PUSH1 0x0 KECCAK256 SWAP2 DUP2 MLOAD SWAP4 PUSH8 0xFFFFFFFFFFFFFFFF DUP6 GT PUSH2 0x7F6 JUMPI PUSH9 0x10000000000000000 DUP6 GT PUSH2 0x7F6 JUMPI POP POP DUP6 SWAP1 DUP3 SLOAD DUP5 DUP5 SSTORE DUP1 DUP6 LT PUSH2 0x7CB JUMPI JUMPDEST POP ADD SWAP1 PUSH1 0x0 MSTORE DUP5 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x7B9 JUMPI POP POP POP POP PUSH2 0x7B4 SWAP1 PUSH2 0x50E JUMP JUMPDEST PUSH2 0x6C6 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP3 ADD SSTORE SWAP2 DUP7 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x7A0 JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE DUP5 DUP4 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD SWAP2 ADD JUMPDEST DUP2 DUP2 LT PUSH2 0x7E7 JUMPI POP PUSH2 0x793 JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE DUP9 SWAP4 POP PUSH1 0x1 ADD PUSH2 0x7DA JUMP JUMPDEST PUSH1 0x41 SWAP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST RETURNDATASIZE DUP1 DUP4 DUP4 RETURNDATACOPY PUSH2 0x831 DUP2 DUP4 PUSH2 0x31A JUMP JUMPDEST DUP2 ADD SWAP1 DUP9 DUP2 DUP4 SUB SLT PUSH2 0x185 JUMPI DUP1 MLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x181 JUMPI ADD DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x185 JUMPI DUP1 MLOAD SWAP1 PUSH2 0x867 DUP3 PUSH2 0x35B JUMP JUMPDEST SWAP4 PUSH2 0x874 DUP13 MLOAD SWAP6 DUP7 PUSH2 0x31A JUMP JUMPDEST DUP3 DUP6 MSTORE DUP11 DUP1 DUP7 ADD SWAP4 PUSH1 0x5 SHL DUP4 ADD ADD SWAP4 DUP5 GT PUSH2 0x4BE JUMPI POP DUP10 DUP1 SWAP2 ADD SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x8A1 JUMPI POP POP POP POP CODESIZE PUSH2 0x745 JUMP JUMPDEST DUP3 MLOAD DUP2 MSTORE SWAP2 DUP2 ADD SWAP2 DUP11 SWAP2 ADD PUSH2 0x890 JUMP JUMPDEST DUP9 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP POP DUP1 PUSH2 0x916 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x17 SLOAD AND DUP5 MLOAD DUP1 DUP1 SWAP8 DUP2 SWAP5 PUSH32 0x2E08D60200000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP7 PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP1 PUSH2 0x5CA JUMP JUMPDEST SUB SWAP2 GAS STATICCALL SWAP2 DUP3 ISZERO PUSH2 0x95D JUMPI POP PUSH1 0x0 SWAP2 PUSH2 0x931 JUMPI JUMPDEST POP PUSH1 0x18 SSTORE POP JUMP JUMPDEST DUP3 DUP2 RETURNDATASIZE DUP4 GT PUSH2 0x956 JUMPI JUMPDEST PUSH2 0x945 DUP2 DUP4 PUSH2 0x31A JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x4BE JUMPI POP MLOAD DUP1 CODESIZE PUSH2 0x92A JUMP JUMPDEST POP RETURNDATASIZE PUSH2 0x93B JUMP JUMPDEST MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATASIZE PUSH29 0x8029F80F923AA9715B8C7452BBFEB0CD37197C9A15C062B4292E039AD RETURNDATACOPY PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "306:958:56:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1087:1;306:958;;;;;;;;;;1238:16;306:958;;;;1136:3;306:958;;1141:8;306:958;;;;;;;:::i;:::-;;;;1121:29;;306:958;1099:51;;;:::i;:::-;;;;;:::i;:::-;;1197:5;306:958;;;1204:10;306:958;;;;;;;:::i;:::-;;;;1182:33;;306:958;1160:55;;;:::i;:::-;;;;;:::i;:::-;;1238:16;:::i;306:958::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;1819:584:0:-;1873:7;306:958:56;;;;;;;;;;;;;;;1896:14:0:o;1869:528::-;1941:25;2939:104;;;1980:374;;2367:19;;;:::o;1980:374::-;306:958:56;;;;;2196:43:0;;;;;;;1671:64;;306:958:56;1671:64:0;;;306:958:56;2196:43:0;;;;;:::i;:::-;306:958:56;;2086:175:0;;;1671:64;;;;;;;;;;;;;;;;;;;;;2086:175;1671:64;;;;;;;;;;;2086:175;;;;;;;;;:::i;:::-;2047:232;;;;-1:-1:-1;1671:64:0;;;;;;;;;;306:958:56;;;;;2196:43:0;306:958:56;;;;1671:64:0;306:958:56;;:::i;:::-;1671:64:0;;;;;;;;;;;;;2312:27;;1671:64;;;;2312:27;1671:64;306:958:56;;;;1671:64:0;;;;2297:42;2367:19;:::o;1671:64::-;;;;;306:958:56;;;;;2086:175:0;306:958:56;;1671:64:0;306:958:56;1671:64:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1671:64:0;;306:958:56;;;;;;;;;:::o;:::-;;;;;;;;;;;1671:64:0;;306:958:56;;;;;;:::o;:::-;;;;;;;;;;;1671:64:0;;1177:1:56;306:958;;;;;;;:::o;:::-;1671:64:0;;306:958:56;;;;;;;;;;;;:::o;:::-;;1671:64:0;;306:958:56;;;;;;;;;;;-1:-1:-1;306:958:56;;;;;;;;;;;:::o;:::-;;;1671:64:0;;306:958:56;;;;;;;;;;;;461:509;1671:64:0;;306:958:56;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;643:3:56;1671:64:0;;621:20:56;;;;;694:12;306:958;694:12;643:3;694:12;;;:::i;:::-;;306:958;;714:12;;;;;:::i;:::-;;:20;306:958;;;683:52;;;;1671:64:0;;;306:958:56;;;1671:64:0;683:52:56;;;;;;:::i;:::-;1671:64:0;673:63:56;;662:74;;;;:::i;:::-;306:958;643:3;:::i;:::-;606:13;;621:20;;;-1:-1:-1;799:3:56;1671:64:0;;777:20:56;;;;;306:958;;847:6;306:958;;;;847:25;306:958;847:25;;;;;;;;306:958;-1:-1:-1;306:958:56;;;;;;;:::i;:::-;;;;;;;;;;1671:64:0;847:25:56;;;;;;;;;-1:-1:-1;847:25:56;;;799:3;825:12;;;;;;:::i;:::-;;306:958;;-1:-1:-1;306:958:56;818:6;306:958;;;-1:-1:-1;306:958:56;1671:64:0;;;306:958:56;;;;;;;;;;;;;;;;;;;;;;;;;799:3;306:958;;;-1:-1:-1;306:958:56;;-1:-1:-1;306:958:56;-1:-1:-1;306:958:56;;;;;;799:3;;;;;;;:::i;:::-;762:13;;306:958;;;;;;;;;;;;;;;;;-1:-1:-1;306:958:56;;;-1:-1:-1;306:958:56;;;;;;;;;;;;;;;;-1:-1:-1;306:958:56;;;;-1:-1:-1;306:958:56;;;;;;;;-1:-1:-1;306:958:56;;-1:-1:-1;306:958:56;847:25;;;;;;;;;;:::i;:::-;;;306:958;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;847:25;;;;;;;306:958;;;;;;;;;;;;;;847:25;306:958;;;-1:-1:-1;306:958:56;;;;;777:20;;;;306:958;777:20;306:958;847:6;306:958;;;;908:21;;;;;306:958;908:21;;;847:25;908:21;;306:958;;;;;;:::i;:::-;908:21;;;;;;;;;;-1:-1:-1;908:21:56;;;757:126;-1:-1:-1;939:24:56;306:958;-1:-1:-1;461:509:56:o;908:21::-;;;;;;;;;;;;;:::i;:::-;;;306:958;;;;;;908:21;;;;;;;;;;306:958;;-1:-1:-1;306:958:56;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "failed()": "ba414fa6", + "setCriteria((address,uint256)[])": "cc8b3eab", + "setDefaultCriteria()": "b681cffe" + } + } + } + }, + "test/utils/Constants.sol": { + "TestConstants": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/Constants.sol\":\"TestConstants\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xb7004fe1ceab4a20ae13baec8732a5414b28d5ddb06f9f4184b49c1fc1d61521\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a60b5d84bd7d7e455f4a1ca1d260f6b50c419e4c4e7196ef32fd77d0f480d51\",\"dweb:/ipfs/QmYwRMAYYsQuvvM4mnagYs8Zhqm5VXicXmxoqEvkiUzQSd\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"test/utils/Constants.sol\":{\"keccak256\":\"0xe83ed5c4129beb2f50e8ba6867270f3a8d3a55bc66abe55999c3f3aadfb9fde2\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d1e517e21b96c0c265669705a978a12ee1ff652b3abea83704839e77972b6cec\",\"dweb:/ipfs/QmTUJZiFFPH4ZVKJAoK94Ap3cegFhkNFGGfAbBmWZh9kW5\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "functionDebugData": { + "abi_decode_address_fromMemory": { + "entryPoint": 377, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 320, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + } + }, + "object": "6080806040523461013b576000805460ff191660011781556001625e79b760e01b0319808352610b0b600484015290737109709ecfa91a80626ff3989d68f67f5b1dd12d60208085602481855afa948515610130578395610111575b50601380546001600160a01b03199081166001600160a01b0397881617909155604051948552620a11ce60048601529493918190839060249082905afa92831561010557926100d8575b505016906014541617601455671bc16d674ec80000601555670de0b6b3a764000060165560405161033490816101998239f35b6100f79250803d106100fe575b6100ef8183610140565b810190610179565b38806100a5565b503d6100e5565b604051903d90823e3d90fd5b816101299296503d87116100fe576100ef8183610140565b933861005b565b6040513d85823e3d90fd5b600080fd5b601f909101601f19168101906001600160401b0382119082101761016357604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261013b57516001600160a01b038116810361013b579056fe6080604052600436101561001257600080fd5b6000803560e01c8063ba414fa6146100755763fa7626d41461003357600080fd5b3461007257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100725760ff60209154166040519015158152f35b80fd5b503461007257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100725760206100ae610128565b6040519015158152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176100f957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000805460081c60ff1615610141575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b61016257505090565b90915060405160209180838301527f6661696c65640000000000000000000000000000000000000000000000000000604083015260408252606082019167ffffffffffffffff92818110848211176102d157918286929360405260808401907f667f9d70000000000000000000000000000000000000000000000000000000008252845187855b8281106102b9575050906102136024878798948895018560848201520360048101845201826100b8565b51925af1503d156102b1573d908111610284576040519061025b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601836100b8565b81523d838383013e5b8181805181010312610280570151908115158203610072575090565b8280fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506060610264565b808801808301516084909101528a96508991016101e9565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfea2646970667358221220eb8350c4f38f6b725676d0cd5994ad94ecd79799eef2e0675a38480db20f0ad864736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR DUP2 SSTORE PUSH1 0x1 PUSH3 0x5E79B7 PUSH1 0xE0 SHL SUB NOT DUP1 DUP4 MSTORE PUSH2 0xB0B PUSH1 0x4 DUP5 ADD MSTORE SWAP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D PUSH1 0x20 DUP1 DUP6 PUSH1 0x24 DUP2 DUP6 GAS STATICCALL SWAP5 DUP6 ISZERO PUSH2 0x130 JUMPI DUP4 SWAP6 PUSH2 0x111 JUMPI JUMPDEST POP PUSH1 0x13 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE PUSH3 0xA11CE PUSH1 0x4 DUP7 ADD MSTORE SWAP5 SWAP4 SWAP2 DUP2 SWAP1 DUP4 SWAP1 PUSH1 0x24 SWAP1 DUP3 SWAP1 GAS STATICCALL SWAP3 DUP4 ISZERO PUSH2 0x105 JUMPI SWAP3 PUSH2 0xD8 JUMPI JUMPDEST POP POP AND SWAP1 PUSH1 0x14 SLOAD AND OR PUSH1 0x14 SSTORE PUSH8 0x1BC16D674EC80000 PUSH1 0x15 SSTORE PUSH8 0xDE0B6B3A7640000 PUSH1 0x16 SSTORE PUSH1 0x40 MLOAD PUSH2 0x334 SWAP1 DUP2 PUSH2 0x199 DUP3 CODECOPY RETURN JUMPDEST PUSH2 0xF7 SWAP3 POP DUP1 RETURNDATASIZE LT PUSH2 0xFE JUMPI JUMPDEST PUSH2 0xEF DUP2 DUP4 PUSH2 0x140 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x179 JUMP JUMPDEST CODESIZE DUP1 PUSH2 0xA5 JUMP JUMPDEST POP RETURNDATASIZE PUSH2 0xE5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP2 PUSH2 0x129 SWAP3 SWAP7 POP RETURNDATASIZE DUP8 GT PUSH2 0xFE JUMPI PUSH2 0xEF DUP2 DUP4 PUSH2 0x140 JUMP JUMPDEST SWAP4 CODESIZE PUSH2 0x5B JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH2 0x163 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x13B JUMPI MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x13B JUMPI SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x75 JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x72 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x72 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x72 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x72 JUMPI PUSH1 0x20 PUSH2 0xAE PUSH2 0x128 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xF9 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x141 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x162 JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP1 DUP4 DUP4 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP3 MSTORE PUSH1 0x60 DUP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP2 LT DUP5 DUP3 GT OR PUSH2 0x2D1 JUMPI SWAP2 DUP3 DUP7 SWAP3 SWAP4 PUSH1 0x40 MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP8 DUP6 JUMPDEST DUP3 DUP2 LT PUSH2 0x2B9 JUMPI POP POP SWAP1 PUSH2 0x213 PUSH1 0x24 DUP8 DUP8 SWAP9 SWAP5 DUP9 SWAP6 ADD DUP6 PUSH1 0x84 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0xB8 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x2B1 JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH2 0x284 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x25B DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0xB8 JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP4 DUP4 DUP4 ADD RETURNDATACOPY JUMPDEST DUP2 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x280 JUMPI ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x72 JUMPI POP SWAP1 JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH1 0x60 PUSH2 0x264 JUMP JUMPDEST DUP1 DUP9 ADD DUP1 DUP4 ADD MLOAD PUSH1 0x84 SWAP1 SWAP2 ADD MSTORE DUP11 SWAP7 POP DUP10 SWAP2 ADD PUSH2 0x1E9 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB DUP4 POP 0xC4 RETURN DUP16 PUSH12 0x725676D0CD5994AD94ECD797 SWAP10 0xEE CALLCODE 0xE0 PUSH8 0x5A38480DB20F0AD8 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "119:175:57:-:0;;;;;;;1594:4:0;119:175:57;;-1:-1:-1;;119:175:57;1594:4:0;119:175:57;;;-1:-1:-1;;;;;;170:14:57;;;178:5;170:14;;;1220::1;;119:175:57;170:14;;;1220::1;170::57;119:175;170:14;;;;;;;;;;;-1:-1:-1;;170:14:57;1220::1;;-1:-1:-1;;;;;;1220:14:1;;;-1:-1:-1;;;;;119:175:57;;;1220:14:1;;;;119:175:57;;206:16;;;214:7;170:14;206:16;;1220:14:1;;119:175:57;;;;;;1220:14:1;;119:175:57;;206:16;;;;;;;;;;-1:-1:-1;119:175:57;;;1220:14:1;206:16:57;1220:14:1;;;206:16:57;1220:14:1;248:8:57;;1220:14:1;283:8:57;;1220:14:1;119:175:57;;;;;;;;;206:16;;;;;;-1:-1:-1;206:16:57;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;119:175;;1220:14:1;;;;;;;;170::57;;;;;;;;;;;;;;;:::i;:::-;;;;;;119:175;;1220:14:1;119:175:57;;1220:14:1;;;;119:175:57;;;;1220:14:1;;;;;-1:-1:-1;;1220:14:1;;;;-1:-1:-1;;;;;1220:14:1;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;119:175:57;;1220:14:1;;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "finalize_allocation": { + "entryPoint": 184, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_failed": { + "entryPoint": 296, + "id": 172, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "object": "6080604052600436101561001257600080fd5b6000803560e01c8063ba414fa6146100755763fa7626d41461003357600080fd5b3461007257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100725760ff60209154166040519015158152f35b80fd5b503461007257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100725760206100ae610128565b6040519015158152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176100f957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000805460081c60ff1615610141575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b61016257505090565b90915060405160209180838301527f6661696c65640000000000000000000000000000000000000000000000000000604083015260408252606082019167ffffffffffffffff92818110848211176102d157918286929360405260808401907f667f9d70000000000000000000000000000000000000000000000000000000008252845187855b8281106102b9575050906102136024878798948895018560848201520360048101845201826100b8565b51925af1503d156102b1573d908111610284576040519061025b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601836100b8565b81523d838383013e5b8181805181010312610280570151908115158203610072575090565b8280fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506060610264565b808801808301516084909101528a96508991016101e9565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfea2646970667358221220eb8350c4f38f6b725676d0cd5994ad94ecd79799eef2e0675a38480db20f0ad864736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x75 JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x72 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x72 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP2 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x72 JUMPI DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x72 JUMPI PUSH1 0x20 PUSH2 0xAE PUSH2 0x128 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xF9 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x141 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x162 JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP1 DUP4 DUP4 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP3 MSTORE PUSH1 0x60 DUP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP2 LT DUP5 DUP3 GT OR PUSH2 0x2D1 JUMPI SWAP2 DUP3 DUP7 SWAP3 SWAP4 PUSH1 0x40 MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP8 DUP6 JUMPDEST DUP3 DUP2 LT PUSH2 0x2B9 JUMPI POP POP SWAP1 PUSH2 0x213 PUSH1 0x24 DUP8 DUP8 SWAP9 SWAP5 DUP9 SWAP6 ADD DUP6 PUSH1 0x84 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0xB8 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x2B1 JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH2 0x284 JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x25B DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0xB8 JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP4 DUP4 DUP4 ADD RETURNDATACOPY JUMPDEST DUP2 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x280 JUMPI ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x72 JUMPI POP SWAP1 JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH1 0x60 PUSH2 0x264 JUMP JUMPDEST DUP1 DUP9 ADD DUP1 DUP4 ADD MLOAD PUSH1 0x84 SWAP1 SWAP2 ADD MSTORE DUP11 SWAP7 POP DUP10 SWAP2 ADD PUSH2 0x1E9 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB DUP4 POP 0xC4 RETURN DUP16 PUSH12 0x725676D0CD5994AD94ECD797 SWAP10 0xEE CALLCODE 0xE0 PUSH8 0x5A38480DB20F0AD8 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "119:175:57:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;1671:64:0;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;1819:584;1873:7;119:175:57;;;;;;;;;;;;;;;1896:14:0:o;1869:528::-;1941:25;2939:104;;;1980:374;;2367:19;;;:::o;1980:374::-;119:175:57;;;;;2196:43:0;;;;;;1671:64;;119:175:57;1671:64:0;;;119:175:57;2196:43:0;;119:175:57;1671:64:0;;;;;;;;;;;;;;;;;;;119:175:57;1671:64:0;2086:175;;;1671:64;;;;;;;;;;;;;;;;;2086:175;1671:64;;;;;;;;;;;;;2086:175;;;;;;;;;:::i;:::-;2047:232;;;;-1:-1:-1;1671:64:0;;;;;;;;;;119:175:57;;1671:64:0;;;2196:43;1671:64;;;;;;;:::i;:::-;;;;;;;;;;;;;;2312:27;;1671:64;;;;2312:27;1671:64;119:175:57;;;;1671:64:0;;;;2297:42;2367:19;:::o;1671:64::-;119:175:57;;;1671:64:0;;;;;;;2086:175;1671:64;;;;119:175:57;1671:64:0;;;;;;;;;;;;;;;;;-1:-1:-1;1671:64:0;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "failed()": "ba414fa6" + } + } + } + }, + "test/utils/PermitSignature.sol": { + "PermitSignature": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_BATCH_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_DETAILS_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_SINGLE_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_PERMIT_TRANSFER_FROM_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_TOKEN_PERMISSIONS_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_BATCH_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_DETAILS_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_SINGLE_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_PERMIT_TRANSFER_FROM_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TOKEN_PERMISSIONS_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/PermitSignature.sol\":\"PermitSignature\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xb7004fe1ceab4a20ae13baec8732a5414b28d5ddb06f9f4184b49c1fc1d61521\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a60b5d84bd7d7e455f4a1ca1d260f6b50c419e4c4e7196ef32fd77d0f480d51\",\"dweb:/ipfs/QmYwRMAYYsQuvvM4mnagYs8Zhqm5VXicXmxoqEvkiUzQSd\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"test/utils/PermitSignature.sol\":{\"keccak256\":\"0x8efef2e7f2085819cadab8efaa849f59cdab99dba67f6770ba255b0bf5c12515\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://2718264463c40e51f6d2a93ad73ce2c40ed24458c0b9fa6ba9968b255218bdf9\",\"dweb:/ipfs/QmV3kFRsu5pGXaci8Q1RjJushbPYLZ7GpsfJ4xyEyYxfMw\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "6080806040523461002357600160ff19600054161760005561058e90816100298239f35b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c9081633eb8b8fd146102b757508063415e982d1461025f5780636302c3cf146102075780636e4f2775146101af57806378f1683014610157578063ba414fa614610114578063c5df4f03146100bc5763fa7626d41461007a57600080fd5b346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b85760ff602092541690519015158152f35b5080fd5b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b85760209061014e61037f565b90519015158152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b36788152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18152f35b8390346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857807ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b76660209252f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761035057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000805460081c60ff1615610398575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6103b957505090565b90915060405160209180838301527f6661696c65640000000000000000000000000000000000000000000000000000604083015260408252606082019167ffffffffffffffff928181108482111761052b57918286929360405260808401907f667f9d70000000000000000000000000000000000000000000000000000000008252845187855b8281106105135750509061046a60248787989488950185608482015203600481018452018261030f565b51925af1503d1561050b573d9081116104de57604051906104b2837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018361030f565b81523d838383013e5b81818051810103126104da5701519081151582036104d7575090565b80fd5b8280fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b5060606104bb565b808801808301516084909101528a9650899101610440565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfea2646970667358221220b14cf1725aa124ff69ab50f78bf6abd020ad6baf167257146950e839b6a1017364736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x23 JUMPI PUSH1 0x1 PUSH1 0xFF NOT PUSH1 0x0 SLOAD AND OR PUSH1 0x0 SSTORE PUSH2 0x58E SWAP1 DUP2 PUSH2 0x29 DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x3EB8B8FD EQ PUSH2 0x2B7 JUMPI POP DUP1 PUSH4 0x415E982D EQ PUSH2 0x25F JUMPI DUP1 PUSH4 0x6302C3CF EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x6E4F2775 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x78F16830 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x114 JUMPI DUP1 PUSH4 0xC5DF4F03 EQ PUSH2 0xBC JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x14E PUSH2 0x37F JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP2 MSTORE RETURN JUMPDEST DUP4 SWAP1 CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI DUP1 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 PUSH1 0x20 SWAP3 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x350 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x398 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x3B9 JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP1 DUP4 DUP4 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP3 MSTORE PUSH1 0x60 DUP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP2 LT DUP5 DUP3 GT OR PUSH2 0x52B JUMPI SWAP2 DUP3 DUP7 SWAP3 SWAP4 PUSH1 0x40 MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP8 DUP6 JUMPDEST DUP3 DUP2 LT PUSH2 0x513 JUMPI POP POP SWAP1 PUSH2 0x46A PUSH1 0x24 DUP8 DUP8 SWAP9 SWAP5 DUP9 SWAP6 ADD DUP6 PUSH1 0x84 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0x30F JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x50B JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH2 0x4DE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x4B2 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0x30F JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP4 DUP4 DUP4 ADD RETURNDATACOPY JUMPDEST DUP2 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x4DA JUMPI ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x4D7 JUMPI POP SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH1 0x60 PUSH2 0x4BB JUMP JUMPDEST DUP1 DUP9 ADD DUP1 DUP4 ADD MLOAD PUSH1 0x84 SWAP1 SWAP2 ADD MSTORE DUP11 SWAP7 POP DUP10 SWAP2 ADD PUSH2 0x440 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB1 0x4C CALL PUSH19 0x5AA124FF69AB50F78BF6ABD020AD6BAF167257 EQ PUSH10 0x50E839B6A1017364736F PUSH13 0x63430008110033000000000000 ", + "sourceMap": "348:5833:58:-:0;;;;;;;1594:4:0;348:5833:58;;1594:4:0;348:5833:58;;;1594:4:0;348:5833:58;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "finalize_allocation": { + "entryPoint": 783, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_failed": { + "entryPoint": 895, + "id": 172, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "object": "60806040818152600436101561001457600080fd5b600091823560e01c9081633eb8b8fd146102b757508063415e982d1461025f5780636302c3cf146102075780636e4f2775146101af57806378f1683014610157578063ba414fa614610114578063c5df4f03146100bc5763fa7626d41461007a57600080fd5b346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b85760ff602092541690519015158152f35b5080fd5b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d08152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b85760209061014e61037f565b90519015158152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b36788152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638152f35b50346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857602090517f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a18152f35b8390346100b857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b857807ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b76660209252f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761035057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000805460081c60ff1615610398575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6103b957505090565b90915060405160209180838301527f6661696c65640000000000000000000000000000000000000000000000000000604083015260408252606082019167ffffffffffffffff928181108482111761052b57918286929360405260808401907f667f9d70000000000000000000000000000000000000000000000000000000008252845187855b8281106105135750509061046a60248787989488950185608482015203600481018452018261030f565b51925af1503d1561050b573d9081116104de57604051906104b2837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018361030f565b81523d838383013e5b81818051810103126104da5701519081151582036104d7575090565b80fd5b8280fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b5060606104bb565b808801808301516084909101528a9650899101610440565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfea2646970667358221220b14cf1725aa124ff69ab50f78bf6abd020ad6baf167257146950e839b6a1017364736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x3EB8B8FD EQ PUSH2 0x2B7 JUMPI POP DUP1 PUSH4 0x415E982D EQ PUSH2 0x25F JUMPI DUP1 PUSH4 0x6302C3CF EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x6E4F2775 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x78F16830 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0xBA414FA6 EQ PUSH2 0x114 JUMPI DUP1 PUSH4 0xC5DF4F03 EQ PUSH2 0xBC JUMPI PUSH4 0xFA7626D4 EQ PUSH2 0x7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x14E PUSH2 0x37F JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP2 MSTORE RETURN JUMPDEST DUP4 SWAP1 CALLVALUE PUSH2 0xB8 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0xB8 JUMPI DUP1 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 PUSH1 0x20 SWAP3 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x350 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH2 0x398 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH2 0x3B9 JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP1 DUP4 DUP4 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP3 MSTORE PUSH1 0x60 DUP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP2 LT DUP5 DUP3 GT OR PUSH2 0x52B JUMPI SWAP2 DUP3 DUP7 SWAP3 SWAP4 PUSH1 0x40 MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP8 DUP6 JUMPDEST DUP3 DUP2 LT PUSH2 0x513 JUMPI POP POP SWAP1 PUSH2 0x46A PUSH1 0x24 DUP8 DUP8 SWAP9 SWAP5 DUP9 SWAP6 ADD DUP6 PUSH1 0x84 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH2 0x30F JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH2 0x50B JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH2 0x4DE JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH2 0x4B2 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD DUP4 PUSH2 0x30F JUMP JUMPDEST DUP2 MSTORE RETURNDATASIZE DUP4 DUP4 DUP4 ADD RETURNDATACOPY JUMPDEST DUP2 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0x4DA JUMPI ADD MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x4D7 JUMPI POP SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH1 0x60 PUSH2 0x4BB JUMP JUMPDEST DUP1 DUP9 ADD DUP1 DUP4 ADD MLOAD PUSH1 0x84 SWAP1 SWAP2 ADD MSTORE DUP11 SWAP7 POP DUP10 SWAP2 ADD PUSH2 0x440 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB1 0x4C CALL PUSH19 0x5AA124FF69AB50F78BF6ABD020AD6BAF167257 EQ PUSH10 0x50E839B6A1017364736F PUSH13 0x63430008110033000000000000 ", + "sourceMap": "348:5833:58:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;598:180;348:5833;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1223:174;348:5833;;;;;;;;;;;;;;;;;;446:87;348:5833;;;;;;;;;;;;;;;;;;842:181;348:5833;;;;;;;;;;;;;;;;;;1092:59;348:5833;;;;;;;;;;;;;;;;;1475:181;348:5833;;;;1671:64:0;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;1819:584;1873:7;348:5833:58;;;;;;;;;;;;;;;1896:14:0:o;1869:528::-;1941:25;2939:104;;;1980:374;;2367:19;;;:::o;1980:374::-;348:5833:58;;;;;2196:43:0;;;;;;1671:64;;348:5833:58;1671:64:0;;348:5833:58;;2196:43:0;;348:5833:58;1671:64:0;;;;;;;;;;;;;;;;;;;348:5833:58;1671:64:0;2086:175;;;1671:64;;;;;;;;;;;;;;;;;2086:175;1671:64;;;;;;;;;;;;;2086:175;;;;;;;;;:::i;:::-;2047:232;;;;-1:-1:-1;1671:64:0;;;;;;;;;;348:5833:58;;1671:64:0;;;2196:43;1671:64;;;;;;;:::i;:::-;;;;;;;;;;;;;;2312:27;;1671:64;;;;2312:27;1671:64;348:5833:58;;;;1671:64:0;;;;2297:42;2367:19;:::o;1671:64::-;;;;348:5833:58;;;1671:64:0;;;;;;;2086:175;1671:64;;;;348:5833:58;1671:64:0;;;;;;;;;;;;;;;;;-1:-1:-1;1671:64:0;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "_PERMIT_BATCH_TRANSFER_FROM_TYPEHASH()": "3eb8b8fd", + "_PERMIT_BATCH_TYPEHASH()": "6302c3cf", + "_PERMIT_DETAILS_TYPEHASH()": "6e4f2775", + "_PERMIT_SINGLE_TYPEHASH()": "c5df4f03", + "_PERMIT_TRANSFER_FROM_TYPEHASH()": "78f16830", + "_TOKEN_PERMISSIONS_TYPEHASH()": "415e982d", + "failed()": "ba414fa6" + } + } + } + }, + "test/utils/TokenProvider.sol": { + "TokenProvider": { + "abi": [ + { + "type": "function", + "name": "IS_TEST", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MINT_AMOUNT_ERC20", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "failed", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "initializeERC20Tokens", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setERC20TestTokenApprovals", + "inputs": [ + { + "name": "vm", + "type": "address", + "internalType": "contract Vm" + }, + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setERC20TestTokens", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "log", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_address", + "inputs": [ + { + "name": "", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_array", + "inputs": [ + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_bytes32", + "inputs": [ + { + "name": "", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_int", + "inputs": [ + { + "name": "", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_address", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256[]", + "indexed": false, + "internalType": "int256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_array", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_bytes32", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_decimal_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "decimals", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_int", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "int256", + "indexed": false, + "internalType": "int256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_string", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_named_uint", + "inputs": [ + { + "name": "key", + "type": "string", + "indexed": false, + "internalType": "string" + }, + { + "name": "val", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_string", + "inputs": [ + { + "name": "", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "log_uint", + "inputs": [ + { + "name": "", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "logs", + "inputs": [ + { + "name": "", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINT_AMOUNT_ERC20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeERC20Tokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Vm\",\"name\":\"vm\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"setERC20TestTokenApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setERC20TestTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/TokenProvider.sol\":\"TokenProvider\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xdbf2c734ffcc665d175a4b239d90a6ceb873d613c26ce7dc5c4d3131b76a0e92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e1caed2b51fc82c3050f37cb6ee1fb9a2627baaae4cb08919b795a7216db2d\",\"dweb:/ipfs/Qmepc4Zd44EpqBjLHVAGzu6B5QqY1zqecHgfBTpZcQ7HZ7\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xb7004fe1ceab4a20ae13baec8732a5414b28d5ddb06f9f4184b49c1fc1d61521\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a60b5d84bd7d7e455f4a1ca1d260f6b50c419e4c4e7196ef32fd77d0f480d51\",\"dweb:/ipfs/QmYwRMAYYsQuvvM4mnagYs8Zhqm5VXicXmxoqEvkiUzQSd\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/permit2/src/AllowanceTransfer.sol\":{\"keccak256\":\"0x83a47e7841f9d285eb7f0fd977fedb808640714cb9822a104bab99fe5cbb58ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f0de543f076f8556690f236dc431277acf9c91c04916a46040194b03ea9836\",\"dweb:/ipfs/QmQ5YLFHexR2WTNXDGu4y6WjRmLPzrdH92j7NDQzT8Jevp\"]},\"lib/permit2/src/EIP712.sol\":{\"keccak256\":\"0x973d4358c262467a4c2a0c2867c676a8a138102968d8b89355c42f655d1a7a68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7219a31ace8c0a959392cc2ee06817c7c98dfc491e96d27f71a09fb23860b62c\",\"dweb:/ipfs/QmUGRLgddHZ3GoouEBoMYbRS4wVGapJrsD2nBxVwxLBibb\"]},\"lib/permit2/src/Permit2.sol\":{\"keccak256\":\"0x934c0eb24a52eb5900f01f5c328374b670366adf995ba9ed49bcd3d7b87b159e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdfd05b3007726dc6dd2822c1dd9dc1b2471fbec507f30efa71a1a214c98bab6\",\"dweb:/ipfs/QmPq4hptCSUACQdynSa86bdEexE7RryzosrhUAZ9Xkqc5a\"]},\"lib/permit2/src/PermitErrors.sol\":{\"keccak256\":\"0x9fd1192bbc3ffa9354f2bfc534d7a1cdf2be2c940c96ed4ac7bc37991e1e5dfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77f8b2e2c040c33e2c78f05e7e768a17f433c07adb699235c35c4dac92115070\",\"dweb:/ipfs/QmYX2VTyTm6QLtgp54kCrkAGY8uPxkx28urwLNEJsxTHJs\"]},\"lib/permit2/src/SignatureTransfer.sol\":{\"keccak256\":\"0xa821caa24d6231fa8befe24a34bfda2c3b05b56e67fb913c86b26a19b19b6bbe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://584994a77e33aa2fe804b803ab302cb811ee945632b76f68d78db761b18a24a2\",\"dweb:/ipfs/QmVd67VRKX24tSaREBNwhzVfU6xxqRLNEoPY6CYgG3xU5W\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x14cf8839107a3b30fbd02e92b1506d8ee25a002b6d1dd37ff2745b2adbaf4f2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb1a740ae82ee2f704135927e817780971356b41288e6b044c43ac9e3cb8e97d\",\"dweb:/ipfs/Qmbi1ZZREFLnNyAfpvPpgRYYdxCTemqTr5krfX6ufVA7D2\"]},\"lib/permit2/src/interfaces/IERC1271.sol\":{\"keccak256\":\"0x96f516510d08da5b1d05d81b0bd88af6f9928bb757ba55c27e203654dfcd4fa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0942604688c369aed50905d7cef2ece68e1ff457c95a14c9f913babac29a09a\",\"dweb:/ipfs/Qmf4ZBYCKqQHfnACciz8GEMhwxPw7mhQ6fjGXwpgr8CQF8\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xbab1c35f0a63761be6b50a9a2ce2459b63f09587dd9c6ac46955252a1a04f43c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225dca1a3d91c0737fe75c72bfecae391fc2e7b2eb2ebe1a154bfb16a7527972\",\"dweb:/ipfs/QmdGQdUCANKZ6S23TyHDtBnGvr6CtyyqNNcziVTjEHJ5rk\"]},\"lib/permit2/src/libraries/Allowance.sol\":{\"keccak256\":\"0x65ee20fb1a77d4e25dff2feb84027ff9096b065b6fc064c80f9eee49f1f9d498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f65d62fc64a55b6e3aad9932959ab3f47d701c45f95622215aca0ba076f1a7d\",\"dweb:/ipfs/QmZjDb4Nq9pssFefg8X9bwJNJ4RJEPD8vCaFR2Ur2N4boD\"]},\"lib/permit2/src/libraries/PermitHash.sol\":{\"keccak256\":\"0x54af80d9c3193934c6947c31f59b8f3d7918f83676fe92ed6136593ad591d478\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5264001770be2cdeb7651e4d22af7edbc4e16da6d38747efeb4f54b5472ca5c5\",\"dweb:/ipfs/QmPvwau7DXw6stGQ14hpyTeLdYDYrrrdMnUfkQTPpMXQxz\"]},\"lib/permit2/src/libraries/SignatureVerification.sol\":{\"keccak256\":\"0x99f437ffe99aa1ff7885aec8b971f48efac00c6ebc59c02eec78c9ca850a5e30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9365414bdb67813d4ef6c89fa152dff05fc2a64992a1a4f212fa414dbdee3eab\",\"dweb:/ipfs/QmfJxSszF1rjmMoNXW5oQMo9gARMHAXYTu68fkZvdEu58i\"]},\"lib/solmate/src/test/utils/mocks/MockERC20.sol\":{\"keccak256\":\"0x525129ccb4103c9ecb8f235618d2ff4a8ffde4b8654f7c17766ad175d10ef466\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://45692a21807ba815c0cf0bfc7d633a14a6cb9ba863ab53f18fc639375a72125e\",\"dweb:/ipfs/QmSrqxyodjDtSU1Dc6G3ScnNc9CFjMnAeHpK8a8guM3nJu\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]},\"test/utils/TokenProvider.sol\":{\"keccak256\":\"0xdbd2ce28d63c8eb3aafc1f9937eb222f174815fd8f6c9a6f803cd6bf64fec1cc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1fa603b15569f515dc95c7749c59d32b5f4c8a576d67b33f83ebe80819796122\",\"dweb:/ipfs/QmUGAH8ad2iagCsYnXDGz4D7LFn9kWJysk244GsBjBBw7K\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "6080806040523461002357600160ff196000541617600055613f8f90816100298239f35b600080fdfe60806040818152600491823610156200001757600080fd5b600092833560e01c918263035c3deb1462000518575081631b21029314620004d4578163ba414fa6146200048c578163e2acb0f814620001fa578163e6d9ff3d14620000b2575063fa7626d4146200006e57600080fd5b34620000ae57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000ae5760ff602092541690519015158152f35b5080fd5b91905034620001f65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001f65781359073ffffffffffffffffffffffffffffffffffffffff808316809303620001f1578493816014541691823b15620001ed578351907f40c10f1900000000000000000000000000000000000000000000000000000000918281528684820152878160448183680246ddf97976680000998a60248401525af18015620001e357908891620001cb575b50506015541690813b15620001c75786604492819587519889968795865285015260248401525af1908115620001be5750620001a85750f35b620001b3906200074f565b620001bb5780f35b80fd5b513d84823e3d90fd5b8680fd5b620001d6906200074f565b620001c75786386200016f565b86513d8a823e3d90fd5b8580fd5b600080fd5b8280fd5b91905034620001f657827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001f6578051906122ca9182810167ffffffffffffffff93828210858311176200046057908291620009d18339039085f0928315620004565773ffffffffffffffffffffffffffffffffffffffff92837fffffffffffffffffffffffff0000000000000000000000000000000000000000951685601354161760135582516112bf9081810190808210848311176200042a5760e08162002c9b938585833960608152600c60608201527f5465737420546f6b656e20410000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544100000000000000000000000000000000000000000000000000000000000060c082015260128982015203019089f08015620004205786168760145416176014558451938285019385851090851117620003f4575091839160e093833960608152600c60608201527f5465737420546f6b656e20420000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544200000000000000000000000000000000000000000000000000000000000060c082015260128582015203019085f0908115620003eb57501690601554161760155580f35b513d85823e3d90fd5b8860416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d8a823e3d90fd5b6024896041877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b81513d86823e3d90fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b505034620000ae57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000ae57602090620004cb620007ef565b90519015158152f35b505034620000ae57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000ae5760209051680246ddf979766800008152f35b84828534620001f65760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001f65781359173ffffffffffffffffffffffffffffffffffffffff948584168094036200074b5760243590868216809203620001ed5760443591878316809303620001c757853b15620001c7577f06447d5600000000000000000000000000000000000000000000000000000000825283820152858160248183895af18015620006ff5762000735575b5085859691869260145416918551907f095ea7b3000000000000000000000000000000000000000000000000000000009182815283878201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94856024830152816044816020998a945af180156200072b57604492879594928c9262000709575b50601554168951968795869485528a85015260248401525af18015620006ff57620006ca575b5050823b15620006c557839283918351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620001be5750620001a85750f35b505050fd5b81620006ee92903d10620006f7575b620006e5818362000793565b810190620007d5565b5085806200067b565b503d620006d9565b84513d88823e3d90fd5b6200072390873d8911620006f757620006e5818362000793565b508d62000655565b88513d8c823e3d90fd5b62000743909591956200074f565b9386620005d3565b8480fd5b67ffffffffffffffff81116200076457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200076457604052565b90816020910312620001f157518015158103620001f15790565b6000805460081c60ff161562000809575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6200082b57505090565b90915060405160209180838301527f6661696c65640000000000000000000000000000000000000000000000000000604083015260408252606082019167ffffffffffffffff9281811084821117620009a357918286929360405260808401907f667f9d70000000000000000000000000000000000000000000000000000000008252845187855b8281106200098a57505090620008e060248787989488950185608482015203600481018452018262000793565b51925af1503d156200097a573d9081116200094d576040516200094a93929162000932601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01684018362000793565b81528092823d92013e5b8082518301019101620007d5565b90565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506200094a91506060906200093c565b808801808301516084909101528a9650899101620008b3565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfe60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a5578260405251902060805261220990816100c18239608051816118b0015260a0518161188a0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db146110c8578063137c29fe14610eef5780632a2d80d114610c4f5780632b67b57014610a9457806330f28b7a146109b25780633644e5151461098f57806336c78516146109385780633ff9dcb1146108d65780634fe02b441461088b57806365d9723c1461071657806387517c4514610602578063927da10514610569578063cc53287f14610467578063edd9444b1461031c5763fe8ec1a7146100c657600080fd5b346103185760c06003193601126103185767ffffffffffffffff8335818111610314576100f6903690860161146b565b6024358281116103105761010d903690870161143a565b610115611324565b9160843585811161030c5761012d9036908a016113e1565b98909560a43590811161030857610146913691016113e1565b9690958151906101558261123d565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610204602085018096611cfc565b918237018a8152039961023d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611275565b5190209085515161024d81611c24565b908a5b8181106102db5750506102d8999a6102cf91835161028281610276602082018095611ccf565b03848101835282611275565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611275565b51902093611a60565b80f35b806102f36102ed610303938c5161157e565b51611dbd565b6102fd828661157e565b52611c73565b610250565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103185760806003193601126103185767ffffffffffffffff9080358281116103145761034f903690830161146b565b60243583811161031057610366903690840161143a565b939092610371611324565b9160643590811161046357610388913691016113e1565b9490938351519761039889611c24565b98885b8181106104415750506102d8979881516103e9816103bd602082018095611ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611275565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102cf81611259565b808b6102fd826104586102ed61045e968d5161157e565b9261157e565b61039b565b8680fd5b50823461056557602090816003193601126103145780359067ffffffffffffffff82116103105761049a9136910161143a565b929091845b8481106104aa578580f35b806104c06104bb60019388886116d5565b6116e5565b6104d5846104cf848a8a6116d5565b016116e5565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a20161049f565b8280fd5b5034610318576060600319360112610318576105fe816105876112de565b93610590611301565b610598611324565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103185760806003193601126103185761061c6112de565b90610625611301565b9161062e611324565b65ffffffffffff926064358481169081810361030c5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c2094861560001461070e57504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b9050926106ed565b508234610565576060600319360112610565576107316112de565b9061073a611301565b9265ffffffffffff604435818116939084810361030c57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156108635761ffff90858403161161083c5750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b50346103185780600319360112610318578060209273ffffffffffffffffffffffffffffffffffffffff6108bd6112de565b1681528084528181206024358252845220549051908152f35b5082346105655781600319360112610565577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b823461098c57608060031936011261098c576109526112de565b61095a611301565b610962611324565b6064359173ffffffffffffffffffffffffffffffffffffffff83168303610310576102d8936115c1565b80fd5b50346103185781600319360112610318576020906109ab611887565b9051908152f35b5082903461056557610100600319360112610565576109d036611368565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610a026112b6565b9160e43567ffffffffffffffff8111610a90576102d894610a25913691016113e1565b939092610a328351611dbd565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610a8781611259565b5190209161198e565b8580fd5b5091346103185761010060031936011261031857610ab06112de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610314576080855191610ae983611221565b1261031457845190610afa826111d6565b73ffffffffffffffffffffffffffffffffffffffff916024358381168103610463578152604435838116810361046357602082015265ffffffffffff606435818116810361030c57888301526084359081168103610463576060820152815260a435938285168503610a90576020820194855260c4359087830182815260e43567ffffffffffffffff811161030857610b9690369084016113e1565b929093804211610c20575050918591610c106102d8999a610c1695610bbb8851611d27565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610c088161123d565b519020611942565b91611e30565b5192511691611706565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b50913461031857606060031993818536011261031457610c6d6112de565b9260249081359267ffffffffffffffff9788851161030c57859085360301126104635780519785890189811082821117610ec4578252848301358181116103085785019036602383011215610308578382013591610cca8361140f565b90610cd785519283611275565b838252602093878584019160071b83010191368311610ec0578801905b828210610e63575050508a526044610d0d868801611347565b96838c01978852013594838b0191868352604435908111610e5f57610d3590369087016113e1565b959096804211610e34575050508998995151610d5081611c24565b908b5b818110610e1157505092889492610c1092610dde97958351610d7c816103bd8682018095611ccf565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610c088161123d565b51169082515192845b848110610df2578580f35b80610e0b8585610e05600195875161157e565b51611706565b01610de7565b806102f3610e268e9f9e93610e2c945161157e565b51611d27565b9b9a9b610d53565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b608082360312610ec057856080918851610e7c816111d6565b610e8585611347565b8152610e92838601611347565b83820152610ea18a8601611427565b8a8201528d610eb1818701611427565b90820152815201910190610cf4565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105655761014060031936011261056557610f0c36611368565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610f3e6112b6565b67ffffffffffffffff93906101043585811161046357610f6190369086016113e1565b90936101243596871161030c57610f81610a87966102d8983691016113e1565b969095825190610f908261123d565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c00000000000000000000000000000000000000000000000000000000608083015283519485918161103f602085018096611cfc565b918237018b815203936110787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611275565b519020926110868651611dbd565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102c3565b5082346105655760208060031936011261031457813567ffffffffffffffff92838211610a905736602383011215610a9057810135928311610310576024906007368386831b8401011161046357865b858110611123578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8336030112610308576111d088876001946060835161116a816111d6565b6111a6608461117a8d8601611347565b9485845261118a60448201611347565b809785015261119b60648201611347565b809885015201611347565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166115c1565b01611118565b6080810190811067ffffffffffffffff8211176111f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176111f257604052565b60a0810190811067ffffffffffffffff8211176111f257604052565b60c0810190811067ffffffffffffffff8211176111f257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176111f257604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6003190190608082126112d957604080519061138382611221565b808294126112d957805181810181811067ffffffffffffffff8211176111f257825260043573ffffffffffffffffffffffffffffffffffffffff811681036112d9578152602435602082015282526044356020830152606435910152565b9181601f840112156112d95782359167ffffffffffffffff83116112d957602083818601950101116112d957565b67ffffffffffffffff81116111f25760051b60200190565b359065ffffffffffff821682036112d957565b9181601f840112156112d95782359167ffffffffffffffff83116112d9576020808501948460061b0101116112d957565b9190916060818403126112d957604080519161148683611221565b8294813567ffffffffffffffff908181116112d957830182601f820112156112d95780356114b38161140f565b926114c087519485611275565b818452602094858086019360061b850101938185116112d9579086899897969594939201925b848410611503575050505050855280820135908501520135910152565b9091929394959697848303126112d9578851908982019082821085831117611550578a928992845261153487611347565b81528287013583820152815201930191908897969594936114e6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156115925760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c168042116116a4575082871696838803611632575b50506116309550169261211c565b565b878484161160001461166f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846116309a031691161790553880611622565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b91908110156115925760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036112d95790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c0361185e57918561183794927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec9897969450871560001461183c5779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff0000000000000000000000000000000000000000876117c9565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f0000000000000000000000000000000000000000000000000000000000000000036118d2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261193c8161123d565b51902090565b61194a611887565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261193c816111d6565b9192909360a435936040840151804211611a2f57506020845101518086116119fe5750918591610c106119ce946119c9602088015186611bb0565b611942565b73ffffffffffffffffffffffffffffffffffffffff80915151169260843591821682036112d9576116309361211c565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611b805750848803611b5757611a97918691610c1060209b6119c98d88015186611bb0565b60005b868110611aab575050505050505050565b611ab681835161157e565b5188611ac383878a6116d5565b01359089810151808311611b27575091818888886001968596611aed575b50505050505001611a9a565b611b1c95611b169273ffffffffffffffffffffffffffffffffffffffff6104bb935116956116d5565b9161211c565b803888888883611ae1565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611bfa57565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611c2e8261140f565b611c3b6040519182611275565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611c69829461140f565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ca05760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611ce8575050505090565b835185529381019392810192600101611cda565b9081519160005b838110611d14575050016000815290565b8060208092840101518185015201611d03565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176111f25760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff8151166040840152015160608201526060815261193c816111d6565b91908260409103126112d9576020823592013590565b6000843b611f97575060418203611f1557611e4d82820182611e1a565b939092604010156115925760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa15611f095773ffffffffffffffffffffffffffffffffffffffff8060005116918215611edf571603611eb557565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203611f6d57611f2991810190611e1a565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611ca05760209360009360ff608094611e6b565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa908115612111578291612093575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361206957565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211612109575b816120ad60209383611275565b810103126103185751907fffffffff000000000000000000000000000000000000000000000000000000008216820361098c57507fffffffff00000000000000000000000000000000000000000000000000000000903861203d565b3d91506120a0565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561217557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea2646970667358221220c798ba34bd41ccb33394477f24cca6191c4fc58c8e7d9adae8e27920b835ff1d64736f6c6343000811003360e0604090808252346200043c57620012bf803803809162000022828562000441565b833981016060828203126200043c5781516001600160401b0393908481116200043c57826200005391850162000465565b92602092838201518681116200043c5783916200007291840162000465565b91015160ff811681036200043c578451948686116200042657600095806200009b8854620004dc565b92601f93848111620003d5575b5087908483116001146200036d57899262000361575b50508160011b916000199060031b1c19161786555b8251908782116200034d578190600194620000ef8654620004dc565b828111620002f8575b50879183116001146200029457889262000288575b5050600019600383901b1c191690831b1782555b6080524660a052815184549181866200013a85620004dc565b92838352878301958882821691826000146200026857505060011462000228575b506200016a9250038262000441565b519020928151928301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8552828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401524660808401523060a084015260a0835260c08301948386109086111762000214575083905251902060c052610da590816200051a82396080518161077e015260a05181610b97015260c05181610bbe0152f35b634e487b7160e01b81526041600452602490fd5b8791508880528189209089915b8583106200024f5750506200016a9350820101386200015b565b8054838801850152869450899390920191810162000235565b60ff191688526200016a95151560051b85010192503891506200015b9050565b0151905038806200010d565b8589528789208694509190601f1984168a5b8a828210620002e15750508411620002c7575b505050811b01825562000121565b015160001960f88460031b161c19169055388080620002b9565b8385015186558997909501949384019301620002a6565b909192508589528789208380860160051c8201928a871062000343575b91869589929594930160051c01915b82811062000334575050620000f8565b8b815586955088910162000324565b9250819262000315565b634e487b7160e01b87526041600452602487fd5b015190503880620000be565b898052888a209250601f1984168a5b8a828210620003be575050908460019594939210620003a4575b505050811b018655620000d3565b015160001960f88460031b161c1916905538808062000396565b60018596829396860151815501950193016200037c565b9091508880528789208480850160051c8201928a86106200041c575b9085949392910160051c01905b8181106200040d5750620000a8565b8a8155849350600101620003fe565b92508192620003f1565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200042657604052565b919080601f840112156200043c578251906001600160401b038211620004265760405191602091620004a1601f8301601f191684018562000441565b8184528282870101116200043c5760005b818110620004c857508260009394955001015290565b8581018301518482018401528201620004b2565b90600182811c921680156200050e575b6020831014620004f857565b634e487b7160e01b600052602260045260246000fd5b91607f1691620004ec56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c63430008110033a2646970667358221220079905e5a075ea1d4764cdad1ca9cfc9cd4765c02a9bc3bbb42ee673307db7dd64736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x23 JUMPI PUSH1 0x1 PUSH1 0xFF NOT PUSH1 0x0 SLOAD AND OR PUSH1 0x0 SSTORE PUSH2 0x3F8F SWAP1 DUP2 PUSH2 0x29 DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 SWAP2 DUP3 CALLDATASIZE LT ISZERO PUSH3 0x17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP2 DUP3 PUSH4 0x35C3DEB EQ PUSH3 0x518 JUMPI POP DUP2 PUSH4 0x1B210293 EQ PUSH3 0x4D4 JUMPI DUP2 PUSH4 0xBA414FA6 EQ PUSH3 0x48C JUMPI DUP2 PUSH4 0xE2ACB0F8 EQ PUSH3 0x1FA JUMPI DUP2 PUSH4 0xE6D9FF3D EQ PUSH3 0xB2 JUMPI POP PUSH4 0xFA7626D4 EQ PUSH3 0x6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH3 0xAE JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0xAE JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP CALLVALUE PUSH3 0x1F6 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0x1F6 JUMPI DUP2 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP4 AND DUP1 SWAP4 SUB PUSH3 0x1F1 JUMPI DUP5 SWAP4 DUP2 PUSH1 0x14 SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x1ED JUMPI DUP4 MLOAD SWAP1 PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP2 MSTORE DUP7 DUP5 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x44 DUP2 DUP4 PUSH9 0x246DDF97976680000 SWAP10 DUP11 PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1E3 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x1CB JUMPI JUMPDEST POP POP PUSH1 0x15 SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1C7 JUMPI DUP7 PUSH1 0x44 SWAP3 DUP2 SWAP6 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 MSTORE DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x1BE JUMPI POP PUSH3 0x1A8 JUMPI POP RETURN JUMPDEST PUSH3 0x1B3 SWAP1 PUSH3 0x74F JUMP JUMPDEST PUSH3 0x1BB JUMPI DUP1 RETURN JUMPDEST DUP1 REVERT JUMPDEST MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST PUSH3 0x1D6 SWAP1 PUSH3 0x74F JUMP JUMPDEST PUSH3 0x1C7 JUMPI DUP7 CODESIZE PUSH3 0x16F JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP CALLVALUE PUSH3 0x1F6 JUMPI DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0x1F6 JUMPI DUP1 MLOAD SWAP1 PUSH2 0x22CA SWAP2 DUP3 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH3 0x460 JUMPI SWAP1 DUP3 SWAP2 PUSH3 0x9D1 DUP4 CODECOPY SUB SWAP1 DUP6 CREATE SWAP3 DUP4 ISZERO PUSH3 0x456 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP6 AND DUP6 PUSH1 0x13 SLOAD AND OR PUSH1 0x13 SSTORE DUP3 MLOAD PUSH2 0x12BF SWAP1 DUP2 DUP2 ADD SWAP1 DUP1 DUP3 LT DUP5 DUP4 GT OR PUSH3 0x42A JUMPI PUSH1 0xE0 DUP2 PUSH3 0x2C9B SWAP4 DUP6 DUP6 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20410000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5441000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP10 DUP3 ADD MSTORE SUB ADD SWAP1 DUP10 CREATE DUP1 ISZERO PUSH3 0x420 JUMPI DUP7 AND DUP8 PUSH1 0x14 SLOAD AND OR PUSH1 0x14 SSTORE DUP5 MLOAD SWAP4 DUP3 DUP6 ADD SWAP4 DUP6 DUP6 LT SWAP1 DUP6 GT OR PUSH3 0x3F4 JUMPI POP SWAP2 DUP4 SWAP2 PUSH1 0xE0 SWAP4 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20420000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5442000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP6 DUP3 ADD MSTORE SUB ADD SWAP1 DUP6 CREATE SWAP1 DUP2 ISZERO PUSH3 0x3EB JUMPI POP AND SWAP1 PUSH1 0x15 SLOAD AND OR PUSH1 0x15 SSTORE DUP1 RETURN JUMPDEST MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP9 PUSH1 0x41 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP10 PUSH1 0x41 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP8 PUSH1 0x41 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH3 0xAE JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0xAE JUMPI PUSH1 0x20 SWAP1 PUSH3 0x4CB PUSH3 0x7EF JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH3 0xAE JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0xAE JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH9 0x246DDF97976680000 DUP2 MSTORE RETURN JUMPDEST DUP5 DUP3 DUP6 CALLVALUE PUSH3 0x1F6 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0x1F6 JUMPI DUP2 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 DUP5 AND DUP1 SWAP5 SUB PUSH3 0x74B JUMPI PUSH1 0x24 CALLDATALOAD SWAP1 DUP7 DUP3 AND DUP1 SWAP3 SUB PUSH3 0x1ED JUMPI PUSH1 0x44 CALLDATALOAD SWAP2 DUP8 DUP4 AND DUP1 SWAP4 SUB PUSH3 0x1C7 JUMPI DUP6 EXTCODESIZE ISZERO PUSH3 0x1C7 JUMPI PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP10 GAS CALL DUP1 ISZERO PUSH3 0x6FF JUMPI PUSH3 0x735 JUMPI JUMPDEST POP DUP6 DUP6 SWAP7 SWAP2 DUP7 SWAP3 PUSH1 0x14 SLOAD AND SWAP2 DUP6 MLOAD SWAP1 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP2 MSTORE DUP4 DUP8 DUP3 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x24 DUP4 ADD MSTORE DUP2 PUSH1 0x44 DUP2 PUSH1 0x20 SWAP10 DUP11 SWAP5 GAS CALL DUP1 ISZERO PUSH3 0x72B JUMPI PUSH1 0x44 SWAP3 DUP8 SWAP6 SWAP5 SWAP3 DUP13 SWAP3 PUSH3 0x709 JUMPI JUMPDEST POP PUSH1 0x15 SLOAD AND DUP10 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE DUP11 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6FF JUMPI PUSH3 0x6CA JUMPI JUMPDEST POP POP DUP3 EXTCODESIZE ISZERO PUSH3 0x6C5 JUMPI DUP4 SWAP3 DUP4 SWAP2 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x1BE JUMPI POP PUSH3 0x1A8 JUMPI POP RETURN JUMPDEST POP POP POP REVERT JUMPDEST DUP2 PUSH3 0x6EE SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x6F7 JUMPI JUMPDEST PUSH3 0x6E5 DUP2 DUP4 PUSH3 0x793 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x7D5 JUMP JUMPDEST POP DUP6 DUP1 PUSH3 0x67B JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x6D9 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x723 SWAP1 DUP8 RETURNDATASIZE DUP10 GT PUSH3 0x6F7 JUMPI PUSH3 0x6E5 DUP2 DUP4 PUSH3 0x793 JUMP JUMPDEST POP DUP14 PUSH3 0x655 JUMP JUMPDEST DUP9 MLOAD RETURNDATASIZE DUP13 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x743 SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x74F JUMP JUMPDEST SWAP4 DUP7 PUSH3 0x5D3 JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x764 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x764 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH3 0x1F1 JUMPI MLOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH3 0x1F1 JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH3 0x809 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x82B JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP1 DUP4 DUP4 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP3 MSTORE PUSH1 0x60 DUP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP2 LT DUP5 DUP3 GT OR PUSH3 0x9A3 JUMPI SWAP2 DUP3 DUP7 SWAP3 SWAP4 PUSH1 0x40 MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP8 DUP6 JUMPDEST DUP3 DUP2 LT PUSH3 0x98A JUMPI POP POP SWAP1 PUSH3 0x8E0 PUSH1 0x24 DUP8 DUP8 SWAP9 SWAP5 DUP9 SWAP6 ADD DUP6 PUSH1 0x84 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0x793 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH3 0x97A JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH3 0x94D JUMPI PUSH1 0x40 MLOAD PUSH3 0x94A SWAP4 SWAP3 SWAP2 PUSH3 0x932 PUSH1 0x1F DUP3 ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND DUP5 ADD DUP4 PUSH3 0x793 JUMP JUMPDEST DUP2 MSTORE DUP1 SWAP3 DUP3 RETURNDATASIZE SWAP3 ADD RETURNDATACOPY JUMPDEST DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH3 0x7D5 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH3 0x94A SWAP2 POP PUSH1 0x60 SWAP1 PUSH3 0x93C JUMP JUMPDEST DUP1 DUP9 ADD DUP1 DUP4 ADD MLOAD PUSH1 0x84 SWAP1 SWAP2 ADD MSTORE DUP11 SWAP7 POP DUP10 SWAP2 ADD PUSH3 0x8B3 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID PUSH1 0xC0 CALLVALUE PUSH2 0xBB JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA5 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x2209 SWAP1 DUP2 PUSH2 0xC1 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x18B0 ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0x188A ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0x10C8 JUMPI DUP1 PUSH4 0x137C29FE EQ PUSH2 0xEEF JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0xC4F JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x9B2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x98F JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x938 JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x8D6 JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x716 JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0xCC53287F EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x31C JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x318 JUMPI PUSH1 0xC0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0xF6 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x10D SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x143A JUMP JUMPDEST PUSH2 0x115 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x30C JUMPI PUSH2 0x12D SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x308 JUMPI PUSH2 0x146 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x155 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x204 PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x23D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x24D DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2DB JUMPI POP POP PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0x2CF SWAP2 DUP4 MLOAD PUSH2 0x282 DUP2 PUSH2 0x276 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x1A60 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0x2ED PUSH2 0x303 SWAP4 DUP13 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH2 0x2FD DUP3 DUP7 PUSH2 0x157E JUMP JUMPDEST MSTORE PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x250 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0x34F SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x366 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x143A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x371 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0x388 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x398 DUP10 PUSH2 0x1C24 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x441 JUMPI POP POP PUSH2 0x2D8 SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x3BD PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x2CF DUP2 PUSH2 0x1259 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2FD DUP3 PUSH2 0x458 PUSH2 0x2ED PUSH2 0x45E SWAP7 DUP14 MLOAD PUSH2 0x157E JUMP JUMPDEST SWAP3 PUSH2 0x157E JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x310 JUMPI PUSH2 0x49A SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x143A JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0x4AA JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0x4C0 PUSH2 0x4BB PUSH1 0x1 SWAP4 DUP9 DUP9 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0x16E5 JUMP JUMPDEST PUSH2 0x4D5 DUP5 PUSH2 0x4CF DUP5 DUP11 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD PUSH2 0x16E5 JUMP JUMPDEST CALLER DUP10 MSTORE DUP4 DUP6 MSTORE DUP6 DUP10 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 DUP12 MSTORE DUP7 MSTORE DUP7 DUP11 KECCAK256 SWAP2 AND SWAP1 DUP2 DUP11 MSTORE DUP6 MSTORE DUP6 DUP10 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE DUP6 MLOAD SWAP2 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 DUP6 CALLER SWAP3 LOG2 ADD PUSH2 0x49F JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x5FE DUP2 PUSH2 0x587 PUSH2 0x12DE JUMP JUMPDEST SWAP4 PUSH2 0x590 PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x598 PUSH2 0x1324 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 DUP8 AND DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP5 DUP5 KECCAK256 SWAP3 DUP9 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP8 AND DUP4 MSTORE DUP2 MSTORE SWAP2 SWAP1 KECCAK256 SLOAD SWAP3 MLOAD SWAP4 DUP4 AND DUP5 MSTORE PUSH1 0xA0 DUP4 SWAP1 SHR PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP5 ADD MSTORE PUSH1 0xD0 SWAP2 SWAP1 SWAP2 SHR PUSH1 0x40 DUP4 ADD MSTORE DUP2 SWAP1 PUSH1 0x60 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x61C PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x625 PUSH2 0x1301 JUMP JUMPDEST SWAP2 PUSH2 0x62E PUSH2 0x1324 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 AND SWAP1 DUP2 DUP2 SUB PUSH2 0x30C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP5 PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B SWAP5 CALLER DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP6 DUP12 KECCAK256 SWAP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP10 DUP11 DUP14 MSTORE PUSH1 0x20 MSTORE DUP4 DUP8 DUP14 KECCAK256 SWAP12 AND SWAP11 DUP12 DUP14 MSTORE PUSH1 0x20 MSTORE DUP7 DUP13 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x70E JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP8 DUP9 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST SWAP1 POP SWAP3 PUSH2 0x6ED JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x731 PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x73A PUSH2 0x1301 JUMP JUMPDEST SWAP3 PUSH6 0xFFFFFFFFFFFF PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND SWAP4 SWAP1 DUP5 DUP2 SUB PUSH2 0x30C JUMPI CALLER DUP9 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1 DUP4 MSTORE DUP5 DUP10 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP8 DUP9 DUP12 MSTORE DUP5 MSTORE DUP6 DUP11 KECCAK256 SWAP9 AND SWAP8 DUP9 DUP11 MSTORE DUP4 MSTORE DUP5 DUP10 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP4 DUP5 DUP8 GT ISZERO PUSH2 0x863 JUMPI PUSH2 0xFFFF SWAP1 DUP6 DUP5 SUB AND GT PUSH2 0x83C JUMPI POP SWAP1 PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 SWAP4 SWAP3 SWAP2 CALLER DUP10 MSTORE PUSH1 0x1 DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP8 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP9 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE DUP3 MLOAD SWAP5 DUP6 MSTORE DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST DUP5 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x8BD PUSH2 0x12DE JUMP JUMPDEST AND DUP2 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0x98C JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x98C JUMPI PUSH2 0x952 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x95A PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x962 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x310 JUMPI PUSH2 0x2D8 SWAP4 PUSH2 0x15C1 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x9AB PUSH2 0x1887 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x9D0 CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xA02 PUSH2 0x12B6 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xA90 JUMPI PUSH2 0x2D8 SWAP5 PUSH2 0xA25 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0xA32 DUP4 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0xA87 DUP2 PUSH2 0x1259 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0x198E JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0xAB0 PUSH2 0x12DE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD PUSH1 0xC0 DUP2 SLT PUSH2 0x314 JUMPI PUSH1 0x80 DUP6 MLOAD SWAP2 PUSH2 0xAE9 DUP4 PUSH2 0x1221 JUMP JUMPDEST SLT PUSH2 0x314 JUMPI DUP5 MLOAD SWAP1 PUSH2 0xAFA DUP3 PUSH2 0x11D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x30C JUMPI DUP9 DUP4 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP4 DUP3 DUP6 AND DUP6 SUB PUSH2 0xA90 JUMPI PUSH1 0x20 DUP3 ADD SWAP5 DUP6 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP8 DUP4 ADD DUP3 DUP2 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x308 JUMPI PUSH2 0xB96 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 DUP1 TIMESTAMP GT PUSH2 0xC20 JUMPI POP POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0xC16 SWAP6 PUSH2 0xBBB DUP9 MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP1 DUP10 DUP13 MLOAD AND SWAP1 MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP7 MSTORE DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x1942 JUMP JUMPDEST SWAP2 PUSH2 0x1E30 JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1706 JUMP JUMPDEST PUSH1 0x24 SWAP3 POP DUP11 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT SWAP4 DUP2 DUP6 CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xC6D PUSH2 0x12DE JUMP JUMPDEST SWAP3 PUSH1 0x24 SWAP1 DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP8 DUP9 DUP6 GT PUSH2 0x30C JUMPI DUP6 SWAP1 DUP6 CALLDATASIZE SUB ADD SLT PUSH2 0x463 JUMPI DUP1 MLOAD SWAP8 DUP6 DUP10 ADD DUP10 DUP2 LT DUP3 DUP3 GT OR PUSH2 0xEC4 JUMPI DUP3 MSTORE DUP5 DUP4 ADD CALLDATALOAD DUP2 DUP2 GT PUSH2 0x308 JUMPI DUP6 ADD SWAP1 CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x308 JUMPI DUP4 DUP3 ADD CALLDATALOAD SWAP2 PUSH2 0xCCA DUP4 PUSH2 0x140F JUMP JUMPDEST SWAP1 PUSH2 0xCD7 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP4 DUP3 MSTORE PUSH1 0x20 SWAP4 DUP8 DUP6 DUP5 ADD SWAP2 PUSH1 0x7 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xEC0 JUMPI DUP9 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xE63 JUMPI POP POP POP DUP11 MSTORE PUSH1 0x44 PUSH2 0xD0D DUP7 DUP9 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP7 DUP4 DUP13 ADD SWAP8 DUP9 MSTORE ADD CALLDATALOAD SWAP5 DUP4 DUP12 ADD SWAP2 DUP7 DUP4 MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xE5F JUMPI PUSH2 0xD35 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP6 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0xE34 JUMPI POP POP POP DUP10 SWAP9 SWAP10 MLOAD MLOAD PUSH2 0xD50 DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP12 JUMPDEST DUP2 DUP2 LT PUSH2 0xE11 JUMPI POP POP SWAP3 DUP9 SWAP5 SWAP3 PUSH2 0xC10 SWAP3 PUSH2 0xDDE SWAP8 SWAP6 DUP4 MLOAD PUSH2 0xD7C DUP2 PUSH2 0x3BD DUP7 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP11 DUP12 DUP12 MLOAD AND SWAP2 MLOAD SWAP3 DUP6 MLOAD SWAP5 DUP6 ADD SWAP6 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP8 MSTORE DUP6 ADD MSTORE DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD AND SWAP1 DUP3 MLOAD MLOAD SWAP3 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0xDF2 JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0xE0B DUP6 DUP6 PUSH2 0xE05 PUSH1 0x1 SWAP6 DUP8 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1706 JUMP JUMPDEST ADD PUSH2 0xDE7 JUMP JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0xE26 DUP15 SWAP16 SWAP15 SWAP4 PUSH2 0xE2C SWAP5 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP12 SWAP11 SWAP12 PUSH2 0xD53 JUMP JUMPDEST DUP6 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x80 DUP3 CALLDATASIZE SUB SLT PUSH2 0xEC0 JUMPI DUP6 PUSH1 0x80 SWAP2 DUP9 MLOAD PUSH2 0xE7C DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0xE85 DUP6 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xE92 DUP4 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xEA1 DUP11 DUP7 ADD PUSH2 0x1427 JUMP JUMPDEST DUP11 DUP3 ADD MSTORE DUP14 PUSH2 0xEB1 DUP2 DUP8 ADD PUSH2 0x1427 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP13 DUP1 REVERT JUMPDEST DUP5 DUP10 PUSH1 0x41 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x140 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0xF0C CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xF3E PUSH2 0x12B6 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0xF61 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x30C JUMPI PUSH2 0xF81 PUSH2 0xA87 SWAP7 PUSH2 0x2D8 SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0xF90 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x103F PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x1078 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x1086 DUP7 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x2C3 JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP3 GT PUSH2 0xA90 JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xA90 JUMPI DUP2 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x310 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP7 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x463 JUMPI DUP7 JUMPDEST DUP6 DUP2 LT PUSH2 0x1123 JUMPI DUP8 DUP1 RETURN JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x308 JUMPI PUSH2 0x11D0 DUP9 DUP8 PUSH1 0x1 SWAP5 PUSH1 0x60 DUP4 MLOAD PUSH2 0x116A DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x11A6 PUSH1 0x84 PUSH2 0x117A DUP14 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP5 DUP6 DUP5 MSTORE PUSH2 0x118A PUSH1 0x44 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP8 DUP6 ADD MSTORE PUSH2 0x119B PUSH1 0x64 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP9 DUP6 ADD MSTORE ADD PUSH2 0x1347 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0x15C1 JUMP JUMPDEST ADD PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x3 NOT ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x1383 DUP3 PUSH2 0x1221 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x12D9 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x11F2 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0x1486 DUP4 PUSH2 0x1221 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x12D9 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP1 CALLDATALOAD PUSH2 0x14B3 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 PUSH2 0x14C0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x1275 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x12D9 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1503 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x12D9 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD SWAP1 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x1550 JUMPI DUP11 SWAP3 DUP10 SWAP3 DUP5 MSTORE PUSH2 0x1534 DUP8 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0x14E6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 PUSH1 0x0 DUP3 DUP5 AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP3 DUP3 DUP3 KECCAK256 SWAP7 AND SWAP6 DUP7 DUP3 MSTORE PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 CALLER DUP3 MSTORE PUSH1 0x20 MSTORE KECCAK256 SWAP5 DUP6 SLOAD SWAP6 PUSH6 0xFFFFFFFFFFFF DUP8 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0x16A4 JUMPI POP DUP3 DUP8 AND SWAP7 DUP4 DUP9 SUB PUSH2 0x1632 JUMPI JUMPDEST POP POP PUSH2 0x1630 SWAP6 POP AND SWAP3 PUSH2 0x211C JUMP JUMPDEST JUMP JUMPDEST DUP8 DUP5 DUP5 AND GT PUSH1 0x0 EQ PUSH2 0x166F JUMPI PUSH1 0x24 DUP9 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP5 DUP5 PUSH2 0x1630 SWAP11 SUB AND SWAP2 AND OR SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x185E JUMPI SWAP2 DUP6 PUSH2 0x1837 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x183C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x17C9 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x18D2 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x194A PUSH2 0x1887 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1A2F JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0x19FE JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x19CE SWAP5 PUSH2 0x19C9 PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH2 0x1942 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI PUSH2 0x1630 SWAP4 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP6 SWAP1 SWAP4 SWAP6 DUP1 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP3 DUP4 DUP4 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1B80 JUMPI POP DUP5 DUP9 SUB PUSH2 0x1B57 JUMPI PUSH2 0x1A97 SWAP2 DUP7 SWAP2 PUSH2 0xC10 PUSH1 0x20 SWAP12 PUSH2 0x19C9 DUP14 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT PUSH2 0x1AAB JUMPI POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AB6 DUP2 DUP4 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD DUP9 PUSH2 0x1AC3 DUP4 DUP8 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP10 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0x1B27 JUMPI POP SWAP2 DUP2 DUP9 DUP9 DUP9 PUSH1 0x1 SWAP7 DUP6 SWAP7 PUSH2 0x1AED JUMPI JUMPDEST POP POP POP POP POP POP ADD PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x1B1C SWAP6 PUSH2 0x1B16 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x4BB SWAP4 MLOAD AND SWAP6 PUSH2 0x16D5 JUMP JUMPDEST SWAP2 PUSH2 0x211C JUMP JUMPDEST DUP1 CODESIZE DUP9 DUP9 DUP9 DUP4 PUSH2 0x1AE1 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP7 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP6 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0x1BFA JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x1C2E DUP3 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x1C3B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1275 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1C69 DUP3 SWAP5 PUSH2 0x140F JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1CA0 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1CE8 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1CDA JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x1D14 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x1D03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x1F97 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1F15 JUMPI PUSH2 0x1E4D DUP3 DUP3 ADD DUP3 PUSH2 0x1E1A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1F09 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x1EDF JUMPI AND SUB PUSH2 0x1EB5 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1F6D JUMPI PUSH2 0x1F29 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E1A JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x1CA0 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1E6B JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x2111 JUMPI DUP3 SWAP2 PUSH2 0x2093 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x2069 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x2109 JUMPI JUMPDEST DUP2 PUSH2 0x20AD PUSH1 0x20 SWAP4 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x318 JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x98C JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x203D JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x20A0 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x2175 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 SWAP9 0xBA CALLVALUE 0xBD COINBASE 0xCC 0xB3 CALLER SWAP5 SELFBALANCE PUSH32 0x24CCA6191C4FC58C8E7D9ADAE8E27920B835FF1D64736F6C6343000811003360 0xE0 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH3 0x43C JUMPI PUSH3 0x12BF DUP1 CODESIZE SUB DUP1 SWAP2 PUSH3 0x22 DUP3 DUP6 PUSH3 0x441 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD PUSH1 0x60 DUP3 DUP3 SUB SLT PUSH3 0x43C JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP4 SWAP1 DUP5 DUP2 GT PUSH3 0x43C JUMPI DUP3 PUSH3 0x53 SWAP2 DUP6 ADD PUSH3 0x465 JUMP JUMPDEST SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP3 ADD MLOAD DUP7 DUP2 GT PUSH3 0x43C JUMPI DUP4 SWAP2 PUSH3 0x72 SWAP2 DUP5 ADD PUSH3 0x465 JUMP JUMPDEST SWAP2 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x43C JUMPI DUP5 MLOAD SWAP5 DUP7 DUP7 GT PUSH3 0x426 JUMPI PUSH1 0x0 SWAP6 DUP1 PUSH3 0x9B DUP9 SLOAD PUSH3 0x4DC JUMP JUMPDEST SWAP3 PUSH1 0x1F SWAP4 DUP5 DUP2 GT PUSH3 0x3D5 JUMPI JUMPDEST POP DUP8 SWAP1 DUP5 DUP4 GT PUSH1 0x1 EQ PUSH3 0x36D JUMPI DUP10 SWAP3 PUSH3 0x361 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR DUP7 SSTORE JUMPDEST DUP3 MLOAD SWAP1 DUP8 DUP3 GT PUSH3 0x34D JUMPI DUP2 SWAP1 PUSH1 0x1 SWAP5 PUSH3 0xEF DUP7 SLOAD PUSH3 0x4DC JUMP JUMPDEST DUP3 DUP2 GT PUSH3 0x2F8 JUMPI JUMPDEST POP DUP8 SWAP2 DUP4 GT PUSH1 0x1 EQ PUSH3 0x294 JUMPI DUP9 SWAP3 PUSH3 0x288 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP4 SHL OR DUP3 SSTORE JUMPDEST PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE DUP2 MLOAD DUP5 SLOAD SWAP2 DUP2 DUP7 PUSH3 0x13A DUP6 PUSH3 0x4DC JUMP JUMPDEST SWAP3 DUP4 DUP4 MSTORE DUP8 DUP4 ADD SWAP6 DUP9 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH3 0x268 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0x228 JUMPI JUMPDEST POP PUSH3 0x16A SWAP3 POP SUB DUP3 PUSH3 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP2 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP6 MSTORE DUP3 DUP5 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP5 ADD MSTORE CHAINID PUSH1 0x80 DUP5 ADD MSTORE ADDRESS PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 MSTORE PUSH1 0xC0 DUP4 ADD SWAP5 DUP4 DUP7 LT SWAP1 DUP7 GT OR PUSH3 0x214 JUMPI POP DUP4 SWAP1 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0xC0 MSTORE PUSH2 0xDA5 SWAP1 DUP2 PUSH3 0x51A DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x77E ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xB97 ADD MSTORE PUSH1 0xC0 MLOAD DUP2 PUSH2 0xBBE ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP8 SWAP2 POP DUP9 DUP1 MSTORE DUP2 DUP10 KECCAK256 SWAP1 DUP10 SWAP2 JUMPDEST DUP6 DUP4 LT PUSH3 0x24F JUMPI POP POP PUSH3 0x16A SWAP4 POP DUP3 ADD ADD CODESIZE PUSH3 0x15B JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP10 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH3 0x235 JUMP JUMPDEST PUSH1 0xFF NOT AND DUP9 MSTORE PUSH3 0x16A SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH3 0x15B SWAP1 POP JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x10D JUMP JUMPDEST DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP7 SWAP5 POP SWAP2 SWAP1 PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x2E1 JUMPI POP POP DUP5 GT PUSH3 0x2C7 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP3 SSTORE PUSH3 0x121 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x2B9 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE DUP10 SWAP8 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH3 0x2A6 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 POP DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP4 DUP1 DUP7 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP8 LT PUSH3 0x343 JUMPI JUMPDEST SWAP2 DUP7 SWAP6 DUP10 SWAP3 SWAP6 SWAP5 SWAP4 ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x334 JUMPI POP POP PUSH3 0xF8 JUMP JUMPDEST DUP12 DUP2 SSTORE DUP7 SWAP6 POP DUP9 SWAP2 ADD PUSH3 0x324 JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x315 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xBE JUMP JUMPDEST DUP10 DUP1 MSTORE DUP9 DUP11 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x3BE JUMPI POP POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH3 0x3A4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP7 SSTORE PUSH3 0xD3 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x396 JUMP JUMPDEST PUSH1 0x1 DUP6 SWAP7 DUP3 SWAP4 SWAP7 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH3 0x37C JUMP JUMPDEST SWAP1 SWAP2 POP DUP9 DUP1 MSTORE DUP8 DUP10 KECCAK256 DUP5 DUP1 DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP7 LT PUSH3 0x41C JUMPI JUMPDEST SWAP1 DUP6 SWAP5 SWAP4 SWAP3 SWAP2 ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH3 0x40D JUMPI POP PUSH3 0xA8 JUMP JUMPDEST DUP11 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x3FE JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x3F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x426 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x43C JUMPI DUP3 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 SWAP2 PUSH3 0x4A1 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP5 ADD DUP6 PUSH3 0x441 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x43C JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x4C8 JUMPI POP DUP3 PUSH1 0x0 SWAP4 SWAP5 SWAP6 POP ADD ADD MSTORE SWAP1 JUMP JUMPDEST DUP6 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x4B2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x50E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F8 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4EC JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD SWAP10 SDIV 0xE5 LOG0 PUSH22 0xEA1D4764CDAD1CA9CFC9CD4765C02A9BC3BBB42EE673 ADDRESS PUSH30 0xB7DD64736F6C634300081100330000000000000000000000000000000000 ", + "sourceMap": "242:764:59:-:0;;;;;;;1594:4:0;242:764:59;;1594:4:0;242:764:59;;;1594:4:0;242:764:59;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_bool_fromMemory": { + "entryPoint": 2005, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 1939, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "finalize_allocation_3650": { + "entryPoint": 1871, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "fun_failed": { + "entryPoint": 2031, + "id": 172, + "parameterSlots": 0, + "returnSlots": 1 + } + }, + "object": "60806040818152600491823610156200001757600080fd5b600092833560e01c918263035c3deb1462000518575081631b21029314620004d4578163ba414fa6146200048c578163e2acb0f814620001fa578163e6d9ff3d14620000b2575063fa7626d4146200006e57600080fd5b34620000ae57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000ae5760ff602092541690519015158152f35b5080fd5b91905034620001f65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001f65781359073ffffffffffffffffffffffffffffffffffffffff808316809303620001f1578493816014541691823b15620001ed578351907f40c10f1900000000000000000000000000000000000000000000000000000000918281528684820152878160448183680246ddf97976680000998a60248401525af18015620001e357908891620001cb575b50506015541690813b15620001c75786604492819587519889968795865285015260248401525af1908115620001be5750620001a85750f35b620001b3906200074f565b620001bb5780f35b80fd5b513d84823e3d90fd5b8680fd5b620001d6906200074f565b620001c75786386200016f565b86513d8a823e3d90fd5b8580fd5b600080fd5b8280fd5b91905034620001f657827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001f6578051906122ca9182810167ffffffffffffffff93828210858311176200046057908291620009d18339039085f0928315620004565773ffffffffffffffffffffffffffffffffffffffff92837fffffffffffffffffffffffff0000000000000000000000000000000000000000951685601354161760135582516112bf9081810190808210848311176200042a5760e08162002c9b938585833960608152600c60608201527f5465737420546f6b656e20410000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544100000000000000000000000000000000000000000000000000000000000060c082015260128982015203019089f08015620004205786168760145416176014558451938285019385851090851117620003f4575091839160e093833960608152600c60608201527f5465737420546f6b656e20420000000000000000000000000000000000000000608082015260a06020820152600260a08201527f544200000000000000000000000000000000000000000000000000000000000060c082015260128582015203019085f0908115620003eb57501690601554161760155580f35b513d85823e3d90fd5b8860416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d8a823e3d90fd5b6024896041877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b81513d86823e3d90fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b505034620000ae57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000ae57602090620004cb620007ef565b90519015158152f35b505034620000ae57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620000ae5760209051680246ddf979766800008152f35b84828534620001f65760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001f65781359173ffffffffffffffffffffffffffffffffffffffff948584168094036200074b5760243590868216809203620001ed5760443591878316809303620001c757853b15620001c7577f06447d5600000000000000000000000000000000000000000000000000000000825283820152858160248183895af18015620006ff5762000735575b5085859691869260145416918551907f095ea7b3000000000000000000000000000000000000000000000000000000009182815283878201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94856024830152816044816020998a945af180156200072b57604492879594928c9262000709575b50601554168951968795869485528a85015260248401525af18015620006ff57620006ca575b5050823b15620006c557839283918351809581937f90c5013b0000000000000000000000000000000000000000000000000000000083525af1908115620001be5750620001a85750f35b505050fd5b81620006ee92903d10620006f7575b620006e5818362000793565b810190620007d5565b5085806200067b565b503d620006d9565b84513d88823e3d90fd5b6200072390873d8911620006f757620006e5818362000793565b508d62000655565b88513d8c823e3d90fd5b62000743909591956200074f565b9386620005d3565b8480fd5b67ffffffffffffffff81116200076457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200076457604052565b90816020910312620001f157518015158103620001f15790565b6000805460081c60ff161562000809575460081c60ff1690565b80737109709ecfa91a80626ff3989d68f67f5b1dd12d803b6200082b57505090565b90915060405160209180838301527f6661696c65640000000000000000000000000000000000000000000000000000604083015260408252606082019167ffffffffffffffff9281811084821117620009a357918286929360405260808401907f667f9d70000000000000000000000000000000000000000000000000000000008252845187855b8281106200098a57505090620008e060248787989488950185608482015203600481018452018262000793565b51925af1503d156200097a573d9081116200094d576040516200094a93929162000932601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01684018362000793565b81528092823d92013e5b8082518301019101620007d5565b90565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506200094a91506060906200093c565b808801808301516084909101528a9650899101620008b3565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fdfe60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a5578260405251902060805261220990816100c18239608051816118b0015260a0518161188a0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db146110c8578063137c29fe14610eef5780632a2d80d114610c4f5780632b67b57014610a9457806330f28b7a146109b25780633644e5151461098f57806336c78516146109385780633ff9dcb1146108d65780634fe02b441461088b57806365d9723c1461071657806387517c4514610602578063927da10514610569578063cc53287f14610467578063edd9444b1461031c5763fe8ec1a7146100c657600080fd5b346103185760c06003193601126103185767ffffffffffffffff8335818111610314576100f6903690860161146b565b6024358281116103105761010d903690870161143a565b610115611324565b9160843585811161030c5761012d9036908a016113e1565b98909560a43590811161030857610146913691016113e1565b9690958151906101558261123d565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610204602085018096611cfc565b918237018a8152039961023d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611275565b5190209085515161024d81611c24565b908a5b8181106102db5750506102d8999a6102cf91835161028281610276602082018095611ccf565b03848101835282611275565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611275565b51902093611a60565b80f35b806102f36102ed610303938c5161157e565b51611dbd565b6102fd828661157e565b52611c73565b610250565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103185760806003193601126103185767ffffffffffffffff9080358281116103145761034f903690830161146b565b60243583811161031057610366903690840161143a565b939092610371611324565b9160643590811161046357610388913691016113e1565b9490938351519761039889611c24565b98885b8181106104415750506102d8979881516103e9816103bd602082018095611ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611275565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102cf81611259565b808b6102fd826104586102ed61045e968d5161157e565b9261157e565b61039b565b8680fd5b50823461056557602090816003193601126103145780359067ffffffffffffffff82116103105761049a9136910161143a565b929091845b8481106104aa578580f35b806104c06104bb60019388886116d5565b6116e5565b6104d5846104cf848a8a6116d5565b016116e5565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a20161049f565b8280fd5b5034610318576060600319360112610318576105fe816105876112de565b93610590611301565b610598611324565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103185760806003193601126103185761061c6112de565b90610625611301565b9161062e611324565b65ffffffffffff926064358481169081810361030c5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c2094861560001461070e57504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b9050926106ed565b508234610565576060600319360112610565576107316112de565b9061073a611301565b9265ffffffffffff604435818116939084810361030c57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156108635761ffff90858403161161083c5750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b50346103185780600319360112610318578060209273ffffffffffffffffffffffffffffffffffffffff6108bd6112de565b1681528084528181206024358252845220549051908152f35b5082346105655781600319360112610565577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b823461098c57608060031936011261098c576109526112de565b61095a611301565b610962611324565b6064359173ffffffffffffffffffffffffffffffffffffffff83168303610310576102d8936115c1565b80fd5b50346103185781600319360112610318576020906109ab611887565b9051908152f35b5082903461056557610100600319360112610565576109d036611368565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610a026112b6565b9160e43567ffffffffffffffff8111610a90576102d894610a25913691016113e1565b939092610a328351611dbd565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610a8781611259565b5190209161198e565b8580fd5b5091346103185761010060031936011261031857610ab06112de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610314576080855191610ae983611221565b1261031457845190610afa826111d6565b73ffffffffffffffffffffffffffffffffffffffff916024358381168103610463578152604435838116810361046357602082015265ffffffffffff606435818116810361030c57888301526084359081168103610463576060820152815260a435938285168503610a90576020820194855260c4359087830182815260e43567ffffffffffffffff811161030857610b9690369084016113e1565b929093804211610c20575050918591610c106102d8999a610c1695610bbb8851611d27565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610c088161123d565b519020611942565b91611e30565b5192511691611706565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b50913461031857606060031993818536011261031457610c6d6112de565b9260249081359267ffffffffffffffff9788851161030c57859085360301126104635780519785890189811082821117610ec4578252848301358181116103085785019036602383011215610308578382013591610cca8361140f565b90610cd785519283611275565b838252602093878584019160071b83010191368311610ec0578801905b828210610e63575050508a526044610d0d868801611347565b96838c01978852013594838b0191868352604435908111610e5f57610d3590369087016113e1565b959096804211610e34575050508998995151610d5081611c24565b908b5b818110610e1157505092889492610c1092610dde97958351610d7c816103bd8682018095611ccf565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610c088161123d565b51169082515192845b848110610df2578580f35b80610e0b8585610e05600195875161157e565b51611706565b01610de7565b806102f3610e268e9f9e93610e2c945161157e565b51611d27565b9b9a9b610d53565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b608082360312610ec057856080918851610e7c816111d6565b610e8585611347565b8152610e92838601611347565b83820152610ea18a8601611427565b8a8201528d610eb1818701611427565b90820152815201910190610cf4565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105655761014060031936011261056557610f0c36611368565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261031457610f3e6112b6565b67ffffffffffffffff93906101043585811161046357610f6190369086016113e1565b90936101243596871161030c57610f81610a87966102d8983691016113e1565b969095825190610f908261123d565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c00000000000000000000000000000000000000000000000000000000608083015283519485918161103f602085018096611cfc565b918237018b815203936110787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611275565b519020926110868651611dbd565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102c3565b5082346105655760208060031936011261031457813567ffffffffffffffff92838211610a905736602383011215610a9057810135928311610310576024906007368386831b8401011161046357865b858110611123578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8336030112610308576111d088876001946060835161116a816111d6565b6111a6608461117a8d8601611347565b9485845261118a60448201611347565b809785015261119b60648201611347565b809885015201611347565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166115c1565b01611118565b6080810190811067ffffffffffffffff8211176111f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176111f257604052565b60a0810190811067ffffffffffffffff8211176111f257604052565b60c0810190811067ffffffffffffffff8211176111f257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176111f257604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6044359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b359073ffffffffffffffffffffffffffffffffffffffff821682036112d957565b6003190190608082126112d957604080519061138382611221565b808294126112d957805181810181811067ffffffffffffffff8211176111f257825260043573ffffffffffffffffffffffffffffffffffffffff811681036112d9578152602435602082015282526044356020830152606435910152565b9181601f840112156112d95782359167ffffffffffffffff83116112d957602083818601950101116112d957565b67ffffffffffffffff81116111f25760051b60200190565b359065ffffffffffff821682036112d957565b9181601f840112156112d95782359167ffffffffffffffff83116112d9576020808501948460061b0101116112d957565b9190916060818403126112d957604080519161148683611221565b8294813567ffffffffffffffff908181116112d957830182601f820112156112d95780356114b38161140f565b926114c087519485611275565b818452602094858086019360061b850101938185116112d9579086899897969594939201925b848410611503575050505050855280820135908501520135910152565b9091929394959697848303126112d9578851908982019082821085831117611550578a928992845261153487611347565b81528287013583820152815201930191908897969594936114e6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156115925760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c168042116116a4575082871696838803611632575b50506116309550169261211c565b565b878484161160001461166f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846116309a031691161790553880611622565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b91908110156115925760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036112d95790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c0361185e57918561183794927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec9897969450871560001461183c5779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff0000000000000000000000000000000000000000876117c9565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f0000000000000000000000000000000000000000000000000000000000000000036118d2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261193c8161123d565b51902090565b61194a611887565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261193c816111d6565b9192909360a435936040840151804211611a2f57506020845101518086116119fe5750918591610c106119ce946119c9602088015186611bb0565b611942565b73ffffffffffffffffffffffffffffffffffffffff80915151169260843591821682036112d9576116309361211c565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611b805750848803611b5757611a97918691610c1060209b6119c98d88015186611bb0565b60005b868110611aab575050505050505050565b611ab681835161157e565b5188611ac383878a6116d5565b01359089810151808311611b27575091818888886001968596611aed575b50505050505001611a9a565b611b1c95611b169273ffffffffffffffffffffffffffffffffffffffff6104bb935116956116d5565b9161211c565b803888888883611ae1565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611bfa57565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611c2e8261140f565b611c3b6040519182611275565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611c69829461140f565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ca05760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611ce8575050505090565b835185529381019392810192600101611cda565b9081519160005b838110611d14575050016000815290565b8060208092840101518185015201611d03565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176111f25760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff8151166040840152015160608201526060815261193c816111d6565b91908260409103126112d9576020823592013590565b6000843b611f97575060418203611f1557611e4d82820182611e1a565b939092604010156115925760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa15611f095773ffffffffffffffffffffffffffffffffffffffff8060005116918215611edf571603611eb557565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203611f6d57611f2991810190611e1a565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611ca05760209360009360ff608094611e6b565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa908115612111578291612093575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361206957565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d8211612109575b816120ad60209383611275565b810103126103185751907fffffffff000000000000000000000000000000000000000000000000000000008216820361098c57507fffffffff00000000000000000000000000000000000000000000000000000000903861203d565b3d91506120a0565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561217557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea2646970667358221220c798ba34bd41ccb33394477f24cca6191c4fc58c8e7d9adae8e27920b835ff1d64736f6c6343000811003360e0604090808252346200043c57620012bf803803809162000022828562000441565b833981016060828203126200043c5781516001600160401b0393908481116200043c57826200005391850162000465565b92602092838201518681116200043c5783916200007291840162000465565b91015160ff811681036200043c578451948686116200042657600095806200009b8854620004dc565b92601f93848111620003d5575b5087908483116001146200036d57899262000361575b50508160011b916000199060031b1c19161786555b8251908782116200034d578190600194620000ef8654620004dc565b828111620002f8575b50879183116001146200029457889262000288575b5050600019600383901b1c191690831b1782555b6080524660a052815184549181866200013a85620004dc565b92838352878301958882821691826000146200026857505060011462000228575b506200016a9250038262000441565b519020928151928301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8552828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401524660808401523060a084015260a0835260c08301948386109086111762000214575083905251902060c052610da590816200051a82396080518161077e015260a05181610b97015260c05181610bbe0152f35b634e487b7160e01b81526041600452602490fd5b8791508880528189209089915b8583106200024f5750506200016a9350820101386200015b565b8054838801850152869450899390920191810162000235565b60ff191688526200016a95151560051b85010192503891506200015b9050565b0151905038806200010d565b8589528789208694509190601f1984168a5b8a828210620002e15750508411620002c7575b505050811b01825562000121565b015160001960f88460031b161c19169055388080620002b9565b8385015186558997909501949384019301620002a6565b909192508589528789208380860160051c8201928a871062000343575b91869589929594930160051c01915b82811062000334575050620000f8565b8b815586955088910162000324565b9250819262000315565b634e487b7160e01b87526041600452602487fd5b015190503880620000be565b898052888a209250601f1984168a5b8a828210620003be575050908460019594939210620003a4575b505050811b018655620000d3565b015160001960f88460031b161c1916905538808062000396565b60018596829396860151815501950193016200037c565b9091508880528789208480850160051c8201928a86106200041c575b9085949392910160051c01905b8181106200040d5750620000a8565b8a8155849350600101620003fe565b92508192620003f1565b634e487b7160e01b600052604160045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200042657604052565b919080601f840112156200043c578251906001600160401b038211620004265760405191602091620004a1601f8301601f191684018562000441565b8184528282870101116200043c5760005b818110620004c857508260009394955001015290565b8581018301518482018401528201620004b2565b90600182811c921680156200050e575b6020831014620004f857565b634e487b7160e01b600052602260045260246000fd5b91607f1691620004ec56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461093c57508063095ea7b3146108c057806318160ddd146108a157806323b872dd146107a2578063313ce567146107645780633644e5151461074057806340c10f191461068f57806370a082311461064b5780637ecebe001461060757806395d89b411461050a578381639dc29fac1461048857508063a9059cbb146103f9578063d505accf146101175763dd62ed3e146100bf57600080fd5b3461011357816003193601126101135760209282916100dc610b0b565b6100e4610b33565b9173ffffffffffffffffffffffffffffffffffffffff8092168452865283832091168252845220549051908152f35b8280fd5b509190346103f55760e06003193601126103f557610133610b0b565b9061013c610b33565b91604435606435926084359260ff84168094036103f15742851061039457610162610b92565b9573ffffffffffffffffffffffffffffffffffffffff8092169586895260209560058752848a209889549960018b01905585519285898501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528b89870152169a8b606086015288608086015260a085015260c084015260c0835260e0830167ffffffffffffffff948482108683111761036757818852845190206101008501927f19010000000000000000000000000000000000000000000000000000000000008452610102860152610122850152604281526101608401948186109086111761033b57848752519020835261018082015260a4356101a082015260c4356101c0909101528780528490889060809060015afa15610331578651169687151580610328575b156102cd5786977f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259596975283528087208688528352818188205551908152a380f35b8360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152fd5b5084881461028a565b81513d88823e3d90fd5b60248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5060248c60418f7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648860208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8680fd5b5080fd5b5050346103f557806003193601126103f557602091610416610b0b565b8273ffffffffffffffffffffffffffffffffffffffff6024359233855260038752828520610445858254610b56565b90551692838152600386522081815401905582519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef843392a35160018152f35b8084346105075780600319360112610507577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206104c5610b0b565b73ffffffffffffffffffffffffffffffffffffffff602435911693848652600383528086206104f5838254610b56565b9055816002540360025551908152a380f35b50fd5b5050346103f557816003193601126103f55780519082600180549161052e836109e2565b808652928281169081156105c15750600114610565575b50505061055782610561940383610a35565b5191829182610aa5565b0390f35b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106105a9575050506105578260206105619582010194610545565b8054602087870181019190915290950194810161058c565b6105619750869350602092506105579491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010194610545565b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61063b610b0b565b1681526005845220549051908152f35b5050346103f55760206003193601126103f5578060209273ffffffffffffffffffffffffffffffffffffffff61067f610b0b565b1681526003845220549051908152f35b50346101135781600319360112610113576106a8610b0b565b60243591600254908382018092116107145750849273ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9360209360025516948585526003835280852082815401905551908152a380f35b8560116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346103f557816003193601126103f55760209061075d610b92565b9051908152f35b5050346103f557816003193601126103f5576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50913461089e57606060031936011261089e576107bd610b0b565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6107e6610b33565b946044358573ffffffffffffffffffffffffffffffffffffffff80951694858752602098848a958652838920338a52865283892054857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361087b575b5050508688526003855282882061085c858254610b56565b9055169586815260038452208181540190558551908152a35160018152f35b61088491610b56565b90888a528652838920338a52865283892055388085610844565b80fd5b5050346103f557816003193601126103f5576020906002549051908152f35b50346101135781600319360112610113576020926108dc610b0b565b9183602435928392338252875273ffffffffffffffffffffffffffffffffffffffff8282209516948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8490843461011357826003193601126101135782805461095b816109e2565b808552916001918083169081156105c157506001146109865750505061055782610561940383610a35565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8286106109ca575050506105578260206105619582010194610545565b805460208787018101919091529095019481016109ad565b90600182811c92168015610a2b575b60208310146109fc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109f1565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610a7657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60208082528251818301819052939260005b858110610af7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610ab7565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610b2e57565b91908203918211610b6357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000467f000000000000000000000000000000000000000000000000000000000000000003610be057507f000000000000000000000000000000000000000000000000000000000000000090565b60405181548291610bf0826109e2565b8082528160209485820194600190878282169182600014610d33575050600114610cda575b50610c2292500382610a35565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117610cad575060405251902090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b87805286915087907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b858310610d1b575050610c22935082010138610c15565b80548388018501528694508893909201918101610d04565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168852610c2295151560051b8501019250389150610c15905056fea26469706673582212207d481a6e6173a14d3a57a75376bedf731c60d6fc12ca5a833f00c1efaeddd59c64736f6c63430008110033a2646970667358221220079905e5a075ea1d4764cdad1ca9cfc9cd4765c02a9bc3bbb42ee673307db7dd64736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 SWAP2 DUP3 CALLDATASIZE LT ISZERO PUSH3 0x17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP2 DUP3 PUSH4 0x35C3DEB EQ PUSH3 0x518 JUMPI POP DUP2 PUSH4 0x1B210293 EQ PUSH3 0x4D4 JUMPI DUP2 PUSH4 0xBA414FA6 EQ PUSH3 0x48C JUMPI DUP2 PUSH4 0xE2ACB0F8 EQ PUSH3 0x1FA JUMPI DUP2 PUSH4 0xE6D9FF3D EQ PUSH3 0xB2 JUMPI POP PUSH4 0xFA7626D4 EQ PUSH3 0x6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH3 0xAE JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0xAE JUMPI PUSH1 0xFF PUSH1 0x20 SWAP3 SLOAD AND SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP CALLVALUE PUSH3 0x1F6 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0x1F6 JUMPI DUP2 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP4 AND DUP1 SWAP4 SUB PUSH3 0x1F1 JUMPI DUP5 SWAP4 DUP2 PUSH1 0x14 SLOAD AND SWAP2 DUP3 EXTCODESIZE ISZERO PUSH3 0x1ED JUMPI DUP4 MLOAD SWAP1 PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP2 MSTORE DUP7 DUP5 DUP3 ADD MSTORE DUP8 DUP2 PUSH1 0x44 DUP2 DUP4 PUSH9 0x246DDF97976680000 SWAP10 DUP11 PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x1E3 JUMPI SWAP1 DUP9 SWAP2 PUSH3 0x1CB JUMPI JUMPDEST POP POP PUSH1 0x15 SLOAD AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH3 0x1C7 JUMPI DUP7 PUSH1 0x44 SWAP3 DUP2 SWAP6 DUP8 MLOAD SWAP9 DUP10 SWAP7 DUP8 SWAP6 DUP7 MSTORE DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x1BE JUMPI POP PUSH3 0x1A8 JUMPI POP RETURN JUMPDEST PUSH3 0x1B3 SWAP1 PUSH3 0x74F JUMP JUMPDEST PUSH3 0x1BB JUMPI DUP1 RETURN JUMPDEST DUP1 REVERT JUMPDEST MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST PUSH3 0x1D6 SWAP1 PUSH3 0x74F JUMP JUMPDEST PUSH3 0x1C7 JUMPI DUP7 CODESIZE PUSH3 0x16F JUMP JUMPDEST DUP7 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP CALLVALUE PUSH3 0x1F6 JUMPI DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0x1F6 JUMPI DUP1 MLOAD SWAP1 PUSH2 0x22CA SWAP2 DUP3 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH3 0x460 JUMPI SWAP1 DUP3 SWAP2 PUSH3 0x9D1 DUP4 CODECOPY SUB SWAP1 DUP6 CREATE SWAP3 DUP4 ISZERO PUSH3 0x456 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP6 AND DUP6 PUSH1 0x13 SLOAD AND OR PUSH1 0x13 SSTORE DUP3 MLOAD PUSH2 0x12BF SWAP1 DUP2 DUP2 ADD SWAP1 DUP1 DUP3 LT DUP5 DUP4 GT OR PUSH3 0x42A JUMPI PUSH1 0xE0 DUP2 PUSH3 0x2C9B SWAP4 DUP6 DUP6 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20410000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5441000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP10 DUP3 ADD MSTORE SUB ADD SWAP1 DUP10 CREATE DUP1 ISZERO PUSH3 0x420 JUMPI DUP7 AND DUP8 PUSH1 0x14 SLOAD AND OR PUSH1 0x14 SSTORE DUP5 MLOAD SWAP4 DUP3 DUP6 ADD SWAP4 DUP6 DUP6 LT SWAP1 DUP6 GT OR PUSH3 0x3F4 JUMPI POP SWAP2 DUP4 SWAP2 PUSH1 0xE0 SWAP4 DUP4 CODECOPY PUSH1 0x60 DUP2 MSTORE PUSH1 0xC PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x5465737420546F6B656E20420000000000000000000000000000000000000000 PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x5442000000000000000000000000000000000000000000000000000000000000 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x12 DUP6 DUP3 ADD MSTORE SUB ADD SWAP1 DUP6 CREATE SWAP1 DUP2 ISZERO PUSH3 0x3EB JUMPI POP AND SWAP1 PUSH1 0x15 SLOAD AND OR PUSH1 0x15 SSTORE DUP1 RETURN JUMPDEST MLOAD RETURNDATASIZE DUP6 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP9 PUSH1 0x41 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST DUP6 MLOAD RETURNDATASIZE DUP11 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP10 PUSH1 0x41 DUP8 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP8 PUSH1 0x41 DUP9 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH3 0xAE JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0xAE JUMPI PUSH1 0x20 SWAP1 PUSH3 0x4CB PUSH3 0x7EF JUMP JUMPDEST SWAP1 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH3 0xAE JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0xAE JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH9 0x246DDF97976680000 DUP2 MSTORE RETURN JUMPDEST DUP5 DUP3 DUP6 CALLVALUE PUSH3 0x1F6 JUMPI PUSH1 0x60 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH3 0x1F6 JUMPI DUP2 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 DUP5 AND DUP1 SWAP5 SUB PUSH3 0x74B JUMPI PUSH1 0x24 CALLDATALOAD SWAP1 DUP7 DUP3 AND DUP1 SWAP3 SUB PUSH3 0x1ED JUMPI PUSH1 0x44 CALLDATALOAD SWAP2 DUP8 DUP4 AND DUP1 SWAP4 SUB PUSH3 0x1C7 JUMPI DUP6 EXTCODESIZE ISZERO PUSH3 0x1C7 JUMPI PUSH32 0x6447D5600000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP4 DUP3 ADD MSTORE DUP6 DUP2 PUSH1 0x24 DUP2 DUP4 DUP10 GAS CALL DUP1 ISZERO PUSH3 0x6FF JUMPI PUSH3 0x735 JUMPI JUMPDEST POP DUP6 DUP6 SWAP7 SWAP2 DUP7 SWAP3 PUSH1 0x14 SLOAD AND SWAP2 DUP6 MLOAD SWAP1 PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 SWAP2 DUP3 DUP2 MSTORE DUP4 DUP8 DUP3 ADD MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 PUSH1 0x24 DUP4 ADD MSTORE DUP2 PUSH1 0x44 DUP2 PUSH1 0x20 SWAP10 DUP11 SWAP5 GAS CALL DUP1 ISZERO PUSH3 0x72B JUMPI PUSH1 0x44 SWAP3 DUP8 SWAP6 SWAP5 SWAP3 DUP13 SWAP3 PUSH3 0x709 JUMPI JUMPDEST POP PUSH1 0x15 SLOAD AND DUP10 MLOAD SWAP7 DUP8 SWAP6 DUP7 SWAP5 DUP6 MSTORE DUP11 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD MSTORE GAS CALL DUP1 ISZERO PUSH3 0x6FF JUMPI PUSH3 0x6CA JUMPI JUMPDEST POP POP DUP3 EXTCODESIZE ISZERO PUSH3 0x6C5 JUMPI DUP4 SWAP3 DUP4 SWAP2 DUP4 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH32 0x90C5013B00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE GAS CALL SWAP1 DUP2 ISZERO PUSH3 0x1BE JUMPI POP PUSH3 0x1A8 JUMPI POP RETURN JUMPDEST POP POP POP REVERT JUMPDEST DUP2 PUSH3 0x6EE SWAP3 SWAP1 RETURNDATASIZE LT PUSH3 0x6F7 JUMPI JUMPDEST PUSH3 0x6E5 DUP2 DUP4 PUSH3 0x793 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH3 0x7D5 JUMP JUMPDEST POP DUP6 DUP1 PUSH3 0x67B JUMP JUMPDEST POP RETURNDATASIZE PUSH3 0x6D9 JUMP JUMPDEST DUP5 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x723 SWAP1 DUP8 RETURNDATASIZE DUP10 GT PUSH3 0x6F7 JUMPI PUSH3 0x6E5 DUP2 DUP4 PUSH3 0x793 JUMP JUMPDEST POP DUP14 PUSH3 0x655 JUMP JUMPDEST DUP9 MLOAD RETURNDATASIZE DUP13 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH3 0x743 SWAP1 SWAP6 SWAP2 SWAP6 PUSH3 0x74F JUMP JUMPDEST SWAP4 DUP7 PUSH3 0x5D3 JUMP JUMPDEST DUP5 DUP1 REVERT JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH3 0x764 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH3 0x764 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH3 0x1F1 JUMPI MLOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH3 0x1F1 JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND ISZERO PUSH3 0x809 JUMPI SLOAD PUSH1 0x8 SHR PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP1 PUSH20 0x7109709ECFA91A80626FF3989D68F67F5B1DD12D DUP1 EXTCODESIZE PUSH3 0x82B JUMPI POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP1 DUP4 DUP4 ADD MSTORE PUSH32 0x6661696C65640000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 DUP3 MSTORE PUSH1 0x60 DUP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP2 DUP2 LT DUP5 DUP3 GT OR PUSH3 0x9A3 JUMPI SWAP2 DUP3 DUP7 SWAP3 SWAP4 PUSH1 0x40 MSTORE PUSH1 0x80 DUP5 ADD SWAP1 PUSH32 0x667F9D7000000000000000000000000000000000000000000000000000000000 DUP3 MSTORE DUP5 MLOAD DUP8 DUP6 JUMPDEST DUP3 DUP2 LT PUSH3 0x98A JUMPI POP POP SWAP1 PUSH3 0x8E0 PUSH1 0x24 DUP8 DUP8 SWAP9 SWAP5 DUP9 SWAP6 ADD DUP6 PUSH1 0x84 DUP3 ADD MSTORE SUB PUSH1 0x4 DUP2 ADD DUP5 MSTORE ADD DUP3 PUSH3 0x793 JUMP JUMPDEST MLOAD SWAP3 GAS CALL POP RETURNDATASIZE ISZERO PUSH3 0x97A JUMPI RETURNDATASIZE SWAP1 DUP2 GT PUSH3 0x94D JUMPI PUSH1 0x40 MLOAD PUSH3 0x94A SWAP4 SWAP3 SWAP2 PUSH3 0x932 PUSH1 0x1F DUP3 ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND DUP5 ADD DUP4 PUSH3 0x793 JUMP JUMPDEST DUP2 MSTORE DUP1 SWAP3 DUP3 RETURNDATASIZE SWAP3 ADD RETURNDATACOPY JUMPDEST DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH3 0x7D5 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x24 DUP4 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST POP PUSH3 0x94A SWAP2 POP PUSH1 0x60 SWAP1 PUSH3 0x93C JUMP JUMPDEST DUP1 DUP9 ADD DUP1 DUP4 ADD MLOAD PUSH1 0x84 SWAP1 SWAP2 ADD MSTORE DUP11 SWAP7 POP DUP10 SWAP2 ADD PUSH3 0x8B3 JUMP JUMPDEST PUSH1 0x24 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT INVALID PUSH1 0xC0 CALLVALUE PUSH2 0xBB JUMPI CHAINID PUSH1 0xA0 MSTORE PUSH1 0x20 DUP2 ADD PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP2 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP4 ADD MSTORE CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x80 DUP3 MSTORE PUSH1 0xA0 DUP3 ADD SWAP2 DUP1 DUP4 LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP5 GT OR PUSH2 0xA5 JUMPI DUP3 PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0x80 MSTORE PUSH2 0x2209 SWAP1 DUP2 PUSH2 0xC1 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x18B0 ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0x188A ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x40 PUSH1 0x80 DUP2 MSTORE PUSH1 0x4 SWAP1 DUP2 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP1 DUP2 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD58B1DB EQ PUSH2 0x10C8 JUMPI DUP1 PUSH4 0x137C29FE EQ PUSH2 0xEEF JUMPI DUP1 PUSH4 0x2A2D80D1 EQ PUSH2 0xC4F JUMPI DUP1 PUSH4 0x2B67B570 EQ PUSH2 0xA94 JUMPI DUP1 PUSH4 0x30F28B7A EQ PUSH2 0x9B2 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x98F JUMPI DUP1 PUSH4 0x36C78516 EQ PUSH2 0x938 JUMPI DUP1 PUSH4 0x3FF9DCB1 EQ PUSH2 0x8D6 JUMPI DUP1 PUSH4 0x4FE02B44 EQ PUSH2 0x88B JUMPI DUP1 PUSH4 0x65D9723C EQ PUSH2 0x716 JUMPI DUP1 PUSH4 0x87517C45 EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0x927DA105 EQ PUSH2 0x569 JUMPI DUP1 PUSH4 0xCC53287F EQ PUSH2 0x467 JUMPI DUP1 PUSH4 0xEDD9444B EQ PUSH2 0x31C JUMPI PUSH4 0xFE8EC1A7 EQ PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x318 JUMPI PUSH1 0xC0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF DUP4 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0xF6 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x10D SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x143A JUMP JUMPDEST PUSH2 0x115 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x84 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x30C JUMPI PUSH2 0x12D SWAP1 CALLDATASIZE SWAP1 DUP11 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP9 SWAP1 SWAP6 PUSH1 0xA4 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x308 JUMPI PUSH2 0x146 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP2 MLOAD SWAP1 PUSH2 0x155 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x6B DUP3 MSTORE PUSH32 0x5065726D697442617463685769746E6573735472616E7366657246726F6D2854 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F6B656E5065726D697373696F6E735B5D207065726D69747465642C61646472 DUP4 DUP4 ADD MSTORE PUSH32 0x657373207370656E6465722C75696E74323536206E6F6E63652C75696E743235 PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x3620646561646C696E652C000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD SWAP11 DUP12 SWAP2 DUP2 PUSH2 0x204 PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP11 DUP2 MSTORE SUB SWAP10 PUSH2 0x23D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP12 DUP13 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 DUP6 MLOAD MLOAD PUSH2 0x24D DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP11 JUMPDEST DUP2 DUP2 LT PUSH2 0x2DB JUMPI POP POP PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0x2CF SWAP2 DUP4 MLOAD PUSH2 0x282 DUP2 PUSH2 0x276 PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB DUP5 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP10 DUP2 ADD MLOAD DUP6 DUP12 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x64 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD JUMPDEST SUB SWAP1 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP4 PUSH2 0x1A60 JUMP JUMPDEST DUP1 RETURN JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0x2ED PUSH2 0x303 SWAP4 DUP13 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH2 0x2FD DUP3 DUP7 PUSH2 0x157E JUMP JUMPDEST MSTORE PUSH2 0x1C73 JUMP JUMPDEST PUSH2 0x250 JUMP JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP8 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP1 CALLDATALOAD DUP3 DUP2 GT PUSH2 0x314 JUMPI PUSH2 0x34F SWAP1 CALLDATASIZE SWAP1 DUP4 ADD PUSH2 0x146B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP4 DUP2 GT PUSH2 0x310 JUMPI PUSH2 0x366 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x143A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0x371 PUSH2 0x1324 JUMP JUMPDEST SWAP2 PUSH1 0x64 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0x388 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP5 SWAP1 SWAP4 DUP4 MLOAD MLOAD SWAP8 PUSH2 0x398 DUP10 PUSH2 0x1C24 JUMP JUMPDEST SWAP9 DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x441 JUMPI POP POP PUSH2 0x2D8 SWAP8 SWAP9 DUP2 MLOAD PUSH2 0x3E9 DUP2 PUSH2 0x3BD PUSH1 0x20 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x20 DUP7 ADD MLOAD DUP3 DUP8 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xFCF35F5AC6A2C28868DC44C302166470266239195F02B0EE408334829333B766 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x2CF DUP2 PUSH2 0x1259 JUMP JUMPDEST DUP1 DUP12 PUSH2 0x2FD DUP3 PUSH2 0x458 PUSH2 0x2ED PUSH2 0x45E SWAP7 DUP14 MLOAD PUSH2 0x157E JUMP JUMPDEST SWAP3 PUSH2 0x157E JUMP JUMPDEST PUSH2 0x39B JUMP JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 SWAP1 DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x310 JUMPI PUSH2 0x49A SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x143A JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0x4AA JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0x4C0 PUSH2 0x4BB PUSH1 0x1 SWAP4 DUP9 DUP9 PUSH2 0x16D5 JUMP JUMPDEST PUSH2 0x16E5 JUMP JUMPDEST PUSH2 0x4D5 DUP5 PUSH2 0x4CF DUP5 DUP11 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD PUSH2 0x16E5 JUMP JUMPDEST CALLER DUP10 MSTORE DUP4 DUP6 MSTORE DUP6 DUP10 KECCAK256 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP3 DUP4 DUP12 MSTORE DUP7 MSTORE DUP7 DUP11 KECCAK256 SWAP2 AND SWAP1 DUP2 DUP11 MSTORE DUP6 MSTORE DUP6 DUP10 KECCAK256 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP2 SLOAD AND SWAP1 SSTORE DUP6 MLOAD SWAP2 DUP3 MSTORE DUP5 DUP3 ADD MSTORE PUSH32 0x89B1ADD15EFF56B3DFE299AD94E01F2B52FBCB80AE1A3BAEA6AE8C04CB2B98A4 DUP6 CALLER SWAP3 LOG2 ADD PUSH2 0x49F JUMP JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x5FE DUP2 PUSH2 0x587 PUSH2 0x12DE JUMP JUMPDEST SWAP4 PUSH2 0x590 PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x598 PUSH2 0x1324 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP7 DUP8 AND DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP5 DUP5 KECCAK256 SWAP3 DUP9 AND DUP5 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP4 KECCAK256 SWAP1 DUP8 AND DUP4 MSTORE DUP2 MSTORE SWAP2 SWAP1 KECCAK256 SLOAD SWAP3 MLOAD SWAP4 DUP4 AND DUP5 MSTORE PUSH1 0xA0 DUP4 SWAP1 SHR PUSH6 0xFFFFFFFFFFFF AND SWAP1 DUP5 ADD MSTORE PUSH1 0xD0 SWAP2 SWAP1 SWAP2 SHR PUSH1 0x40 DUP4 ADD MSTORE DUP2 SWAP1 PUSH1 0x60 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0x61C PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x625 PUSH2 0x1301 JUMP JUMPDEST SWAP2 PUSH2 0x62E PUSH2 0x1324 JUMP JUMPDEST PUSH6 0xFFFFFFFFFFFF SWAP3 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 AND SWAP1 DUP2 DUP2 SUB PUSH2 0x30C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP5 PUSH32 0xDA9FA7C1B00402C17D0161B249B1AB8BBEC047C5A52207B9C112DEFFD817036B SWAP5 CALLER DUP11 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP6 DUP12 KECCAK256 SWAP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP5 AND SWAP10 DUP11 DUP14 MSTORE PUSH1 0x20 MSTORE DUP4 DUP8 DUP14 KECCAK256 SWAP12 AND SWAP11 DUP12 DUP14 MSTORE PUSH1 0x20 MSTORE DUP7 DUP13 KECCAK256 SWAP5 DUP7 ISZERO PUSH1 0x0 EQ PUSH2 0x70E JUMPI POP TIMESTAMP AND SWAP3 JUMPDEST DUP5 SLOAD SWAP3 AND SWAP8 DUP9 SWAP4 PUSH1 0xA0 SHL AND SWAP2 AND OR OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST SWAP1 POP SWAP3 PUSH2 0x6ED JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x731 PUSH2 0x12DE JUMP JUMPDEST SWAP1 PUSH2 0x73A PUSH2 0x1301 JUMP JUMPDEST SWAP3 PUSH6 0xFFFFFFFFFFFF PUSH1 0x44 CALLDATALOAD DUP2 DUP2 AND SWAP4 SWAP1 DUP5 DUP2 SUB PUSH2 0x30C JUMPI CALLER DUP9 MSTORE PUSH1 0x20 SWAP2 PUSH1 0x1 DUP4 MSTORE DUP5 DUP10 KECCAK256 SWAP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 AND SWAP8 DUP9 DUP12 MSTORE DUP5 MSTORE DUP6 DUP11 KECCAK256 SWAP9 AND SWAP8 DUP9 DUP11 MSTORE DUP4 MSTORE DUP5 DUP10 KECCAK256 SLOAD PUSH1 0xD0 SHR SWAP4 DUP5 DUP8 GT ISZERO PUSH2 0x863 JUMPI PUSH2 0xFFFF SWAP1 DUP6 DUP5 SUB AND GT PUSH2 0x83C JUMPI POP SWAP1 PUSH32 0x55EB90D810E1700B35A8E7E25395FF7F2B2259ABD7415CA2284DFB1C246418F3 SWAP4 SWAP3 SWAP2 CALLER DUP10 MSTORE PUSH1 0x1 DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP8 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 DUP9 DUP11 MSTORE DUP3 MSTORE DUP4 DUP10 KECCAK256 SWAP1 PUSH26 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 DUP4 SLOAD SWAP3 PUSH1 0xD0 SHL AND SWAP2 AND OR SWAP1 SSTORE DUP3 MLOAD SWAP5 DUP6 MSTORE DUP5 ADD MSTORE CALLER SWAP3 LOG4 DUP1 RETURN JUMPDEST DUP5 MLOAD PUSH32 0x24D35A2600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x8BD PUSH2 0x12DE JUMP JUMPDEST AND DUP2 MSTORE DUP1 DUP5 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x24 CALLDATALOAD DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH32 0x3704902F963766A4E561BBAAB6E6CDC1B1DD12F6E9E99648DA8843B3F46B918D SWAP1 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD CALLER DUP6 MSTORE DUP5 PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP5 DUP7 MSTORE PUSH1 0x20 MSTORE DUP2 DUP6 KECCAK256 DUP2 DUP2 SLOAD OR SWAP1 SSTORE DUP2 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE CALLER SWAP3 LOG2 DUP1 RETURN JUMPDEST DUP3 CALLVALUE PUSH2 0x98C JUMPI PUSH1 0x80 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x98C JUMPI PUSH2 0x952 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x95A PUSH2 0x1301 JUMP JUMPDEST PUSH2 0x962 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x64 CALLDATALOAD SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND DUP4 SUB PUSH2 0x310 JUMPI PUSH2 0x2D8 SWAP4 PUSH2 0x15C1 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x318 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x9AB PUSH2 0x1887 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP DUP3 SWAP1 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0x9D0 CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xA02 PUSH2 0x12B6 JUMP JUMPDEST SWAP2 PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xA90 JUMPI PUSH2 0x2D8 SWAP5 PUSH2 0xA25 SWAP2 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH2 0xA32 DUP4 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD DUP3 DUP6 ADD MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0x939C21A48A8DBE3A9A2404A1D46691E4D39F6583D6EC6B35714604C986D80106 DUP7 MSTORE DUP5 ADD MSTORE CALLER PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0xA87 DUP2 PUSH2 0x1259 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH2 0x198E JUMP JUMPDEST DUP6 DUP1 REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH2 0x100 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x318 JUMPI PUSH2 0xAB0 PUSH2 0x12DE JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC CALLDATASIZE ADD PUSH1 0xC0 DUP2 SLT PUSH2 0x314 JUMPI PUSH1 0x80 DUP6 MLOAD SWAP2 PUSH2 0xAE9 DUP4 PUSH2 0x1221 JUMP JUMPDEST SLT PUSH2 0x314 JUMPI DUP5 MLOAD SWAP1 PUSH2 0xAFA DUP3 PUSH2 0x11D6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 PUSH1 0x24 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI DUP2 MSTORE PUSH1 0x44 CALLDATALOAD DUP4 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x20 DUP3 ADD MSTORE PUSH6 0xFFFFFFFFFFFF PUSH1 0x64 CALLDATALOAD DUP2 DUP2 AND DUP2 SUB PUSH2 0x30C JUMPI DUP9 DUP4 ADD MSTORE PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 AND DUP2 SUB PUSH2 0x463 JUMPI PUSH1 0x60 DUP3 ADD MSTORE DUP2 MSTORE PUSH1 0xA4 CALLDATALOAD SWAP4 DUP3 DUP6 AND DUP6 SUB PUSH2 0xA90 JUMPI PUSH1 0x20 DUP3 ADD SWAP5 DUP6 MSTORE PUSH1 0xC4 CALLDATALOAD SWAP1 DUP8 DUP4 ADD DUP3 DUP2 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x308 JUMPI PUSH2 0xB96 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 DUP1 TIMESTAMP GT PUSH2 0xC20 JUMPI POP POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x2D8 SWAP10 SWAP11 PUSH2 0xC16 SWAP6 PUSH2 0xBBB DUP9 MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP1 DUP10 DUP13 MLOAD AND SWAP1 MLOAD SWAP1 DUP4 MLOAD SWAP3 PUSH1 0x20 DUP5 ADD SWAP5 PUSH32 0xF3841CD1FF0085026A6327B620B67997CE40F282C88A8E905A7A5626E310F3D0 DUP7 MSTORE DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH2 0x1942 JUMP JUMPDEST SWAP2 PUSH2 0x1E30 JUMP JUMPDEST MLOAD SWAP3 MLOAD AND SWAP2 PUSH2 0x1706 JUMP JUMPDEST PUSH1 0x24 SWAP3 POP DUP11 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x318 JUMPI PUSH1 0x60 PUSH1 0x3 NOT SWAP4 DUP2 DUP6 CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xC6D PUSH2 0x12DE JUMP JUMPDEST SWAP3 PUSH1 0x24 SWAP1 DUP2 CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF SWAP8 DUP9 DUP6 GT PUSH2 0x30C JUMPI DUP6 SWAP1 DUP6 CALLDATASIZE SUB ADD SLT PUSH2 0x463 JUMPI DUP1 MLOAD SWAP8 DUP6 DUP10 ADD DUP10 DUP2 LT DUP3 DUP3 GT OR PUSH2 0xEC4 JUMPI DUP3 MSTORE DUP5 DUP4 ADD CALLDATALOAD DUP2 DUP2 GT PUSH2 0x308 JUMPI DUP6 ADD SWAP1 CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x308 JUMPI DUP4 DUP3 ADD CALLDATALOAD SWAP2 PUSH2 0xCCA DUP4 PUSH2 0x140F JUMP JUMPDEST SWAP1 PUSH2 0xCD7 DUP6 MLOAD SWAP3 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP4 DUP3 MSTORE PUSH1 0x20 SWAP4 DUP8 DUP6 DUP5 ADD SWAP2 PUSH1 0x7 SHL DUP4 ADD ADD SWAP2 CALLDATASIZE DUP4 GT PUSH2 0xEC0 JUMPI DUP9 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xE63 JUMPI POP POP POP DUP11 MSTORE PUSH1 0x44 PUSH2 0xD0D DUP7 DUP9 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP7 DUP4 DUP13 ADD SWAP8 DUP9 MSTORE ADD CALLDATALOAD SWAP5 DUP4 DUP12 ADD SWAP2 DUP7 DUP4 MSTORE PUSH1 0x44 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0xE5F JUMPI PUSH2 0xD35 SWAP1 CALLDATASIZE SWAP1 DUP8 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP6 SWAP1 SWAP7 DUP1 TIMESTAMP GT PUSH2 0xE34 JUMPI POP POP POP DUP10 SWAP9 SWAP10 MLOAD MLOAD PUSH2 0xD50 DUP2 PUSH2 0x1C24 JUMP JUMPDEST SWAP1 DUP12 JUMPDEST DUP2 DUP2 LT PUSH2 0xE11 JUMPI POP POP SWAP3 DUP9 SWAP5 SWAP3 PUSH2 0xC10 SWAP3 PUSH2 0xDDE SWAP8 SWAP6 DUP4 MLOAD PUSH2 0xD7C DUP2 PUSH2 0x3BD DUP7 DUP3 ADD DUP1 SWAP6 PUSH2 0x1CCF JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP11 DUP12 DUP12 MLOAD AND SWAP2 MLOAD SWAP3 DUP6 MLOAD SWAP5 DUP6 ADD SWAP6 PUSH32 0xAF1B0D30D2CAB0380E68F0689007E3254993C596F2FDD0AAA7F4D04F79440863 DUP8 MSTORE DUP6 ADD MSTORE DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0xC08 DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD AND SWAP1 DUP3 MLOAD MLOAD SWAP3 DUP5 JUMPDEST DUP5 DUP2 LT PUSH2 0xDF2 JUMPI DUP6 DUP1 RETURN JUMPDEST DUP1 PUSH2 0xE0B DUP6 DUP6 PUSH2 0xE05 PUSH1 0x1 SWAP6 DUP8 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1706 JUMP JUMPDEST ADD PUSH2 0xDE7 JUMP JUMPDEST DUP1 PUSH2 0x2F3 PUSH2 0xE26 DUP15 SWAP16 SWAP15 SWAP4 PUSH2 0xE2C SWAP5 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD PUSH2 0x1D27 JUMP JUMPDEST SWAP12 SWAP11 SWAP12 PUSH2 0xD53 JUMP JUMPDEST DUP6 MLOAD SWAP2 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH1 0x80 DUP3 CALLDATASIZE SUB SLT PUSH2 0xEC0 JUMPI DUP6 PUSH1 0x80 SWAP2 DUP9 MLOAD PUSH2 0xE7C DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0xE85 DUP6 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE PUSH2 0xE92 DUP4 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST DUP4 DUP3 ADD MSTORE PUSH2 0xEA1 DUP11 DUP7 ADD PUSH2 0x1427 JUMP JUMPDEST DUP11 DUP3 ADD MSTORE DUP14 PUSH2 0xEB1 DUP2 DUP8 ADD PUSH2 0x1427 JUMP JUMPDEST SWAP1 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP13 DUP1 REVERT JUMPDEST DUP5 DUP10 PUSH1 0x41 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH2 0x140 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x565 JUMPI PUSH2 0xF0C CALLDATASIZE PUSH2 0x1368 JUMP JUMPDEST SWAP2 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI PUSH2 0xF3E PUSH2 0x12B6 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF SWAP4 SWAP1 PUSH2 0x104 CALLDATALOAD DUP6 DUP2 GT PUSH2 0x463 JUMPI PUSH2 0xF61 SWAP1 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP1 SWAP4 PUSH2 0x124 CALLDATALOAD SWAP7 DUP8 GT PUSH2 0x30C JUMPI PUSH2 0xF81 PUSH2 0xA87 SWAP7 PUSH2 0x2D8 SWAP9 CALLDATASIZE SWAP2 ADD PUSH2 0x13E1 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 DUP3 MLOAD SWAP1 PUSH2 0xF90 DUP3 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x64 DUP3 MSTORE PUSH32 0x5065726D69745769746E6573735472616E7366657246726F6D28546F6B656E50 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x65726D697373696F6E73207065726D69747465642C6164647265737320737065 DUP5 DUP4 ADD MSTORE PUSH32 0x6E6465722C75696E74323536206E6F6E63652C75696E7432353620646561646C PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0x696E652C00000000000000000000000000000000000000000000000000000000 PUSH1 0x80 DUP4 ADD MSTORE DUP4 MLOAD SWAP5 DUP6 SWAP2 DUP2 PUSH2 0x103F PUSH1 0x20 DUP6 ADD DUP1 SWAP7 PUSH2 0x1CFC JUMP JUMPDEST SWAP2 DUP3 CALLDATACOPY ADD DUP12 DUP2 MSTORE SUB SWAP4 PUSH2 0x1078 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP6 DUP7 DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1275 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 PUSH2 0x1086 DUP7 MLOAD PUSH2 0x1DBD JUMP JUMPDEST PUSH1 0x20 DUP8 DUP2 ADD MLOAD DUP6 DUP10 ADD MLOAD SWAP6 MLOAD SWAP2 DUP3 ADD SWAP7 DUP8 MSTORE PUSH1 0x40 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE CALLER PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xE4 CALLDATALOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP3 PUSH1 0xE0 DUP2 ADD PUSH2 0x2C3 JUMP JUMPDEST POP DUP3 CALLVALUE PUSH2 0x565 JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x314 JUMPI DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 DUP3 GT PUSH2 0xA90 JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xA90 JUMPI DUP2 ADD CALLDATALOAD SWAP3 DUP4 GT PUSH2 0x310 JUMPI PUSH1 0x24 SWAP1 PUSH1 0x7 CALLDATASIZE DUP4 DUP7 DUP4 SHL DUP5 ADD ADD GT PUSH2 0x463 JUMPI DUP7 JUMPDEST DUP6 DUP2 LT PUSH2 0x1123 JUMPI DUP8 DUP1 RETURN JUMPDEST DUP1 DUP3 SHL DUP4 ADD SWAP1 PUSH1 0x80 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x308 JUMPI PUSH2 0x11D0 DUP9 DUP8 PUSH1 0x1 SWAP5 PUSH1 0x60 DUP4 MLOAD PUSH2 0x116A DUP2 PUSH2 0x11D6 JUMP JUMPDEST PUSH2 0x11A6 PUSH1 0x84 PUSH2 0x117A DUP14 DUP7 ADD PUSH2 0x1347 JUMP JUMPDEST SWAP5 DUP6 DUP5 MSTORE PUSH2 0x118A PUSH1 0x44 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP8 DUP6 ADD MSTORE PUSH2 0x119B PUSH1 0x64 DUP3 ADD PUSH2 0x1347 JUMP JUMPDEST DUP1 SWAP9 DUP6 ADD MSTORE ADD PUSH2 0x1347 JUMP JUMPDEST SWAP2 DUP3 SWAP2 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP1 DUP1 SWAP4 AND SWAP6 AND SWAP4 AND SWAP2 AND PUSH2 0x15C1 JUMP JUMPDEST ADD PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x80 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xA0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC0 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0xC4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH1 0x3 NOT ADD SWAP1 PUSH1 0x80 DUP3 SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP1 PUSH2 0x1383 DUP3 PUSH2 0x1221 JUMP JUMPDEST DUP1 DUP3 SWAP5 SLT PUSH2 0x12D9 JUMPI DUP1 MLOAD DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI DUP3 MSTORE PUSH1 0x4 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI DUP2 MSTORE PUSH1 0x24 CALLDATALOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MSTORE PUSH1 0x44 CALLDATALOAD PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x64 CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x11F2 JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST CALLDATALOAD SWAP1 PUSH6 0xFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x12D9 JUMPI JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x60 DUP2 DUP5 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x40 DUP1 MLOAD SWAP2 PUSH2 0x1486 DUP4 PUSH2 0x1221 JUMP JUMPDEST DUP3 SWAP5 DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP2 GT PUSH2 0x12D9 JUMPI DUP4 ADD DUP3 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x12D9 JUMPI DUP1 CALLDATALOAD PUSH2 0x14B3 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 PUSH2 0x14C0 DUP8 MLOAD SWAP5 DUP6 PUSH2 0x1275 JUMP JUMPDEST DUP2 DUP5 MSTORE PUSH1 0x20 SWAP5 DUP6 DUP1 DUP7 ADD SWAP4 PUSH1 0x6 SHL DUP6 ADD ADD SWAP4 DUP2 DUP6 GT PUSH2 0x12D9 JUMPI SWAP1 DUP7 DUP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 ADD SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1503 JUMPI POP POP POP POP POP DUP6 MSTORE DUP1 DUP3 ADD CALLDATALOAD SWAP1 DUP6 ADD MSTORE ADD CALLDATALOAD SWAP2 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 DUP5 DUP4 SUB SLT PUSH2 0x12D9 JUMPI DUP9 MLOAD SWAP1 DUP10 DUP3 ADD SWAP1 DUP3 DUP3 LT DUP6 DUP4 GT OR PUSH2 0x1550 JUMPI DUP11 SWAP3 DUP10 SWAP3 DUP5 MSTORE PUSH2 0x1534 DUP8 PUSH2 0x1347 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP8 ADD CALLDATALOAD DUP4 DUP3 ADD MSTORE DUP2 MSTORE ADD SWAP4 ADD SWAP2 SWAP1 DUP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 PUSH2 0x14E6 JUMP JUMPDEST PUSH1 0x24 PUSH1 0x0 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x40 PUSH1 0x0 DUP3 DUP5 AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP3 DUP3 DUP3 KECCAK256 SWAP7 AND SWAP6 DUP7 DUP3 MSTORE PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 CALLER DUP3 MSTORE PUSH1 0x20 MSTORE KECCAK256 SWAP5 DUP6 SLOAD SWAP6 PUSH6 0xFFFFFFFFFFFF DUP8 PUSH1 0xA0 SHR AND DUP1 TIMESTAMP GT PUSH2 0x16A4 JUMPI POP DUP3 DUP8 AND SWAP7 DUP4 DUP9 SUB PUSH2 0x1632 JUMPI JUMPDEST POP POP PUSH2 0x1630 SWAP6 POP AND SWAP3 PUSH2 0x211C JUMP JUMPDEST JUMP JUMPDEST DUP8 DUP5 DUP5 AND GT PUSH1 0x0 EQ PUSH2 0x166F JUMPI PUSH1 0x24 DUP9 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xF96FB07100000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP5 DUP5 PUSH2 0x1630 SWAP11 SUB AND SWAP2 AND OR SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xD81B2F2E00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x6 SHL ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 SUB PUSH2 0x12D9 JUMPI SWAP1 JUMP JUMPDEST SWAP1 PUSH6 0xFFFFFFFFFFFF SWAP1 DUP2 PUSH1 0x60 DUP5 ADD MLOAD AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 DUP2 DUP6 MLOAD AND SWAP5 DUP3 PUSH1 0x20 DUP3 ADD MLOAD AND SWAP3 DUP1 DUP7 PUSH1 0x40 DUP1 SWAP5 ADD MLOAD AND SWAP6 AND SWAP6 PUSH1 0x0 SWAP2 DUP8 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 DUP10 DUP5 MSTORE PUSH1 0x20 MSTORE DUP4 DUP4 KECCAK256 SWAP10 AND SWAP9 DUP10 DUP4 MSTORE PUSH1 0x20 MSTORE DUP3 DUP3 KECCAK256 SWAP2 DUP5 DUP4 SLOAD PUSH1 0xD0 SHR SUB PUSH2 0x185E JUMPI SWAP2 DUP6 PUSH2 0x1837 SWAP5 SWAP3 PUSH32 0xC6A377BFC4EB120024A8AC08EEF205BE16B817020812C73223E81D1BDB9708EC SWAP9 SWAP8 SWAP7 SWAP5 POP DUP8 ISZERO PUSH1 0x0 EQ PUSH2 0x183C JUMPI PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 SWAP1 TIMESTAMP AND JUMPDEST PUSH1 0xA0 SHL AND PUSH32 0xFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000 PUSH1 0x1 DUP7 ADD PUSH1 0xD0 SHL AND OR OR SWAP1 SSTORE MLOAD SWAP4 DUP5 SWAP4 DUP5 SWAP2 PUSH1 0x40 SWAP2 SWAP5 SWAP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x60 DUP6 ADD SWAP7 AND DUP5 MSTORE PUSH6 0xFFFFFFFFFFFF DUP1 SWAP3 AND PUSH1 0x20 DUP6 ADD MSTORE AND SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG4 JUMP JUMPDEST POP PUSH26 0xFFFFFFFFFFFF0000000000000000000000000000000000000000 DUP8 PUSH2 0x17C9 JUMP JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST CHAINID PUSH32 0x0 SUB PUSH2 0x18D2 JUMPI PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH32 0x8CAD95687BA82C2CE50E74F7B754645E5117C3A5BEC8151C0726D5857980A866 DUP3 MSTORE PUSH32 0x9AC997416E8FF9D2FF6BEBEB7149F65CDAE5E32E2B90440B566BB3044041D36A PUSH1 0x40 DUP3 ADD MSTORE CHAINID PUSH1 0x60 DUP3 ADD MSTORE ADDRESS PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x80 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x123D JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x194A PUSH2 0x1887 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP4 PUSH1 0xA4 CALLDATALOAD SWAP4 PUSH1 0x40 DUP5 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1A2F JUMPI POP PUSH1 0x20 DUP5 MLOAD ADD MLOAD DUP1 DUP7 GT PUSH2 0x19FE JUMPI POP SWAP2 DUP6 SWAP2 PUSH2 0xC10 PUSH2 0x19CE SWAP5 PUSH2 0x19C9 PUSH1 0x20 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH2 0x1942 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP2 MLOAD MLOAD AND SWAP3 PUSH1 0x84 CALLDATALOAD SWAP2 DUP3 AND DUP3 SUB PUSH2 0x12D9 JUMPI PUSH2 0x1630 SWAP4 PUSH2 0x211C JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x40 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP6 SWAP1 SWAP4 SWAP6 DUP1 MLOAD MLOAD SWAP6 PUSH1 0x40 SWAP3 DUP4 DUP4 ADD MLOAD DUP1 TIMESTAMP GT PUSH2 0x1B80 JUMPI POP DUP5 DUP9 SUB PUSH2 0x1B57 JUMPI PUSH2 0x1A97 SWAP2 DUP7 SWAP2 PUSH2 0xC10 PUSH1 0x20 SWAP12 PUSH2 0x19C9 DUP14 DUP9 ADD MLOAD DUP7 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT PUSH2 0x1AAB JUMPI POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1AB6 DUP2 DUP4 MLOAD PUSH2 0x157E JUMP JUMPDEST MLOAD DUP9 PUSH2 0x1AC3 DUP4 DUP8 DUP11 PUSH2 0x16D5 JUMP JUMPDEST ADD CALLDATALOAD SWAP1 DUP10 DUP2 ADD MLOAD DUP1 DUP4 GT PUSH2 0x1B27 JUMPI POP SWAP2 DUP2 DUP9 DUP9 DUP9 PUSH1 0x1 SWAP7 DUP6 SWAP7 PUSH2 0x1AED JUMPI JUMPDEST POP POP POP POP POP POP ADD PUSH2 0x1A9A JUMP JUMPDEST PUSH2 0x1B1C SWAP6 PUSH2 0x1B16 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x4BB SWAP4 MLOAD AND SWAP6 PUSH2 0x16D5 JUMP JUMPDEST SWAP2 PUSH2 0x211C JUMP JUMPDEST DUP1 CODESIZE DUP9 DUP9 DUP9 DUP4 PUSH2 0x1AE1 JUMP JUMPDEST PUSH1 0x24 SWAP1 DUP7 MLOAD SWAP1 PUSH32 0x3728B83D00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x4 DUP5 MLOAD PUSH32 0xFF633A3800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 DUP6 MLOAD SWAP1 PUSH32 0xCD21DB4F00000000000000000000000000000000000000000000000000000000 DUP3 MSTORE PUSH1 0x4 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x1 PUSH1 0xFF DUP4 AND SHL SWAP3 AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x8 SHR PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD XOR DUP1 SWAP2 SSTORE AND ISZERO PUSH2 0x1BFA JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x756688FE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 PUSH2 0x1C2E DUP3 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x1C3B PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1275 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH2 0x1C69 DUP3 SWAP5 PUSH2 0x140F JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x1CA0 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP1 SWAP3 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x1CE8 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH2 0x1CDA JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x1D14 JUMPI POP POP ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP5 ADD ADD MLOAD DUP2 DUP6 ADD MSTORE ADD PUSH2 0x1D03 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x65626CAD6CB96493BF6F5EBEA28756C966F023AB9E8A83A7101849D5573B3678 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP3 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x20 DUP3 ADD MLOAD AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x60 PUSH6 0xFFFFFFFFFFFF SWAP2 DUP3 PUSH1 0x40 DUP3 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE ADD MLOAD AND PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH1 0xC0 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x11F2 JUMPI PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP3 PUSH32 0x618358AC3DB8DC274F0CD8829DA7E234BD48CD73C4A740AEDE1ADEC9846D06A1 DUP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 MLOAD AND PUSH1 0x40 DUP5 ADD MSTORE ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x60 DUP2 MSTORE PUSH2 0x193C DUP2 PUSH2 0x11D6 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x12D9 JUMPI PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 EXTCODESIZE PUSH2 0x1F97 JUMPI POP PUSH1 0x41 DUP3 SUB PUSH2 0x1F15 JUMPI PUSH2 0x1E4D DUP3 DUP3 ADD DUP3 PUSH2 0x1E1A JUMP JUMPDEST SWAP4 SWAP1 SWAP3 PUSH1 0x40 LT ISZERO PUSH2 0x1592 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x40 PUSH1 0x80 SWAP6 ADD CALLDATALOAD PUSH1 0xF8 SHR JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE AND DUP7 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE DUP3 DUP1 MSTORE PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x1F09 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 PUSH1 0x0 MLOAD AND SWAP2 DUP3 ISZERO PUSH2 0x1EDF JUMPI AND SUB PUSH2 0x1EB5 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x815E1D6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP3 SUB PUSH2 0x1F6D JUMPI PUSH2 0x1F29 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E1A JUMP JUMPDEST SWAP2 PUSH1 0x1B PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND SWAP4 PUSH1 0xFF SHR ADD SWAP1 PUSH1 0xFF DUP3 GT PUSH2 0x1CA0 JUMPI PUSH1 0x20 SWAP4 PUSH1 0x0 SWAP4 PUSH1 0xFF PUSH1 0x80 SWAP5 PUSH2 0x1E6B JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP3 SWAP4 SWAP2 PUSH1 0x1F SWAP3 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x64 PUSH1 0x20 SWAP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP5 PUSH32 0x1626BA7E00000000000000000000000000000000000000000000000000000000 SWAP15 DUP16 DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x24 DUP8 ADD MSTORE DUP2 PUSH1 0x44 DUP8 ADD MSTORE DUP7 DUP7 ADD CALLDATACOPY DUP12 DUP6 DUP3 DUP7 ADD ADD MSTORE ADD AND DUP2 ADD SUB ADD SWAP3 AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x2111 JUMPI DUP3 SWAP2 PUSH2 0x2093 JUMPI JUMPDEST POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP2 POP AND SUB PUSH2 0x2069 JUMPI JUMP JUMPDEST PUSH1 0x4 PUSH1 0x40 MLOAD PUSH32 0xB0669CBC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE DUP3 GT PUSH2 0x2109 JUMPI JUMPDEST DUP2 PUSH2 0x20AD PUSH1 0x20 SWAP4 DUP4 PUSH2 0x1275 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x318 JUMPI MLOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND DUP3 SUB PUSH2 0x98C JUMPI POP PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 CODESIZE PUSH2 0x203D JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x20A0 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 PUSH1 0x64 SWAP3 PUSH1 0x20 SWAP6 DUP3 SWAP6 PUSH1 0x40 MLOAD SWAP5 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP7 MSTORE PUSH1 0x4 DUP7 ADD MSTORE PUSH1 0x24 DUP6 ADD MSTORE PUSH1 0x44 DUP5 ADD MSTORE GAS CALL RETURNDATASIZE ISZERO PUSH1 0x1F RETURNDATASIZE GT PUSH1 0x1 PUSH1 0x0 MLOAD EQ AND OR AND ISZERO PUSH2 0x2175 JUMPI JUMP JUMPDEST PUSH1 0x64 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5452414E534645525F46524F4D5F4641494C4544000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 SWAP9 0xBA CALLVALUE 0xBD COINBASE 0xCC 0xB3 CALLER SWAP5 SELFBALANCE PUSH32 0x24CCA6191C4FC58C8E7D9ADAE8E27920B835FF1D64736F6C6343000811003360 0xE0 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE CALLVALUE PUSH3 0x43C JUMPI PUSH3 0x12BF DUP1 CODESIZE SUB DUP1 SWAP2 PUSH3 0x22 DUP3 DUP6 PUSH3 0x441 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD PUSH1 0x60 DUP3 DUP3 SUB SLT PUSH3 0x43C JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP4 SWAP1 DUP5 DUP2 GT PUSH3 0x43C JUMPI DUP3 PUSH3 0x53 SWAP2 DUP6 ADD PUSH3 0x465 JUMP JUMPDEST SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP3 ADD MLOAD DUP7 DUP2 GT PUSH3 0x43C JUMPI DUP4 SWAP2 PUSH3 0x72 SWAP2 DUP5 ADD PUSH3 0x465 JUMP JUMPDEST SWAP2 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 SUB PUSH3 0x43C JUMPI DUP5 MLOAD SWAP5 DUP7 DUP7 GT PUSH3 0x426 JUMPI PUSH1 0x0 SWAP6 DUP1 PUSH3 0x9B DUP9 SLOAD PUSH3 0x4DC JUMP JUMPDEST SWAP3 PUSH1 0x1F SWAP4 DUP5 DUP2 GT PUSH3 0x3D5 JUMPI JUMPDEST POP DUP8 SWAP1 DUP5 DUP4 GT PUSH1 0x1 EQ PUSH3 0x36D JUMPI DUP10 SWAP3 PUSH3 0x361 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR DUP7 SSTORE JUMPDEST DUP3 MLOAD SWAP1 DUP8 DUP3 GT PUSH3 0x34D JUMPI DUP2 SWAP1 PUSH1 0x1 SWAP5 PUSH3 0xEF DUP7 SLOAD PUSH3 0x4DC JUMP JUMPDEST DUP3 DUP2 GT PUSH3 0x2F8 JUMPI JUMPDEST POP DUP8 SWAP2 DUP4 GT PUSH1 0x1 EQ PUSH3 0x294 JUMPI DUP9 SWAP3 PUSH3 0x288 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP4 SHL OR DUP3 SSTORE JUMPDEST PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE DUP2 MLOAD DUP5 SLOAD SWAP2 DUP2 DUP7 PUSH3 0x13A DUP6 PUSH3 0x4DC JUMP JUMPDEST SWAP3 DUP4 DUP4 MSTORE DUP8 DUP4 ADD SWAP6 DUP9 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH3 0x268 JUMPI POP POP PUSH1 0x1 EQ PUSH3 0x228 JUMPI JUMPDEST POP PUSH3 0x16A SWAP3 POP SUB DUP3 PUSH3 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP3 DUP2 MLOAD SWAP3 DUP4 ADD SWAP4 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP6 MSTORE DUP3 DUP5 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP5 ADD MSTORE CHAINID PUSH1 0x80 DUP5 ADD MSTORE ADDRESS PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 MSTORE PUSH1 0xC0 DUP4 ADD SWAP5 DUP4 DUP7 LT SWAP1 DUP7 GT OR PUSH3 0x214 JUMPI POP DUP4 SWAP1 MSTORE MLOAD SWAP1 KECCAK256 PUSH1 0xC0 MSTORE PUSH2 0xDA5 SWAP1 DUP2 PUSH3 0x51A DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 PUSH2 0x77E ADD MSTORE PUSH1 0xA0 MLOAD DUP2 PUSH2 0xB97 ADD MSTORE PUSH1 0xC0 MLOAD DUP2 PUSH2 0xBBE ADD MSTORE RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP8 SWAP2 POP DUP9 DUP1 MSTORE DUP2 DUP10 KECCAK256 SWAP1 DUP10 SWAP2 JUMPDEST DUP6 DUP4 LT PUSH3 0x24F JUMPI POP POP PUSH3 0x16A SWAP4 POP DUP3 ADD ADD CODESIZE PUSH3 0x15B JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP10 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH3 0x235 JUMP JUMPDEST PUSH1 0xFF NOT AND DUP9 MSTORE PUSH3 0x16A SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH3 0x15B SWAP1 POP JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x10D JUMP JUMPDEST DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP7 SWAP5 POP SWAP2 SWAP1 PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x2E1 JUMPI POP POP DUP5 GT PUSH3 0x2C7 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP3 SSTORE PUSH3 0x121 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x2B9 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE DUP10 SWAP8 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH3 0x2A6 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 POP DUP6 DUP10 MSTORE DUP8 DUP10 KECCAK256 DUP4 DUP1 DUP7 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP8 LT PUSH3 0x343 JUMPI JUMPDEST SWAP2 DUP7 SWAP6 DUP10 SWAP3 SWAP6 SWAP5 SWAP4 ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH3 0x334 JUMPI POP POP PUSH3 0xF8 JUMP JUMPDEST DUP12 DUP2 SSTORE DUP7 SWAP6 POP DUP9 SWAP2 ADD PUSH3 0x324 JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x315 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP8 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xBE JUMP JUMPDEST DUP10 DUP1 MSTORE DUP9 DUP11 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP11 JUMPDEST DUP11 DUP3 DUP3 LT PUSH3 0x3BE JUMPI POP POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH3 0x3A4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP7 SSTORE PUSH3 0xD3 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x396 JUMP JUMPDEST PUSH1 0x1 DUP6 SWAP7 DUP3 SWAP4 SWAP7 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH3 0x37C JUMP JUMPDEST SWAP1 SWAP2 POP DUP9 DUP1 MSTORE DUP8 DUP10 KECCAK256 DUP5 DUP1 DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP3 DUP11 DUP7 LT PUSH3 0x41C JUMPI JUMPDEST SWAP1 DUP6 SWAP5 SWAP4 SWAP3 SWAP2 ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH3 0x40D JUMPI POP PUSH3 0xA8 JUMP JUMPDEST DUP11 DUP2 SSTORE DUP5 SWAP4 POP PUSH1 0x1 ADD PUSH3 0x3FE JUMP JUMPDEST SWAP3 POP DUP2 SWAP3 PUSH3 0x3F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH3 0x426 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP2 SWAP1 DUP1 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH3 0x43C JUMPI DUP3 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 SWAP2 PUSH3 0x4A1 PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP5 ADD DUP6 PUSH3 0x441 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP3 DUP3 DUP8 ADD ADD GT PUSH3 0x43C JUMPI PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x4C8 JUMPI POP DUP3 PUSH1 0x0 SWAP4 SWAP5 SWAP6 POP ADD ADD MSTORE SWAP1 JUMP JUMPDEST DUP6 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD DUP5 ADD MSTORE DUP3 ADD PUSH3 0x4B2 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x50E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x4F8 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x4EC JUMP INVALID PUSH1 0x80 PUSH1 0x40 DUP2 DUP2 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP3 DUP4 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x93C JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x8C0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x8A1 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x7A2 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x764 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x740 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x64B JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x607 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x50A JUMPI DUP4 DUP2 PUSH4 0x9DC29FAC EQ PUSH2 0x488 JUMPI POP DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x117 JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0xBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 DUP3 SWAP2 PUSH2 0xDC PUSH2 0xB0B JUMP JUMPDEST PUSH2 0xE4 PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND DUP5 MSTORE DUP7 MSTORE DUP4 DUP4 KECCAK256 SWAP2 AND DUP3 MSTORE DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP SWAP2 SWAP1 CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0xE0 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH2 0x133 PUSH2 0xB0B JUMP JUMPDEST SWAP1 PUSH2 0x13C PUSH2 0xB33 JUMP JUMPDEST SWAP2 PUSH1 0x44 CALLDATALOAD PUSH1 0x64 CALLDATALOAD SWAP3 PUSH1 0x84 CALLDATALOAD SWAP3 PUSH1 0xFF DUP5 AND DUP1 SWAP5 SUB PUSH2 0x3F1 JUMPI TIMESTAMP DUP6 LT PUSH2 0x394 JUMPI PUSH2 0x162 PUSH2 0xB92 JUMP JUMPDEST SWAP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP3 AND SWAP6 DUP7 DUP10 MSTORE PUSH1 0x20 SWAP6 PUSH1 0x5 DUP8 MSTORE DUP5 DUP11 KECCAK256 SWAP9 DUP10 SLOAD SWAP10 PUSH1 0x1 DUP12 ADD SWAP1 SSTORE DUP6 MLOAD SWAP3 DUP6 DUP10 DUP6 ADD SWAP6 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP8 MSTORE DUP12 DUP10 DUP8 ADD MSTORE AND SWAP11 DUP12 PUSH1 0x60 DUP7 ADD MSTORE DUP9 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 MSTORE PUSH1 0xE0 DUP4 ADD PUSH8 0xFFFFFFFFFFFFFFFF SWAP5 DUP5 DUP3 LT DUP7 DUP4 GT OR PUSH2 0x367 JUMPI DUP2 DUP9 MSTORE DUP5 MLOAD SWAP1 KECCAK256 PUSH2 0x100 DUP6 ADD SWAP3 PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 DUP5 MSTORE PUSH2 0x102 DUP7 ADD MSTORE PUSH2 0x122 DUP6 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x160 DUP5 ADD SWAP5 DUP2 DUP7 LT SWAP1 DUP7 GT OR PUSH2 0x33B JUMPI DUP5 DUP8 MSTORE MLOAD SWAP1 KECCAK256 DUP4 MSTORE PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0xA4 CALLDATALOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH2 0x1C0 SWAP1 SWAP2 ADD MSTORE DUP8 DUP1 MSTORE DUP5 SWAP1 DUP9 SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x1 GAS STATICCALL ISZERO PUSH2 0x331 JUMPI DUP7 MLOAD AND SWAP7 DUP8 ISZERO ISZERO DUP1 PUSH2 0x328 JUMPI JUMPDEST ISZERO PUSH2 0x2CD JUMPI DUP7 SWAP8 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP6 SWAP7 SWAP8 MSTORE DUP4 MSTORE DUP1 DUP8 KECCAK256 DUP7 DUP9 MSTORE DUP4 MSTORE DUP2 DUP2 DUP9 KECCAK256 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP4 PUSH1 0x64 SWAP3 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x494E56414C49445F5349474E4552000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST POP DUP5 DUP9 EQ PUSH2 0x28A JUMP JUMPDEST DUP2 MLOAD RETURNDATASIZE DUP9 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP PUSH1 0x24 DUP13 PUSH1 0x41 DUP16 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST PUSH1 0x64 DUP9 PUSH1 0x20 DUP5 MLOAD SWAP2 PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x416 PUSH2 0xB0B JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP3 CALLER DUP6 MSTORE PUSH1 0x3 DUP8 MSTORE DUP3 DUP6 KECCAK256 PUSH2 0x445 DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP3 DUP4 DUP2 MSTORE PUSH1 0x3 DUP7 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP1 DUP5 CALLVALUE PUSH2 0x507 JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x507 JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 PUSH2 0x4C5 PUSH2 0xB0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD SWAP2 AND SWAP4 DUP5 DUP7 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP7 KECCAK256 PUSH2 0x4F5 DUP4 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST POP REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 MLOAD SWAP1 DUP3 PUSH1 0x1 DUP1 SLOAD SWAP2 PUSH2 0x52E DUP4 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP7 MSTORE SWAP3 DUP3 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x565 JUMPI JUMPDEST POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xAA5 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST SWAP5 POP DUP1 DUP6 MSTORE PUSH32 0xB10E2D527612073B26EECDFD717E6A320CF44B4AFAC2B0732D9FCBE2B7FA0CF6 JUMPDEST DUP3 DUP7 LT PUSH2 0x5A9 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x58C JUMP JUMPDEST PUSH2 0x561 SWAP8 POP DUP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0x557 SWAP5 SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x63B PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x5 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI PUSH1 0x20 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI DUP1 PUSH1 0x20 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH2 0x67F PUSH2 0xB0B JUMP JUMPDEST AND DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH2 0x6A8 PUSH2 0xB0B JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x2 SLOAD SWAP1 DUP4 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x714 JUMPI POP DUP5 SWAP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP4 PUSH1 0x20 SWAP4 PUSH1 0x2 SSTORE AND SWAP5 DUP6 DUP6 MSTORE PUSH1 0x3 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 DUP1 RETURN JUMPDEST DUP6 PUSH1 0x11 PUSH1 0x24 SWAP3 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 DUP4 MSTORE MSTORE REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH2 0x75D PUSH2 0xB92 JUMP JUMPDEST SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 MLOAD PUSH1 0xFF PUSH32 0x0 AND DUP2 MSTORE RETURN JUMPDEST POP SWAP2 CALLVALUE PUSH2 0x89E JUMPI PUSH1 0x60 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x89E JUMPI PUSH2 0x7BD PUSH2 0xB0B JUMP JUMPDEST PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH2 0x7E6 PUSH2 0xB33 JUMP JUMPDEST SWAP5 PUSH1 0x44 CALLDATALOAD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 SWAP6 AND SWAP5 DUP6 DUP8 MSTORE PUSH1 0x20 SWAP9 DUP5 DUP11 SWAP6 DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SLOAD DUP6 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x87B JUMPI JUMPDEST POP POP POP DUP7 DUP9 MSTORE PUSH1 0x3 DUP6 MSTORE DUP3 DUP9 KECCAK256 PUSH2 0x85C DUP6 DUP3 SLOAD PUSH2 0xB56 JUMP JUMPDEST SWAP1 SSTORE AND SWAP6 DUP7 DUP2 MSTORE PUSH1 0x3 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE DUP6 MLOAD SWAP1 DUP2 MSTORE LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH2 0x884 SWAP2 PUSH2 0xB56 JUMP JUMPDEST SWAP1 DUP9 DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 CALLER DUP11 MSTORE DUP7 MSTORE DUP4 DUP10 KECCAK256 SSTORE CODESIZE DUP1 DUP6 PUSH2 0x844 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP POP CALLVALUE PUSH2 0x3F5 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x3F5 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x2 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0x113 JUMPI DUP2 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI PUSH1 0x20 SWAP3 PUSH2 0x8DC PUSH2 0xB0B JUMP JUMPDEST SWAP2 DUP4 PUSH1 0x24 CALLDATALOAD SWAP3 DUP4 SWAP3 CALLER DUP3 MSTORE DUP8 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 DUP3 KECCAK256 SWAP6 AND SWAP5 DUP6 DUP3 MSTORE DUP8 MSTORE KECCAK256 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 CALLER SWAP3 LOG3 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST DUP5 SWAP1 DUP5 CALLVALUE PUSH2 0x113 JUMPI DUP3 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x113 JUMPI DUP3 DUP1 SLOAD PUSH2 0x95B DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0x5C1 JUMPI POP PUSH1 0x1 EQ PUSH2 0x986 JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH2 0x561 SWAP5 SUB DUP4 PUSH2 0xA35 JUMP JUMPDEST DUP1 DUP1 SWAP7 POP MSTORE PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP3 DUP7 LT PUSH2 0x9CA JUMPI POP POP POP PUSH2 0x557 DUP3 PUSH1 0x20 PUSH2 0x561 SWAP6 DUP3 ADD ADD SWAP5 PUSH2 0x545 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP8 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP6 ADD SWAP5 DUP2 ADD PUSH2 0x9AD JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0xA2B JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x9FC JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP1 PUSH1 0x1F PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0xA76 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP2 DUP4 ADD DUP2 SWAP1 MSTORE SWAP4 SWAP3 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT PUSH2 0xAF7 JUMPI POP POP POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 PUSH1 0x0 PUSH1 0x40 DUP1 SWAP7 SWAP8 DUP7 ADD ADD MSTORE ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP2 DUP2 ADD DUP4 ADD MLOAD DUP5 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xAB7 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND DUP3 SUB PUSH2 0xB2E JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 SUB SWAP2 DUP3 GT PUSH2 0xB63 JUMPI JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 CHAINID PUSH32 0x0 SUB PUSH2 0xBE0 JUMPI POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 SLOAD DUP3 SWAP2 PUSH2 0xBF0 DUP3 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 SWAP5 DUP6 DUP3 ADD SWAP5 PUSH1 0x1 SWAP1 DUP8 DUP3 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0xD33 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0xCDA JUMPI JUMPDEST POP PUSH2 0xC22 SWAP3 POP SUB DUP3 PUSH2 0xA35 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 PUSH1 0x40 MLOAD SWAP2 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP4 ADD MSTORE CHAINID PUSH1 0x80 DUP4 ADD MSTORE ADDRESS PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 MSTORE PUSH1 0xC0 DUP3 ADD SWAP1 DUP3 DUP3 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP4 GT OR PUSH2 0xCAD JUMPI POP PUSH1 0x40 MSTORE MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST DUP1 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP3 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE REVERT JUMPDEST DUP8 DUP1 MSTORE DUP7 SWAP2 POP DUP8 SWAP1 PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 JUMPDEST DUP6 DUP4 LT PUSH2 0xD1B JUMPI POP POP PUSH2 0xC22 SWAP4 POP DUP3 ADD ADD CODESIZE PUSH2 0xC15 JUMP JUMPDEST DUP1 SLOAD DUP4 DUP9 ADD DUP6 ADD MSTORE DUP7 SWAP5 POP DUP9 SWAP4 SWAP1 SWAP3 ADD SWAP2 DUP2 ADD PUSH2 0xD04 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 AND DUP9 MSTORE PUSH2 0xC22 SWAP6 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD ADD SWAP3 POP CODESIZE SWAP2 POP PUSH2 0xC15 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH30 0x481A6E6173A14D3A57A75376BEDF731C60D6FC12CA5A833F00C1EFAEDDD5 SWAP13 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD SWAP10 SDIV 0xE5 LOG0 PUSH22 0xEA1D4764CDAD1CA9CFC9CD4765C02A9BC3BBB42EE673 ADDRESS PUSH30 0xB7DD64736F6C634300081100330000000000000000000000000000000000 ", + "sourceMap": "242:764:59:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;666:6;242:764;;666:34;;;;;;242:764;;;;666:34;;;;;;;;1671:64:0;390:9:59;;242:764;390:9;;;242:764;;;;;;666:34;;;;;;;;;;;242:764;;;710:6;242:764;;710:34;;;;;;242:764;;;;;;;710:34;;;;;;;;;1671:64:0;242:764:59;;;;710:34;;;;;;;;;;242:764;;710:34;;;;:::i;:::-;242:764;;710:34;242:764;;;;710:34;242:764;;;;;;;;710:34;242:764;;;666:34;;;;:::i;:::-;242:764;;666:34;;;;;242:764;;;;;;;;;666:34;242:764;;;;;;;;;;;;;;;;;;;;;;;;;;;466:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;242:764;;;;;;;456:23;242:764;;;456:23;242:764;;;499:39;;;;;;;;;;;;;;;242:764;499:39;;;;;;;242:764;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:2;242:764;;;;499:39;;;;;;;;;242:764;;;490:48;242:764;;;490:48;242:764;;;557:39;;;;;;;;;;;;;;;;;;242:764;557:39;;;242:764;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:2;242:764;;;;557:39;;;;;;;;;;242:764;;;548:48;242:764;;;548:48;242:764;;;557:39;242:764;;;;;;;;557:39;1671:64:0;;;;;;;;;499:39:59;242:764;;;;;;;;;499:39;1671:64:0;;;;;;;;;466:13:59;242:764;;;;;;;;;466:13;1671:64:0;;;;;;;;;242:764:59;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;390:9;242:764;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:20;;;;;242:764;849:20;;;;;1671:64:0;849:20:59;;242:764;849:20;;;;;;;;;;;242:764;;;;;;;;879:6;242:764;;;;;;;879:42;;;;;;;;1671:64:0;903:17:59;242:764;;;;;;;;;;879:42;;;;;;;;;242:764;879:42;;;;;;;;;242:764;;931:6;242:764;;;;931:42;;;;;;;;;;1671:64:0;242:764:59;;;;931:42;;;;;;;;242:764;983:14;;;;;;;242:764;;;;;;983:14;;;;242:764;983:14;;;;;;;;;;;;242:764;;983:14;242:764;;;;931:42;;;;;;-1:-1:-1;931:42:59;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;242:764;;;;;;;;;879:42;;;;;;;;;;;;;:::i;:::-;;;;;;242:764;;;;;;;;;849:20;;;;;;;:::i;:::-;;;;;242:764;;;;1671:64:0;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;242:764:59;;;1671:64:0;;;;;:::o;1819:584::-;1873:7;242:764:59;;;;;;;;;;;;;;;1896:14:0:o;1869:528::-;1941:25;2939:104;;;1980:374;;2367:19;;;:::o;1980:374::-;242:764:59;;;;;2196:43:0;;;;;;1671:64;;242:764:59;1671:64:0;;242:764:59;;2196:43:0;;242:764:59;1671:64:0;;;;;;;;;;;;;;;;;;;242:764:59;1671:64:0;2086:175;;;1671:64;;;;;;;;;;;;;;;;;2086:175;1671:64;;;;;;;;;;;;;2086:175;;;;;;;;;:::i;:::-;2047:232;;;;-1:-1:-1;1671:64:0;;;;;;;;;;242:764:59;;2312:27:0;;242:764:59;;1671:64:0;;;;2196:43;1671:64;;;242:764:59;1671:64:0;:::i;:::-;;;;;;;;;;;;;;2312:27;;;;;;:::i;:::-;2367:19;:::o;1671:64::-;;;;;;;2086:175;1671:64;;;;2312:27;1671:64;;242:764:59;1671:64:0;;;;;;;;;;;;;;;;;;-1:-1:-1;1671:64:0;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "IS_TEST()": "fa7626d4", + "MINT_AMOUNT_ERC20()": "1b210293", + "failed()": "ba414fa6", + "initializeERC20Tokens()": "e2acb0f8", + "setERC20TestTokenApprovals(address,address,address)": "035c3deb", + "setERC20TestTokens(address)": "e6d9ff3d" + } + } + } + }, + "test/utils/mocks/MockArbitrable.sol": { + "MockArbitrable": { + "abi": [ + { + "type": "function", + "name": "arbitrationFee", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "arbitrator", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "createDispute", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "disputeStatus", + "inputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setUp", + "inputs": [ + { + "name": "arbitrator_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "settleDispute", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "settlement", + "type": "tuple[]", + "internalType": "struct PositionParams[]", + "components": [ + { + "name": "party", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "error", + "name": "OnlyArbitrator", + "inputs": [] + }, + { + "type": "error", + "name": "PositionsMustMatch", + "inputs": [] + }, + { + "type": "error", + "name": "SettlementPositionsMustMatch", + "inputs": [] + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PositionsMustMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SettlementPositionsMustMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"arbitrationFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"arbitrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"disputeStatus\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"arbitrator_\",\"type\":\"address\"}],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"party\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct PositionParams[]\",\"name\":\"settlement\",\"type\":\"tuple[]\"}],\"name\":\"settleDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OnlyArbitrator()\":[{\"details\":\"Thrown when trying to perform an operation restricted to the arbitrator without being the arbitrator.\"}],\"SettlementPositionsMustMatch()\":[{\"details\":\"Thrown when the positions on a settlement don't match the ones in the dispute.\"}]},\"kind\":\"dev\",\"methods\":{\"settleDispute(bytes32,(address,uint256)[])\":{\"params\":{\"id\":\"Id of the dispute to settle.\",\"settlement\":\"Array of PositionParams to set as final positions.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"arbitrator()\":{\"notice\":\"Address capable of settling disputes.\"},\"settleDispute(bytes32,(address,uint256)[])\":{\"notice\":\"Settles the dispute `id` with the provided settlement.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/mocks/MockArbitrable.sol\":\"MockArbitrable\"},\"evmVersion\":\"london\",\"libraries\":{\"src/libraries/CriteriaResolution.sol:CriteriaResolution\":\"0x17c1e395fe81a90af2d0289a009317d5acb98f9f\"},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/AgreementTypes.sol\":{\"keccak256\":\"0x73d7c3197f3a01b682b3a28c4d85310b80fc95fe03f4a1e8c18f91dee9bd73bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://51bf4a4d88c5375d27a21bd733305ea0bd773a667182b205a4a44ac5821a36d9\",\"dweb:/ipfs/QmeWPMjeMVMaHmWsLaaBUEWjkhfqjqiREoBq8WuWLZrVRB\"]},\"src/interfaces/ArbitrationErrors.sol\":{\"keccak256\":\"0x7ca6d9811f431eadd59e7544f6a5720564a678a3e2cfecd8e5454391f21a62f0\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://58793fc93f2d03eefaeb008a28dfedebe9059763b96c80ec31365ad8cf72fafd\",\"dweb:/ipfs/QmQvVUxPsg4JhSvT3QxKysgsiVBvuzBtFaAQMTuyeuxDWL\"]},\"src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x210037aa6d093f8d5337e80387a880bf076b294d91deb68c92cb4a8a8cae2d8e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1308d632cb650b6126019630a26af48e2017434b43cea264b60df35549701e13\",\"dweb:/ipfs/QmRcaJxBSRGvwxr3aevfEKAATT9mbJeEmGN8PozU9j4Fep\"]},\"test/utils/mocks/MockArbitrable.sol\":{\"keccak256\":\"0xb43052f593e4c839e5f579fe46cd83ffc4e7cb81b6adfef18b33f6ee609b23ef\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://0c6682924b9e7de6807b06a6d7947487f392df01fcca011620fba05735e323a2\",\"dweb:/ipfs/QmaRVkMLvMH4U1c5czyfDMCHVmaLkwdaETNg8AqNsPKXYt\"]}},\"version\":1}", + "userdoc": {}, + "devdoc": {}, + "evm": { + "bytecode": { + "object": "60808060405234610016576103bb908161001c8239f35b600080fdfe60806040908082526004918236101561001757600080fd5b600091823560e01c9081631cfa7ba81461034b575080633d3e73d7146102335780633f2601ef146101b75780636cc6cde1146101655780638aa202f4146101195763fcdf97501461006757600080fd5b3461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011557600154918281528060205281812060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905560015490600182018092116100e957506020935060015551908152f35b806011867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b5080fd5b5082346101615760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610161578160209360ff923581528085522054169051908152f35b8280fd5b503461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101155760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b8284346101155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610115573573ffffffffffffffffffffffffffffffffffffffff8116809103610115577fffffffffffffffffffffffff0000000000000000000000000000000000000000600254161760025580f35b50823461016157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101615767ffffffffffffffff6024358181116103475736602382011215610347578083013591821161034757602436918360061b0101116103435773ffffffffffffffffffffffffffffffffffffffff60025416330361031b57156102f45735825281602052812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905580f35b90517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b5090517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b8480fd5b83903461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610115576020906003548152f3fea2646970667358221220e52b443914e9f65920400b972dabc6bb47cac9fe8db61301fc5029ea2831c31664736f6c63430008110033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x16 JUMPI PUSH2 0x3BB SWAP1 DUP2 PUSH2 0x1C DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE PUSH1 0x4 SWAP2 DUP3 CALLDATASIZE LT ISZERO PUSH2 0x17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x1CFA7BA8 EQ PUSH2 0x34B JUMPI POP DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x233 JUMPI DUP1 PUSH4 0x3F2601EF EQ PUSH2 0x1B7 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x8AA202F4 EQ PUSH2 0x119 JUMPI PUSH4 0xFCDF9750 EQ PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x1 SLOAD SWAP2 DUP3 DUP2 MSTORE DUP1 PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x1 SLOAD SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE9 JUMPI POP PUSH1 0x20 SWAP4 POP PUSH1 0x1 SSTORE MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH1 0x11 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP5 MSTORE MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x161 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x161 JUMPI DUP2 PUSH1 0x20 SWAP4 PUSH1 0xFF SWAP3 CALLDATALOAD DUP2 MSTORE DUP1 DUP6 MSTORE KECCAK256 SLOAD AND SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP5 CALLVALUE PUSH2 0x115 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x115 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE DUP1 RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x161 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x161 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x347 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x347 JUMPI DUP1 DUP4 ADD CALLDATALOAD SWAP2 DUP3 GT PUSH2 0x347 JUMPI PUSH1 0x24 CALLDATASIZE SWAP2 DUP4 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x343 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND CALLER SUB PUSH2 0x31B JUMPI ISZERO PUSH2 0x2F4 JUMPI CALLDATALOAD DUP3 MSTORE DUP2 PUSH1 0x20 MSTORE DUP2 KECCAK256 PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE DUP1 RETURN JUMPDEST SWAP1 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP SWAP1 MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 SWAP1 CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x3 SLOAD DUP2 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE5 0x2B DIFFICULTY CODECOPY EQ 0xE9 0xF6 MSIZE KECCAK256 BLOCKHASH SIGNEXTEND SWAP8 0x2D 0xAB 0xC6 0xBB SELFBALANCE 0xCA 0xC9 INVALID DUP14 0xB6 SGT ADD 0xFC POP 0x29 0xEA 0x28 BALANCE 0xC3 AND PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "303:749:60:-:0;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "60806040908082526004918236101561001757600080fd5b600091823560e01c9081631cfa7ba81461034b575080633d3e73d7146102335780633f2601ef146101b75780636cc6cde1146101655780638aa202f4146101195763fcdf97501461006757600080fd5b3461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011557600154918281528060205281812060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905560015490600182018092116100e957506020935060015551908152f35b806011867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b5080fd5b5082346101615760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610161578160209360ff923581528085522054169051908152f35b8280fd5b503461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101155760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b8284346101155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610115573573ffffffffffffffffffffffffffffffffffffffff8116809103610115577fffffffffffffffffffffffff0000000000000000000000000000000000000000600254161760025580f35b50823461016157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101615767ffffffffffffffff6024358181116103475736602382011215610347578083013591821161034757602436918360061b0101116103435773ffffffffffffffffffffffffffffffffffffffff60025416330361031b57156102f45735825281602052812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905580f35b90517f3a78f7d4000000000000000000000000000000000000000000000000000000008152fd5b5090517f2eef310a000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b8480fd5b83903461011557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610115576020906003548152f3fea2646970667358221220e52b443914e9f65920400b972dabc6bb47cac9fe8db61301fc5029ea2831c31664736f6c63430008110033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 SWAP1 DUP1 DUP3 MSTORE PUSH1 0x4 SWAP2 DUP3 CALLDATASIZE LT ISZERO PUSH2 0x17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x1CFA7BA8 EQ PUSH2 0x34B JUMPI POP DUP1 PUSH4 0x3D3E73D7 EQ PUSH2 0x233 JUMPI DUP1 PUSH4 0x3F2601EF EQ PUSH2 0x1B7 JUMPI DUP1 PUSH4 0x6CC6CDE1 EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x8AA202F4 EQ PUSH2 0x119 JUMPI PUSH4 0xFCDF9750 EQ PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x1 SLOAD SWAP2 DUP3 DUP2 MSTORE DUP1 PUSH1 0x20 MSTORE DUP2 DUP2 KECCAK256 PUSH1 0x1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x1 SLOAD SWAP1 PUSH1 0x1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE9 JUMPI POP PUSH1 0x20 SWAP4 POP PUSH1 0x1 SSTORE MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 PUSH1 0x11 DUP7 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x24 SWAP5 MSTORE MSTORE REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP DUP3 CALLVALUE PUSH2 0x161 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x161 JUMPI DUP2 PUSH1 0x20 SWAP4 PUSH1 0xFF SWAP3 CALLDATALOAD DUP2 MSTORE DUP1 DUP6 MSTORE KECCAK256 SLOAD AND SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x20 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP3 DUP5 CALLVALUE PUSH2 0x115 JUMPI PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x115 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 PUSH1 0x2 SLOAD AND OR PUSH1 0x2 SSTORE DUP1 RETURN JUMPDEST POP DUP3 CALLVALUE PUSH2 0x161 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x161 JUMPI PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x24 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x347 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x347 JUMPI DUP1 DUP4 ADD CALLDATALOAD SWAP2 DUP3 GT PUSH2 0x347 JUMPI PUSH1 0x24 CALLDATASIZE SWAP2 DUP4 PUSH1 0x6 SHL ADD ADD GT PUSH2 0x343 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x2 SLOAD AND CALLER SUB PUSH2 0x31B JUMPI ISZERO PUSH2 0x2F4 JUMPI CALLDATALOAD DUP3 MSTORE DUP2 PUSH1 0x20 MSTORE DUP2 KECCAK256 PUSH1 0x2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 DUP3 SLOAD AND OR SWAP1 SSTORE DUP1 RETURN JUMPDEST SWAP1 MLOAD PUSH32 0x3A78F7D400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST POP SWAP1 MLOAD PUSH32 0x2EEF310A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP4 SWAP1 CALLVALUE PUSH2 0x115 JUMPI DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC CALLDATASIZE ADD SLT PUSH2 0x115 JUMPI PUSH1 0x20 SWAP1 PUSH1 0x3 SLOAD DUP2 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE5 0x2B DIFFICULTY CODECOPY EQ 0xE9 0xF6 MSIZE KECCAK256 BLOCKHASH SIGNEXTEND SWAP8 0x2D 0xAB 0xC6 0xBB SELFBALANCE 0xCA 0xC9 INVALID DUP14 0xB6 SGT ADD 0xFC POP 0x29 0xEA 0x28 BALANCE 0xC3 AND PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", + "sourceMap": "303:749:60:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;701:7;303:749;;;;;;;;;;;701:7;303:749;;;;;;;701:7;303:749;;701:7;303:749;;;;;;;;;;;701:7;303:749;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;430:25;303:749;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;583:24;303:749;;;583:24;303:749;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;902:10;303:749;;888:10;:24;884:53;;951:22;947:65;;303:749;;;;;;;;902:10;303:749;;;;;;;;;947:65;303:749;;982:30;;;;884:53;303:749;;;921:16;;;;303:749;;;;;;;;;;;;;;;;;;;;;;;461:29;303:749;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "arbitrationFee()": "1cfa7ba8", + "arbitrator()": "6cc6cde1", + "createDispute()": "fcdf9750", + "disputeStatus(bytes32)": "8aa202f4", + "setUp(address)": "3f2601ef", + "settleDispute(bytes32,(address,uint256)[])": "3d3e73d7" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/contracts/script/Verify.ts b/packages/contracts/script/Verify.ts index 10871c1..d06d5b2 100644 --- a/packages/contracts/script/Verify.ts +++ b/packages/contracts/script/Verify.ts @@ -32,11 +32,17 @@ const verifyCollateralAgreementFramework = async (address: string, path: string) } ); } + +// Find these addresses in deployments folder +const arbitrationToken = "0x23Ca3002706b71a440860E3cf8ff64679A00C9d7" +const arbitrator = "0xBe67cEdCD1FE38aac8a5781A51250FDeFB344E6C" +const collateralAgreementFramework = "0xD96aA6e2568f4e9632D2A5234Bb8410ca7609a27" + const main = async () => { console.log("Contract verification...") - await verifyArbitrationToken("0x23Ca3002706b71a440860E3cf8ff64679A00C9d7", "lib/solmate/src/test/utils/mocks/MockERC20.sol:MockERC20") - await verifyArbitrator("0xBe67cEdCD1FE38aac8a5781A51250FDeFB344E6C", "src/Arbitrator.sol:Arbitrator") - await verifyCollateralAgreementFramework("0xD96aA6e2568f4e9632D2A5234Bb8410ca7609a27", "src/frameworks/CollateralAgreement.sol:CollateralAgreement") + await verifyArbitrationToken(arbitrationToken, "lib/solmate/src/test/utils/mocks/MockERC20.sol:MockERC20") + await verifyArbitrator(arbitrator, "src/Arbitrator.sol:Arbitrator") + await verifyCollateralAgreementFramework(collateralAgreementFramework, "src/frameworks/CollateralAgreement.sol:CollateralAgreement") } main().catch((error) => { console.error(error);